PrintIntegrator

API reference

Build on top of PrintIntegrator.

REST API for orders, products, personalized designs, and webhooks. JSON over HTTPS, Bearer token auth, OpenAPI 3.1 spec available on request.

v1 — stable REST · JSON 99.9% uptime SLA on Enterprise

Authentication

Bearer token over HTTPS

Every API request requires an Authorization: Bearer <token> header. Tokens are scoped to your project (and on Enterprise, scoped further to specific permissions like read-only, orders-only, etc.). Tokens never expire automatically; rotate them via the admin dashboard.

example.sh bash
curl https://api.printintegrator.com/v1/orders \
  -H "Authorization: Bearer ${PRINTINTEGRATOR_API_TOKEN}" \
  -H "Content-Type: application/json"

Rate limit: 1,000 requests per minute per token on Professional, 10,000/min on Enterprise. Rate-limit headers (X-RateLimit-Remaining) accompany every response.

Endpoints

What you can do

Orders

Method Path Description Auth
GET /api/v1/orders List orders with filtering and pagination Required
GET /api/v1/orders/{id} Get a single order with personalization details Required
POST /api/v1/orders Create an order programmatically (rare — usually via storefront) Required
PATCH /api/v1/orders/{id} Update order status, shipping, internal notes Required

Products

Method Path Description Auth
GET /api/v1/products List personalizable products Optional
GET /api/v1/products/{slug} Product detail with personalization rules Optional
POST /api/v1/products Create a product + personalization config Required
PATCH /api/v1/products/{slug} Update product or its personalization rules Required

Designs & files

Method Path Description Auth
POST /api/v1/designs Save a personalized design (returns design ID) Required
GET /api/v1/designs/{id}/render Generate or fetch the print-ready PDF for a design Required
POST /api/v1/files/upload Upload a customer asset (image, PDF) with preflight Required

Webhooks

Method Path Description Auth
GET /api/v1/webhooks List configured webhook endpoints Required
POST /api/v1/webhooks Register a webhook URL for specific event types Required
DELETE /api/v1/webhooks/{id} Remove a webhook Required

Webhooks

Events you can subscribe to

Webhooks deliver events to a URL of your choosing. Configure them via the API or the admin dashboard. Every payload is signed with HMAC-SHA256 using a per-webhook secret.

  • order.created A new personalized order is paid and ready for production
  • order.updated Order status, shipping, or internal notes changed
  • design.completed A customer saved a personalized design (pre-checkout)
  • design.rendered A print-ready PDF is generated and downloadable
  • file.preflight_failed A customer upload failed preflight; supplies the reason
  • production.status_changed A production job moved between stages (queue → press → finishing → done)
order.created payload json
{
  "id": "evt_01j8a7xc...",
  "type": "order.created",
  "createdAt": "2026-05-26T10:30:00Z",
  "data": {
    "orderId": "ord_3K9...",
    "customerId": "cus_...",
    "status": "paid",
    "designIds": ["des_8h2..."],
    "lineItems": [
      { "sku": "biz-card-100", "quantity": 100, "personalization": { ... } }
    ]
  }
}

Errors

Error response shape

Errors return appropriate HTTP status codes (4xx for client errors, 5xx for server errors) with a consistent JSON body shape. The requestId field accompanies every response — include it in support tickets.

error response json
{
  "error": {
    "code": "validation_error",
    "message": "Field 'quantity' must be a positive integer",
    "field": "quantity",
    "requestId": "req_4Wf..."
  }
}

Common error codes

unauthenticated
Missing or invalid Bearer token. Returns HTTP 401.
forbidden
Token is valid but lacks permission for this resource. HTTP 403.
validation_error
Request body failed schema validation. HTTP 422.
rate_limited
Token's rate limit exceeded. HTTP 429. Retry-After header included.
internal_error
Server-side issue. HTTP 500. Include requestId in your ticket.

Get an API token.

Already a customer? Generate a token in the admin dashboard. Not yet a customer? Talk to sales — they'll provision a sandbox tenant for evaluation.