Skip to main content
POST
Create or replay a canonical Merchant shipment

Authorizations

Authorization
string
header
required

OAuth 2.0 client-credentials flow for external machine-to-machine integrations.

Headers

Accept-Language
string

Preferred response language when a localized representation is available.

Maximum string length: 64
Example:

"en"

Idempotency-Key
string
required

Caller-generated key scoped by the operation, Merchant company, and OAuth client; an exact replay returns the original result.

Required string length: 16 - 128
Example:

"merchant-order-20260822-0001"

Body

application/json
externalReference
string
required
Required string length: 1 - 128
branchCode
string
required
Pattern: ^[A-Z0-9][A-Z0-9_-]{1,63}$
pickupLocationCode
string
required
Pattern: ^[A-Z0-9][A-Z0-9_-]{1,63}$
recipient
object
required
destination
object
required
declaredValue
number<decimal>
required
Required range: x >= 0
codAmount
number<decimal>
required
Required range: x >= 0
currency
string
required
Required string length: 3
Pattern: ^[A-Z]{3}$
paymentMethod
enum<string>
required
Available options:
PREPAID,
COD
pickupWindowStart
string<date-time>
required
pickupWindowEnd
string<date-time>
required
items
object[]
required
Required array length: 1 - 100 elements
requirements
string[]
required
Maximum array length: 20
Pattern: ^[A-Z][A-Z0-9_]{1,47}$

Response

Merchant-safe canonical shipment

shipmentId
string<uuid>
required
shipmentNumber
string
required
externalReference
string | null
required
Maximum string length: 128
state
enum<string>
required
Available options:
PENDING_APPROVAL,
READY_FOR_DISPATCH,
OFFERED,
ACCEPTED,
DISPATCH_UNRESOLVED,
PICKED_UP,
OUT_FOR_DELIVERY,
DELIVERED,
DELIVERY_FAILED,
CANCELLED
recipientName
string
required
maskedRecipientPhone
string
required

Only the final four digits are visible.

totalWeightKilograms
number
required
declaredValue
number
required
codAmount
number
required
currency
string
required
paymentMethod
enum<string>
required
Available options:
PREPAID,
COD
pickupWindowStart
string<date-time>
required
pickupWindowEnd
string<date-time>
required
createdAt
string<date-time>
required
approvedAt
string<date-time> | null
required
version
integer<int64>
required
Required range: x >= 0
destination
object
required
pickup
object | null
required
items
object[]
required
requirements
string[]
required
timelineMedia
object[]

Existing READY assets attached only to the resulting shipment.created event.

Maximum array length: 10