Every error PixelTrace can return, what causes it and how to fix it, starting with the mistakes integrations make most often.
Most PixelTrace error bodies have a docs link to their section on this page (or, for key, credit and limit errors, on the shared errors page). What an error body holds is explained in Errors, limits and retries.
The ways integrations most often go wrong, written as what you see. Each one links to the errors it causes.
POST .../test-photos takes one JPEG, PNG or WebP as the raw request body with Content-Type image/jpeg, image/png or image/webp, like curl --data-binary @photo.png. HEIC, a multipart form (curl -F), JSON or base64 text is refused with 415 PIXEL_TRACE_CONTENT_TYPE. An empty body is 400 PIXEL_TRACE_NO_PHOTO. A photo outside 640 to 4096 pixels on its longest side, such as a thumbnail, is 422 PIXEL_TRACE_PHOTO_REFUSED, and one over 8 MB is 413 PIXEL_TRACE_TOO_LARGE.
The phone camera upload returns 422 PIXEL_TRACE_NOT_JPEG if the photo is not a JPEG. Ask the seller to take it again with the camera page's shutter button. Test photo uploads also accept PNG and WebP.
Test photo uploads and test confirmation exist only for test keys: a live key gets 403 PIXEL_TRACE_TEST_KEY_ONLY, because a live group's photos must come from the seller's phone. Send the seller the cameraUrl instead. A group started with one kind of key is not found (404 NOT_FOUND) with the other kind, and a live key may read settings but never change them (403 KEY_NOT_ALLOWED).
A group can be published only once the seller has confirmed it. Until GET /api/v1/pixel-trace/captures/{captureId} shows status ready, POST .../complete answers 409 PIXEL_TRACE_NOT_CONFIRMED. Poll the group every few seconds, or wait for the pixeltrace.capture_ready webhook.
Everything under /api/v1/pixel-trace/camera answers only the seller's phone browser that opened the camera link. Your API key on its own gets 409 PIXEL_TRACE_CAMERA_NOT_OPENED. From your server, read the group with GET /api/v1/pixel-trace/captures/{captureId}, and with a test key add photos with .../test-photos and confirm with .../test-confirm.
A camera link works in one browser. Opening it inside a chat app and then in Safari or Chrome gives 409 PIXEL_TRACE_LINK_ALREADY_OPENED in the second browser. The seller types the six characters shown under "Switch phone" in the first browser to carry on. A laptop or desktop browser gets 403 PIXEL_TRACE_PHONE_ONLY.
A link waits openWithinMinutes (15 by default) to be opened, then gives the seller captureMinutes (30 by default). After that, or once the seller confirmed or you retracted the group, the camera answers 410 PIXEL_TRACE_CAPTURE_CLOSED. Start a new group for a new link, or raise openWithinMinutes in the settings for links sellers open later.
POST /api/v1/pixel-trace/check takes the photo's bytes with Content-Type image/jpeg, image/png or image/webp. Sending JSON, a form or no Content-Type gives 415 PIXEL_TRACE_CONTENT_TYPE.
Each POST /api/v1/pixel-trace/captures without an Idempotency-Key starts a new group, and a live group is charged each time. Send the same Idempotency-Key and the same body when you retry after a lost answer, and you get the first group back. The same key with a different body is 422 IDEMPOTENCY_KEY_REUSED.
A business holds at most 50 test groups and 200 test photos that are not retracted. Past that, 409 PIXEL_TRACE_TEST_GROUPS_FULL or PIXEL_TRACE_TEST_PHOTOS_FULL. Retract test groups at the end of each test run with POST .../retract. They are also deleted 24 hours after they start.
PixelTrace has one speed. modelTier: ultra-fast is 400 MODEL_TIER_NOT_SUPPORTED. Leave modelTier out.
HTTP 403. PCIFIC knows who is calling, but this caller may not do this right now.
curl -X POST "https://business.pcific.ai/api/v1/pixel-trace/captures" \
-H "Authorization: Bearer $PCIFIC_TEST_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{"listingId":"listing-123","listingTitle":"Blue denim jacket"}'HTTP 429. Too much was sent too fast, or a daily or spending limit was reached. Retry-After says when to try again.
curl -X POST "https://business.pcific.ai/api/v1/pixel-trace/captures" \
-H "Authorization: Bearer $PCIFIC_TEST_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{"listingId":"listing-123","listingTitle":"Blue denim jacket"}'HTTP 400. The request itself needs changing: a field, header, address or body is not in the form this address takes.
curl -X POST "https://business.pcific.ai/api/v1/pixel-trace/captures" \
-H "Authorization: Bearer $PCIFIC_TEST_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{"listingId":"listing-123","listingTitle":"Blue denim jacket"}'HTTP 400. The request itself needs changing: a field, header, address or body is not in the form this address takes.
curl -X POST "https://business.pcific.ai/api/v1/pixel-trace/captures" \
-H "Authorization: Bearer $PCIFIC_TEST_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{"listingId":"listing-123","listingTitle":"Blue denim jacket"}'HTTP 400. The request itself needs changing: a field, header, address or body is not in the form this address takes.
curl -X POST "https://business.pcific.ai/api/v1/pixel-trace/captures" \
-H "Authorization: Bearer $PCIFIC_TEST_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{"listingId":"listing-123","listingTitle":"Blue denim jacket"}'HTTP 409. The request is well formed, but it does not fit where the work is now.
curl -X POST "https://business.pcific.ai/api/v1/pixel-trace/captures" \
-H "Authorization: Bearer $PCIFIC_TEST_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{"listingId":"listing-123","listingTitle":"Blue denim jacket"}'HTTP 413. The request is bigger than this address accepts.
curl -X POST "https://business.pcific.ai/api/v1/pixel-trace/captures" \
-H "Authorization: Bearer $PCIFIC_TEST_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{"listingId":"listing-123","listingTitle":"Blue denim jacket"}'HTTP 404. What the address points at does not exist for this key, or no longer exists.
curl -X GET "https://business.pcific.ai/api/v1/pixel-trace/captures/$CAPTURE_ID" \
-H "Authorization: Bearer $PCIFIC_TEST_KEY"HTTP 403. PCIFIC knows who is calling, but this caller may not do this right now.
curl -X POST "https://business.pcific.ai/api/v1/pixel-trace/captures/$CAPTURE_ID/test-photos" \
-H "Authorization: Bearer $PCIFIC_TEST_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: image/jpeg" \
--data-binary @photo.jpgHTTP 410. What the address points at existed, but has closed for good.
curl -X POST "https://business.pcific.ai/api/v1/pixel-trace/captures/$CAPTURE_ID/test-photos" \
-H "Authorization: Bearer $PCIFIC_TEST_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: image/jpeg" \
--data-binary @photo.jpgHTTP 415. The Content-Type header names a format this address does not take.
curl -X POST "https://business.pcific.ai/api/v1/pixel-trace/captures/$CAPTURE_ID/test-photos" \
-H "Authorization: Bearer $PCIFIC_TEST_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: image/jpeg" \
--data-binary @photo.jpgHTTP 400. The request itself needs changing: a field, header, address or body is not in the form this address takes.
curl -X POST "https://business.pcific.ai/api/v1/pixel-trace/captures/$CAPTURE_ID/test-photos" \
-H "Authorization: Bearer $PCIFIC_TEST_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: image/jpeg" \
--data-binary @photo.jpgHTTP 422. The body was read, but what it holds cannot be used.
curl -X POST "https://business.pcific.ai/api/v1/pixel-trace/captures/$CAPTURE_ID/test-photos" \
-H "Authorization: Bearer $PCIFIC_TEST_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: image/jpeg" \
--data-binary @photo.jpgHTTP 413. The request is bigger than this address accepts.
curl -X POST "https://business.pcific.ai/api/v1/pixel-trace/captures/$CAPTURE_ID/test-photos" \
-H "Authorization: Bearer $PCIFIC_TEST_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: image/jpeg" \
--data-binary @photo.jpgHTTP 409. The request is well formed, but it does not fit where the work is now.
curl -X POST "https://business.pcific.ai/api/v1/pixel-trace/captures/$CAPTURE_ID/test-photos" \
-H "Authorization: Bearer $PCIFIC_TEST_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: image/jpeg" \
--data-binary @photo.jpgHTTP 409. The request is well formed, but it does not fit where the work is now.
curl -X POST "https://business.pcific.ai/api/v1/pixel-trace/captures/$CAPTURE_ID/test-photos" \
-H "Authorization: Bearer $PCIFIC_TEST_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: image/jpeg" \
--data-binary @photo.jpgHTTP 502. PCIFIC, or a service it relies on, could not answer.
curl -X POST "https://business.pcific.ai/api/v1/pixel-trace/captures/$CAPTURE_ID/test-photos" \
-H "Authorization: Bearer $PCIFIC_TEST_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: image/jpeg" \
--data-binary @photo.jpgHTTP 500. Something failed on PCIFIC's side, not because of your request.
curl -X POST "https://business.pcific.ai/api/v1/pixel-trace/captures/$CAPTURE_ID/test-photos" \
-H "Authorization: Bearer $PCIFIC_TEST_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: image/jpeg" \
--data-binary @photo.jpgHTTP 400. The request itself needs changing: a field, header, address or body is not in the form this address takes.
curl -X POST "https://business.pcific.ai/api/v1/pixel-trace/captures/$CAPTURE_ID/test-confirm" \
-H "Authorization: Bearer $PCIFIC_TEST_KEY"HTTP 409. The request is well formed, but it does not fit where the work is now.
curl -X POST "https://business.pcific.ai/api/v1/pixel-trace/captures/$CAPTURE_ID/test-confirm" \
-H "Authorization: Bearer $PCIFIC_TEST_KEY"HTTP 409. The request is well formed, but it does not fit where the work is now.
curl -X POST "https://business.pcific.ai/api/v1/pixel-trace/captures/$CAPTURE_ID/test-confirm" \
-H "Authorization: Bearer $PCIFIC_TEST_KEY"HTTP 503. PCIFIC, or a service it relies on, is too busy or not available right now.
curl -X POST "https://business.pcific.ai/api/v1/pixel-trace/captures/$CAPTURE_ID/test-confirm" \
-H "Authorization: Bearer $PCIFIC_TEST_KEY"HTTP 400. The request itself needs changing: a field, header, address or body is not in the form this address takes.
curl -X POST "https://business.pcific.ai/api/v1/pixel-trace/captures/$CAPTURE_ID/complete" \
-H "Authorization: Bearer $PCIFIC_TEST_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{"marketplaceName":"Bramble","listingUrl":"https://bramble.example/listing-123"}'HTTP 409. The request is well formed, but it does not fit where the work is now.
curl -X POST "https://business.pcific.ai/api/v1/pixel-trace/captures/$CAPTURE_ID/complete" \
-H "Authorization: Bearer $PCIFIC_TEST_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{"marketplaceName":"Bramble","listingUrl":"https://bramble.example/listing-123"}'HTTP 409. The request is well formed, but it does not fit where the work is now.
curl -X POST "https://business.pcific.ai/api/v1/pixel-trace/captures/$CAPTURE_ID/complete" \
-H "Authorization: Bearer $PCIFIC_TEST_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{"marketplaceName":"Bramble","listingUrl":"https://bramble.example/listing-123"}'HTTP 400. The request itself needs changing: a field, header, address or body is not in the form this address takes.
curl -X PUT "https://business.pcific.ai/api/v1/pixel-trace/settings" \
-H "Authorization: Bearer $PCIFIC_TEST_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{"minPhotos":3,"keepPhotos":false,"publicLevels":["same_photo","likely_same"]}'HTTP 409. The request is well formed, but it does not fit where the work is now.
curl -X PUT "https://business.pcific.ai/api/v1/pixel-trace/settings" \
-H "Authorization: Bearer $PCIFIC_TEST_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{"minPhotos":3,"keepPhotos":false,"publicLevels":["same_photo","likely_same"]}'HTTP 409. The request is well formed, but it does not fit where the work is now.
curl -X PUT "https://business.pcific.ai/api/v1/pixel-trace/settings" \
-H "Authorization: Bearer $PCIFIC_TEST_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{"minPhotos":3,"keepPhotos":false,"publicLevels":["same_photo","likely_same"]}'HTTP 403. PCIFIC knows who is calling, but this caller may not do this right now.
# Sent by PCIFIC's camera page on the seller's phone, not by your server.
curl -X POST "https://business.pcific.ai/api/v1/pixel-trace/camera/$CAPTURE_ID/open" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{"ticket":"5f2c9a7e1b3d4f60a8c2e9b17d4f3a06c5e8b2d19f7a4c3e6b0d8f2a1c5e9b74","deviceKey":{"kty":"EC","crv":"P-256","x":"SLx0dCHYmUdNWdy4flZsfZlnmYs2l-nSWh3xEUq7P6E","y":"vms7zqG76VKqxnHJ4txj8B001SA89SUJuwFNmHIA65o"},"device":{"touchPoints":5,"coarsePointer":true,"screen":[390,844,3],"motion":"granted"}}'HTTP 400. The request itself needs changing: a field, header, address or body is not in the form this address takes.
# Sent by PCIFIC's camera page on the seller's phone, not by your server.
curl -X POST "https://business.pcific.ai/api/v1/pixel-trace/camera/$CAPTURE_ID/open" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{"ticket":"5f2c9a7e1b3d4f60a8c2e9b17d4f3a06c5e8b2d19f7a4c3e6b0d8f2a1c5e9b74","deviceKey":{"kty":"EC","crv":"P-256","x":"SLx0dCHYmUdNWdy4flZsfZlnmYs2l-nSWh3xEUq7P6E","y":"vms7zqG76VKqxnHJ4txj8B001SA89SUJuwFNmHIA65o"},"device":{"touchPoints":5,"coarsePointer":true,"screen":[390,844,3],"motion":"granted"}}'HTTP 409. The request is well formed, but it does not fit where the work is now.
# Sent by PCIFIC's camera page on the seller's phone, not by your server.
curl -X POST "https://business.pcific.ai/api/v1/pixel-trace/camera/$CAPTURE_ID/open" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{"ticket":"5f2c9a7e1b3d4f60a8c2e9b17d4f3a06c5e8b2d19f7a4c3e6b0d8f2a1c5e9b74","deviceKey":{"kty":"EC","crv":"P-256","x":"SLx0dCHYmUdNWdy4flZsfZlnmYs2l-nSWh3xEUq7P6E","y":"vms7zqG76VKqxnHJ4txj8B001SA89SUJuwFNmHIA65o"},"device":{"touchPoints":5,"coarsePointer":true,"screen":[390,844,3],"motion":"granted"}}'HTTP 403. PCIFIC knows who is calling, but this caller may not do this right now.
# Sent by PCIFIC's camera page on the seller's phone, not by your server.
curl -X POST "https://business.pcific.ai/api/v1/pixel-trace/camera/$CAPTURE_ID/move" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{"ticket":"5f2c9a7e1b3d4f60a8c2e9b17d4f3a06c5e8b2d19f7a4c3e6b0d8f2a1c5e9b74","deviceKey":{"kty":"EC","crv":"P-256","x":"SLx0dCHYmUdNWdy4flZsfZlnmYs2l-nSWh3xEUq7P6E","y":"vms7zqG76VKqxnHJ4txj8B001SA89SUJuwFNmHIA65o"},"device":{"touchPoints":5,"coarsePointer":true,"screen":[390,844,3],"motion":"granted"},"moveCode":"K7P2QM"}'HTTP 403. PCIFIC knows who is calling, but this caller may not do this right now.
# Sent by PCIFIC's camera page on the seller's phone, not by your server.
curl -X POST "https://business.pcific.ai/api/v1/pixel-trace/camera/$CAPTURE_ID/move" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{"ticket":"5f2c9a7e1b3d4f60a8c2e9b17d4f3a06c5e8b2d19f7a4c3e6b0d8f2a1c5e9b74","deviceKey":{"kty":"EC","crv":"P-256","x":"SLx0dCHYmUdNWdy4flZsfZlnmYs2l-nSWh3xEUq7P6E","y":"vms7zqG76VKqxnHJ4txj8B001SA89SUJuwFNmHIA65o"},"device":{"touchPoints":5,"coarsePointer":true,"screen":[390,844,3],"motion":"granted"},"moveCode":"K7P2QM"}'HTTP 409. The request is well formed, but it does not fit where the work is now.
curl "https://business.pcific.ai/api/v1/pixel-trace/captures/$CAPTURE_ID" \
-H "Authorization: Bearer $PCIFIC_TEST_KEY"HTTP 400 or 403. The request itself needs changing: a field, header, address or body is not in the form this address takes. PCIFIC knows who is calling, but this caller may not do this right now.
# Sent by PCIFIC's camera page on the seller's phone, not by your server.
curl -X POST "https://business.pcific.ai/api/v1/pixel-trace/camera/$CAPTURE_ID/shots" \
-H "Cookie: pixel_trace_camera=$CAMERA_COOKIE" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{"shotId":"3f8b2c1d-9e4a-4b7f-8c6d-2a1e5f9b0c73","signature":"PcK-Aqo3XWeVW-QmdChdkeJIzWuFWIG14tYHVdWuZSW6rBDPO_uoWsDO3ioiYooK0VzLJHvAZ8wPkCuO4FV45Q"}'HTTP 403. PCIFIC knows who is calling, but this caller may not do this right now.
# Sent by PCIFIC's camera page on the seller's phone, not by your server.
curl -X POST "https://business.pcific.ai/api/v1/pixel-trace/camera/$CAPTURE_ID/shots" \
-H "Cookie: pixel_trace_camera=$CAMERA_COOKIE" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{"shotId":"3f8b2c1d-9e4a-4b7f-8c6d-2a1e5f9b0c73","signature":"PcK-Aqo3XWeVW-QmdChdkeJIzWuFWIG14tYHVdWuZSW6rBDPO_uoWsDO3ioiYooK0VzLJHvAZ8wPkCuO4FV45Q"}'HTTP 409. The request is well formed, but it does not fit where the work is now.
# Sent by PCIFIC's camera page on the seller's phone, not by your server.
curl -X POST "https://business.pcific.ai/api/v1/pixel-trace/camera/$CAPTURE_ID/shots" \
-H "Cookie: pixel_trace_camera=$CAMERA_COOKIE" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{"shotId":"3f8b2c1d-9e4a-4b7f-8c6d-2a1e5f9b0c73","signature":"PcK-Aqo3XWeVW-QmdChdkeJIzWuFWIG14tYHVdWuZSW6rBDPO_uoWsDO3ioiYooK0VzLJHvAZ8wPkCuO4FV45Q"}'HTTP 409. The request is well formed, but it does not fit where the work is now.
# Sent by PCIFIC's camera page on the seller's phone, not by your server.
curl -X POST "https://business.pcific.ai/api/v1/pixel-trace/camera/$CAPTURE_ID/shots" \
-H "Cookie: pixel_trace_camera=$CAMERA_COOKIE" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{"shotId":"3f8b2c1d-9e4a-4b7f-8c6d-2a1e5f9b0c73","signature":"PcK-Aqo3XWeVW-QmdChdkeJIzWuFWIG14tYHVdWuZSW6rBDPO_uoWsDO3ioiYooK0VzLJHvAZ8wPkCuO4FV45Q"}'HTTP 410. What the address points at existed, but has closed for good.
# Sent by PCIFIC's camera page on the seller's phone, not by your server.
curl -X POST "https://business.pcific.ai/api/v1/pixel-trace/camera/$CAPTURE_ID/photos" \
-H "Cookie: pixel_trace_camera=$CAMERA_COOKIE" \
-H "Idempotency-Key: $(uuidgen)" \
-H "x-pixel-trace-shot: $PIXEL_TRACE_SHOT" \
-H "x-pixel-trace-shot-code: $PIXEL_TRACE_SHOT_CODE" \
-H "x-pixel-trace-signature: $PIXEL_TRACE_SIGNATURE" \
-F "photo=@photo.jpg;type=image/jpeg" \
-F "evidence=<evidence.json"HTTP 400. The request itself needs changing: a field, header, address or body is not in the form this address takes.
# Sent by PCIFIC's camera page on the seller's phone, not by your server.
curl -X POST "https://business.pcific.ai/api/v1/pixel-trace/camera/$CAPTURE_ID/photos" \
-H "Cookie: pixel_trace_camera=$CAMERA_COOKIE" \
-H "Idempotency-Key: $(uuidgen)" \
-H "x-pixel-trace-shot: $PIXEL_TRACE_SHOT" \
-H "x-pixel-trace-shot-code: $PIXEL_TRACE_SHOT_CODE" \
-H "x-pixel-trace-signature: $PIXEL_TRACE_SIGNATURE" \
-F "photo=@photo.jpg;type=image/jpeg" \
-F "evidence=<evidence.json"HTTP 400. The request itself needs changing: a field, header, address or body is not in the form this address takes.
# Sent by PCIFIC's camera page on the seller's phone, not by your server.
curl -X POST "https://business.pcific.ai/api/v1/pixel-trace/camera/$CAPTURE_ID/photos" \
-H "Cookie: pixel_trace_camera=$CAMERA_COOKIE" \
-H "Idempotency-Key: $(uuidgen)" \
-H "x-pixel-trace-shot: $PIXEL_TRACE_SHOT" \
-H "x-pixel-trace-shot-code: $PIXEL_TRACE_SHOT_CODE" \
-H "x-pixel-trace-signature: $PIXEL_TRACE_SIGNATURE" \
-F "photo=@photo.jpg;type=image/jpeg" \
-F "evidence=<evidence.json"HTTP 400. The request itself needs changing: a field, header, address or body is not in the form this address takes.
# Sent by PCIFIC's camera page on the seller's phone, not by your server.
curl -X POST "https://business.pcific.ai/api/v1/pixel-trace/camera/$CAPTURE_ID/photos" \
-H "Cookie: pixel_trace_camera=$CAMERA_COOKIE" \
-H "Idempotency-Key: $(uuidgen)" \
-H "x-pixel-trace-shot: $PIXEL_TRACE_SHOT" \
-H "x-pixel-trace-shot-code: $PIXEL_TRACE_SHOT_CODE" \
-H "x-pixel-trace-signature: $PIXEL_TRACE_SIGNATURE" \
-F "photo=@photo.jpg;type=image/jpeg" \
-F "evidence=<evidence.json"HTTP 422. The body was read, but what it holds cannot be used.
# Sent by PCIFIC's camera page on the seller's phone, not by your server.
curl -X POST "https://business.pcific.ai/api/v1/pixel-trace/camera/$CAPTURE_ID/photos" \
-H "Cookie: pixel_trace_camera=$CAMERA_COOKIE" \
-H "Idempotency-Key: $(uuidgen)" \
-H "x-pixel-trace-shot: $PIXEL_TRACE_SHOT" \
-H "x-pixel-trace-shot-code: $PIXEL_TRACE_SHOT_CODE" \
-H "x-pixel-trace-signature: $PIXEL_TRACE_SIGNATURE" \
-F "photo=@photo.jpg;type=image/jpeg" \
-F "evidence=<evidence.json"