Base URL
Authentication
Pass your API key as a Bearer token in theAuthorization header:
Errors
All errors follow a consistent JSON structure:HTTP Status Codes
| Status | Meaning | When It Happens |
|---|---|---|
200 | OK | Successful GET, PATCH, PUT, or POST that returns data |
201 | Created | Successful resource creation (POST) |
204 | No Content | Successful deletion or action with no response body |
400 | Bad Request | Invalid body, missing required fields, or constraint violation |
401 | Unauthorized | Missing or invalid Bearer token / session |
403 | Forbidden | Valid auth but insufficient permissions |
404 | Not Found | Resource does not exist or does not belong to your account |
409 | Conflict | Resource already exists (e.g., duplicate signal type name) |
422 | Unprocessable Entity | Well-formed but semantically invalid request |
429 | Too Many Requests | Rate limit exceeded — see Rate Limits |
500 | Internal Server Error | Unexpected server error |
Error Codes
| Code | Description |
|---|---|
unauthorized | Missing or invalid authentication credentials |
not_found | The requested resource does not exist |
invalid_request | Body or parameters are invalid, or a constraint was violated |
rate_limited | Exceeded the 100 req/min rate limit |
conflict | Resource already exists |
internal_error | Unexpected server error |
Pagination
List endpoints use cursor-based pagination.Query Parameters
| Parameter | Type | Description |
|---|---|---|
limit | integer | Items to return. Maximum 100. Default varies by endpoint. |
cursor | string | ID of the last item from the previous page. |
Response Shape
cursor is null and has_more is false, you have reached the last page.