Send your first job update
PingStep receives small lifecycle events from your script. Keep raw output, logs, and job data in your own system.
Before you start: create a job in the dashboard and copy its one-time job token. Save it as a secret in the environment where the script runs.
1. Set two environment variables
PINGSTEP_URL=https://pingstep.dev PINGSTEP_TOKEN=your-job-token
2. Send lifecycle events
Send started at the beginning. Send step with a short stage name when useful, or heartbeat when the script is still connected but there is no new stage. Finish with exactly one explicit succeeded or failed event.
3. Use status carefully
- Running: PingStep has received a recent update.
- Stale: updates stopped after the interval and grace time you chose. This does not prove the job failed.
- Succeeded / failed: your script explicitly reported the final result.
Event API
POST JSON events to https://pingstep.dev/v1/events with Authorization: Bearer YOUR_JOB_TOKEN. Each event needs an ID, job key, run ID, increasing sequence number, event type, RFC 3339 timestamp, and optional data. Step events use data.name; failed events use data.message.
For working examples, use the included simulator in the project repository. It is designed to make every lifecycle state easy to see.