Attach the packing photo
The photo taken at packing is what closes production. Attaching it marks every order in the parcel FULFILLED, stamps fulfilled_at, and sends each seller's order_status webhook — the same act, through the same code, as the camera button on the fulfillment station. This is the call a warehouse's packing step makes when it works OpCreative orders from its own system.
The body is multipart/form-data, not JSON — like POST /products/{id}/images, it takes a file. file must be a PNG, JPG or WEBP of 50 MB or less; the 2 MB JSON limit does not apply here.
The order id in the path identifies the whole parcel: every order sharing its tracking number receives the photo and moves together. Orders already FULFILLED or SHIPPED keep their status — the photo is replaced, the parcel does not move backwards.
A parcel that already has a photo, or is already fulfilled, answers 409 with requires_overwrite: true and changes nothing. Re-send with overwrite=true to replace it. A second photo is either a correction or a mis-scan, and the API cannot tell which, so it asks.
The key's owner needs the WAREHOUSE role; a seller key gets 403. The photo lands in proof_image_url. The design in image_url is a different field and is not touched.
Request
- Base URL: https://0.0.0.0:3000/api/v1
- URL: https://0.0.0.0:3000/api/v1/orders/{id}/proof
- Auth: API key in header x-api-key
Path parameters
Any order in the parcel.
Headers
Optional. Reuse the same value on every retry of the same photo, so a retry after a timeout gets the first answer instead of a 409; see Idempotency.
Response
The order in full, with proof_image_url set. meta.fulfilled lists every order id in the parcel the photo now covers.
Changes
No recorded changes to this operation across all 1 revision of this API.