Skip to main content
POST
/
team
/
{team}
/
shipments
/
{shipment}
/
booking
Book a shipment
curl --request POST \
  --url https://app.smartsend.io/api/v2/team/{team}/shipments/{shipment}/booking \
  --header 'Authorization: Bearer <token>'
{
  "data": {
    "uuid": "<unknown>",
    "state": "<unknown>",
    "currency": "<string>",
    "weight_unit": "<unknown>",
    "dimension_unit": "<unknown>",
    "invoice_number": "<unknown>",
    "reference": "<unknown>",
    "identifier": "<unknown>",
    "uri": "<unknown>",
    "delivery": {
      "carrier_code": "<unknown>",
      "carrier_name": "<unknown>",
      "carrier_logo_url": "<unknown>",
      "carrier_icon_url": "<unknown>",
      "service_code": "<unknown>",
      "service_name": "<unknown>",
      "is_pickup": "<unknown>",
      "is_return": "<unknown>",
      "addons": "<unknown>",
      "incoterm": "EXW"
    },
    "parties": {
      "receiver": {
        "reference": "<unknown>",
        "identifier": "<unknown>",
        "uri": "<unknown>",
        "address": {
          "address_lines": "<unknown>",
          "postal_code": "<unknown>",
          "city": "<string>",
          "country": "<string>",
          "administrative_area": "<unknown>"
        },
        "contact": {
          "name_lines": [
            "<string>"
          ],
          "company": "<unknown>",
          "email": "<unknown>",
          "phone": "<unknown>"
        },
        "identifiers": "<unknown>"
      },
      "pickup": "<unknown>"
    },
    "parcels": [
      {
        "uuid": "<unknown>",
        "reference": "<unknown>",
        "identifier": "<unknown>",
        "tracking_code": "<unknown>",
        "tracking_url": "<unknown>",
        "freetext": "<unknown>",
        "gross_weight": "<unknown>",
        "length": "<unknown>",
        "width": "<unknown>",
        "height": "<unknown>",
        "total_net_amount": "<unknown>",
        "tax_amount": "<unknown>",
        "duty_amount": "<unknown>",
        "items": "<unknown>",
        "documents": "<unknown>"
      }
    ],
    "total_net_amount": "<unknown>",
    "tax_amount": "<unknown>",
    "duty_amount": "<unknown>",
    "shipping_net_amount": "<unknown>",
    "shipping_tax_amount": "<unknown>",
    "created_at": "<unknown>",
    "booked_at": "<unknown>"
  }
}

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

Any value passed in this request will be returned in the same header. This can be used to correlate requests between client and server.

Required string length: 1 - 128
Idempotency-Key
string

Optional idempotency key for safely retrying requests. If the same key is reused with the same request payload within 30 minutes, the API will return the exact same response (status code, headers, and body) as the original request without re-executing it. Reuse of the same key with a different payload may return 409 Conflict.

Required string length: 1 - 128
Prefer
enum<string>

Set to 'respond-async' to request asynchronous processing. When set, the API returns 202 Accepted with an Operation object for polling instead of waiting for completion.

Available options:
respond-async

Path Parameters

team
string
required

Team identifier. All resources are scoped to this team.

Minimum string length: 1
Example:

"ad9546c1-393e-49a5-9a72-5cc146c9bec5"

shipment
string<uuid>
required

Unique identifier of the shipment to book

Example:

"550e8400-e29b-41d4-a716-446655440000"

Response

Shipment booked successfully

data
object
required

A shipment for booking