Skip to content

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 is invalid
403 Forbidden Your API key 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.