ReadyDocs

ReadyDocs is a document-generation API that enables customers to create standardized packing slips using predefined templates.

ReadyDocs provides a library of approximately 140 packing slip templates, including generic templates that can be used for customer orders. Documents are generated programmatically by submitting order and shipment data to the ReadyDocs API.

Note: ReadyDocs is a subscription-based feature, and usage is metered. Requests are authenticated using an EasyPost API key.

Supported document types include:

  • packing_slip

Supported output types include:

  • PDF: Returns the generated PDF.
  • JSON: Returns the generated PDF encoded in Base64 within a JSON response.
  • S3: Returns a JSON response containing a link to the generated PDF stored in S3.

ReadyDocs Object

object
string
Object type. Always “Document”.
mode
string
"test" or ”production”
reference
string
Status of the document generation request (e.g., ”created”)
status
string
Carrier associated with the rate (e.g., USPS, FedEx).
document_type
string
The generated document type. (e.g., ”packing_slip”)
format
string
Output format of the generated document (e.g., ”pdf”)
file_url
string
URL where the generated document can be accessed.
messages
array
Messages related to document generation.
created_at
datetime
Timestamp when the document was created.
ReadyDocs Object
{
  "object": "Document",
  "mode": "test",
  "reference": null,
  "status": "created",
  "document_type": "packing_slip",
  "format": "pdf",
  "file_url": "https://eformz-doclib.s3.us-west-2.amazonaws.com/files/doclib/20260813/packslip_1786654215217.pdf",
  "messages": [],
  "created_at": "2026-08-13T20:50:14.870Z"
}

Create a Document

Creates a packing slip using a predefined ReadyDocs template.

The project identifies the packing slip template to generate. ReadyDocs supports vendor-specific templates as well as generic packing slip templates.

Request Parameters

project
REQUIRED
i.e. "hsn_8x11"
The name of the predefined ruleset to apply.
output_type
REQUIRED
i.e. "PDF"
Output type for the generated document. Supported values are `PDF`, `JSON`, and `S3`.
order
i.e. Order
Order and shipment data used to populate the packing slip template.
shipping_label
i.e. "format": "PNG"
Optional shipping label data for supported templates.
print_commands
i.e. "print": "size": "4x6"
Optional print instruction data for supported templates.
image
i.e. "image_format": "JPEG"
Optional image data for supported templates.
POST /readydocs/packslip
1# shellcheck disable=SC2016
2curl -X POST https://api.easypost.com/readydocs/packslip \
3  -u "EASYPOST_API_KEY" \
4  -H "Content-Type: application/json" \
5  -d '{
6    "pack_slip_data": {
7      "pack_slip": {
8        "project": "hsn_8x11",
9        "output_type": "S3",
10        "order": {
11          "ship_to": {
12            "address": {
13              "name": "Dr. Steve Brule",
14              "company": "EasyPost",
15              "street1": "417 Montgomery Street",
16              "street2": "5th Floor",
17              "city": "San Francisco",
18              "state": "CA",
19              "zip": "94104",
20              "country": "US",
21              "phone": "4155559999",
22              "email": "dr_steve_brule@example.com"
23            }
24          },
25          "ship_from": {
26            "address": {
27              "name": "EasyPost",
28              "company": "EasyPost",
29              "street1": "417 Montgomery Street",
30              "street2": "5th Floor",
31              "city": "San Francisco",
32              "state": "CA",
33              "zip": "94104",
34              "country": "US",
35              "phone": "4155559999",
36              "email": "support@example.com"
37            }
38          },
39          "bill_to": {
40            "address": {
41              "name": "Dr. Steve Brule",
42              "street1": "179 N Harbor Dr",
43              "city": "Redondo Beach",
44              "state": "CA",
45              "zip": "90277",
46              "country": "US",
47              "phone": "8575551212",
48              "email": "dr_steve_brule@example.com"
49            }
50          },
51          "customer_service": {
52            "phone": "4155559999",
53            "email": "support@example.com",
54            "website": "https://www.example.com"
55          },
56          "customer_id": "customer_123",
57          "customer_order": "order_123",
58          "order_number": "123456",
59          "po_number": "PO-123456",
60          "invoice_number": "INV-123456",
61          "warehouse_id": "warehouse_123",
62          "ship_date": "08/11/2026",
63          "order_date": "08/10/2026",
64          "delivery_date": "08/14/2026",
65          "ship_method": "Ground",
66          "pay_method": "Credit Card",
67          "order_message": "Thank you for your order.",
68          "sub_total": "$25.00",
69          "sales_tax": "$2.00",
70          "shipping_handling": "$5.00",
71          "credit": "$0.00",
72          "total": "$32.00",
73          "currency_uom": "$",
74          "sales_person": "Steve Brule",
75          "order_lines": {
76            "line": [
77              {
78                "item_id": "item_123",
79                "upc": "012345678905",
80                "merchant_sku": "SKU-123",
81                "customer_part_number": "PART-123",
82                "description": "T-shirt",
83                "item_style": "Blue / Medium",
84                "qty": {
85                  "ord": 2,
86                  "ship": 2,
87                  "bo": 0,
88                  "uom": "each"
89                },
90                "unit_price": "$12.50",
91                "total_price": "$25.00",
92                "gift_message": "Happy Birthday!"
93              }
94            ]
95          }
96        },
97        "shipping_label": {
98          "data": "test",
99          "format": "PNG",
100          "encoding": "base64"
101        },
102        "print_commands": {
103          "print": {
104            "type": "text",
105            "encoding": "base64",
106            "encoding_character_set": "UTF-8",
107            "data": "test",
108            "size": "4x6",
109            "format": "ZPL"
110          }
111        },
112        "image": {
113          "char_set": "ISO-8859-1",
114          "image_data": "/9j/4AAQS.......QhCA/",
115          "image_format": "JPEG"
116        }
117      }
118    }
119  }'
Response
1{
2  "object": "Document",
3  "mode": "test",
4  "reference": null,
5  "status": "created",
6  "document_type": "packing_slip",
7  "format": "pdf",
8  "file_url": "https://eformz-doclib.s3.us-west-2.amazonaws.com/files/doclib/20260813/packslip_1786654215217.pdf",
9  "messages": [],
10  "created_at": "2026-08-13T20:50:14.870Z"
11}