Photos
Upload local photo files before creating an order, then associate the URL from
each successful upload result with a catalog photo index. If review requests
more evidence, resolve every current request through the order-specific update
endpoint. Both writes require orders:write; complete schemas are in the
API reference.
Choose photo indexes
Query GET /v1/integrations/catalog/photo_indexes with the selected category,
brand, and optional model:
Code
Use each entry's machine-readable code as index_code. Include every entry
marked required: true, and do not exceed its photo_limit. See
Catalog for the full classification lookup.
Upload photo files
POST /v1/integrations/photos accepts one or more photos parts as
multipart/form-data:
Code
The HTTP 200 response preserves file order. Check each result's status:
Code
File type, size, and image-dimension validation happens before upload. If any
file fails validation, the entire request is rejected. Once validation passes,
HTTP 200 means the batch was processed, even if an individual upload-gateway
operation failed. A failed result has no url:
Code
Supported image formats are JPEG, PNG, HEIC, HEIF, WebP, and AVIF. Send no more than 10 files in one request. Each file can be up to 100 MiB. Images are also limited to 8,000 pixels on either side and 50,000,000 total pixels.
The upload does not assign an index or attach anything to an order. Match each
successful result to its local file and use only URLs from uploaded results in
the create request. Order photo URLs from other hosts are rejected.
Code
Respond to an update-photos request
Retrieve the order to read its current photos_to_resubmit request.
Code
Code
Use index_code, condition, and requirements for machine logic; use the
localized fields, comment, and optional reference_photo_url for display.
max_photos is the limit for this index in the current update round.
Submit the current round
Upload local replacements first, then send their URLs to
POST /v1/integrations/orders/{id}/update_photos using the returned order ID.
Code
A valid submission returns 202 Accepted:
Code
Acceptance is not an authenticity result. Continue monitoring the detail endpoint or webhooks.
Update rules
- Resolve every
index_codein the currentphotos_to_resubmit; partial submissions are rejected together. - Each entry supplies exactly one resolution: a managed
urlreturned byPOST /photos, oris_unable_to_provide: true. - Repeat an
index_codefor multiple URLs, up to itsmax_photos. - For one index,
is_unable_to_provide: truemust be the only entry; do not mix it with URLs. - Do not submit indexes absent from the current request.
noteis optional and limited to 1,000 characters.
An order can have multiple update rounds. Resolve only the current round, then keep monitoring. See Errors for error responses.