---
title: "Purchase Labels"
method: POST
path: "/api/v1/admin/shipments/{shipment_id}/labels"
tags: ["admin-shipping-logistics"]
---

# Purchase Labels

`POST /api/v1/admin/shipments/{shipment_id}/labels`

## Path parameters

- `shipment_id` string, uuid, required

## Response `200`

Successful Response

- CarrierActionResponse
  - `status` string, required
  - `message` string, nullable
  - `outbound_shipment` OutboundShipmentResponse
    - `id` string, uuid, required
    - `project_id` string, uuid, required
    - `carrier` string, nullable
    - `carrier_code` string, nullable
    - `carrier_service_code` string, nullable
    - `carrier_shipment_id` string, nullable
    - `tracking_number` string, nullable
    - `tracking_url` string, nullable
    - `status` 'pending' | 'processing' | 'ready_to_ship' | 'shipped' | 'in_transit' | 'out_for_delivery' | 'delivered' | 'failed_delivery' | 'returned' | 'cancelled', required
    - `estimated_delivery` string, date, nullable
    - `actual_delivery` string, date, nullable
    - `shipped_at` string, date-time, nullable
    - `notes` string, nullable
    - `label_status` 'not_created' | 'creating' | 'created' | 'voiding' | 'voided' | 'failed', required
    - `tracking_sync_status` 'never_synced' | 'syncing' | 'synced' | 'failed', required
    - `tracking_last_synced_at` string, date-time, nullable
    - `tracking_sync_error` string, nullable
    - `origin_snapshot` ShippingAddressSnapshot — Normalized origin/destination address for carrier operations.
      - `name` string, nullable
      - `company` string, nullable
      - `contact_name` string, nullable
      - `phone` string, nullable
      - `email` string, nullable
      - `address_line1` string, nullable
      - `address_line2` string, nullable
      - `city` string, nullable
      - `state` string, nullable
      - `postal_code` string, nullable
      - `country` string, nullable
    - `destination_snapshot` ShippingAddressSnapshot — Normalized origin/destination address for carrier operations.
      - `name` string, nullable
      - `company` string, nullable
      - `contact_name` string, nullable
      - `phone` string, nullable
      - `email` string, nullable
      - `address_line1` string, nullable
      - `address_line2` string, nullable
      - `city` string, nullable
      - `state` string, nullable
      - `postal_code` string, nullable
      - `country` string, nullable
    - `events` ShipmentEventResponse[]
      - `id` string, uuid, required
      - `shipment_id` string, uuid, required
      - `status` string, required
      - `description` string, required
      - `location` string, nullable
      - `occurred_at` string, date-time, required
      - `created_at` string, date-time, required
    - `packages` ShipmentPackageResponse[]
      - `id` string, uuid, required
      - `shipment_id` string, uuid, required
      - `package_index` integer, required
      - `weight` string, nullable
      - `weight_unit` string, nullable
      - `length` string, nullable
      - `width` string, nullable
      - `height` string, nullable
      - `dimension_unit` string, nullable
      - `contents_summary` string, nullable
      - `source` 'manual' | 'inbound_seeded', required
      - `source_inbound_package_id` string, uuid, nullable
      - `carrier_package_id` string, nullable
      - `tracking_number` string, nullable
      - `tracking_url` string, nullable
      - `label_status` 'not_created' | 'creating' | 'created' | 'voiding' | 'voided' | 'failed', required
      - `label_pdf_url` string, nullable
      - `label_format` string, nullable
      - `label_created_at` string, date-time, nullable
      - `label_voided_at` string, date-time, nullable
      - `label_cost_cents` integer, nullable
      - `label_currency` string, nullable
      - `created_at` string, date-time, required
      - `updated_at` string, date-time, required
    - `pickups` ShipmentPickupResponse[]
      - `id` string, uuid, required
      - `shipment_id` string, uuid, required
      - `carrier` 'ups' | 'dhl' | 'fedex' | 'usps' | 'other', required
      - `pickup_confirmation_number` string, nullable
      - `status` 'not_scheduled' | 'scheduled' | 'cancelled' | 'failed', required
      - `window_start` string, date-time, nullable
      - `window_end` string, date-time, nullable
      - `location` string, nullable
      - `instructions` string, nullable
      - `cancelled_at` string, date-time, nullable
      - `created_at` string, date-time, required
      - `updated_at` string, date-time, required
    - `created_at` string, date-time, required
    - `updated_at` string, date-time, required
  - `inbound_shipment` InboundShipmentResponse
    - `id` string, uuid, required
    - `project_id` string, uuid, required
    - `supplier_order_id` string, uuid, required
    - `supplier_contact_id` string, uuid, required
    - `carrier` 'ups' | 'dhl' | 'fedex' | 'usps' | 'other', required
    - `tracking_number` string, required
    - `tracking_url` string, nullable
    - `status` 'pending' | 'processing' | 'ready_to_ship' | 'shipped' | 'in_transit' | 'out_for_delivery' | 'delivered' | 'failed_delivery' | 'returned' | 'cancelled', required
    - `estimated_delivery` string, date, nullable
    - `actual_delivery` string, date, nullable
    - `last_known_location` string, nullable
    - `origin_location` string, nullable
    - `destination_location` string, nullable
    - `service_name` string, nullable
    - `last_synced_at` string, date-time, nullable
    - `sync_status` 'never_synced' | 'syncing' | 'synced' | 'failed', required
    - `sync_error` string, nullable
    - `packages` InboundPackageResponse[]
      - `id` string, uuid, required
      - `inbound_shipment_id` string, uuid, required
      - `package_index` integer, required
      - `carrier_piece_id` string, nullable
      - `tracking_number` string, nullable
      - `weight` string, nullable
      - `weight_unit` string, nullable
      - `length` string, nullable
      - `width` string, nullable
      - `height` string, nullable
      - `dimension_unit` string, nullable
      - `description` string, nullable
    - `events` InboundShipmentEventResponse[]
      - `id` string, uuid, required
      - `inbound_shipment_id` string, uuid, required
      - `carrier_event_id` string, nullable
      - `status` 'pending' | 'processing' | 'ready_to_ship' | 'shipped' | 'in_transit' | 'out_for_delivery' | 'delivered' | 'failed_delivery' | 'returned' | 'cancelled', required
      - `description` string, required
      - `location` string, nullable
      - `occurred_at` string, date-time, required
      - `created_at` string, date-time, required
    - `created_at` string, date-time, required
    - `updated_at` string, date-time, required

## Other responses

- `422` — Validation Error

---

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