Reference Overview¶
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.
Authentication¶
There are two ways clients can authenticate with SolveBio: using an API key, or an OAuth2 access token. Read more about Authentication methods.
Error Codes¶
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:
Error Code | Meaning | Description |
---|---|---|
400 |
Bad Request | Your request was malformed |
401 |
Unauthorized | Your API key or token is invalid |
403 |
Forbidden | Your API key or token is not valid for this type of request |
404 |
Not Found | The specified resource could not be found |
405 |
Method Not Allowed | Your request used an invalid method |
429 |
Too Many Requests | You have reached the rate limit |
500 |
Internal Server Error | We had a problem with our server |
503 |
Service Unavailable | We are temporarily offline for maintenance |
The Python client will raise an exception when unexpected error codes are received from the API.
Rate Limits¶
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.