Skip to content

Error Handling and Retry ​

Failed requests use the common envelope with success: false, data: null, and a structured error.

FieldUse
codeStable program branch
actionRecommended corrective category
request_idServer-log correlation and support
messageHuman-readable explanation only
detailsOptional structured context

Do not branch on localized message text or assume every details field is present.

Retry read-only requests only for transient conditions such as RATE_LIMITED, SERVICE_UNAVAILABLE, or another error with action: RETRY_LATER. Use bounded exponential backoff and fresh timestamp, nonce, and signature.

For create requests, first recover the result through a business identifier such as client_request_id. Authentication, validation, permission, balance, and conflict errors require correction rather than blind retry.

Support reports should include time, endpoint, HTTP status, code, action, and request_id, but never API or HMAC keys.

Decision table ​

ActionAutomated behavior
CORRECT_FIELD_VALUE, PROVIDE_REQUIRED_FIELDSFail validation and return actionable feedback
SYNC_SYSTEM_TIME, GENERATE_NEW_NONCE, REGENERATE_SIGNATURERepair once, then stop if repeated
CHECK_RESOURCE_ID, REQUEST_ACCESSVerify environment, ownership, and permission
ADJUST_AMOUNT, INCREASE_BALANCERequire a new business decision
RESOLVE_CONFLICTRetrieve current state and reconcile intent
RETRY_LATERRetry eligible reads with jittered bounded backoff
CONTACT_SUPPORTStop automation and preserve diagnostics

Unknown actions and malformed error envelopes fail closed. Preserve safe raw response metadata for analysis.

OOLIN is a digital asset operations infrastructure product by BPMG.