Base URL
Every path in this documentation is relative to the base URL:
GET /deposits is GET https://partners-api.sandbox.securitize.io/v1/deposits in sandbox. Production has the same paths, with its own client credentials, once your integration passes the go-live checklist. The token endpoint is at the root of each host: https://partners-api.sandbox.securitize.io/oauth2/token and https://partners-api.securitize.io/oauth2/token.
Get a token
Authentication is OAuth 2.0 client credentials, and nothing else: there is no API key. Exchange the client id and secret Securitize issued you for a bearer token, then send it on every request:- The token lasts 2 hours. Cache it and refresh it before it expires, or on the first
401. Do not request one per call. - No scope. Send none; one sent is ignored.
- The token identifies your investor account, and every answer is scoped to it: your deposits, your transactions, your holdings, the webhooks sent to you. There is nothing to pass to name yourself.
- Note the token endpoint is at the host root, not under the base URL.
Keeping secrets safe
- The client secret and the webhook signing secret are secrets: keep them in a secrets manager, inject them at runtime, and ask Securitize to rotate them at once if either is exposed. Never put them in source control or in frontend code.
- Keep separate credentials for sandbox and production.
- Call the API from your backend only.
Limits
Requests are rate limited per account. Past the limit the API answers429 with a Retry-After header: wait that many seconds and retry. Lists take at most 100 items per page.
When the token is wrong
A missing, expired or unknown token is refused before the request reaches the API, with an OAuth-style body:
Every other error carries
error, message and statusCode. See Errors.