OpenPoly logo
Troubleshooting

Common errors

Common integration errors and how operators should respond.

Common errors

Use error code plus surrounding record state together.

Authentication and scope

ErrorLikely causeNext action
INVALID_API_KEYmissing bearer token, revoked key, wrong tokenconfirm key value, revocation state, and target environment
INSUFFICIENT_SCOPEkey missing route scopeadd required scope or use different key

Request validation

ErrorLikely causeNext action
INVALID_NAMEAPI key create request missing namesend non-empty key name
INVALID_SCOPESscope list empty or unsupporteduse source-truth scopes from /docs/reference/scopes
INVALID_IDpath param not positive integervalidate resource ID before request
INVALID_URLwebhook endpoint URL invalid or not alloweduse HTTPS except allowed localhost testing cases
INVALID_ENABLED_EVENTSwebhook event name unsupporteduse event names from /docs/webhooks/event-types
INVALID_STATUSwebhook endpoint patch sent unsupported statususe active or disabled
INVALID_ENDPOINT_IDreplay or patch target ID invalidconfirm webhook endpoint or delivery ID
INVALID_DIRECTIONsimulator direction invaliduse debit, credit, debit_reversal, or credit_reversal
INVALID_AMOUNT_MINORsimulator amount not positive integersend positive integer in minor units

Resource and state

ErrorLikely causeNext action
NOT_FOUNDresource missing or not visible to authenticated operatorverify ownership and ID
SIMULATOR_DISABLEDoperator not configured for simulator modeenable simulator in staging config or use real wallet adapter flow
OPERATOR_USER_NOT_FOUNDuser not created or wrong external_user_idcreate launch/session first, then retry simulator call

Webhook receiver failures

These may appear in receiver logs or delivery samples rather than operator API JSON.

ErrorLikely causeNext action
MISSING_SIGNATURE_HEADERSreceiver expected headers missinginspect reverse proxy or framework raw request handling
INVALID_SIGNATUREwrong secret or wrong raw-body handlingverify stored secret and use raw body bytes
INVALID_TIMESTAMPtimestamp header unparsableinspect header handling
TIMESTAMP_SKEW_TOO_LARGEreceiver clock drift or replayed old requestfix system clock and reject stale delivery
EVENT_ID_MISMATCHbody and header mismatchinspect custom middleware or body transforms
DUPLICATE_EVENT_IDdelivery already processedkeep idempotent receiver behavior

When to escalate

Escalate after you collect:

  • request path
  • response status
  • operator API key scope set
  • event_id or idempotency_key
  • relevant UTC timestamps
Copyright © 2026