Answers to the questions partners ask us most, grouped by topic. Can't find yours? Email integrations@whcc.com.
The first thing you need is a WHCC Account, since every API key is tied to an account. Sign up, then go to Connected Accounts in your account. Test API access is enabled automatically for every account, so you can select Create key under API access and start building against the Test environment right away. Each account can have up to 10 Test keys and 10 Live keys.
Request Live API access under API access on the same Connected Accounts page. Every Live request is reviewed against these criteria, and if your account already meets all of them, it's approved right away:
If anything is still missing, the request shows Pending review while our team takes a look. Completing the list above is the fastest way through. Once Live access is enabled, you create Live keys the same way as Test keys. All order submissions on Live are real, billable orders.
You can generate and manage your own keys on the Connected Accounts page of your account. If Live API access shows Pending review, check the four criteria under What's required to get Live API access? If something still isn't working, email integrations@whcc.com with your account number.
Questions about the WHCC API? Email integrations@whcc.com.
All new integrations should use the WHCC API, where new development is focused. The Order Submit and Editor APIs are labeled Legacy. They remain available for existing integrations but aren't recommended for new ones. If you have specific requirements the WHCC API doesn't meet, submit a Partnership inquiry and tell us about them.
Every product that uses our simple editor is live and available through the API today, including photo prints and our full wall art collection: Metal Prints, Framed Prints, Gallery Wraps, Wood Prints, Bamboo Panels, Standouts, Float Frames, Float Wraps, Portrait Canvas and Acrylic Prints. These are configured, priced and submitted entirely through the API (completion: "api" in GET /v1/catalog/products).
At launch, albums and books are completed through our hosted editor, so the editor step is required. Headless flows, where you can skip the editor and send finished designs, aren't expected until December. For sizes, papers, cover options and design templates, see our album and book product pages.
They'll use our hosted editor, so the editor step is required. GET /v1/catalog/designs returns everything needed to build your own design grid and detail pages: previews, shapes, foils, color theme variants and more. Card products need a designId from it. Personalization, including recipient addressing, happens in the editor. Cards have a minimum of 25 per order. For envelopes, sizes and other product details, see the flat cards product page.
For single-image products like prints and wall art, yes. Send your finished image, matched to the size's aspect ratio. Cards, albums and books require our hosted editor at launch, and we don't accept full PDF submissions. Headless support for these is on our roadmap.
Custom sizes aren't available through the API except on gallery wraps.
We have a native WHCC Shopify app. For Etsy, WooCommerce and other platforms, use the WHCC API.
Yes, you can hide prices inside the editor UI. Review that and related features and controls in the Quick Start.
placementProof) shows how it was placed.The current maximum is 40 MB per image. We're working on raising it and expect to extend it by the end of the year. Until then, keep every image at 40 MB or less. A larger file can still build as ready, but it can cause unexpected results later in production, so don't rely on the build accepting it.
All pricing on our website is our wholesale pricing, as we sell directly to photographers who then resell to their clients. Each product page lists its prices. In the API, the configured-products response includes the unit price, and calculate returns the full basket total with shipping and tax.
Some products already include pricing tiers, such as cards and some ornaments. Because every order we produce is entirely custom, there's no standard volume discount based on monthly order volume. If you've established a high-volume integration or are projecting large numbers, you're welcome to send a Partnership inquiry to start a conversation about something custom to your account.
There are no fees to build or use an integration: no setup, API, monthly or proofing fees. Each order is invoiced individually to the card on file. Lowest Cost Drop Ship has no order minimum. An $18 order minimum applies when any other shipping option is selected, including expedited, upgraded and Alaska/Hawaii shipping. Some products have their own minimums, such as cards at 25 per order.
Each order is billed individually to the card on file for the account it was submitted under. That covers product, shipping and any applicable sales tax, as shown in calculate.
Email your resale certificate to billing@whcc.com with your account number. With it on file, your account is responsible for applicable sales tax and we don't collect it. One certificate on file covers everything you ship, to any state. Before billing, calculate may still show a tax estimate; it's removed before you're charged. Sales tax details.
All accounts get an email and a website preview ahead of price changes. For API changes, see API Versions and the WHCC-API-Version header.
Call POST /v1/commerce/submissions/calculate with the ship-to address. It returns every available shipping method for that basket, priced, in options.shipping[]. Lowest Cost Drop Ship typically arrives in 2β8 days; expedited options are faster. For destinations outside the US and Canada, see Where do you ship and what does it cost?
For carriers and details by destination, see our shipping page. Seasonal rates apply in November, December and part of January; see our holiday guide for dates.
To price a specific order, call POST /v1/commerce/submissions/calculate with the ship-to address. It returns every shipping method available for that basket and address, priced, in options.shipping[], including the untracked option when the order is eligible.
Drop ship orders are always unbranded: no mention of WHCC, and no invoice or pricing in the box.
returnAddress. It's for US senders only, applies to drop ship orders, and changes the shipping label only. See Return address.Each product category is produced and shipped as its own fulfillment order with its own shipping fee. For example, an album and a photo print in the same basket become two orders. Items from the same category generally ship together. To preview the split before you submit, call calculate with a shipping.address. Without an address, calculate leaves shipping out. totalPrice.subtotals.shipping.items[] has one line for each shipment group with its fee, and the lines add up to shipping.value. Products that charge shipping per item, such as albums, books and cards, also get an itemized breakdown by item. The orders themselves, with their order numbers, are only created when you submit.
Current turnaround times are published on our turnaround times page. Hours extend in November and December, and we ship up to Christmas week. For holiday deadlines and seasonal shipping rates, see our holiday guide.
There's no hold or review step for orders submitted to the Live WHCC API. Approve orders on your side before you submit, and use a Test key for testing.
Yes, while the order is still eligible. See Canceling an order. Production is automated and runs at all hours, so cancel as quickly as you can. Cancelling an order in your own store doesn't cancel the WHCC order.
Contact our Customer Support team at hello@whcc.com as soon as possible. Include the order details, photos of the damage, and anything else relevant. Issues need to be reported within 45 days. We always endeavor to replace items that arrive damaged or with a defect, and we'll take care of that for you. Delivered-but-missing and lost parcels are handled the same way, and we follow up with our shipper on claims. A remake is created as its own new order with its own order number, visible like any other order. Remakes can't be requested through the API.
Use event subscriptions to get order status updates, including how to send a test event. See Event Subscriptions. Test events are only available with Test keys. They aren't available for Live by design, and we don't plan to add them: Live is for real orders, so test your handler with a Test key. To test your production endpoint itself, register its URL in a Test subscription and send test events to it.
Yes. Register an event subscription with each account's own key, pointing at the same callback URL. Each subscription has its own signing secret, so verify each event with the secret for the subscription it came from.
Most platforms submit every order under their own single WHCC account, billed to the platform. Their photographers, and the photographers' clients, don't need WHCC accounts. If you'd rather bill each photographer directly, each studio needs its own WHCC account and its own API key, and you submit each order with that studio's key. The order is then priced and billed to that studio exactly as if they'd placed it themselves. Each studio creates its own Test key and requests its own Live API access, which follows the same criteria as any account. Event subscriptions work the same way: register them under each studio's key, or you won't receive that studio's order events. One callback URL can serve all of them (see Can one webhook URL receive events for many accounts?). There's no OAuth-style connect.
Tell us about your business and the partnership you have in mind, and we'll be in touch.
Building or testing an integration? You don't need to talk to us first. Create a WHCC account, then create your Test key on Connected Accounts. Please don't use this form to request API keys.