1234567{ "error": { "code": "account_disabled", "message": "The connected account is disabled", "requestId": "6c9e4a3e-..." } }
requestId when reporting a problem; it identifies the exact request on our side.| Code | Meaning |
invalid_request | Malformed body, parameters, cursor, or missing headers |
invalid_api_key | The key is missing, malformed, revoked, or expired |
insufficient_scope | The key lacks the scope this endpoint requires |
account_not_found | No such account in your tenant |
account_disabled | The account exists but reads are revoked |
server_not_verified | The server name has not passed verification |
server_not_found | MT5 verified the server name does not resolve |
broker_unreachable | The broker could not be reached; not a credential failure |
credentials_rejected | The broker rejected the credentials; only used after a real broker response |
capacity_exhausted | No worker capacity inside the request deadline |
request_timeout | The request exceeded its deadline while being served |
terminal_unhealthy | The MT5 terminal failed in a way that is not your fault |
conflict | The request conflicts with concurrent state |
internal_error | Unexpected failure; safe to report with the request ID |
credentials_rejected is never used when FiveSocket failed to reach the broker, and server_not_found is never used for a transient terminal failure. A negative answer always means a verified negative.capacity_exhausted returns 503 with a bounded Retry-After header. Honor it.504. The worker session is fenced and destroyed, so the read either fully happened or fully did not.4xx and are never worth retrying unchanged.POST /v1/accounts and DELETE /v1/accounts/{accountId} require an Idempotency-Key header. Reuse the same key when retrying the same logical operation.GET /v1/accounts/{accountId}/trades uses opaque signed cursors. Pass the nextCursor value back verbatim; cursors are bound to the account and query window, and a tampered or foreign cursor is rejected as invalid_request.to defaults to now, from defaults to 30 days before tolimit is 1 to 1000, default 100