Webhooks
Nothing on Appsinity will call you. There is no endpoint registration, no signed delivery, no retry queue and no event feed. Every state change has to be read by asking.
Open Appsinity StudioWhat does not exist
| Feature | Status | Nearest available |
|---|---|---|
| Endpoint registration | None | Not possible |
| Outbound event delivery | None | Poll the read endpoint |
| HMAC signatures on events | None | Not applicable |
| Retry or replay queue | None | Your own scheduler |
| Dead-letter or failure view | None | Your own log |
| Build-signed notification | None | The signer polls every 30 seconds |
| Review notification | None | Re-read /api/listing-reviews |
| Payout status event | None | Read the payout request row |
| Report or takedown alert | None | Email from support |
Polling loops that work
| You want to know | Ask this | Sane interval | What changed looks like |
|---|---|---|---|
| A build finished signing | GET /api/listings/:id | 60s until done, then stop | signingStatus and signedApkUrl |
| A review was posted | GET /api/listing-reviews | 5 to 15 min | A newer updatedAt than your last seen |
| Traffic moved | GET /api/listing-analytics | hourly or daily | A larger downloads or visits |
| A listing went live | GET /api/catalog or the listing | 5 min | The row appears or its status changes |
| A payout progressed | the payout request document | daily | Its status field |
| A stream started | GET /api/streams/scheduled | at the scheduled minute | The entry's live state |
Designing a poller
- Store a cursor. Keep the last value you acted on — a timestamp, a status, a count — and only fire on a change.
- Back off on error. Exponential backoff up to a floor of about sixty seconds. A 500 here is transient more often than not.
- Re-auth once on 401. Fetch a fresh token, retry once, then stop and alert rather than looping against an expired session.
- Respect that reads are cheap. These are indexed aggregates, so a modest interval costs the platform little. What hurts is a loop that fans out per listing.
- Treat absence as unknown. Nothing tells you that a decision was made. No change means no information, not approval.
Frequently asked questions
Is a webhook planned?
No. Nothing in the current platform calls out to a developer endpoint, and this page exists so the absence is not discovered mid-integration.
How do I learn that my listing was suspended?
You do not get a push. The status is visible in Studio and in the listing document, and the store's catalogue read simply stops including the row.
Can I at least get an email?
Email exists for account events: verification codes, team invitations and app-deletion confirmation. Not for publishing state.
How often can I poll?
There is no documented quota, see Rate limits. Poll at a human interval and keep a cursor so a run is cheap.
Developer publishing support: [email protected]
General support: [email protected]
Partnerships: [email protected]
APPSINITY