Skip to main content
POST
/
team
/
{team}
/
shipments
Create a shipment
curl --request POST \
  --url https://app.smartsend.io/api/v2/team/{team}/shipments \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "currency": "<string>",
  "weight_unit": "<unknown>",
  "dimension_unit": "<unknown>",
  "invoice_number": "<unknown>",
  "reference": "<unknown>",
  "identifier": "<unknown>",
  "uri": "<unknown>",
  "delivery": {
    "addons": "<unknown>",
    "carrier": "<unknown>",
    "service": "<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": [
    {
      "reference": "<unknown>",
      "identifier": "<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>"
    }
  ],
  "total_net_amount": "<unknown>",
  "tax_amount": "<unknown>",
  "duty_amount": "<unknown>",
  "shipping_net_amount": "<unknown>",
  "shipping_tax_amount": "<unknown>"
}
'
{
  "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

Path Parameters

team
string
required

Team identifier. All resources are scoped to this team.

Minimum string length: 1
Example:

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

Body

application/json

A shipment for booking

currency
string
required

ISO 4217 currency code for all monetary values

Required string length: 3
Example:

"EUR"

weight_unit
null | enum<string>
required

Unit for all weight values in this shipment

Available options:
g,
kg,
lb,
oz
Example:

"g"

dimension_unit
null | enum<string>
required

Unit for all dimension values in this shipment

Available options:
mm,
cm,
m,
in
Example:

"cm"

invoice_number
null | string
required

Invoice or order number

Example:

"INV-1001121"

reference
null | string
required

Human-readable reference visible externally

Example:

"Order-5521"

identifier
null | string
required

System identifier for internal integrations

uri
null | string<uri>
required

URI linking to the source of this shipment (webshop order URL, deep link, or any URI scheme)

delivery
object
required

Shipping service with addons. Used in Shipment requests and responses. For requests, provide carrier and service. For responses, carrier_code, service_code and other details are populated.

parties
object
required

Parties involved in the shipment

parcels
object[]
required

Parcels in this shipment

Minimum array length: 1
total_net_amount
null | integer
required

Total goods value in minor units (cents) excluding tax

Example:

15920

tax_amount
null | integer
required

Total goods tax in minor units (cents)

Example:

3980

duty_amount
null | integer
required

Total goods duty in minor units (cents)

Example:

5572

shipping_net_amount
null | integer
required

Shipping cost in minor units (cents) excluding tax

Example:

3920

shipping_tax_amount
null | integer
required

Shipping tax in minor units (cents)

Example:

980

Response

Shipment created and booked successfully

data
object
required

A shipment for booking