Base URL
Authentication
Send an API key as a bearer token on every request:pj_test_ key runs every request in test mode; a pj_live_ key runs it in live mode. Paths and bodies are identical in both.
Endpoints
Each endpoint has its own page with the full schema under Endpoints in the sidebar.
Conventions
- Headers. Send
Accept: application/jsonon every request andContent-Type: application/jsonwith a body. The preview endpoint returnsimage/png. - Envelope. Successful JSON responses wrap the result in
data. - IDs. IDs are opaque strings with a prefix:
pc_for postcards,sig_for signatures,user_for users. Store them as strings. - Timestamps. ISO 8601 with a UTC offset, such as
2026-10-17T14:31:48+00:00. Fields that haven’t happened yet arenull. - Idempotency.
POST /api/postcardsrequires anIdempotency-Keyheader. See Retry safely. - Errors. A JSON body with
message, pluserrorsfor validation failures. See Errors and rate limits. - Compatibility. We may add fields and status values. Ignore fields you don’t use and handle unknown statuses gracefully.