# Four by Six > Four by Six prints photos onto real 4x6 photo paper and puts them in the mail. > Partners integrate over one REST endpoint: you POST an order carrying links to > images in your own storage, and we pull the bytes and print them. There is no > SDK, no payment flow, no webhooks and no callbacks. The one thing integrations get wrong: each item's `source.url` is normally a presigned URL, and if it has already expired when we reach it that item is dead and so is the order. Mint the URLs immediately before you POST, with a TTL of at least 15 minutes. There is no recovery path and no endpoint to push a fresh URL to — the order stops in `blocked` and you resubmit under a new `order_ref`. ## API documentation - [Partner API](https://www.fourbysix.co/docs/partner-api.md): the complete integration guide, in markdown. Authentication, the single write endpoint `POST /v1/orders`, idempotency on `order_ref`, order and item states, the error envelope, and runnable Python and TypeScript clients. - [Order JSON Schema](https://www.fourbysix.co/docs/order.schema.json): the machine-readable contract for a `POST /v1/orders` body, JSON Schema draft 2020-12. Both example payloads validate against it. Two rules it cannot express are enforced anyway: `item_ref` must be unique within an order, and `items` is capped at the account's own limit rather than a fixed number. - [Example payload: photo print](https://www.fourbysix.co/docs/examples/photo-print.json): a two-item `photo_print` order, one item with `quantity: 2`. - [Example payload: postcard](https://www.fourbysix.co/docs/examples/postcard.json): a `postcard` order — a `postcard_front` item and the rendered `postcard_back`. ## Contact - [hello@fourbysix.co](mailto:hello@fourbysix.co): request an API key, or ask for limits above the defaults. Keys are issued by a person; there is no self-service signup and no dashboard.