Feature
Async renders with polling and signed callbacks.
Small sets render in one round trip. Large locale and store matrices run async, so CI does not have to hold a build step open while sets render. Track them by polling or connect a signed callback.
Create once, track by render ID
Add async: true to POST /v1/renders and the API answers immediately with 202, a render id (rnd_...), and a polling_url. Send an Idempotency-Key header such as release-42-en-us to make retries safe in CI, with Stripe semantics and no double billing.
GET /v1/renders/{id} returns processing, succeeded, or failed status plus the images, lint report, and credits_used when the render is ready. Polling is the live, supported path for async renders today.
# 1. Create an async render
curl -i https://api.appscreenshotapi.com/v1/renders \
-H "Authorization: Bearer $ASA_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: release-42-en-us" \
-d '{ "async": true, "canvas": { "preset": "appstore.iphone_6_9" }, "slides": [ { "headline": { "lines": ["Track every habit"] }, "screenshot": { "url": "https://acme.app/shots/home.png" } } ] }'
# -> 202 { "id": "rnd_...", "status": "processing", "polling_url": "/v1/renders/rnd_..." }
# 2. Poll until succeeded
curl https://api.appscreenshotapi.com/v1/renders/rnd_... \
-H "Authorization: Bearer $ASA_KEY"Signed events for automation
Supplying webhook_url pushes the finished render object to your callback for downstream steps such as opening a pull request, posting a preview link, or triggering a human review gate.
Deliveries are signed with X-ASA-Signature so release tooling can verify the event before acting on it. Polling GET /v1/renders/{id} remains available for build runners that need inline status.
API details
Create POST /v1/renders with async: true (live)
Poll GET /v1/renders/{id} (live)
Events webhook_url callback with signed payloads (X-ASA-Signature)
Use it in a release pipeline
Render the set from CI with POST /v1/renders, check the compliance lint report, then download the finished images for review before App Store Connect or Google Play upload.