Aidlab API
Aidlab provides API for accessing data from Aidlab activity tracker, and manually entered logs. Anyone can develop an application to access and modify a Aidlab user's data on their behalf.
Review Aidlab REST API documentation to understand how Aidlab API works.
The Aidlab API is organized around REST. Our API has predictable, resource-oriented URLs, and uses HTTP response codes to indicate API errors. We use built-in HTTP features, like HTTP authentication and HTTP verbs, which are understood by off-the-shelf HTTP clients. JSON is returned by all API responses, including errors.
Authentication
Authenticate your requests when using the API by including your secret token
in the request (bearer auth). Your token carries many privileges, so be sure to keep it secret! Do not share your token
in publicly accessible areas such GitHub, client-side code, and so forth.
Obtaining the token
is performed via HTTP Basic Auth. All API requests must be made over HTTPS. Calls made over plain HTTP will fail. API requests without authentication will also fail.
To obtain the authorization token, send a request to POST /api/login.
Errors
Aidlab API uses conventional HTTP response codes to indicate the 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 failed given the information provided (e.g., a required parameter was omitted, a data doesn't exist, etc.), and codes in the 5xx
range indicate an error with Aidlab's servers (these are rare).
Not all errors map cleanly onto HTTP response codes, however. When a request is valid but does not complete successfully (e.g., a user has reached the free plan), we return a 402
error code.
Attributes
Name | Description |
---|---|
messageoptional |
A human-readable message providing more details about the error. Only selected errors can be shown to users. |
HTTP status code summary
Status Code | Description |
---|---|
200 - OK | Everything worked as expected. |
400 - Bad Request | The request was unacceptable, often due to missing a required parameter. |
401 - Unauthorized | No valid API key provided. |
402 - Payment Required | Access to this resource requires valid subscription. |
403 - Forbidden | You don't have access to this resource. |
404 - Not Found | The requested resource doesn't exist. |
409 - Conflict | The resource conflicts with another resource. |
413 - Payload Too Large | The request entity is larger than limits defined by our server. |
429 - Too Many Requests | Too many requests hit the API too quickly. We recommend an exponential backoff of your requests. |
500, 502, 503, 504 - Server Errors | Something went wrong on Aidlab's end. (These are rare.) |
`