Skip to content

Registers an endpoint to receive delivery events.

POST
/v1/webhooks
curl --request POST \
--url https://courierapi.itdlogisoft.co.uk/v1/webhooks \
--header 'Authorization: Basic <credentials>' \
--header 'Content-Type: application/json' \
--data '{ "url": "example", "events": [ "example" ] }'
Media typeapplication/json

Register an endpoint to be told about your deliveries.

The endpoint must be https. These payloads say where a courier is going and who they are collecting from, and an http:// URL is one anybody on the path can read.

object
url
required

Where to post. Must be a full, absolute https URL.

string
events

Optional. The events you want, such as job.delivered. Omitted or empty means all of them, which is what most integrations want.

Array<string> | null

Example generated

{
"url": "example",
"events": [
"example"
]
}

Created

Media typeapplication/json

A registered endpoint.

string? WebhookResponse.SigningSecret is present only in the response that created or rotated it, and is never readable again. Store it: it is the only thing that proves a request to your endpoint came from us.

object
id
required
string
url
required
string
status
required
string
events
required
Array<string>
created_at
required
string format: date-time
last_succeeded_at
required
null | string format: date-time
last_failed_at
required
null | string format: date-time
consecutive_failures
required
integer | string format: int32
/^-?(?:0|[1-9]\d*)$/
suspension_reason
required
null | string
signing_secret
null | string

Example generated

{
"id": "example",
"url": "example",
"status": "example",
"events": [
"example"
],
"created_at": "2026-04-15T12:00:00Z",
"last_succeeded_at": "2026-04-15T12:00:00Z",
"last_failed_at": "2026-04-15T12:00:00Z",
"consecutive_failures": 1,
"suspension_reason": "example",
"signing_secret": "example"
}

Unprocessable Entity

Media typeapplication/json

The shape of every refusal from this API.

string ApiError.Code is stable and machine-readable; string ApiError.Message is for a human reading a log and may change without notice. Integrators are told to branch on the code.

object
code
required
string
message
required
string

Example generated

{
"code": "example",
"message": "example"
}