API
Overview
Authentication/Authorization
- Supports both session-based and token-based authentication
- Token-based authentication uses JWT:
- Access token with 15-minute lifetime
- Refresh token with 30-day lifetime
- Can obtain new token pair without full login by refreshing before refresh token expiry
- Most endpoints return 403 forbidden status for auth errors (except for token acquire/refresh endpoints which return 401 status)
Requests
Please see each API for details on request parameters, headers, and body.
Responses
Most endpoints return a response with the following JSON schema:
{
"data": Object, Integer, String, Array or null,
"error": Boolean,
"errcode": Integer,
"errmsg": String or null,
"status": Integer
}
The data
field is generally where the endpoint's results can be accessed.
Error Handling
- All error responses have the
error
set totrue
. - Some endpoints may include further error information in the
errmsg
,errcode
, ordetails
fields. - Some error responses may set the
status
asnull
, so check HTTP status code in the response header.
Pagination
Some endpoints return a paginated response. In such cases, the following fields will be modififed/included in the response body:
"data"
: array of up to 100 objects per response"count"
: integer that shows the total number of objects to be returned"next"
: string that represents URL of the next results page (can be null)"previous"
: string that represents URL of the previous results page (can be null)