Skip to main content
The REST API is in beta. This endpoint’s response shape may change.
Returns a list of current holdings for a brokerage connection. Holdings are fetched live from the brokerage provider. No investment data is stored on Redbark servers.
This endpoint requires brokerage access. Trialing subscriptions on any plan receive full brokerage access. Outside a trial, brokerage access requires an active (or past_due) subscription on a Professional price. A key with no general API access (for example a Saver-plan key) gets a 403 with "code": "plan_upgrade_required". A Developer-plan key that has API access but not brokerage gets a 403 with "code": "professional_required" on this endpoint.

Request

Headers

Trialing subscriptions on any plan receive full brokerage access, so you can evaluate /holdings and /trades during a trial. Outside a trial, brokerage access requires an active (or past_due) subscription on a Professional price.

Query parameters

connectionId must refer to a brokerage connection. Passing a banking connection ID returns a 400 error. Use the List Connections endpoint to find your brokerage connection IDs.

Response

Responses are not cached; every request fetches live from the brokerage provider.

Holding object

All monetary and quantity fields are strings to preserve decimal precision. Parse them as decimals in your application.

Error responses

Errors use the standard envelope { "error": { "message": string, "code"?: string, "details"?: string[] } }. The optional code field is set for the structured cases below — clients should branch on code rather than parsing message. Example error body:

Examples

All holdings for a brokerage connection

Filter to a specific account

Filter to a subset of accounts

Python

JavaScript