Skip to main content
Every operation in the API reference lists the errors it can return. This page is the overview: how to read an error, what to do with each code, and what to send Securitize when you need help.

How an error looks

API errors carry a code. Branch on the HTTP status and the code; message is for humans and can change. Quote correlationId when you contact Securitize support.
details depends on the error:
  • a validation error lists every field to fix: [{ "field": "phone.code", "message": "code must contain digits only" }] (on a query parameter, a list of strings);
  • a conflict carries the existing id: { "investorId": … } or { "keyPartyId": … };
  • a refused submit names who is short: { "investor": …, "keyParties": [ … ] };
  • a whitelisting waiting for suitability names what: { "notVerified": ["us", "eu"] };
  • a tax form of the wrong type lists the forms the investor can receive: { "allowed": ["W-9", "W-8BEN"] };
  • a W-9 sent as data while the investor has a form on file names that form: { "activeTaxForm": { "taxFormId": …, "formType": "W-8BEN" } };
  • a W-9 sent as data for an investor subject to backup withholding says why: { "reason": "backup_withholding_not_supported" }.
Gateway errors have no code and no correlationId: the request never reached the API. A 401 ({"error": "invalid_request" | "invalid_token", "error_description": …}) means the bearer token is missing, unknown or expired: get a new one and send the request again. A 403 {"message": "You cannot consume this service"} means your account is not enabled for this API (Sandbox and authentication); a 403 IP address not allowed means the request is outside the API, for example a path outside /investors or a DELETE. A body that is not valid JSON answers 400 without a code either.

What to do

Fix the request and send it again

Use what already exists

Wait, or finish a step first

Stop and talk to Securitize

Not found

Retry

What is safe to retry

Keep a small state per investor in your own system (created, documented, submitted, verdict) and resume from it after a crash, instead of replaying the whole flow.

A handling pattern

Getting help

When you contact Securitize support about a response, send:
  • the correlationId (a gateway error has none: say so);
  • your externalInvestorId, and the investorId or keyPartyId if you have them;
  • the method and path, and whether it was sandbox or production;
  • the statusCode and code you received, and what you expected instead.
Never send your client secret, an access token, a document’s base64 content or an investor’s personal data. The correlationId is enough for Securitize to find the request.