Skip to main content
ONE closed vocabulary for both ways a photo arrives — the URL push and the presigned upload — so you write one switch rather than two lists of near-synonyms.
  • url_refused — we will not fetch that URL. It must be https, on a public DNS name, on port 443 or 8443, with no redirects. Addresses inside private, loopback, link-local or cloud-metadata ranges are refused, and the check is made against the address the name resolves to at the moment we connect. URL push only.
  • fetch_failed — your server did not answer, timed out, redirected, or returned a non-2xx status. Retryable: push again. URL push only.
  • unsupported_type — not image/jpeg, image/png or image/webp.
  • too_large — over the size ceiling.
  • processing_failed — we had the bytes and could not publish the image. This also covers a photo our automated review declined.
  • upload_missing — you asked for an upload form and the bytes never arrived. Nothing was wrong with the image, because there was no image: presign again and complete the upload. Presigned uploads only.

Values

In Maat

The published set is exactly Maat’s own PartnerPhotoRejectionReason. A member added to one and not the other fails our build.

Where it appears

Fields
  • PhotoRejection · reason
  • PropertyPhoto · rejection_reason
Operations
  • PUT /properties/{provider_id} — Create or replace a property
  • GET /properties/{property_id}/photos — List a property’s photos
  • PUT /properties/{property_id}/photos/order — Arrange a property’s photos