Webhooks
How the platform uses webhooks and how you can get event notifications.
Build status updates
The build workers (Android/iOS) report status to the API by calling an incoming webhook:
POST http://localhost:3001/api/builds/webhook/status
Header: x-build-secret: <BUILD_SERVER_SECRET or MAC_BUILDER_SECRET>
Body: {
buildId: string,
status: "IN_PROGRESS" | "COMPLETED" | "FAILED",
artifactPath?: string,
errorLog?: string,
sizeBytes?: string,
workerId?: string
}This endpoint is for the platform build servers only. As a developer, to know when a build finishes, poll GET /api/apps/:appId/builds or use the build list in the Builder / Super Admin dashboard.
Billing webhooks (platform)
Stripe and PayPal send payment events to the platform at POST /api/billing/webhook and POST /api/billing/webhook/paypal. These are used for subscriptions and marketplace payments. Configuration is platform-level (STRIPE_WEBHOOK_SECRET, PAYPAL_WEBHOOK_ID). There is no per-tenant webhook URL for billing events.
Outbound webhooks (notifications)
The notifications module can send HTTP callbacks to a URL (e.g. for alerts or custom integrations). This is used internally by the platform. If you need a public API to register your own webhook URL for build or app events, check the roadmap or contact support.
Summary
- Build status: Poll
GET /api/apps/:appId/buildsfor build list and status. - Incoming webhook (builds): Only for build workers; requires
x-build-secret. - Billing: Handled by the platform; no developer-configurable billing webhook.