EventCallbackError is a JSON Structure definition published by Otter, describing 2 properties. It conforms to the https://json-structure.org/meta/core/v0/# meta-schema.
{
"$schema": "https://json-structure.org/meta/core/v0/#",
"$id": "https://raw.githubusercontent.com/api-evangelist/otter/refs/heads/main/json-structure/public-api-event-callback-error-structure.json",
"name": "EventCallbackError",
"description": "The error container for a processed callback.",
"type": "object",
"properties": {
"errorCode": {
"type": "string",
"description": "Errors that occur processing the webhook, modeled after Google's gRPC error codes.\nFor callback errors responding to menu-related webhooks, any error with status code in: \"INVALID_ARGUMENT\", \"FAILED_PRECONDITION\", \"NOT_FOUND\", \"PERMISSION_DENIED\", \"ALREADY_EXISTS\", \"UNIMPLEMENTED\", \"DATA_LOSS\", \"UNAUTHENTICATED\" will be considered fatal and will fail the operation without retrying.",
"enum": [
"CANCELLED",
"UNKNOWN",
"INVALID_ARGUMENT",
"FAILED_PRECONDITION",
"DEADLINE_EXCEEDED",
"NOT_FOUND",
"PERMISSION_DENIED",
"ALREADY_EXISTS",
"RESOURCE_EXHAUSTED",
"ABORTED",
"OUT_OF_RANGE",
"UNIMPLEMENTED",
"INTERNAL",
"UNAVAILABLE",
"DATA_LOSS",
"UNAUTHENTICATED"
],
"example": "NOT_FOUND"
},
"errorMessage": {
"type": "string",
"nullable": true,
"description": "Additional information about the error. This message will be displayed to the user, so ideally it should be friendly.",
"example": "The store was not found."
}
}
}
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we
store it to create your key and to recognise you if you sign in with another
provider. See our Privacy Policy and
Terms.