Webhooks push HTTP notifications to your endpoint whenever a build event happens — uploaded, approved, rejected, distributed. Use them to trigger deploys, post alerts, kick off tests, or mirror pipeline state into your monitoring stack.Documentation Index
Fetch the complete documentation index at: https://docs.streampixel.io/llms.txt
Use this file to discover all available pages before exploring further.
Set up a webhook
Choose events
Tick the checkboxes for the build events you want to receive. At least one event must be selected while a webhook URL is set.
Your endpoint must be reachable from the internet and able to accept HTTP POST requests with a JSON body.
Events
Streampixel emits a webhook at each stage of the build pipeline.| Event | Description |
|---|---|
build.uploaded | A new build file has been uploaded to the project. |
build.downloading | The build file is being downloaded for processing. |
build.extracting | The build file is being extracted and scanned. |
build.saving | The build is being saved to the repository. |
build.distributing | The build is being distributed to streaming servers. |
build.approved | The build has been reviewed and approved. |
build.rejected | The build has been reviewed and rejected. |
build.distributing.
Payload
Every webhook is anHTTP POST request with Content-Type: application/json.
The event type (e.g.,
build.approved). See the events table above.The Streampixel project ID.
The unique identifier of the uploaded build.
The URL of the build file, when available.
Raw pipeline status (e.g.,
Approved, Reject, Distribute).The reason for rejection. Only populated when
event is build.rejected.ISO 8601 timestamp of when the event occurred.
Examples
Testing your endpoint
Save a webhook URL in Project Settings, then click the Test Webhook button to send awebhook.test payload to that URL. The dashboard reports the result:
- Success — “Webhook delivered successfully.” Your endpoint responded with a
2xxstatus. - Failure — An error toast. Verify the URL is correct, publicly accessible over HTTPS, and returns a
2xxresponse.
Filtering events
Choose exactly the events you care about with the checkboxes in Project Settings. At least one event must be selected while a webhook URL is set — there is no “all” default, so a new webhook receives nothing until you tick the events you want:- Only care about final outcomes? Select just
build.approvedandbuild.rejected. - Want full pipeline visibility? Tick all seven events.
- Monitoring distribution? Select
build.distributingandbuild.approved.
Best practices
Receiving webhooks
- Node.js (Express)
- Python (Flask)
Troubleshooting
| Problem | Solution |
|---|---|
| Test webhook fails | Ensure your URL is publicly accessible (not localhost). For local development, use a tool like ngrok. |
| Not receiving webhooks | Verify the correct events are checked in Project Settings and that your webhook URL is saved. |
| Receiving timeouts | Your endpoint must respond within 10 seconds. Move heavy work to a background job. |
| Missing events | Streampixel does not retry failed deliveries. If your server was down when the event fired, the notification is lost. Check your server logs. |
| Unexpected payload format | Ensure your server parses the Content-Type: application/json body correctly. |
| Duplicate events | Use uploadId + event as an idempotency key to skip duplicates. |
Quick reference
| Detail | Value |
|---|---|
| HTTP method | POST |
| Content type | application/json |
| Timeout | 10 seconds |
| Retries | None |
| Events available | 7 build pipeline events + 1 test event |
Next steps
Distribute a build
Combine
build.approved events with the Distribute API for a controlled CI/CD flow.Upload File API
The endpoint that triggers the build pipeline events documented above.