Hookdeck · Schema
Hookdeck EventAttempt
JSON Schema for the Hookdeck EventAttempt entity, extracted from the Hookdeck Admin REST API (v2025-07-01).
WebhooksEvent GatewaysGatewaysEventsEvent InfrastructureEvent-DrivenMessagingQueuesRetriesTransformationsObservability
Properties
| Name | Type | Description |
|---|---|---|
| id | string | Attempt ID |
| team_id | string | ID of the project |
| event_id | string | Event ID |
| destination_id | string | Destination ID |
| response_status | integer | Attempt's HTTP response code |
| attempt_number | integer | Sequential number of attempts (up to and including this one) made for the associated event |
| trigger | object | |
| error_code | object | |
| body | object | |
| requested_url | string | URL of the destination where delivery was attempted |
| http_method | string | HTTP method used to deliver the attempt |
| bulk_retry_id | string | ID of associated bulk retry |
| status | object | |
| successful_at | string | Date the attempt was successful |
| delivered_at | string | Date the attempt was delivered |
| responded_at | string | Date the destination responded to this attempt |
| delivery_latency | integer | Time elapsed between attempt initiation and final delivery (in ms) |
| response_latency | integer | Time elapsed between attempt initiation and a response from the destination (in ms) |
| updated_at | string | Date the attempt was last updated |
| created_at | string | Date the attempt was created |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/api-evangelist/hookdeck/main/json-schema/hookdeck-attempt-schema.json",
"title": "Hookdeck EventAttempt",
"description": "JSON Schema for the Hookdeck EventAttempt entity, extracted from the Hookdeck Admin REST API (v2025-07-01).",
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Attempt ID"
},
"team_id": {
"type": "string",
"description": "ID of the project"
},
"event_id": {
"type": "string",
"description": "Event ID"
},
"destination_id": {
"type": "string",
"description": "Destination ID"
},
"response_status": {
"type": "integer",
"nullable": true,
"description": "Attempt's HTTP response code"
},
"attempt_number": {
"type": "integer",
"nullable": true,
"description": "Sequential number of attempts (up to and including this one) made for the associated event"
},
"trigger": {
"$ref": "#/$defs/AttemptTrigger"
},
"error_code": {
"$ref": "#/$defs/AttemptErrorCodes"
},
"body": {
"anyOf": [
{
"type": "object",
"properties": {},
"nullable": true,
"description": "Response body from the destination"
},
{
"type": "string",
"nullable": true,
"description": "Response body from the destination"
}
]
},
"requested_url": {
"type": "string",
"nullable": true,
"description": "URL of the destination where delivery was attempted"
},
"http_method": {
"type": "string",
"enum": [
"GET",
"POST",
"PUT",
"PATCH",
"DELETE"
],
"nullable": true,
"description": "HTTP method used to deliver the attempt"
},
"bulk_retry_id": {
"type": "string",
"nullable": true,
"description": "ID of associated bulk retry"
},
"status": {
"$ref": "#/$defs/AttemptStatus"
},
"successful_at": {
"type": "string",
"format": "date-time",
"nullable": true,
"description": "Date the attempt was successful"
},
"delivered_at": {
"type": "string",
"format": "date-time",
"nullable": true,
"description": "Date the attempt was delivered"
},
"responded_at": {
"type": "string",
"format": "date-time",
"nullable": true,
"description": "Date the destination responded to this attempt"
},
"delivery_latency": {
"type": "integer",
"nullable": true,
"description": "Time elapsed between attempt initiation and final delivery (in ms)"
},
"response_latency": {
"type": "integer",
"nullable": true,
"description": "Time elapsed between attempt initiation and a response from the destination (in ms)"
},
"updated_at": {
"type": "string",
"format": "date-time",
"description": "Date the attempt was last updated"
},
"created_at": {
"type": "string",
"format": "date-time",
"description": "Date the attempt was created"
}
},
"required": [
"id",
"team_id",
"event_id",
"destination_id",
"status",
"updated_at",
"created_at"
],
"additionalProperties": false,
"nullable": true,
"$defs": {
"AttemptStatus": {
"type": "string",
"enum": [
"FAILED",
"SUCCESSFUL"
],
"description": "Attempt status"
},
"AttemptErrorCodes": {
"type": "string",
"enum": [
"BAD_RESPONSE",
"CANCELLED",
"TIMEOUT",
"NOT_FOUND",
"CANCELLED_PAST_RETENTION",
"CONNECTION_REFUSED",
"CONNECTION_RESET",
"MISSING_URL",
"CLI",
"CLI_UNAVAILABLE",
"SELF_SIGNED_CERT",
"ERR_TLS_CERT_ALTNAME_INVALID",
"ERR_SSL_WRONG_VERSION_NUMBER",
"NETWORK_ERROR",
"NETWORK_REQUEST_CANCELED",
"NETWORK_UNREACHABLE",
"TOO_MANY_REDIRECTS",
"INVALID_CHARACTER",
"INVALID_URL",
"SSL_ERROR_CA_UNKNOWN",
"DATA_ARCHIVED",
"SSL_CERT_EXPIRED",
"BULK_RETRY_CANCELLED",
"DNS_LOOKUP_FAILED",
"HOST_UNREACHABLE",
"INTERNAL_ERROR",
"PROTOCOL_ERROR",
"PAYLOAD_MISSING",
"UNABLE_TO_GET_ISSUER_CERT",
"SOCKET_CLOSED",
"OAUTH2_HANDSHAKE_FAILED",
"Z_DATA_ERROR",
"UNKNOWN"
],
"description": "Error code of the delivery attempt"
},
"AttemptTrigger": {
"type": "string",
"enum": [
"INITIAL",
"MANUAL",
"BULK_RETRY",
"UNPAUSE",
"AUTOMATIC"
],
"nullable": true,
"description": "How the attempt was triggered"
}
}
}