Connect Push API to SiteOps
Every other connection in SiteOps pulls data from someone else's system — Google, Stripe, YouTube. The Push API works the other way around. You send the numbers, in one small web request, and SiteOps charts them next to everything else.
It exists for the data no external tool can see. Cash sales. A payment provider without an API. Bookings kept in a spreadsheet. Signups counted by your own backend. If you can print the number, you can push it.
There is no vendor account, no verification and no approval to wait for. You generate a key inside SiteOps, copy a ready-made request, and run it. The first ping connects you. A daily scheduled job keeps you connected.
Quick links
What SiteOps reads
- Only what you send. SiteOps stores the metric name, the value and the date from each push — nothing else, because there is no external account to read from.
- The pushed values are drawn on the dashboard cards and offered to auto-rules as watchable metrics.
- SiteOps never writes anything back to your systems through this connection. The Push API is one-way: your server talks, SiteOps listens.
- Deleting the key stops new data immediately. Numbers already pushed stay on your charts until you remove the project.
Set it up, step by step
0 of 10 done
- Settings
- Push API
- Settings
- Push API
Let an agent do it
An agent with access to your server can write and schedule the daily push job for you.
Set up a daily SiteOps Push API job on my server.
1. Use the ready-made curl request from my SiteOps settings (Settings, Push API) — same URL, same headers, same JSON shape. The key starts with sk_push_; read it from an environment variable (SITEOPS_PUSH_KEY), never hard-code it.
2. Write a small script that computes yesterday's <metric, e.g. revenue> from <where the number lives — a database query, an export> and POSTs it with yesterday's date in <my timezone>.
3. Make it retry on failure — pushing the same date twice overwrites rather than double-counts, so retries are safe by design.
4. Add a cron entry that runs it each morning, for example 15 6 * * *.
5. Run it once now and confirm a success response — the Push API row in SiteOps flips to Connected on the first ping.You still generate the sk_push_ key in SiteOps settings and hand it to the job as a secret yourself.
If something does not work
- I ran the curl line but the status still says not connected
- The request probably never reached SiteOps. Check that the command printed a success response rather than an error. The most common causes are a key pasted with a character missing, quotes broken by a rich-text editor, or a corporate network blocking outbound requests. Copy the ready-made line again directly from Settings and run it from a plain terminal.
- Which key do I paste — I see several keys across my projects
- Use the key generated inside the project you want the numbers to appear in. Push keys start with sk_push_ and belong to exactly one project. A Stripe key or any other provider's key will not work here, and a push key from project A will land numbers in project A even if you meant project B.
- The chart is empty even though my pushes succeed
- Check the date in the payload. If your job pushes with today's date shortly after midnight in a different timezone, the value may sit on a day you are not looking at. Widen the dashboard's time range to the last 7 days and look for the value on a neighbouring day. Fix the job to push yesterday's date in your project's timezone.
- My daily job pushed twice — are the numbers doubled now
- No. A push for a date replaces the previous value for that date, it does not add to it. Double runs, retries and manual re-pushes are all safe. If a day shows a wrong value, push the correct one for that same date and it overwrites.
- Pings stopped working after I regenerated the key
- That is expected — regenerating invalidates the old key immediately. Find every job still sending with the old key (cron entries, n8n or Zapier workflows, scripts on other machines) and paste in the new one. History is untouched; pushes resume as soon as one job uses the new key.