Our API is currently in open beta, if you encounter any issues or have a suggestion, please email us at devs@lumaprints.com. Your insights are invaluable to us.
| Topic | Link |
|---|---|
| API documentation home | https://api-docs.lumaprints.com |
| Sandbox Setup Guide | https://api-docs.lumaprints.com/doc-2394350 |
| Authentication | https://api-docs.lumaprints.com/doc-420489 |
| Sandbox test cards | https://api-docs.lumaprints.com/doc-421693 |
| Submit order | https://api-docs.lumaprints.com/api-5384560 |
| Webhooks | https://api-docs.lumaprints.com/doc-513534 |
| Shipments (also the webhook payload format) | https://api-docs.lumaprints.com/api-5384566 |
GET /stores doesn't return my WooCommerce (or other connected) store. How do I get its storeId?| Sandbox | Production | |
|---|---|---|
| Dashboard | https://sandbox.lumaprints.com | https://dashboard.lumaprints.com |
| API base URL | https://us.api-sandbox.lumaprints.com/api/v1 | https://us.api.lumaprints.com/api/v1 |
| Orders fulfilled | No | Yes |
| Cards charged | No (test cards only) | Yes |
GET /shipments/{orderNumber} returns no data and shipping webhooks don't fire.https://us.api.lumaprints.com/api/v1.GET /stores with your production keys to get your production storeId. Sandbox storeIds don't exist in production.apiKey:apiSecret, Base64-encoded, prefixed with Basic ). See Authentication./sizes endpoint?options property?options property must be in the payload. An empty array uses the default options. There is no document listing the defaults, but they are the options already selected in the website image editor after you choose a size.POST /pricing/shipping and POST /orders accept decimal width and height. The documentation saying /pricing/shipping needs integers is wrong.POST /images/checkImageConfig.GET /orders/{orderNumber} returns the file URL on each item if you want to check what is attached.POST /images/checkImageConfig before showing size options to your customers. Unique images on every order are fine.POST /orders checks things like whether the address is provided, the image URL is accessible, the file meets the size requirements, and the shipping method and production time are available. If a check fails, the request is rejected with an error. A successful response means the order passed those checks and was accepted.| Status | Meaning |
|---|---|
| Pending Payment | The order was accepted and is waiting for a successful charge |
| Awaiting Fulfillment | Payment succeeded and the order is in production |
| Shipped | The order has shipped |
| Canceled | The order was canceled |
externalId unique?externalId is rejected instead of creating a duplicate order.specialInstructions for gift notes. That field is for our production team.POST /orders, even if it's missing from the documentation list.usps_priority_mail_express, 2_day or overnight.GET /shipments/{orderNumber} returns all shipments for the order.GET /shipments/{orderNumber} response. See https://api-docs.lumaprints.com/api-5384566.GET /shipments/{orderNumber} as a fallback for orders where you haven't received a shipping event.orderTotal, using the store's primary payment method.