ERPSpan docs

Errors

The error envelope and every error code the API returns.

Every non-2xx response uses one envelope:

{
  "error": {
    "code": "GP_VALIDATION",
    "message": "human sentence",
    "requestId": "req_…",
    "details": {},
    "gpErrors": [{ "number": 4628, "text": "…", "node": "taUpdateCreateCustomerRcd" }]
  }
}
  • code — a stable machine code (the table below). Branch on this, not the message.
  • message — a human-readable sentence; may change, never parse it.
  • requestId — the X-Request-Id of the call; include it in support requests.
  • details — code-specific extra data (e.g. issues[] for validation, reason for a plan limit).
  • gpErrors — present on GP_VALIDATION: the raw eConnect error number(s) + our remediation hint.

Codes

HTTPcodewhen
400VALIDATION_ERRORzod failure or missing headers; details.issues[]
401UNAUTHORIZEDbad, missing, or revoked key
402PLAN_LIMITlive-connection plan limit reached; details has reason, plan, current, limit
403FORBIDDENkey lacks the required scope, or the connection isn't in your org
403WRITE_NOT_ENABLEDthe object isn't on the connection's write whitelist
403SANDBOX_READ_ONLYa write was attempted on a sandbox connection
404NOT_FOUNDunknown route or object id
409IDEMPOTENCY_CONFLICTsame Idempotency-Key, different request body
422GP_VALIDATIONeConnect rejected the document; gpErrors[] populated
422ECONNECT_MISSINGthe connection's GP install lacks the eConnect runtime; details.docsUrl
429RATE_LIMITEDrate-limit bucket empty; retry after Retry-After
502AGENT_ERRORthe agent returned a malformed or unexpected result
503CONNECTION_OFFLINEno live agent socket for the connection
503AGENT_BUSYthe agent's request queue is full
504AGENT_TIMEOUTthe tunnel round-trip exceeded its budget
413PAYLOAD_TOO_LARGEthe result exceeded the frame cap; narrow the query
500INTERNALanything else — logged; internals are never leaked

For write-specific validation failures (422 GP_VALIDATION), see the eConnect error numbers and hints in Writes & batches.

On this page