AlmondTill/G3N API

Errors

Every refusal is a structured object in the response’s errors list — { "major", "minor", "retryable", "message" }, with detail when the refusal has more to say — and the response still carries extensions.at with its callId. major names the class, minor the code inside it, and retryable says whether the identical call may succeed if you simply try again.

The majors

MajorCodesMeaning
VALIDATION11The request itself is not acceptable.
AUTHN4Who is calling could not be established.
AUTHZ6The caller is known but not allowed.
NOT_FOUND9Nothing answers the reference given.
CONFLICT66The record’s state or a concurrent change refuses the call.
RATE_LIMIT2Too many calls in the window.
PAYMENT5The payment step did not go through.
FULFILLMENT1The fulfillment step did not complete.
TAX0A tax step could not be resolved.
FISCAL3The fiscal authority or provider refused or did not answer.
INTEGRATION1An outside service did not answer.
INTERNAL1The platform failed; nothing about the request caused it.

Retrying

When retryable is true, the same call, unchanged, may succeed a moment later — wait, then send it again. When it is false, change something first: the values, the record’s state, or who is calling.