---
name: shipments-routes
description: Handle 12 OpenAPI operation(s) under /v1/shipments for the shipments route group.
---

# shipments API Routes

Handle 12 OpenAPI operation(s) under /v1/shipments for the shipments route group.

Use the generated operation tools to make real API calls. Do not invent API responses.
If a tool reports missing setup, return the exact setup field name to the caller.
For write, update, or delete operations, state the intended action before calling the tool.

## Operations

### list_shipments

- Operation ID: `list_shipments`
- Route: `GET /v1/shipments`
- Mode: READ
- Summary: List Shipments
- Parameters:
  - `shipment_status` in `query`
  - `batch_id` in `query`
  - `tag` in `query`
  - `created_at_start` in `query`
  - `created_at_end` in `query`
  - `modified_at_start` in `query`
  - `modified_at_end` in `query`
  - `page` in `query`
  - `page_size` in `query`
  - `sales_order_id` in `query`
  - `sort_dir` in `query`
  - `sort_by` in `query`

### create_shipments

- Operation ID: `create_shipments`
- Route: `POST /v1/shipments`
- Mode: WRITE
- Summary: Create Shipments
- Body: JSON request body accepted.

### get_shipment_by_external_id

- Operation ID: `get_shipment_by_external_id`
- Route: `GET /v1/shipments/external_shipment_id/{external_shipment_id}`
- Mode: READ
- Summary: Get Shipment By External ID
- Parameters:
  - `external_shipment_id` in `path` required

### parse_shipment

- Operation ID: `parse_shipment`
- Route: `PUT /v1/shipments/recognize`
- Mode: WRITE
- Summary: Parse shipping info
- Body: JSON request body accepted.

### get_shipment_by_id

- Operation ID: `get_shipment_by_id`
- Route: `GET /v1/shipments/{shipment_id}`
- Mode: READ
- Summary: Get Shipment By ID
- Parameters:
  - `shipment_id` in `path` required

### update_shipment

- Operation ID: `update_shipment`
- Route: `PUT /v1/shipments/{shipment_id}`
- Mode: WRITE
- Summary: Update Shipment By ID
- Parameters:
  - `shipment_id` in `path` required
- Body: JSON request body accepted.

### cancel_shipments

- Operation ID: `cancel_shipments`
- Route: `PUT /v1/shipments/{shipment_id}/cancel`
- Mode: WRITE
- Summary: Cancel a Shipment
- Parameters:
  - `shipment_id` in `path` required

### list_shipment_rates

- Operation ID: `list_shipment_rates`
- Route: `GET /v1/shipments/{shipment_id}/rates`
- Mode: READ
- Summary: Get Shipment Rates
- Parameters:
  - `shipment_id` in `path` required
  - `created_at_start` in `query`

### shipments_update_tags

- Operation ID: `shipments_update_tags`
- Route: `PUT /v1/shipments/tags`
- Mode: WRITE
- Summary: Update Shipments Tags
- Body: JSON request body accepted.

### shipments_list_tags

- Operation ID: `shipments_list_tags`
- Route: `GET /v1/shipments/{shipment_id}/tags`
- Mode: READ
- Summary: Get Shipment Tags
- Parameters:
  - `shipment_id` in `path` required

### tag_shipment

- Operation ID: `tag_shipment`
- Route: `POST /v1/shipments/{shipment_id}/tags/{tag_name}`
- Mode: WRITE
- Summary: Add Tag to Shipment
- Parameters:
  - `shipment_id` in `path` required
  - `tag_name` in `path` required

### untag_shipment

- Operation ID: `untag_shipment`
- Route: `DELETE /v1/shipments/{shipment_id}/tags/{tag_name}`
- Mode: WRITE
- Summary: Remove Tag from Shipment
- Parameters:
  - `shipment_id` in `path` required
  - `tag_name` in `path` required
