Skip to main content
Batch Relay is an all-in-one photography commerce platform. Its provider-neutral fulfillment API lets developers extend the platform through custom applications and automation tools. The API connects custom photography workflows to supported professional print labs. Your application sends one canonical, prepared-media order; Batch Relay validates it, shows the available provider offers, and freezes the selected offer, shipping, tax, and fee policy in a quote before payment and submission. You do not integrate directly with lab-specific product identifiers, XML payloads, or ordering software. Provider-native mappings remain inside Batch Relay adapters.

How it works

  1. Start with an isolated keyless Test Mode session, a scoped Test API key, or a Live API key.
  2. Send a canonical order with prepared assets, or render a published template into ordinary prepared artwork first.
  3. Inspect provider offers and create an immutable quote.
  4. Submit the matching order with an idempotency key.
  5. Track the resulting Batch Relay order while the enabled provider fulfills it.
Each standard quote and order uses one provider. A studio default is a preference, never permission to switch labs. If that provider cannot fulfill every line, Batch Relay fails the quote and the caller must explicitly request another provider and re-quote. Split fulfillment is not currently available through the public API. It will be available only when the API advertises it and the caller explicitly accepts separate provider submissions and more than one shipping charge.

What Batch Relay does not do

Batch Relay does not make a template mandatory. If you already have flattened artwork for a standard print, submit the ordinary prepared-media order. Templates are an optional preparation path that produces normal print artwork; they do not create a separate fulfillment product. The managed-ingestion route accepts either an external URL or an existing asset_id. URL input is copied into Batch Relay’s private temporary fulfillment storage; asset_id input reuses already-managed bytes without copying them. Template image slots use stable asset_id references, not arbitrary URLs. Print-order assets use the same source union: provide exactly one external HTTPS url or authorized asset_id. URL bytes are copied and frozen with the quote; asset_id bytes are reused in place. See Managed assets for ownership and retention behavior.

Provider availability and cost

Catalog products are provider-neutral. Provider offers identify the exact provider, configuration, currency, and per-unit provider cost available for a canonical product. An offer is not a submit-ready total. Create a quote to freeze all selected offers, shipping, tax, the api-access-fee-v1 policy, and the total due for 15 minutes. A quote response also includes provider_offer_lines, the immutable public offer evidence for each order line. Do not infer that a provider is available for fulfillment from its name, catalog entry, or historical integration. The public offer and quote responses are the authority for the current environment.

Use it from your workflow

The API is designed for custom applications and automation tools. n8n, Zapier, and Make guidance is published as each integration becomes supported; the canonical API contract remains the same underneath.

Base URL

A Test API key selects Test Mode and the sandbox provider lane. A Live API key selects Live Mode and the production provider lane. The durable API-key record is authoritative, not the key prefix. Start with the Quickstart to validate a prepared order and inspect provider offers and create a Test Mode quote safely.