Quickstart
If you opened this from the app, copy your secret ID from the home screen and send it as a Bearer token to /notify.
Try it right now
Same payload in each tab. Use https://api.islandpulse.dev/notify and replace YOUR_SECRET_ID with your value from the app.
curl -X POST "https://api.islandpulse.dev/notify" \ -H "Authorization: Bearer YOUR_SECRET_ID" \ -H "Content-Type: application/json" \ -d '{ "action": "update", "job_id": "deployment-check", "title": "Deploy Status", "message": "Building project...", "status": "running", "accentColor": "#00FFDD" }'const url = "https://api.islandpulse.dev/notify";const payload = { action: "update", job_id: "deployment-check", title: "Deploy Status", message: "Building project...", status: "running", accentColor: "#00FFDD"};
fetch(url, { method: 'POST', headers: { 'Authorization': 'Bearer YOUR_SECRET_ID', 'Content-Type': 'application/json' }, body: JSON.stringify(payload)});import requests
url = "https://api.islandpulse.dev/notify"payload = { "action": "update", "job_id": "deployment-check", "title": "Deploy Status", "message": "Building project...", "status": "running", "accentColor": "#00FFDD"}
requests.post(url, headers={"Authorization": "Bearer YOUR_SECRET_ID"}, json=payload)2. Finish the job
When your automation finishes, send one final update with status: "success" or status: "failed" to resolve the Live Activity.
curl -X POST "https://api.islandpulse.dev/notify" \ -H "Authorization: Bearer YOUR_SECRET_ID" \ -H "Content-Type: application/json" \ -d '{ "action": "update", "job_id": "deployment-check", "title": "Deploy Status", "message": "Built in 42s", "status": "success" }'Webhook URL
Island Pulse gives you one secret (uniqueID) shown on the home screen.
- Treat it like a password. Use CI secrets; don’t commit it to public repos.
Authentication (required)
Use Bearer auth with /notify:
curl -X POST "https://api.islandpulse.dev/notify" \ -H "Authorization: Bearer YOUR_SECRET_ID" \ -H "Content-Type: application/json" \ -d '{ "job_id": "deployment-check", "message": "Building project...", "status": "running" }'/notify accepts the secret only via Authorization: Bearer <id>.
Next steps
Explore how to customize your pulses for metrics, sports, or heavy CI/CD workflows. For every request field in one place, see the Payload Reference.