Get a webhook delivery
Returns retained delivery metadata and, with content authority, the immutable event payload. Expired deliveries return not found even before physical cleanup.
Required API key permissions: read:webhooks. Write permissions also grant read access for the same resource.
Authentication
apiKeyhttp, bearer, Andesine API keyUse an Andesine API key as a Bearer token
oauthhttp, bearer, Andesine OAuth access tokenUse an OAuth access token with andesine:api scope. Send x-workspace-id for workspace operations. Current user permissions apply.
Path parameters
id*stringdeliveryID*stringHeaders
x-workspace-idstringRequired for OAuth: ID of the workspace to access. API keys use their own workspace.
Responses
200OKapplication/json
Bodyobject3 fields
delivery*WebhookDelivery16 fields
id*stringendpointID*stringeventID*stringtype*WebhookEventName"entry.created", "entry.updated", "entry.content_saved", "entry.moved", "entry.deleted", "entry.restored", "collection.created", "collection.updated", "collection.moved", "collection.deleted", "collection.restored", "publishing.channel_advanced", "publishing.channel_created", "publishing.channel_deleted"occurredAt*stringtest*booleanstate*string"pending", "in_flight", "succeeded", "failed", "cancelled"selectedRevision*numbercreatedAt*stringexpiresAt*stringretentionDays*numberattemptCount*numbercurrentRunID*any ofOptions
Any of
Option 1string
Option 2null
nextAttemptAt*any ofOptions
Any of
Option 1string
Option 2null
lastHTTPStatus*any ofOptions
Any of
Option 1number
Option 2null
lastFailureCategory*any ofOptions
Any of
Option 1string
"http_status", "timeout", "network", "destination_policy", "internal"Option 2null
payload*any ofOptions
Any of
Option 1object
availability*constant"available"event*WebhookEventOptions
Any of
Option 1object
id*stringoperationID*stringschemaVersion*constant1occurredAt*stringworkspaceID*stringactorany ofnullOptions
Any of
Option 1any of
Who made the change; null for changes by Andesine itself
Any of
Option 1object
type*constant"member"memberID*stringOption 2object
type*constant"key"keyID*stringOption 3object
type*constant"extension"extensionID*stringOption 4object
type*constant"app"memberID*stringThe member who authorized the app
clientID*stringOAuth client ID
name*stringName that the app registered, such as an MCP client
Option 2null
test*booleansubject*object2 fields
kind*constant"entry"id*stringtype*constant"entry.created"data*object3 fields
name*stringcollectionID*any ofOptions
Any of
Option 1string
Option 2null
contentHashstringOption 2object
id*stringoperationID*stringschemaVersion*constant1occurredAt*stringworkspaceID*stringactorany ofnullOptions
Any of
Option 1any of
Who made the change; null for changes by Andesine itself
Any of
Option 1object
type*constant"member"memberID*stringOption 2object
type*constant"key"keyID*stringOption 3object
type*constant"extension"extensionID*stringOption 4object
type*constant"app"memberID*stringThe member who authorized the app
clientID*stringOAuth client ID
name*stringName that the app registered, such as an MCP client
Option 2null
test*booleansubject*object2 fields
kind*constant"entry"id*stringtype*constant"entry.updated"data*object2 fields
collectionID*any ofOptions
Any of
Option 1string
Option 2null
changedFields*array of constantOption 3object
id*stringoperationID*stringschemaVersion*constant1occurredAt*stringworkspaceID*stringactorany ofnullOptions
Any of
Option 1any of
Who made the change; null for changes by Andesine itself
Any of
Option 1object
type*constant"member"memberID*stringOption 2object
type*constant"key"keyID*stringOption 3object
type*constant"extension"extensionID*stringOption 4object
type*constant"app"memberID*stringThe member who authorized the app
clientID*stringOAuth client ID
name*stringName that the app registered, such as an MCP client
Option 2null
test*booleansubject*object2 fields
kind*constant"entry"id*stringtype*constant"entry.content_saved"data*object3 fields
collectionID*any ofOptions
Any of
Option 1string
Option 2null
contentHash*stringsavedAt*stringOption 4object
id*stringoperationID*stringschemaVersion*constant1occurredAt*stringworkspaceID*stringactorany ofnullOptions
Any of
Option 1any of
Who made the change; null for changes by Andesine itself
Any of
Option 1object
type*constant"member"memberID*stringOption 2object
type*constant"key"keyID*stringOption 3object
type*constant"extension"extensionID*stringOption 4object
type*constant"app"memberID*stringThe member who authorized the app
clientID*stringOAuth client ID
name*stringName that the app registered, such as an MCP client
Option 2null
test*booleansubject*object2 fields
kind*constant"entry"id*stringtype*constant"entry.moved"data*any ofOptions
Any of
Option 1object
scopeTransition*constant"within"reason*string"direct", "ancestor_moved", "reordered"from*object3 fields
visibility*constant"visible"parentID*any ofNull means the workspace root, never a hidden parent
Options
Any of
Option 1string
Option 2null
orderstringto*object3 fields
visibility*constant"visible"parentID*any ofNull means the workspace root, never a hidden parent
Options
Any of
Option 1string
Option 2null
orderstringOption 2object
scopeTransition*constant"entered"reason*string"direct", "ancestor_moved", "reordered"from*object1 field
visibility*constant"hidden"to*object3 fields
visibility*constant"visible"parentID*any ofNull means the workspace root, never a hidden parent
Options
Any of
Option 1string
Option 2null
orderstringOption 3object
scopeTransition*constant"left"reason*string"direct", "ancestor_moved", "reordered"from*object3 fields
visibility*constant"visible"parentID*any ofNull means the workspace root, never a hidden parent
Options
Any of
Option 1string
Option 2null
orderstringto*object1 field
visibility*constant"hidden"Option 5object
id*stringoperationID*stringschemaVersion*constant1occurredAt*stringworkspaceID*stringactorany ofnullOptions
Any of
Option 1any of
Who made the change; null for changes by Andesine itself
Any of
Option 1object
type*constant"member"memberID*stringOption 2object
type*constant"key"keyID*stringOption 3object
type*constant"extension"extensionID*stringOption 4object
type*constant"app"memberID*stringThe member who authorized the app
clientID*stringOAuth client ID
name*stringName that the app registered, such as an MCP client
Option 2null
test*booleansubject*object2 fields
kind*constant"entry"id*stringtype*constant"entry.deleted"data*object3 fields
name*stringcollectionID*any ofOptions
Any of
Option 1string
Option 2null
deletedAt*stringOption 6object
id*stringoperationID*stringschemaVersion*constant1occurredAt*stringworkspaceID*stringactorany ofnullOptions
Any of
Option 1any of
Who made the change; null for changes by Andesine itself
Any of
Option 1object
type*constant"member"memberID*stringOption 2object
type*constant"key"keyID*stringOption 3object
type*constant"extension"extensionID*stringOption 4object
type*constant"app"memberID*stringThe member who authorized the app
clientID*stringOAuth client ID
name*stringName that the app registered, such as an MCP client
Option 2null
test*booleansubject*object2 fields
kind*constant"entry"id*stringtype*constant"entry.restored"data*object2 fields
name*stringcollectionID*any ofOptions
Any of
Option 1string
Option 2null
Option 7object
id*stringoperationID*stringschemaVersion*constant1occurredAt*stringworkspaceID*stringactorany ofnullOptions
Any of
Option 1any of
Who made the change; null for changes by Andesine itself
Any of
Option 1object
type*constant"member"memberID*stringOption 2object
type*constant"key"keyID*stringOption 3object
type*constant"extension"extensionID*stringOption 4object
type*constant"app"memberID*stringThe member who authorized the app
clientID*stringOAuth client ID
name*stringName that the app registered, such as an MCP client
Option 2null
test*booleansubject*object2 fields
kind*constant"collection"id*stringtype*constant"collection.created"data*object2 fields
name*stringparentID*any ofOptions
Any of
Option 1string
Option 2null
Option 8object
id*stringoperationID*stringschemaVersion*constant1occurredAt*stringworkspaceID*stringactorany ofnullOptions
Any of
Option 1any of
Who made the change; null for changes by Andesine itself
Any of
Option 1object
type*constant"member"memberID*stringOption 2object
type*constant"key"keyID*stringOption 3object
type*constant"extension"extensionID*stringOption 4object
type*constant"app"memberID*stringThe member who authorized the app
clientID*stringOAuth client ID
name*stringName that the app registered, such as an MCP client
Option 2null
test*booleansubject*object2 fields
kind*constant"collection"id*stringtype*constant"collection.updated"data*object2 fields
parentID*any ofOptions
Any of
Option 1string
Option 2null
changedFields*array of stringtrueOption 9object
id*stringoperationID*stringschemaVersion*constant1occurredAt*stringworkspaceID*stringactorany ofnullOptions
Any of
Option 1any of
Who made the change; null for changes by Andesine itself
Any of
Option 1object
type*constant"member"memberID*stringOption 2object
type*constant"key"keyID*stringOption 3object
type*constant"extension"extensionID*stringOption 4object
type*constant"app"memberID*stringThe member who authorized the app
clientID*stringOAuth client ID
name*stringName that the app registered, such as an MCP client
Option 2null
test*booleansubject*object2 fields
kind*constant"collection"id*stringtype*constant"collection.moved"data*any ofOptions
Any of
Option 1object
scopeTransition*constant"within"reason*string"direct", "ancestor_moved", "reordered"from*object3 fields
visibility*constant"visible"parentID*any ofNull means the workspace root, never a hidden parent
Options
Any of
Option 1string
Option 2null
orderstringto*object3 fields
visibility*constant"visible"parentID*any ofNull means the workspace root, never a hidden parent
Options
Any of
Option 1string
Option 2null
orderstringOption 2object
scopeTransition*constant"entered"reason*string"direct", "ancestor_moved", "reordered"from*object1 field
visibility*constant"hidden"to*object3 fields
visibility*constant"visible"parentID*any ofNull means the workspace root, never a hidden parent
Options
Any of
Option 1string
Option 2null
orderstringOption 3object
scopeTransition*constant"left"reason*string"direct", "ancestor_moved", "reordered"from*object3 fields
visibility*constant"visible"parentID*any ofNull means the workspace root, never a hidden parent
Options
Any of
Option 1string
Option 2null
orderstringto*object1 field
visibility*constant"hidden"Option 10object
id*stringoperationID*stringschemaVersion*constant1occurredAt*stringworkspaceID*stringactorany ofnullOptions
Any of
Option 1any of
Who made the change; null for changes by Andesine itself
Any of
Option 1object
type*constant"member"memberID*stringOption 2object
type*constant"key"keyID*stringOption 3object
type*constant"extension"extensionID*stringOption 4object
type*constant"app"memberID*stringThe member who authorized the app
clientID*stringOAuth client ID
name*stringName that the app registered, such as an MCP client
Option 2null
test*booleansubject*object2 fields
kind*constant"collection"id*stringtype*constant"collection.deleted"data*object3 fields
name*stringparentID*any ofOptions
Any of
Option 1string
Option 2null
deletedAt*stringOption 11object
id*stringoperationID*stringschemaVersion*constant1occurredAt*stringworkspaceID*stringactorany ofnullOptions
Any of
Option 1any of
Who made the change; null for changes by Andesine itself
Any of
Option 1object
type*constant"member"memberID*stringOption 2object
type*constant"key"keyID*stringOption 3object
type*constant"extension"extensionID*stringOption 4object
type*constant"app"memberID*stringThe member who authorized the app
clientID*stringOAuth client ID
name*stringName that the app registered, such as an MCP client
Option 2null
test*booleansubject*object2 fields
kind*constant"collection"id*stringtype*constant"collection.restored"data*object2 fields
name*stringparentID*any ofOptions
Any of
Option 1string
Option 2null
Option 12object
id*stringoperationID*stringschemaVersion*constant1occurredAt*stringworkspaceID*stringactorany ofnullOptions
Any of
Option 1any of
Who made the change; null for changes by Andesine itself
Any of
Option 1object
type*constant"member"memberID*stringOption 2object
type*constant"key"keyID*stringOption 3object
type*constant"extension"extensionID*stringOption 4object
type*constant"app"memberID*stringThe member who authorized the app
clientID*stringOAuth client ID
name*stringName that the app registered, such as an MCP client
Option 2null
test*booleansubject*object2 fields
kind*constant"channel"code*stringtype*constant"publishing.channel_advanced"data*object3 fields
previousSnapshotID*stringsnapshotID*stringreason*string"publish", "unpublish"Option 13object
id*stringoperationID*stringschemaVersion*constant1occurredAt*stringworkspaceID*stringactorany ofnullOptions
Any of
Option 1any of
Who made the change; null for changes by Andesine itself
Any of
Option 1object
type*constant"member"memberID*stringOption 2object
type*constant"key"keyID*stringOption 3object
type*constant"extension"extensionID*stringOption 4object
type*constant"app"memberID*stringThe member who authorized the app
clientID*stringOAuth client ID
name*stringName that the app registered, such as an MCP client
Option 2null
test*booleansubject*object2 fields
kind*constant"channel"code*stringtype*constant"publishing.channel_created"data*object3 fields
name*stringbuiltIn*booleansnapshotID*stringOption 14object
id*stringoperationID*stringschemaVersion*constant1occurredAt*stringworkspaceID*stringactorany ofnullOptions
Any of
Option 1any of
Who made the change; null for changes by Andesine itself
Any of
Option 1object
type*constant"member"memberID*stringOption 2object
type*constant"key"keyID*stringOption 3object
type*constant"extension"extensionID*stringOption 4object
type*constant"app"memberID*stringThe member who authorized the app
clientID*stringOAuth client ID
name*stringName that the app registered, such as an MCP client
Option 2null
test*booleansubject*object2 fields
kind*constant"channel"code*stringtype*constant"publishing.channel_deleted"data*object2 fields
name*stringsnapshotID*stringOption 2object
availability*constant"forbidden"currentRun*any ofOptions
Any of
WebhookRunobject
id*stringdeliveryID*stringnumber*numbertrigger*string"automatic", "manual", "test"destinationRevision*numberstate*string"pending", "in_flight", "succeeded", "failed", "cancelled"createdAt*stringdeadlineAt*stringfinishedAt*any ofOptions
Any of
Option 1string
Option 2null
nextAttemptAt*any ofOptions
Any of
Option 1string
Option 2null
attemptCount*numberstopReason*any ofOptions
Any of
Option 1string
"retry_exhausted", "expired", "disabled", "endpoint_deleted", "destination_changed", "selection_changed", "access_revoked", "destination_policy", "test_completed"Option 2null
Option 2null
400Bad Requestapplication/json
Bodyone ofOptions
One of
Option 1object
defined*constanttruecode*constant"BAD_REQUEST"status*constant400message*string"Bad Request"dataValidationErrorData2 fields
hintsarray of stringSuggested next steps. Wording can change; use error codes and structured data for program logic.
issuesarray of ValidationIssue3 fields
message*stringcodestringpatharray of any ofOptions
Any of
Option 1string
Option 2number
Option 3object
key*any ofOptions
Any of
Option 1string
Option 2number
Option 2object
defined*constantfalsecode*stringstatus*numbermessage*stringdataany401Unauthorizedapplication/json
Bodyone ofOptions
One of
Option 1object
defined*constanttruecode*constant"UNAUTHORIZED"status*constant401message*string"Unauthorized"dataErrorData1 field
hintsarray of stringSuggested next steps. Wording can change; use error codes and structured data for program logic.
Option 2object
defined*constantfalsecode*stringstatus*numbermessage*stringdataany403Forbiddenapplication/json
Bodyone ofOptions
One of
Option 1object
defined*constanttruecode*constant"FORBIDDEN"status*constant403message*string"Forbidden"dataForbiddenErrorData4 fields
hintsarray of stringSuggested next steps. Wording can change; use error codes and structured data for program logic.
missingPermissionsarray of stringrequiredPlanconstant"pro"actionstringThe requested action that was denied
Option 2object
defined*constantfalsecode*stringstatus*numbermessage*stringdataany404Not Foundapplication/json
Bodyone ofOptions
One of
Option 1object
defined*constanttruecode*constant"NOT_FOUND"status*constant404message*string"Not Found"dataErrorData1 field
hintsarray of stringSuggested next steps. Wording can change; use error codes and structured data for program logic.
Option 2object
defined*constantfalsecode*stringstatus*numbermessage*stringdataany409Conflictapplication/json
Bodyone ofOptions
One of
Option 1object
defined*constanttruecode*constant"CONFLICT"status*constant409message*string"Conflict"dataErrorData1 field
hintsarray of stringSuggested next steps. Wording can change; use error codes and structured data for program logic.
Option 2object
defined*constantfalsecode*stringstatus*numbermessage*stringdataany429Too Many Requestsapplication/json
Bodyone ofOptions
One of
Option 1object
defined*constanttruecode*constant"TOO_MANY_REQUESTS"status*constant429message*string"Too Many Requests"dataRateLimitErrorData3 fields
hintsarray of stringSuggested next steps. Wording can change; use error codes and structured data for program logic.
limitstringThe limit that was reached: a short-term rate limit, or a monthly API call, AI credit, or spending limit
"rate", "api-calls", "ai-credits", "spending"retryAfterSecondsnumberMinimum delay before another attempt, in seconds. Also sent in Retry-After.
Option 2object
defined*constantfalsecode*stringstatus*numbermessage*stringdataany500Internal Server Errorapplication/json
Bodyone ofOptions
One of
Option 1object
defined*constanttruecode*constant"INTERNAL_SERVER_ERROR"status*constant500message*string"Internal Server Error"dataErrorData1 field
hintsarray of stringSuggested next steps. Wording can change; use error codes and structured data for program logic.
Option 2object
defined*constantfalsecode*stringstatus*numbermessage*stringdataany503Service Unavailableapplication/json
Bodyone ofOptions
One of
Option 1object
defined*constanttruecode*constant"SERVICE_UNAVAILABLE"status*constant503message*string"Service Unavailable"dataErrorData1 field
hintsarray of stringSuggested next steps. Wording can change; use error codes and structured data for program logic.
Option 2object
defined*constantfalsecode*stringstatus*numbermessage*stringdataany