Support
Quick answers for developers building on the RPI Print API.
Contact us
Email printapicustomersupport@rpiprint.com with any question about the API or your orders.
Support hours are Monday to Friday, 8 AM to 5 PM Pacific Time, except RPI holidays.
For a question about your integration, include whether you used a sandbox or production API key, the order ID, the API request data (preferably as a curl command), and any error message. Before you send the request, remove or replace every value that is a credential or personal data: the Authorization header, the recipient's name, address, phone and email, pre-signed file URLs, and any token in the webhookUrl. Send the smallest request that shows the problem.
For a question about a specific order, include your customer name and the order identifier, or a link to the order in the RPI Print API Dashboard.
FAQs
General
-
What fees or costs are associated with using the RPI Print API?
There are no fees for setting up or using the API. You are charged for print orders: books, fulfillment and shipping, and sales tax as applicable.
-
Where can I find the list of standard products offered?
The RPI Print website gives an overview of the available book sizes, bindings, and papers. If you already have an account, you can also review the Products section of the dashboard.
The Product specifications page shows only the options that change a product's specifications, and has downloadable templates and guidance on setting up your files. The dashboard's add product wizard shows every option in the catalog.
-
How is a book priced?
Each product has a base price that covers its minimum page count, which is 20 or 24 pages depending on the product. Every page after that adds a per-page price, which runs from $0.02 to $0.34 depending on the product's size, paper, and print mode. Shipping and sales tax are charged on top.
Product Pricing gives the formula, and the dashboard shows each product's price when you add it. Current prices are also on the product and pricing page. To price an order before you create it, call
POST /orders/pricing/estimate.
Product setup
-
How do I get started?
- Create an account at api.rpiprint.com.
- Work with your developer (or yourself, if that is also you) to configure your API credentials. The API Endpoints and Webhooks documentation will help you get started.
- Choose products from our catalog before you start accepting orders. See our Product specifications. When you add a product, you select its attributes and see its book price, excluding taxes and shipping.
- Place a test order in Sandbox.
- Switch the dashboard to Production.
Getting Started explains each step in detail.
-
How do I add my products?
Go to the Products page in the dashboard and select your attributes: size, cover, paper type, text color, and bleed. You see the book price, excluding tax and shipping, as you go. After you select your attributes, you can edit the product SKU and product name, for which we provide a default naming convention, and add a description. Your product SKU is what you send in each order.
You can also skip this step and order a Standard manufacturing SKU directly. Using Product SKUs in Orders explains how. Managed accounts must add their products first.
To edit a product later, open the menu (three dots) at the right end of the product's row in the Products list.
-
Can I get proofs or samples of my products and/or the standard products you offer?
At this time, we do not offer complimentary samples. We recommend placing a production order for the exact product you plan to sell. That order tests your setup end to end and gives you a physical copy of your product. Sandbox orders are not printed; they let you test the API integration itself.
Files
-
Can every order use different files?
Yes. A product defines only the physical specifications, and each order item carries its own files, so every book can be unique. RPI Print API does not provide design or personalization tools, so your system produces the press-ready PDFs. See How do I produce a file for every order?
-
Where should I host my files, and for how long?
Host each file at a public HTTPS URL. We recommend Amazon S3 pre-signed URLs in the us-west-2 region.
Your files must stay reachable until RPI sends
OrderAssetsAllProcessed, usually within minutes, or the order fails. RPI does not download the files of an order queued over your daily limit until the queue releases it, so set pre-signed URLs to expire 7 days after you create the order. RPI keeps its own copy of each file for 60 days, for reprints. Files explains how to sign URLs that last the full 7 days. -
How do I get file dimensions and spine width?
Use the template generator on Product specifications. It gives a template showing the trim, bleed, and safe zone for any size, cover type, and paper. The same page has spine width tables by page count.
-
Why did my order fail?
Usually because of a problem in a file, such as a font that is not embedded, a page size that does not match the product's trim size, or a page count the binding does not allow. RPI sends an
OrderFailedorOrderValidationFailedwebhook. The order'svalidations, in the API response and in webhooks, list every issue, and the order's page in the dashboard shows the same report.A failed order cannot take a new file. Correct the files and place a new order with a new
customerOrderId. See Preflighting and Content Creation Standards.
Orders, Shipping, and Payments
-
Is there a limit on the number of orders I can place per day?
You may place up to 50 orders in a rolling 24-hour period. Reprints and rejected orders do not count toward the limit. Orders over the limit wait in a queue and are released oldest first as the limit allows, and their SLAs and shipping dates are updated to match.
The queue has a ceiling of 350, which counts received and queued orders together. With the default limits, up to 300 orders can wait in the queue, and RPI rejects any order past the ceiling. RPI emails the address on record when you go over your limit.
Both numbers are defaults. To change them, contact printapicustomersupport@rpiprint.com.
-
How long do I have to cancel an order?
You can cancel an order at any time before payment is processed, without incurring charges. Once payment succeeds, the order enters
VALID_HOLDING_BINfor 2 hours before being submitted for manufacturing. Cancellation is guaranteed during this holding period, and any payment collected will be refunded.Once an order has been submitted to the printer, cancellation is no longer guaranteed. The order transitions to
CANCELLATION_REQUESTEDwhile the printer determines whether the request can be accommodated. If accepted, the order will not ship, but manufacturing charges may still apply. Shipping charges will be refunded.If the cancellation request is rejected, the order will proceed through manufacturing and fulfillment, and all applicable charges remain due. Once an order reaches
SHIPPED, it can no longer be cancelled. -
How do I cancel an order?
Call the cancel endpoint,
DELETE /orders/{customerOrderId}, any time before the order ships, except while its status isVALIDATING,CANCELLATION_REQUESTEDorEXCEPTION. The previous answer explains when the printer decides the outcome. -
How long will it take to manufacture my products?
Manufacturing takes 4 business days for Standard and Expedited shipping, and 3 business days for Rush. This timeline begins when the printer receives the order, not when the order is initially submitted.
Before an order is submitted for manufacturing, it must successfully complete validation and payment processing, followed by a 2-hour holding period during which cancellation is guaranteed. Payment is processed automatically once daily, or you can initiate payment earlier using the Pay Now functionality in the RPI Print API Dashboard.
Manufacturing time is separate from shipping transit time. To estimate total delivery time, account for payment processing, the holding period, manufacturing, and the selected shipping speed's transit time. See Shipping for details.
-
What shipping methods are available?
RPI offers Standard, Expedited, and Rush. Which of them a destination sells varies, so call
POST /orders/shipping/estimatefor an address. See Shipping. -
What shipping rates are available?
Rates depend on the destination and on how many items the order contains. See Shipping for the rate tables, and call
POST /orders/shipping/estimatefor the price of a specific order. -
Do you ship internationally?
Yes. RPI Print API supports shipping to the United States, Puerto Rico, U.S. territories, and Canada.
Orders shipping to Canada, Puerto Rico, or U.S. territories require a
retailPricefor every order item to support customs declarations. This value must represent the retail selling price of a single unit, not the total price of the order line item.Canadian orders ship DAP (Delivered at Place), meaning the recipient is responsible for applicable import duties, customs-clearance charges, and fees.
To confirm available shipping classifications, transit times, and estimated costs for a destination, use
POST /orders/shipping/estimate. Refer to Shipping for additional details. -
Can I safely retry a create-order request?
A
customerOrderIdcan be used only once, across Sandbox and production, and reusing one returns HTTP 400. If a create request times out, callGET /orders/{customerOrderId}with the same API key before you retry. If it returns the order, your first request succeeded. If it returns 404 and a retry then returns 400, the identifier belongs to an order in your other mode, so choose a new identifier. See Customer Order Ids. -
Can I change an order's shipping address?
No. The API has no endpoint that changes an order. To ship to a different address, cancel the order and place a new one while cancellation is still possible. The cancellation answers above explain when that is.
-
Can one order ship to multiple addresses?
No. Each order ships to a single address. Create a separate order for each recipient.
-
How do I track an order?
Set a
webhookUrlon each order to receive signed notifications as the order moves through each stage, or pollGET /orders/{customerOrderId}.OrderShippedis the last shipping event, and the order'sshipmentTrackingthen lists the tracking numbers and carrier links. RPI does not send a delivery confirmation. See Tracking numbers, Webhooks, and Order states. -
How do I pay for orders?
RPI charges your production orders to the credit card on your account. A Customer Admin adds the card on the Payments page of the dashboard.
RPI charges the card once a day at 02:00 UTC for every order in the
VALID_AWAITING_PAYMENTstatus. That is 9 PM Eastern and 6 PM Pacific in winter, and 10 PM Eastern and 7 PM Pacific during daylight saving time. A production order stays inVALID_AWAITING_PAYMENTuntil its payment succeeds. The dashboard shows when your next charge is expected. -
What forms of payment do you accept?
We accept Visa, MasterCard, and American Express credit cards. We charge in US dollars (USD) only. International credit cards are accepted. When selecting the associated country for your card, you can type the name of the country to filter.
-
Will I be charged taxes?
Orders are charged sales tax by default, based on RPI's ship-from address and your order's destination.
If you are eligible for tax exemption, for example as a reseller, you can upload your documentation so that you are not charged unnecessary taxes. Only a Customer Admin sees the Tax exemption section. To upload your documentation, switch the dashboard to Production, open the Payments page, and find your Tax exemption options at the bottom of the page. If your status says "Not tax exempt", upload your documentation.
Once you upload it, you will receive an email confirming that you will not be charged taxes. If a review finds your documentation invalid, your status is changed to "Not tax exempt", and you receive an email asking you to upload a valid tax document.
Tax exemption is not available for Canadian sales tax at this time.
Technical Integration Setup
-
How does Sandbox work?
Every account includes Sandbox, and it is on by default for new users. Switch modes with the toggle at the right end of the banner across the top of every dashboard page. Sandbox orders are never printed or charged.
Orders and API credentials are separate for each mode. Products are shared by both modes, so a product you test in Sandbox is ready to use in production. Orders placed with sandbox credentials are sandbox orders.
-
How do I test payments in Sandbox mode?
You can simulate a payment succeeding or failing from the Orders page while the dashboard is in Sandbox mode. Open the Test Order Payments menu above the orders table and choose Payment Success or Payment Failed. Sandbox orders never charge a card, so you do not need a real payment method.