Authentication
The Qlty API uses tokens to authenticate requests. You can generate an API token through your user settings at https://qlty.sh/user/settings/tokens Authentication is performed by passing the token as a Bearer token in theAuthorization header:
Errors
Qlty uses conventional HTTP response codes to indicate the success or failure of an API request. 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). Codes in the 5xx range indicate an error with Qlty’s server.| Code | Status | Description |
|---|---|---|
| 200 | OK | The request was successful. |
| 400 | Bad Request | The request was invalid, often due to a missing input. |
| 401 | Unauthorized | Authentication failed. |
| 403 | Forbidden | The API token does not have permission to access the resource. |
| 404 | Not Found | The requested resource was not found. |
| 429 | Too Many Requests | Too many API requests were sent in too short of a period. |
| 500, 502, 503, 504 | Server Error | An unexpected error occurred on the server. |
errors key of the response.
Error response
Pagination
Many list API endpoints return paginated results. The Qlty API uses offset-based pagination. Thepage[limit] query parameter specifies the number of items to return per page. It defaults to 20 and may not exceed 100. The page[offset] query parameter specifies the offset of the first item to return, and defaults to 0.
When additional records are available, the response will include a meta key with a hasMore: true property.
Pagination response
Rate Limiting
Qlty uses rate limiting to ensure that the API is not overwhelmed by too many requests. If you exceed the rate limit, you will receive a429 Too Many Requests response.
The rate limit is measured in units, not raw request counts. Most requests cost a single unit, but some endpoints that return larger or more expensive results cost more. By default, the limit is 5,000 units per hour, applied as a fixed window. Requests to workspace and project endpoints count against a per-workspace limit, and requests to user endpoints count against a per-user limit. Contact support if you need a higher rate limit.
Responses include headers reporting your current rate limit usage:
| Header | Description |
|---|---|
x-ratelimit-limit | Maximum number of units allowed in the current window |
x-ratelimit-remaining | Number of units remaining in the current window |
x-ratelimit-used | Number of units used in the current window |
x-ratelimit-reset | Unix timestamp (in seconds) when the rate limit window resets |
GET /rate_limit endpoint.
Versioning
The Qlty API does not currently have a versioning scheme. Today, all endpoints are available athttps://api.qlty.sh/.
Prior to the general availability of the API, we are evaluating a versioning scheme that will allow us to make breaking changes without affecting existing users.