API docs

Peecho error codes

Error responses may contain a custom_code. What each one means and how to fix it.

Error responses may contain a specific error code in custom_code. Descriptions of the problem and suggested solutions can be found in the table below.

CodeDescription
APP_FORBIDDENIncorrect API key provided. Check your API key in the API section of any application in your dashboard.
APP_NO_COMP_DETAILSCompany details are required for tax calculations. Set them on your application's Settings page.
COLOR_INVALIDInvalid color format. Colors must be specified in hex format, e.g. #RRGGBB.
CURR_INVALIDInvalid currency code. Supported currencies include: USD, JPY, BGN, CZK, DKK, ILS, GBP, HUF, LTL, LVL, PLN, RON, SEK, CHF, NOK, HRK, RUB, TRY, AUD, BRL, CAD, CNY, HKD, IDR, INR, KRW, MXN, MYR, NZD, PHP, SGD, THB, ZAR, ISK.
FONT_INVALIDUnsupported font for spine text. Available fonts: Arial, Brandon, DarkCourier, Georgia, GochiHand, Helvetica, Tahoma, TimesNewRoman, Verdana.
INVALID_DATAThe request contains invalid or missing fields. This may involve format violations, invalid enum values or malformed data.
MERCH_INSUFFICIENT_BALANCEInsufficient account balance. Visit your dashboard to manage payment methods or add credits.
MULTI_ORDER_INVALID_DATAThe selected products cannot be fulfilled by the same production facility.
NO_PFNo production facility is available to ship the selected product to the chosen country. Use the Offerings endpoint to check product availability by region.
OFF_MINThe requested product has a minimum order quantity. Use the List products and offerings endpoint to check product details.
OFF_NOT_FOUNDThe requested product or offering was not found.
ORD_CANCEL_STATEThe order cannot be cancelled. This happens if it has already been sent to production (statuses: IN_PRINT_QUEUE, IN_PRODUCTION, SHIPPED) or if it was already cancelled or refunded. Check the status in the Dashboard or using the status endpoint.
ORD_DUPLICATEThe order reference must be unique per merchant, even across multiple applications.
ORD_FILES_STATEFiles can only be updated if the order is in the OPEN or PENDING_COMPLETION state. Check the status in the Dashboard or using the status endpoint.
ORD_MISS_ADDRA shipping address must be set before payment. Use the Update address endpoint.
ORD_NO_PRINTERThe order hasn't been assigned to a production facility. This usually means the address is missing or unsupported. Use the Offerings endpoint to check where a product can be produced.
ORD_PAID_STATEOrders can only be marked as PAID if their current status is OPEN or PAYMENT_ERROR. Check the status in the Dashboard or using the status endpoint.
ORD_SECRETIncorrect secret provided. It must be the SHA-256 hex-encoded value of your secret key joined with the order ID. See Authentication.
SPINE_ORDER_NOT_FOUNDNo order found with the specified ID. If you're calculating spine width for a future order, use the Get spine width before creating order endpoint instead.