> Part of [WHCC Developer Documentation](https://www.whcc.com/developer/llms.txt)

# Frequently Asked Questions

Version 1.1 &middot; Updated 2026-11-06

Answers to the questions partners ask us most, grouped by topic. Can't find yours? Email [integrations@whcc.com](mailto:integrations@whcc.com).

## Getting started

### How do I get API access or Test keys?

The first thing you need is a WHCC Account, since every API key is tied to an account. [Sign up](https://www.whcc.com/account/signup), then go to [Connected Accounts](https://www.whcc.com/account/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.

### What's required to get Live API access?

Request Live API access under **API access** on the same [Connected Accounts](https://www.whcc.com/account/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:

1. At least one order **submitted** with a Test key. Building and pricing alone don't count.
2. At least one paid order on your account in recent history, for example an order placed on our website. It's also a good way to see our print quality first.
3. A valid card on file.
4. A valid business name on your account.

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.

### Our credentials never arrived or don't work. What do we do?

You can generate and manage your own keys on the [Connected Accounts](https://www.whcc.com/account/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?](https://www.whcc.com/developer/docs/faq/#live-api-access) If something still isn't working, email [integrations@whcc.com](mailto:integrations@whcc.com) with your account number.

### Who do we contact with questions?

Questions about the WHCC API? Email [integrations@whcc.com](mailto:integrations@whcc.com).

### How do I get access to the legacy APIs?

All new integrations should use the [WHCC API](https://www.whcc.com/developer/docs/api/index.html.md), where new development is focused. The Order Submit and Editor APIs are labeled [Legacy](https://www.whcc.com/developer/docs/legacy/index.html.md). 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.

## Products

### Which products are available through the API?

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`).

### Coming soon: Are albums and books available through the API?

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](https://www.whcc.com/products/albums-books/).

### Coming soon: Are cards, invitations and ornaments available?

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](https://www.whcc.com/products/flat-cards/).

### Can we submit finished, print-ready art or PDFs without the editor?

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.

### Do you support custom sizes?

Custom sizes aren't available through the API except on gallery wraps.

### Do you integrate with Shopify, Etsy or WooCommerce?

We have a [native WHCC Shopify app](https://www.whcc.com/ordering/integrations/shopify/). For Etsy, WooCommerce and other platforms, use the WHCC API.

### Can the editor hide WHCC pricing or be limited?

Yes, you can hide prices inside the editor UI. Review that and related features and controls in the [Quick Start](https://www.whcc.com/developer/docs/quick-start/#edit-link-settings).

## Images

### What are the image requirements?

- **Format:** JPEG, HEIC or PNG, at a URL we can fetch. Signed URLs are fine. sRGB JPEG is recommended.
- **Resolution:** send the highest resolution you can, within the 40 MB limit. The build doesn't check resolution or warn about low-resolution images, so check it yourself.
- **Crop:** you don't have to crop before submitting. If your flow doesn't use our Editor UI, your file is center-cropped to fit the size ordered, and the preview (`placementProof`) shows how it was placed.
- **Hosting:** make sure image URLs are accessible to us and unexpired for at least 7 days after order submission. If you hold an order before submitting it, make sure the URLs haven't expired by the time you do, since we retrieve the images to build the order. The 7 days matter because we may need to reprint, which means accessing the images again.
- **Size:** the maximum file size is currently 40 MB. See [Why is the image file size limit 40 MB?](https://www.whcc.com/developer/docs/faq/#file-size-limit)

### Why is the image file size limit 40 MB?

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.

## Pricing and billing

### How do we get product prices?

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.

### Are there volume discounts or tiers?

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.

### Are there setup, API or monthly fees, or order minimums?

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.

### How are orders billed?

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

### How does sales tax work? Can we be tax-exempt?

Email your resale certificate to [billing@whcc.com](mailto: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](https://www.whcc.com/help/sales-tax/).

### How will we hear about price changes or API changes?

All accounts get an email and a website preview ahead of price changes. For API changes, see [API Versions](https://www.whcc.com/developer/docs/api/versioning/index.html.md) and the `WHCC-API-Version` header.

## Shipping

### How do I know what shipping will cost and how long it will take?

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?](https://www.whcc.com/developer/docs/faq/#drop-ship)

### Where do you ship and what does it cost?

- **Contiguous US:** Lowest Cost Drop Ship is $7.95 per order ($9.95 during seasonal rates) and typically arrives in 2–8 days. Upgrades are available. Small-format print orders can also ship untracked for $5.95.
- **Alaska and Hawaii:** expedited options only, and the $18 order minimum applies.
- **Canada:** $7.95 ($9.95 during seasonal rates), plus 10% of the order total, plus the current tariff. WHCC is the importer of record, so GST/HST is collected on your invoice and nothing is due on delivery.
- **Other international destinations:** billed close to actual carrier cost, so shipping can't be priced at order time. Contact us for a quote.

For carriers and details by destination, see our [shipping page](https://www.whcc.com/help/shipping/). Seasonal rates apply in November, December and part of January; see our [holiday guide](https://www.whcc.com/guides/holiday/) 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.

### How are drop ship orders packaged and what can we customize?

Drop ship orders are always unbranded: no mention of WHCC, and no invoice or pricing in the box.

- **Return address:** the shipping label's return address defaults to the address on file for your account. To use a different one, such as your studio's or your customer's, send the optional per-order `returnAddress`. It's for US senders only, applies to drop ship orders, and changes the shipping label only. See [Return address](https://www.whcc.com/developer/docs/api/shipping/#return-address).
- **Branding, packing slips and inserts:** we don't currently offer custom branding, logos or inserts. It's something we're happy to revisit as your volume with us grows. For orders of loose prints, one option is to add a print of your own packing slip to the order.

### What ships together? Why are there multiple shipping fees?

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.

## Orders

### What is production turnaround?

Current turnaround times are published on our [turnaround times page](https://www.whcc.com/ordering/turnaround-times/). Hours extend in November and December, and we ship up to Christmas week. For holiday deadlines and seasonal shipping rates, see our [holiday guide](https://www.whcc.com/guides/holiday/).

### Can we hold an order for review after submitting?

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.

### Can orders be cancelled?

Yes, while the order is still eligible. See [Canceling an order](https://www.whcc.com/developer/docs/api/fulfillment/#cancel). 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.

### How are remakes, damage and lost packages handled?

Contact our Customer Support team at [hello@whcc.com](mailto: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.

## Order updates and webhooks

### How do we get order status updates? Can we test webhooks?

Use event subscriptions to get order status updates, including how to send a test event. See [Event Subscriptions](https://www.whcc.com/developer/docs/api/event-subscriptions/index.html.md). 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.

### Can one webhook URL receive events for many accounts?

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.

## Platforms

### Can a platform submit orders under each photographer's own WHCC account?

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?](https://www.whcc.com/developer/docs/faq/#shared-webhook-url)). There's no OAuth-style connect.