Skip to main content
POST

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Headers

Accept-Language
string
default:en

Preferred language(s) for translatable content using BCP 47 language tags. Supports quality values (q-factors) for priority ordering. The API negotiates the best available language based on this header, the team's configured language, and available translations. If omitted, the team's default language is used.

Example:

"da-DK, da;q=0.9, en;q=0.8"

Request-ID
string

Optional client-supplied request identifier. When provided and matching the validation pattern, the value is echoed back in the Request-ID response header. Otherwise the server generates one. Use this to correlate requests between client and server when reporting issues.

Required string length: 1 - 64
Pattern: ^[A-Za-z0-9._-]{1,64}$
Idempotency-Key
string

Optional, case-sensitive key for one intended action. Scope: team, HTTP method and canonical path. Retained for at least 24 hours and while processing. Same key and payload reuses the stored outcome without repeating side effects; the resource representation is current. Changed payload: 422 with an Idempotency-Key entry in errors. Concurrent duplicate: 409 with Retry-After and Location when known. Without a key there is no deduplication. Use GET at Location after 202.

Required string length: 16 - 128
Pattern: ^[A-Za-z0-9._-]{16,128}$

Path Parameters

teamUuid
string<uuid>
required

Team uuid. All resources are scoped to this team.

Body

application/json

Create an empty open batch. Team document/print defaults apply to each shipment at its acceptance.

identifier
string | null

Private integration reference.

reference
string | null

Public batch reference.

callback
object

Register a callback at batch creation. Omitted events defaults to shipment.booked, shipment.failed, shipment.cancelled, shipment.voided, batch.completed and batch.stopped. Callback configuration is immutable after creation.

Callbacks

POST
{$request.body#/callback/url}updates

Body

application/json

Thin event envelope: stable id, event type, occurred_at, team_uuid and resource identifiers in data. Full payloads are not offered in this version. A future full-payload option must be explicitly selected; existing thin subscriptions retain their documented meaning.

id
string<uuid>
required

Stable event UUID, also sent in webhook-id. Duplicate deliveries keep the same id.

occurred_at
string<date-time>
required

When the business event occurred; distinct from the delivery-attempt timestamp.

team_uuid
string<uuid>
required

Resource UUID.

type
enum<string>
required
Available options:
shipment.booked,
shipment.failed,
shipment.cancelled,
shipment.voided
data
object
required

Response

Event durably accepted. Other 2xx responses also acknowledge delivery.

Response

Open batch created.

data
object
required

Batch progress for one-at-a-time booking. total_count = pending_count + processing_count + completed_count. Post-booking cancellation/printing/tracking do not rewrite booking outcomes. Late booking corrections may adjust outcome counts without reopening a terminal batch.