Every error Orbit can return, from photo uploads to price checks, and every way a listing can fail after it starts, with the mistakes integrations make most often first.
Most Orbit error bodies have a docs link to their section on this page (or, for key, credit and limit errors, on the shared errors page). A listing that fails after it was accepted shows status failed and the same error, with its docs link, when you read it back. 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.
Orbit fills your published listing fields, so with none published every listing is 409 ORBIT_NO_SCHEMA. Publish them first (Set up your listing fields). A request with no notes, details or images is 400 NOTHING_TO_LIST, and notes under 4 characters with nothing else is 400 NOTES_TOO_SHORT.
POST /api/v1/images takes a multipart/form-data form with one file field per photo, like curl -F "photo=@front.jpg". JSON or base64 text is 400 NOT_A_FORM. iPhone HEIC photos, damaged files and photos over 15 MB are 422 PHOTOS_REFUSED, with problems naming each one: convert HEIC to JPEG first. More than 12 photos in one upload is 422 TOO_MANY_PHOTOS.
images in POST /api/v1/listings takes the ids POST /api/v1/images answered. A photo address or file name there is 400 INVALID_FIELD at /images/0. Ids last 30 minutes and belong to the business that uploaded them, so an old id, or another business's, is 422 PHOTOS_NOT_FOUND, with problems naming each place such as /images/1.
Answers are taken only while the listing's status is questions. Sending them while it is working, or after it finished, is 409 LISTING_NOT_READY. Each answer's id must be the id of one of the listing's questions: 422 UNKNOWN_QUESTION otherwise.
409 ORBIT_PROCESSING_EXPIRED means this runId has reached deadlineAt. Retry cannot extend the processing ceiling and reserves no credit. Start a new listing with the seller's notes, details and unexpired photo ids.
A 202 means Orbit started. If it then fails, reading the listing shows status failed with an error such as ORBIT_TIMED_OUT, ORBIT_NO_CATEGORY or ORBIT_PHOTOS_DONT_MATCH. Retry a timeout with POST .../retry. A missing category or photos that do not match need the seller to change what they sent.
price: true needs the price check switched on in Orbit's settings (409 PRICING_OFF otherwise), and safeguard: true or faq: true needs Safeguard switched on (409 SAFEGUARD_OFF).
Listings are kept for 30 minutes after their last change. Save the finished listing as soon as its status is listing. An older id is 404 NOT_FOUND.
An unknown runId is 404 NOT_FOUND. For a known listing, 409 MONITORING_OFF means Orbit full monitoring is off for this business. Choose full monitoring on the dashboard Privacy page, then start a new listing and report its outcome.
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/images" \
-H "Authorization: Bearer $PCIFIC_TEST_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-F "photos=@front.jpg"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/images" \
-H "Authorization: Bearer $PCIFIC_TEST_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-F "photos=@front.jpg"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/images" \
-H "Authorization: Bearer $PCIFIC_TEST_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-F "photos=@front.jpg"HTTP 422. The body was read, but what it holds cannot be used.
curl -X POST "https://business.pcific.ai/api/v1/images" \
-H "Authorization: Bearer $PCIFIC_TEST_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-F "photos=@front.jpg"HTTP 413. The request is bigger than this address accepts.
curl -X POST "https://business.pcific.ai/api/v1/images" \
-H "Authorization: Bearer $PCIFIC_TEST_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-F "photos=@front.jpg"HTTP 422. The body was read, but what it holds cannot be used.
curl -X POST "https://business.pcific.ai/api/v1/images" \
-H "Authorization: Bearer $PCIFIC_TEST_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-F "photos=@front.jpg"HTTP 502. PCIFIC, or a service it relies on, could not answer.
curl -X POST "https://business.pcific.ai/api/v1/images" \
-H "Authorization: Bearer $PCIFIC_TEST_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-F "photos=@front.jpg"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/images/$ID" \
-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/listings" \
-H "Authorization: Bearer $PCIFIC_TEST_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{"notes":"iPhone 13, good condition, works fine. Selling my old phone. No box. Collection preferred. Asking £315.","details":{"price":{"amount":31500,"currency":"GBP"}},"images":["3f1c2a9e-5b7d-4e21-9c0a-6d8f4b1e7a52"]}'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/listings" \
-H "Authorization: Bearer $PCIFIC_TEST_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{"notes":"iPhone 13, good condition, works fine. Selling my old phone. No box. Collection preferred. Asking £315.","details":{"price":{"amount":31500,"currency":"GBP"}},"images":["3f1c2a9e-5b7d-4e21-9c0a-6d8f4b1e7a52"]}'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/listings" \
-H "Authorization: Bearer $PCIFIC_TEST_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{"notes":"iPhone 13, good condition, works fine. Selling my old phone. No box. Collection preferred. Asking £315.","details":{"price":{"amount":31500,"currency":"GBP"}},"images":["3f1c2a9e-5b7d-4e21-9c0a-6d8f4b1e7a52"]}'HTTP 422. The body was read, but what it holds cannot be used.
curl -X POST "https://business.pcific.ai/api/v1/listings" \
-H "Authorization: Bearer $PCIFIC_TEST_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{"notes":"iPhone 13, good condition, works fine. Selling my old phone. No box. Collection preferred. Asking £315.","details":{"price":{"amount":31500,"currency":"GBP"}},"images":["3f1c2a9e-5b7d-4e21-9c0a-6d8f4b1e7a52"]}'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/listings" \
-H "Authorization: Bearer $PCIFIC_TEST_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{"notes":"iPhone 13, good condition, works fine. Selling my old phone. No box. Collection preferred. Asking £315.","details":{"price":{"amount":31500,"currency":"GBP"}},"images":["3f1c2a9e-5b7d-4e21-9c0a-6d8f4b1e7a52"]}'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/listings" \
-H "Authorization: Bearer $PCIFIC_TEST_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{"notes":"iPhone 13, good condition, works fine. Selling my old phone. No box. Collection preferred. Asking £315.","details":{"price":{"amount":31500,"currency":"GBP"}},"images":["3f1c2a9e-5b7d-4e21-9c0a-6d8f4b1e7a52"]}'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/listings" \
-H "Authorization: Bearer $PCIFIC_TEST_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{"notes":"iPhone 13, good condition, works fine. Selling my old phone. No box. Collection preferred. Asking £315.","details":{"price":{"amount":31500,"currency":"GBP"}},"images":["3f1c2a9e-5b7d-4e21-9c0a-6d8f4b1e7a52"]}'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/listings" \
-H "Authorization: Bearer $PCIFIC_TEST_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{"notes":"iPhone 13, good condition, works fine. Selling my old phone. No box. Collection preferred. Asking £315.","details":{"price":{"amount":31500,"currency":"GBP"}},"images":["3f1c2a9e-5b7d-4e21-9c0a-6d8f4b1e7a52"]}'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/listings" \
-H "Authorization: Bearer $PCIFIC_TEST_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{"notes":"iPhone 13, good condition, works fine. Selling my old phone. No box. Collection preferred. Asking £315.","details":{"price":{"amount":31500,"currency":"GBP"}},"images":["3f1c2a9e-5b7d-4e21-9c0a-6d8f4b1e7a52"]}'HTTP 422. The body was read, but what it holds cannot be used.
curl -X POST "https://business.pcific.ai/api/v1/listings" \
-H "Authorization: Bearer $PCIFIC_TEST_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{"notes":"iPhone 13, good condition, works fine. Selling my old phone. No box. Collection preferred. Asking £315.","details":{"price":{"amount":31500,"currency":"GBP"}},"images":["3f1c2a9e-5b7d-4e21-9c0a-6d8f4b1e7a52"]}'HTTP 422. The body was read, but what it holds cannot be used.
curl -X POST "https://business.pcific.ai/api/v1/listings" \
-H "Authorization: Bearer $PCIFIC_TEST_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{"notes":"iPhone 13, good condition, works fine. Selling my old phone. No box. Collection preferred. Asking £315.","details":{"price":{"amount":31500,"currency":"GBP"}},"images":["3f1c2a9e-5b7d-4e21-9c0a-6d8f4b1e7a52"]}'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/listings/$ID/answers" \
-H "Authorization: Bearer $PCIFIC_TEST_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{"answers":[{"id":"q1","answer":"128"},{"id":"q2","answer":"Good"}]}'HTTP 422. The body was read, but what it holds cannot be used.
curl -X POST "https://business.pcific.ai/api/v1/listings/$ID/answers" \
-H "Authorization: Bearer $PCIFIC_TEST_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{"answers":[{"id":"q1","answer":"128"},{"id":"q2","answer":"Good"}]}'HTTP 500. Something failed on PCIFIC's side, not because of your request.
curl -X POST "https://business.pcific.ai/api/v1/listings/$ID/answers" \
-H "Authorization: Bearer $PCIFIC_TEST_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{"answers":[{"id":"q1","answer":"128"},{"id":"q2","answer":"Good"}]}'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/listings" \
-H "Authorization: Bearer $PCIFIC_TEST_KEY" \
-H "Content-Type: application/json" \
-d '{"notes":"Blue denim jacket in good condition"}'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/listings/$ID/outcome" \
-H "Authorization: Bearer $PCIFIC_TEST_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{"event":"published","changes":[{"field":"title","percentChanged":20}],"finalListing":{"title":"iPhone 13 128GB, good condition, collection preferred","description":"Selling my old phone. No box. Collection preferred.","brand":"Apple","model":"iPhone 13","storage_gb":128,"condition":"Good","price":{"amount":31500,"currency":"GBP"}}}'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/listings/$ID/outcome" \
-H "Authorization: Bearer $PCIFIC_TEST_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{"event":"published","changes":[{"field":"title","percentChanged":20}],"finalListing":{"title":"iPhone 13 128GB, good condition, collection preferred","description":"Selling my old phone. No box. Collection preferred.","brand":"Apple","model":"iPhone 13","storage_gb":128,"condition":"Good","price":{"amount":31500,"currency":"GBP"}}}'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/orbit/settings" \
-H "Authorization: Bearer $PCIFIC_TEST_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{"pricing":true,"currency":"GBP"}'HTTP 504. PCIFIC took longer to answer than the address allows.
curl -X POST "https://business.pcific.ai/api/v1/safeguard/reviews" \
-H "Authorization: Bearer $PCIFIC_TEST_KEY" \
-H "Content-Type: application/json" \
-d '{"orbitRunId":"'"$RUN_ID"'"}'HTTP 504. PCIFIC took longer to answer than the address allows.
curl -X POST "https://business.pcific.ai/api/v1/listings/$RUN_ID/retry" \
-H "Authorization: Bearer $PCIFIC_TEST_KEY" \
-H "Idempotency-Key: $(uuidgen)"HTTP 422. The body was read, but what it holds cannot be used.
curl -X POST "https://business.pcific.ai/api/v1/listings/$RUN_ID/retry" \
-H "Authorization: Bearer $PCIFIC_TEST_KEY" \
-H "Idempotency-Key: $(uuidgen)"HTTP 422. The body was read, but what it holds cannot be used.
curl -X POST "https://business.pcific.ai/api/v1/listings/$RUN_ID/retry" \
-H "Authorization: Bearer $PCIFIC_TEST_KEY" \
-H "Idempotency-Key: $(uuidgen)"HTTP 422. The body was read, but what it holds cannot be used.
curl -X POST "https://business.pcific.ai/api/v1/listings/$RUN_ID/retry" \
-H "Authorization: Bearer $PCIFIC_TEST_KEY" \
-H "Idempotency-Key: $(uuidgen)"HTTP 502. PCIFIC, or a service it relies on, could not answer.
curl -X POST "https://business.pcific.ai/api/v1/listings/$RUN_ID/retry" \
-H "Authorization: Bearer $PCIFIC_TEST_KEY" \
-H "Idempotency-Key: $(uuidgen)"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/listings/$RUN_ID/retry" \
-H "Authorization: Bearer $PCIFIC_TEST_KEY" \
-H "Idempotency-Key: $(uuidgen)"