Skip to main content

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​

  1. 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.

  2. 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 the options that affect a product's specifications, and has downloadable templates and guidance on setting up your files. You can explore further customizations in the dashboard's add product wizard.

  3. 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.

    Prices 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​

  1. How do I get started?

    1. Create an account at api.rpiprint.com.
    2. 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.
    3. 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.
    4. Place a test order in Sandbox.
    5. Switch the dashboard to Production.

    Getting started explains each step in detail.

  2. 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.

    To edit a product later, open the menu (three dots) at the right end of the product's row in the Products list.

  3. 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​

  1. 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?

  2. 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.

  3. 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.

  4. 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 OrderFailed or OrderValidationFailed webhook. The order's validations, 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​

  1. 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 do not count toward the limit. Orders over the limit wait in a queue and are released 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.

  2. How long do I have to cancel an order?

    After an order's payment succeeds, the order waits in a holding bin for 2 hours before it is sent to the printer. Until the order leaves the holding bin, a cancellation always succeeds.

    After that, and until the order ships, a cancellation sends a request to the printer, and the order moves to CANCELLATION_REQUESTED. The printer can accept or refuse the request. A shipped order cannot be cancelled.

  3. How do I cancel an order?

    Call the cancel endpoint, DELETE /orders/{customerOrderId}, any time before the order ships, except while its status is VALIDATING, CANCELLATION_REQUESTED or EXCEPTION. The previous answer explains when the printer decides the outcome.

  4. 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. Manufacturing happens before the order ships, so add the shipping speed's transit time to get the total. See Shipping.

  5. What shipping methods are available?

    RPI offers Standard, Expedited, and Rush. Which of them a destination sells varies, so call POST /orders/shipping/estimate for an address. See Shipping.

  6. 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/estimate for the price of a specific order.

  7. Do you ship internationally?

    Yes, to Canada. RPI also ships to the US, Puerto Rico, and the US territories. Orders to Canada, Puerto Rico, and the US territories need a retailPrice on every item for customs. Canadian orders ship DAP (Delivered at Place), so the recipient pays any import duties and customs charges. An Enterprise account can also order to other countries, and those orders need a retailPrice on every item too. See Shipping for the speeds and rates each destination sells. A Generic account can call POST /orders/shipping/estimate to confirm what a particular address can be sold. For an Enterprise order to a country outside the US and Canada, the estimate answers HTTP 400, and the shipping is priced after the order is placed. See Enterprise accounts outside the US and Canada.

  8. Can I safely retry a create-order request?

    A customerOrderId can be used only once, across Sandbox and production, and reusing one returns HTTP 400. If a create request times out, call GET /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.

  9. 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.

  10. Can one order ship to multiple addresses?

    No. Each order ships to a single address. Create a separate order for each recipient.

  11. How do I track an order?

    Set a webhookUrl on each order to receive signed notifications as the order moves through each stage, or poll GET /orders/{customerOrderId}. OrderShipped is the last shipping event, and the order's shipmentTracking then lists the tracking numbers and carrier links. RPI does not send a delivery confirmation. See Tracking numbers, Webhooks, and Order states.

  12. 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_PAYMENT status. 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 in VALID_AWAITING_PAYMENT until its payment succeeds. The dashboard shows when your next charge is expected.

  13. 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.

  14. 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​

  1. 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.

  2. 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.