---
title: "Create a tracking"
method: POST
path: "/shipment/create/"
tags: ["Shipments"]
---

# Create a tracking

`POST /shipment/create/`

Create a shipment tracker. Returns the account's remaining tracker balance and plan.

## Request body

- CreateShipmentRequest
  - `tracking_number` string, required — Tracking number for the package.
  - `tracking_provider` string, required — Unique code of the tracking provider. See the shipping provider reference.
  - `order_id` string, required — Respective order id.
  - `postal_code` string — Postal code of the receiver's address. Required for some couriers, such as postnl-3s.
  - `destination_country` string — Destination country of the receiver's address (e.g. NL). Required for some couriers, such as postnl-3s.

## Response `200`

Tracker created (or a status message explaining why it could not be).

- CreateShipmentResponse
  - `status` string — Response status (e.g. ok/error).
  - `status_msg` string — Status message explaining the state of the shipment (e.g. pending_trackship, ssl_error, Order id not found).
  - `trackers_balance` string — Available tracker balance of the TrackShip account.
  - `user_plan` string — Active subscription plan of the TrackShip account (e.g. Free 50, Mini, Small).

## Other responses

- `400` — The requested parameter is missing (e.g. order id, tracking number, or shipping provider not found).
- `401` — Unauthorized API access. Causes include `ssl_error` (store URL is not HTTPS) or `unauthorized` (invalid API key or the store does not exist).
- `404` — The API route does not exist. Check the URL and try again.
- `500` — The server encountered an unexpected condition that prevented it from fulfilling the request.

---

[API](https://skmtc.dev/trackship/apis/trackship-tracking-api.md) · [All operations](https://skmtc.dev/trackship/apis/trackship-tracking-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/trackship/trackship-tracking-api/revisions/adc36a6b6e0b/schema)
