GET/api/v1/webhooks/{uuid}/deliveries/{deliveryUuid}

Get webhook delivery

Returns the complete details of a single delivery attempt, including the full request payload sent to your endpoint, the request headers (including the signature), and the full response received. Use this to debug failed deliveries or audit successful ones.

GET /api/v1/webhooks/{uuid}/deliveries/{deliveryUuid}

Headers

NameTypeRequiredDescription
AuthorizationstringYesBearer token for authentication
X-CompanystringYesCompany UUID to scope the request

Path parameters

NameTypeRequiredDescription
uuidstringYesWebhook endpoint UUID
deliveryUuidstringYesDelivery attempt UUID

Request

curl "https://api.storno.ro/api/v1/webhooks/a1b2c3d4-e5f6-7890-abcd-ef1234567890/deliveries/c3d4e5f6-a7b8-9012-cdef-123456789012" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "X-Company: 550e8400-e29b-41d4-a716-446655440000"

Response

Returns the complete delivery record including request and response details.

{
  "uuid": "c3d4e5f6-a7b8-9012-cdef-123456789012",
  "webhookUuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "eventType": "invoice.validated",
  "status": "failed",
  "attempt": 1,
  "requestUrl": "https://your-app.example.com/webhooks/storno",
  "requestMethod": "POST",
  "requestHeaders": {
    "Content-Type": "application/json",
    "User-Agent": "Storno-Webhooks/1.0",
    "X-Storno-Event": "invoice.validated",
    "X-Storno-Delivery": "c3d4e5f6-a7b8-9012-cdef-123456789012",
    "X-Storno-Signature": "sha256=3e7b3a4f8c2d5e1b9a0c6f4d2e8a5b1c3d7a0e4f8b2c5d9a3e6f1b4c8d2a5e9f"
  },
  "requestPayload": {
    "id": "c3d4e5f6-a7b8-9012-cdef-123456789012",
    "type": "invoice.validated",
    "createdAt": "2026-02-18T09:45:00Z",
    "company": "550e8400-e29b-41d4-a716-446655440000",
    "data": {
      "invoiceUuid": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
      "invoiceNumber": "FAC-2026-042",
      "status": "validated",
      "anafSubmissionId": "ANAF-2026-987654",
      "validatedAt": "2026-02-18T09:44:00Z"
    }
  },
  "responseCode": 503,
  "responseHeaders": {
    "Content-Type": "text/plain",
    "Retry-After": "30"
  },
  "responseBody": "Service Unavailable",
  "durationMs": 5002,
  "errorMessage": "Endpoint returned non-2xx status: 503",
  "deliveredAt": "2026-02-18T09:45:00Z",
  "nextRetryAt": null
}

Response fields

FieldTypeDescription
uuidstringUnique delivery attempt identifier
webhookUuidstringUUID of the parent webhook endpoint
eventTypestringThe event type that triggered this delivery
statusstringOutcome: success (2xx response) or failed (timeout or non-2xx)
attemptintegerAttempt number (1 for initial, higher for retries)
requestUrlstringThe URL the delivery was posted to
requestMethodstringAlways POST
requestHeadersobjectHTTP headers sent with the delivery request
requestPayloadobjectThe exact JSON body sent to your endpoint
responseCodeintegerHTTP status code returned by your endpoint, or 0 on timeout
responseHeadersobjectHTTP response headers returned by your endpoint
responseBodystringFirst 4,096 characters of the response body returned by your endpoint
durationMsintegerRound-trip time in milliseconds
errorMessagestringHuman-readable failure reason, or null on success
deliveredAtstringISO 8601 timestamp when the delivery was attempted
nextRetryAtstringISO 8601 timestamp of the next scheduled retry, or null if no retry is pending

Delivery payload structure

The requestPayload.data object shape varies by event type:

Event typedata content
invoice.createdinvoiceUuid, invoiceNumber, status, direction, clientName, total, currency
invoice.validatedinvoiceUuid, invoiceNumber, status, anafSubmissionId, validatedAt
invoice.rejectedinvoiceUuid, invoiceNumber, status, anafSubmissionId, rejectionErrors
invoice.paidinvoiceUuid, invoiceNumber, amountPaid, balance, paidAt
sync.completedsyncId, invoicesSynced, duration, completedAt
sync.failedsyncId, errorMessage, failedAt
webhook.testmessage, webhookUuid

Error codes

CodeDescription
401Missing or invalid authentication token
403Insufficient permissions — requires webhook.view permission
404Webhook endpoint or delivery record not found for this company