Skip to content

The money page

Packing slip PDF API

POST order JSON. Get a branded US Letter packing slip as application/pdf. No HTML editor. No carrier.

A packing slip PDF API is an HTTP endpoint that turns structured order data into a printable packing slip. Slipmill owns two locked layouts. You send brand, ship-to, line items, and optional tracking. We return bytes you can print or attach to a shipment.

This is not a generic PDF API and not HTML-to-PDF. You do not upload a template. You do not write CSS. You do not buy postage. POST JSON to /v1/render with template packing-slip and the x-sm-key header. The response is application/pdf.

If you already have order JSON — from Shopify, WooCommerce, a 3PL, or your own backend — you are the customer. The mill prints the slip. You stop designing it.

The payload

This is a packing-slip body. POST it to /v1/render with x-sm-key. The live PDF is at /sample.

{
  "template": "packing-slip",
  "brand": {
    "name": "Northline Goods",
    "accent": "#9E2A22",
    "address": "18 Mercer Street\nHoboken, NJ 07030"
  },
  "data": {
    "order_id": "NL-10428",
    "date": "2026-08-31",
    "ship_to": {
      "name": "Cedar & Pine Outfitters",
      "address": "440 Warehouse Ave, Dock 3",
      "city": "Newark",
      "region": "NJ",
      "postal": "07105",
      "country": "US"
    },
    "from": {
      "name": "Northline Goods",
      "address": "18 Mercer Street\nHoboken, NJ 07030"
    },
    "items": [
      {
        "sku": "TOTE-12",
        "name": "Canvas tote — natural",
        "qty": 12
      },
      {
        "sku": "INK-RED",
        "name": "Stamp pad, warehouse red",
        "qty": 2
      },
      {
        "sku": "TWILL-01",
        "name": "Twill apron",
        "qty": 4
      }
    ],
    "notes": "Leave on dock if closed. Pack totes upright.",
    "tracking": "1Z999AA10123456784"
  }
}
curl -X POST https://slipmill.com/v1/render \
  -H "x-sm-key: YOUR_SLIPMILL_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "template": "packing-slip",
    "brand": {
      "name": "Northline Goods",
      "accent": "#9E2A22",
      "address": "18 Mercer Street, Hoboken, NJ 07030"
    },
    "data": {
      "order_id": "NL-10428",
      "date": "2026-08-31",
      "ship_to": {
        "name": "Cedar & Pine Outfitters",
        "address": "440 Warehouse Ave, Dock 3",
        "city": "Newark",
        "region": "NJ",
        "postal": "07105",
        "country": "US"
      },
      "from": {
        "name": "Northline Goods",
        "address": "18 Mercer Street, Hoboken, NJ 07030"
      },
      "items": [
        { "sku": "TOTE-12", "name": "Canvas tote — natural", "qty": 12 }
      ]
    }
  }' \
  --output packing-slip.pdf

Questions

application/pdf. US Letter. One POST to /v1/render is one packing slip. Header x-sm-key. Fail closed on a bad key or a spent cap.