SolveBio offers a RESTful, JSON-oriented API. All requests should be made to
https://api.solvebio.com unless specified otherwise. The SolveBio API only accepts connections over HTTPS.
We recommend using one of our client libraries to access the API. The libraries take care of error handling, rate limiting, and query building. They make querying and working with SolveBio data a lot easier.
This API reference is organized by resource type and endpoint. Each resource type has one or more data representations and one or more methods.
There are two ways clients can authenticate with SolveBio: using an API key, or an OAuth2 access token. Read more about Authentication methods.
SolveBio uses conventional HTTP response codes to indicate success or failure of an API request. In general, codes in the
2xx range indicate success, codes in the
4xx range indicate an error that resulted from the provided information (e.g. a required parameter was missing, a query failed, etc.), and codes in the
5xx range indicate an internal error with SolveBio's servers.
SolveBio uses the following error codes:
||Bad Request||Your request was malformed|
||Unauthorized||Your API key is invalid|
||Forbidden||Your API key is not valid for this type of request|
||Not Found||The specified resource could not be found|
||Method Not Allowed||Your request used an invalid method|
||Too Many Requests||You have reached the rate limit|
||Internal Server Error||We had a problem with our server|
||Service Unavailable||We are temporarily offline for maintenance|
The Python client will raise an exception when unexpected error codes are received from the API.
Authenticated requests are throttled at 2,400 requests per minute. Unauthenticated requests are throttled at 100 requests per minute.
When the rate limit is exceeded, the API will respond with
429 Too Many
Requests, and the
Retry-After header will indicate the number of seconds to wait before retrying the request.
The Python client handles rate limiting automatically.
Cross Origin Resource Sharing¶
The API supports Cross Origin Resource Sharing (CORS) for AJAX requests from any origin, enabling client-side applications to be easily augmented with SolveBio.