Order Desk Shipments API

Record and manage shipments and tracking against an order.

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/orderdesk-shipments-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

orderdesk-shipments-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Order Desk Inventory Items Shipments API
  description: The Order Desk API is a JSON REST API for programmatically managing an Order Desk store - an ecommerce order management and fulfillment routing platform. It exposes Orders, Order Items, Shipments, Inventory Items, and Store settings, plus batch and utility endpoints. Every request must include two headers, ORDERDESK-STORE-ID and ORDERDESK-API-KEY, which are found in the Order Desk dashboard under Store Settings then API. List endpoints support limit (default 50, max 500) and offset pagination and return a status field with pagination metadata. The API is rate limited with a leaky-bucket limiter (~100 requests per rolling 30-second window).
  version: '2.0'
  contact:
    name: Order Desk
    url: https://www.orderdesk.com
  license:
    name: Proprietary
    url: https://www.orderdesk.com/terms/
servers:
- url: https://app.orderdesk.me/api/v2
  description: Order Desk API v2
security:
- storeId: []
  apiKey: []
tags:
- name: Shipments
  description: Record and manage shipments and tracking against an order.
paths:
  /orders/{order_id}/shipments:
    parameters:
    - $ref: '#/components/parameters/OrderId'
    get:
      operationId: listShipments
      tags:
      - Shipments
      summary: List shipments
      description: Returns all shipments recorded against an order.
      responses:
        '200':
          description: A list of shipments.
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                  shipments:
                    type: array
                    items:
                      $ref: '#/components/schemas/Shipment'
        '401':
          $ref: '#/components/responses/Unauthorized'
    post:
      operationId: createShipment
      tags:
      - Shipments
      summary: Create a shipment
      description: Records a new shipment with carrier and tracking details.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Shipment'
      responses:
        '200':
          description: The created shipment.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StatusResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /orders/{order_id}/shipments/{shipment_id}:
    parameters:
    - $ref: '#/components/parameters/OrderId'
    - $ref: '#/components/parameters/ShipmentId'
    get:
      operationId: getShipment
      tags:
      - Shipments
      summary: Get a shipment
      description: Retrieves a single shipment from an order.
      responses:
        '200':
          description: The requested shipment.
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                  shipment:
                    $ref: '#/components/schemas/Shipment'
        '401':
          $ref: '#/components/responses/Unauthorized'
    put:
      operationId: updateShipment
      tags:
      - Shipments
      summary: Update a shipment
      description: Updates an existing shipment.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Shipment'
      responses:
        '200':
          description: The updated shipment.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StatusResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
    delete:
      operationId: deleteShipment
      tags:
      - Shipments
      summary: Delete a shipment
      description: Deletes a shipment from an order.
      responses:
        '200':
          description: Deletion result.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StatusResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /batch-shipments:
    post:
      operationId: batchShipments
      tags:
      - Shipments
      summary: Add multiple shipments
      description: Adds many shipments across orders in a single request.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                shipments:
                  type: array
                  items:
                    $ref: '#/components/schemas/Shipment'
      responses:
        '200':
          description: Batch result.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StatusResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
components:
  schemas:
    Shipment:
      type: object
      properties:
        id:
          type: string
        tracking_number:
          type: string
        carrier_code:
          type: string
        shipment_method:
          type: string
        cost:
          type: number
        weight:
          type: number
        ship_date:
          type: string
    StatusResponse:
      type: object
      properties:
        status:
          type: string
          description: success or error.
        message:
          type: string
        errors:
          type: array
          items:
            type: string
  parameters:
    OrderId:
      name: order_id
      in: path
      required: true
      schema:
        type: string
      description: The ID of the order.
    ShipmentId:
      name: shipment_id
      in: path
      required: true
      schema:
        type: string
      description: The ID of the shipment.
  responses:
    Unauthorized:
      description: Missing or invalid store ID / API key.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/StatusResponse'
  securitySchemes:
    storeId:
      type: apiKey
      in: header
      name: ORDERDESK-STORE-ID
      description: The numeric ID of your Order Desk store.
    apiKey:
      type: apiKey
      in: header
      name: ORDERDESK-API-KEY
      description: The API key for your Order Desk store.