Documentation Index
Fetch the complete documentation index at: https://docs.redbark.co/llms.txt
Use this file to discover all available pages before exploring further.
The REST API is in beta. Endpoints, request formats, and response shapes may change. Pin your integration to a specific API version once versioning is available.
Base URL
Authentication
All API requests require a Bearer token. Create an API key in the dashboard and include it in theAuthorization header:
API access requires a Developer or Professional plan. You can revoke keys from the dashboard at any time.
Rate limits
Limits are tiered by endpoint cost and applied per API key. Unauthenticated or failed auth requests are limited to 10 per minute per IP address.| Tier | Endpoints | Limit |
|---|---|---|
| Cheap | /v1/connections, /v1/accounts, /v1/categories | 60 / minute |
| Mid | /v1/balances | 30 / minute |
| Heavy | /v1/transactions, /v1/holdings, /v1/trades | 30 / minute |
429. Issue heavy requests sequentially, or fan them out across multiple keys, to stay under the cap.
Every response includes rate limit headers:
| Header | Description |
|---|---|
X-RateLimit-Limit | Maximum requests allowed per window |
X-RateLimit-Remaining | Requests remaining in the current window |
Retry-After | Seconds until the next request is allowed (only present on 429 responses) |
Truncation and deprecation headers
Some endpoints set additional response headers to signal operational state:| Header | When | Meaning |
|---|---|---|
X-Redbark-Truncated: true | /v1/transactions, /v1/trades when a request fetches more than ~5,000 rows from the provider before reaching your offset + limit window | The service stopped paging upstream to bound memory. Combine with pagination.hasMore and continue paginating with offset + limit. |
Deprecation: true + Sunset: <date> + Link: <docs-url>; rel="deprecation" | A request uses a parameter shape that’s scheduled for removal | Migrate before the Sunset date. Currently set on /v1/transactions calls that omit accountId. |
Error format
All errors return a JSON envelope:400 validation error also includes a details array; a 403 for brokerage on a non-Professional plan includes "code": "professional_required":
| Field | Type | Description |
|---|---|---|
message | string | Error description. Always present. |
code | string | Machine-readable error code. Omitted when not set. Currently only professional_required is emitted. |
details | string[] | Validation details. Omitted when empty. |
HTTP status codes
| Status | Meaning |
|---|---|
200 | Success |
400 | Invalid parameters |
401 | Missing or invalid API key |
403 | Subscription required (API access requires a Developer or Professional plan), or professional_required for brokerage endpoints |
404 | Resource not found or does not belong to you |
429 | Rate limited |
500 | Internal server error |
503 | Banking/brokerage provider temporarily unavailable. Retry later. |
Pagination
List endpoints supportlimit and offset query parameters:
| Parameter | Type | Default | Description |
|---|---|---|---|
limit | integer | Varies by endpoint | Maximum number of items to return. Passed as a query string (e.g. ?limit=50). |
offset | integer | 0 | Number of items to skip. Passed as a query string. |
pagination object:
OpenAPI specification
A machine-readable OpenAPI 3.1 spec is available at:/doc via Swagger UI.
Quick start
Get your API key
Go to Settings > API Keys in the dashboard and create a new key. Copy the key. It is only shown once.