Skip to main content

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

To try the API from this portal, get a sandbox token here: run Get an access token in the API reference with your client id and secret, then paste the access_token into the authorization field of any other operation to try it.
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 answers 429 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.