REST endpoints v1
The PostPal REST API v1 provides production endpoints for programmatic campaigns and postcards. The most relevant endpoints are currently POST /api/v1/campaigns and POST /api/v1/postcards. Every request needs a valid account API token and is recorded in the API logs. Postcard requests for API flows can also include design-bound Markdown content and API QR values. The official developer documentation is available at `https://app.getpostpal.com/developers/api`; OpenAPI and Postman are available at `https://app.getpostpal.com/developers/api/openapi.json` and `https://app.getpostpal.com/developers/api/postman.json`.
The REST API v1 is the programmatic interface for technical integrations.
Important endpoints:
POST /api/v1/campaigns- create campaigns programmatically.POST /api/v1/postcards- submit postcard requests.
Every request needs an account API token. Use the developer page, OpenAPI file or Postman file to check payload structure and required fields precisely:
- Developer page:
https://app.getpostpal.com/developers/api - OpenAPI JSON:
https://app.getpostpal.com/developers/api/openapi.json - Postman collection:
https://app.getpostpal.com/developers/api/postman.json
When the linked API flow design contains Markdown areas, POST /api/v1/postcards
also expects a content object. Its keys must exactly match the Markdown API
field names defined in the design. Supported syntax is limited to paragraphs,
line breaks, bold, italic, bullet lists and numbered lists. Unsupported syntax,
missing or unknown keys, and content that does not fit the area are rejected with
422; fit errors include additional details in meta.markdown_fit_errors.
Example text from the Studio is not an API fallback. API clients must always
send Markdown content in the content object. Normal editor line breaks are
sent as \n in the JSON payload, for example
"Hallo **Max**,\n\n- Persönlicher Vorteil".
When the linked API flow design contains API QRs with API field names,
POST /api/v1/postcards also expects a qr_codes object. Its keys must exactly match
the QR API field names defined in the design. Each value must be a non-empty
string with at most 2048 characters and must already be the complete scan-ready
HTTP(S) URL. Missing, unknown, empty or non-fitting QR values are rejected with
422; fit errors include additional details in meta.qr_fit_errors. URL
QRs store their target URL in the design and are not submitted in the
qr_codes object.
A simple qr_codes fragment looks like this:
{
"qr_codes": {
"voucher_url_1": "https://example.com/voucher/1",
"voucher_url_2": "https://example.com/voucher/2"
}
}
Frequently asked questions
Which REST endpoints are available?
The v1 API provides endpoints for campaigns and postcards: POST /api/v1/campaigns and POST /api/v1/postcards.
How do I authenticate API requests?
Use an account API token from the PostPal API settings.
Is there machine-readable documentation?
Yes. The developer page is available at https://app.getpostpal.com/developers/api. The OpenAPI specification is available at https://app.getpostpal.com/developers/api/openapi.json, and the Postman collection is available at https://app.getpostpal.com/developers/api/postman.json.
Can POST /api/v1/postcards include longer individual text?
Yes, when the linked API flow design defines Markdown areas. The matching content keys must be submitted; mismatched, missing or overflowing content is rejected with 422.
Can POST /api/v1/postcards include individual QR targets?
Yes, when the linked API flow design defines API QRs with API field names. The matching qr_codes keys must be submitted as complete HTTP(S) URLs. URL QRs are configured in the design and are not submitted in the qr_codes object.