{
 "openapi": "3.1.0",
 "info": {
  "title": "BitOrgs public API",
  "version": "1.0.0",
  "description": "Free JSON API for the BitOrgs register of crypto organizations, crypto venture funding and open market statistics. Anonymous: 30 req/min, 1,000/day. Free key: 120 req/min, 20,000/day. Data licensed CC BY 4.0: credit \"BitOrgs (bitorgs.com)\".",
  "license": {
   "name": "CC BY 4.0",
   "url": "https://creativecommons.org/licenses/by/4.0/"
  },
  "contact": {
   "email": "info@bitorgs.com",
   "url": "https://bitorgs.com/api"
  }
 },
 "servers": [
  {
   "url": "https://bitorgs.com/api/v1"
  }
 ],
 "components": {
  "securitySchemes": {
   "ApiKey": {
    "type": "apiKey",
    "in": "header",
    "name": "X-API-Key",
    "description": "Optional free key for higher limits."
   }
  },
  "schemas": {
   "Envelope": {
    "type": "object",
    "properties": {
     "data": {},
     "meta": {
      "type": "object"
     }
    }
   },
   "Error": {
    "type": "object",
    "properties": {
     "error": {
      "type": "object",
      "properties": {
       "code": {
        "type": "integer"
       },
       "type": {
        "type": "string"
       },
       "message": {
        "type": "string"
       }
      }
     }
    }
   }
  }
 },
 "security": [
  {},
  {
   "ApiKey": []
  }
 ],
 "paths": {
  "/organizations": {
   "get": {
    "summary": "List organizations",
    "tags": [
     "Register"
    ],
    "parameters": [
     {
      "name": "class",
      "in": "query",
      "required": false,
      "description": "Class slug, e.g. exchanges",
      "schema": {
       "type": "string"
      }
     },
     {
      "name": "country",
      "in": "query",
      "required": false,
      "description": "ISO 3166-1 alpha-2",
      "schema": {
       "type": "string"
      }
     },
     {
      "name": "chain",
      "in": "query",
      "required": false,
      "description": "Chain slug or name",
      "schema": {
       "type": "string"
      }
     },
     {
      "name": "status",
      "in": "query",
      "required": false,
      "description": "listed, verified or claimed",
      "schema": {
       "type": "string"
      }
     },
     {
      "name": "q",
      "in": "query",
      "required": false,
      "description": "Text search",
      "schema": {
       "type": "string"
      }
     },
     {
      "name": "page",
      "in": "query",
      "required": false,
      "description": "Page",
      "schema": {
       "type": "integer",
       "minimum": 1
      }
     },
     {
      "name": "per_page",
      "in": "query",
      "required": false,
      "description": "1\u2013100",
      "schema": {
       "type": "integer",
       "minimum": 1,
       "maximum": 100
      }
     }
    ],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Envelope"
        }
       }
      }
     },
     "304": {
      "description": "Not modified (ETag matched)"
     },
     "429": {
      "description": "Rate limited; see Retry-After",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     }
    }
   }
  },
  "/organizations/{slug}": {
   "get": {
    "summary": "Get one organization",
    "tags": [
     "Register"
    ],
    "parameters": [
     {
      "name": "slug",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      }
     }
    ],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Envelope"
        }
       }
      }
     },
     "304": {
      "description": "Not modified (ETag matched)"
     },
     "429": {
      "description": "Rate limited; see Retry-After",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     }
    }
   }
  },
  "/classes": {
   "get": {
    "summary": "Classes and types",
    "tags": [
     "Register"
    ],
    "parameters": [],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Envelope"
        }
       }
      }
     },
     "304": {
      "description": "Not modified (ETag matched)"
     },
     "429": {
      "description": "Rate limited; see Retry-After",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     }
    }
   }
  },
  "/countries": {
   "get": {
    "summary": "Countries with counts",
    "tags": [
     "Register"
    ],
    "parameters": [],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Envelope"
        }
       }
      }
     },
     "304": {
      "description": "Not modified (ETag matched)"
     },
     "429": {
      "description": "Rate limited; see Retry-After",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     }
    }
   }
  },
  "/stats": {
   "get": {
    "summary": "Register statistics",
    "tags": [
     "Register"
    ],
    "parameters": [],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Envelope"
        }
       }
      }
     },
     "304": {
      "description": "Not modified (ETag matched)"
     },
     "429": {
      "description": "Rate limited; see Retry-After",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     }
    }
   }
  },
  "/market": {
   "get": {
    "summary": "Open market data",
    "tags": [
     "Market"
    ],
    "parameters": [],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Envelope"
        }
       }
      }
     },
     "304": {
      "description": "Not modified (ETag matched)"
     },
     "429": {
      "description": "Rate limited; see Retry-After",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     }
    }
   }
  },
  "/ventures": {
   "get": {
    "summary": "Crypto venture funding",
    "tags": [
     "Ventures"
    ],
    "parameters": [],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Envelope"
        }
       }
      }
     },
     "304": {
      "description": "Not modified (ETag matched)"
     },
     "429": {
      "description": "Rate limited; see Retry-After",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     }
    }
   }
  },
  "/industry": {
   "get": {
    "summary": "Industry statistics",
    "tags": [
     "Ventures"
    ],
    "parameters": [],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Envelope"
        }
       }
      }
     },
     "304": {
      "description": "Not modified (ETag matched)"
     },
     "429": {
      "description": "Rate limited; see Retry-After",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Error"
        }
       }
      }
     }
    }
   }
  }
 }
}