Sendle Shipping Manifests API

Create, list, download (PDF), and inspect USPS SCAN Form shipping manifests so a driver can pick up many US Domestic Sendle orders with a single barcode scan. Orders must be created the same day as the manifest; manifests are immutable once created.

Sendle Shipping Manifests API is one of 5 APIs that Sendle publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

This API exposes 1 machine-runnable capability that can be deployed as REST, MCP, or Agent Skill surfaces via Naftiko.

Tagged areas include Manifests, USPS, SCAN Form, and US Domestic. The published artifact set on APIs.io includes API documentation, an OpenAPI specification, and 1 Naftiko capability spec.

OpenAPI Specification

sendle-manifests-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Sendle Shipping Manifests API
  version: "1.0"
  description: |
    Create and manage shipping manifests so a driver can collect multiple parcels
    by scanning a single barcode. Currently supports USPS SCAN Forms for US domestic
    orders only. Manifests can only include orders booked the same day.
  contact:
    name: Sendle API Support
    email: [email protected]
    url: https://developers.sendle.com
servers:
  - url: https://api.sendle.com/api
    description: Production
  - url: https://sandbox.sendle.com/api
    description: Sandbox
security:
  - basicAuth: []
tags:
  - name: Manifests
    description: USPS SCAN Form shipping manifests for US Domestic orders
paths:
  /manifests:
    post:
      operationId: createShippingManifest
      summary: Create Shipping Manifest
      tags: [Manifests]
      description: Creates shipping manifest(s) for the given orders. Each order can only be on one manifest and must be booked the same day.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required: [order_ids]
              properties:
                order_ids:
                  type: array
                  items: { type: string, format: uuid }
      responses:
        '201':
          description: Shipping manifests created
          content:
            application/json:
              schema:
                type: array
                items: { $ref: '#/components/schemas/Manifest' }
        '422':
          description: Order already manifested or not eligible
    get:
      operationId: getShippingManifests
      summary: Get All Shipping Manifests
      tags: [Manifests]
      description: Returns all shipping manifests for your account, including ones created via the API and the Sendle dashboard.
      responses:
        '200':
          description: List of manifests
          content:
            application/json:
              schema:
                type: array
                items: { $ref: '#/components/schemas/Manifest' }
  /manifests/{id}/download:
    get:
      operationId: downloadShippingManifest
      summary: Download Shipping Manifest
      tags: [Manifests]
      description: Returns the printable PDF shipping manifest.
      parameters:
        - name: id
          in: path
          required: true
          schema: { type: string, format: uuid }
      responses:
        '200':
          description: PDF shipping manifest
          content:
            application/pdf:
              schema: { type: string, format: binary }
  /manifests/{id}/orders:
    get:
      operationId: getShippingManifestOrders
      summary: Get Orders On Shipping Manifest
      tags: [Manifests]
      description: Returns all orders on the given shipping manifest.
      parameters:
        - name: id
          in: path
          required: true
          schema: { type: string, format: uuid }
      responses:
        '200':
          description: Orders on the manifest
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    order_id: { type: string, format: uuid }
                    sendle_reference: { type: string }
                    state: { type: string }
  /manifests/{id}/status:
    get:
      operationId: getShippingManifestStatus
      summary: Get Shipping Manifest Status
      tags: [Manifests]
      description: Returns the status and metadata of the given shipping manifest.
      parameters:
        - name: id
          in: path
          required: true
          schema: { type: string, format: uuid }
      responses:
        '200':
          description: Manifest status
          content:
            application/json:
              schema: { $ref: '#/components/schemas/Manifest' }
components:
  securitySchemes:
    basicAuth:
      type: http
      scheme: basic
  schemas:
    Manifest:
      type: object
      properties:
        id: { type: string, format: uuid }
        created_at: { type: string, format: date-time }
        state:
          type: string
          enum: [pending, processing, available, failed]
        type: { type: string, example: USPS SCAN Form }
        order_count: { type: integer }
        pickup_date: { type: string, format: date }
        download_url: { type: string, format: uri }