WebhooksEvent catalogevent
event.ticket.email-status-changed
Version 1 of the event.ticket.email-status-changed webhook event.
The event.ticket.email-status-changed event.
| Event type | event.ticket.email-status-changed |
| Schema version | 1 |
| Routing key | event.event.ticket.email-status-changed.v1 |
| Produced by | notification-service |
| Schema | urn:defendr:contract:event:ticket-email-status-changed:1 |
data fields
| Field | Type | Required | Description |
|---|---|---|---|
eventId | string | yes | |
issueId | string | yes | |
deliveryId | string | yes | |
status | "pending", "sending", "smtp-accepted", "missing-contact", "failed", "expired", "revoked" | yes | |
attempts | integer | yes | |
revision | integer | yes |
Some fields are required only in particular states. The JSON Schema below is authoritative.
Example delivery
Signed with the example secret whsec_placeholder_example_webhooks_signing_secret, so you can check your verifier against it. See Verifying signatures.
POST /your/webhook/endpoint HTTP/1.1
content-type: application/json
webhook-id: whd_00000000-0000-4000-8000-000000000009
webhook-timestamp: 1800000000
webhook-signature: v1,kixvnH0d/fcJ6AGb05n79hX8ZVGcoEyHvjKYNiZzYyA=
tanitar-event-type: event.ticket.email-status-changed
tanitar-schema-version: 1
tanitar-delivery-attempt: 1
{"messageId":"evt_00000000-0000-4000-8000-000000000009","kind":"event","type":"event.ticket.email-status-changed","schemaVersion":1,"occurredAt":"2027-01-15T10:00:00.000Z","producer":"notification-service","accountId":"acc_11111111-1111-4111-8111-111111111111","correlationId":"corr_00000000-0000-4000-8000-000000000009","data":{"eventId":"event_example","issueId":"ticket_aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa","deliveryId":"ticket-delivery:ticket_example:initial","status":"pending","attempts":1,"revision":1}}The same body, formatted:
{
"messageId": "evt_00000000-0000-4000-8000-000000000009",
"kind": "event",
"type": "event.ticket.email-status-changed",
"schemaVersion": 1,
"occurredAt": "2027-01-15T10:00:00.000Z",
"producer": "notification-service",
"accountId": "acc_11111111-1111-4111-8111-111111111111",
"correlationId": "corr_00000000-0000-4000-8000-000000000009",
"data": {
"eventId": "event_example",
"issueId": "ticket_aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa",
"deliveryId": "ticket-delivery:ticket_example:initial",
"status": "pending",
"attempts": 1,
"revision": 1
}
}JSON Schema
urn:defendr:contract:event:ticket-email-status-changed:1
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "urn:defendr:contract:event:ticket-email-status-changed:1",
"type": "object",
"additionalProperties": false,
"required": [
"eventId",
"issueId",
"deliveryId",
"status",
"attempts",
"revision"
],
"properties": {
"eventId": {
"type": "string",
"minLength": 1,
"maxLength": 400
},
"issueId": {
"type": "string",
"minLength": 1,
"maxLength": 400
},
"deliveryId": {
"type": "string",
"minLength": 1,
"maxLength": 400
},
"status": {
"enum": [
"pending",
"sending",
"smtp-accepted",
"missing-contact",
"failed",
"expired",
"revoked"
]
},
"attempts": {
"type": "integer",
"minimum": 0,
"maximum": 5
},
"revision": {
"type": "integer",
"minimum": 1
}
}
}