Tracker API endpoints
Create weekly or monthly trackers over rankings, comparisons, citations or sentiment, confirm the per-run cost, then read stored results over REST.
Lifecycle
A tracker reruns 1–30 prompts weekly or monthly for one measurement: rankings, compare, citations, or sentiment. It stores results and changes.
DRAFT: saved, with no runs enabled.ACTIVE: scheduled and manual runs enabled.PAUSED: future runs stop; configuration and history remain.
estimatedCostMicroPerRun exactly into maxCostMicroPerRun; Cite42 pauses before any run above that limit.Create and activate
1. Create a Draft tracker
This example runs weekly on Monday (weekday: 1; Sunday is 0).
curl -X POST https://www.cite42.dev/api/v1/trackers \
-H "Authorization: Bearer $CITE42_API_KEY" \
-H "Content-Type: application/json" \
-d '{"name":"Acme CRM weekly visibility","cadence":{"frequency":"weekly","timezone":"Europe/London","time":"09:00","weekday":1},"primitive":"rankings","competitors":["Acme CRM","Rival CRM","Legacy CRM"],"models":["chatgpt","perplexity","gemini"],"prompts":["best startup CRM","Which startup CRM is quickest to set up?","What CRM should a small sales team use?"]}'Review the returned estimate before activation:
{
"tracker": {
"id": "6d9d6580-4cef-4b84-8804-2e90d9e57c9a",
"name": "Acme CRM weekly visibility",
"status": "DRAFT",
"cadence": {
"frequency": "weekly",
"timezone": "Europe/London",
"time": "09:00",
"weekday": 1
},
"primitive": "rankings",
"prompts": [
"best startup CRM",
"Which startup CRM is quickest to set up?",
"What CRM should a small sales team use?"
],
"brand": null,
"competitors": [
"Acme CRM",
"Rival CRM",
"Legacy CRM"
],
"url": null,
"models": [
"chatgpt",
"perplexity",
"gemini"
],
"estimatedCostMicroPerRun": 39000,
"maxCostMicroPerRun": null,
"nextRunAt": null,
"lastRunAt": null,
"pauseReason": null,
"createdAt": "2026-08-17T08:30:00.000Z",
"updatedAt": "2026-08-17T08:30:00.000Z"
}
}2. Confirm the exact estimate
Send the returned integer unchanged. If it changes, activation returns 409 cost_estimate_changed with the new amount.
curl -X POST https://www.cite42.dev/api/v1/trackers/6d9d6580-4cef-4b84-8804-2e90d9e57c9a/activate \
-H "Authorization: Bearer $CITE42_API_KEY" \
-H "Content-Type: application/json" \
-d '{"maxCostMicroPerRun":39000}'The response includes status: "ACTIVE", the accepted maximum, and nextRunAt.
Run now and read results
Queue an immediate run
An Active tracker needs a new, non-secret requestToken per run. Reuse it only to retry that run: a new run returns 202; a replay returns 200 without another charge.
curl -X POST https://www.cite42.dev/api/v1/trackers/6d9d6580-4cef-4b84-8804-2e90d9e57c9a/runs \
-H "Authorization: Bearer $CITE42_API_KEY" \
-H "Content-Type: application/json" \
-d '{"requestToken":"weekly-ai-visibility-2026-08-17"}'Read stored history
Poll the report for status and results. It returns 20 runs by default; limit accepts 1–100.
curl -X GET https://www.cite42.dev/api/v1/trackers/6d9d6580-4cef-4b84-8804-2e90d9e57c9a/report?limit=20 \ -H "Authorization: Bearer $CITE42_API_KEY"
{ tracker, runs } lists newest runs first, with status, costs and prompt results. Comparable completed results include a delta. Percentage-point changes need at least 10 answers per group and do not prove cause.
Operations
Inputs, results, and limits
- Create:
nameis 1–100 characters. Set weekly or monthlyfrequency, IANAtimezone, HH:mmtime, andweekday(0–6) ormonthday(1–31). An out-of-range monthday runs on that month’s last day. - Definition: one
primitiveand 1–30prompts. Shared fields arecompetitorsfor rankings/compare,brandfor compare/sentiment, and optionalurlfor citations. Unused fields are rejected. Limit: 25 trackers per account. - Surfaces:
modelsapplies to every prompt. Omit it for the three defaults or list models explicitly; trackers have nofullSweep. - Update:
PATCHreplaces the whole definition. Send every field; any edit returns to Draft and clears recurring authorization. - Manual runs:
requestTokenis 1–200 characters; at most three may be queued or running per account. - Delete: pause first and wait for queued/running work. Configuration and history are removed; financial records remain.
- Results: runs can be Queued, Running, Completed, Partial, or Failed. Check
pauseReasonwhen a tracker pauses automatically.
Billing and automatic pauses
Management and reports are free. Scheduled and manual runs bill only successful prompts at current rates; reports show estimatedCostMicro and billedCostMicro.
Here, 3 prompts across three surfaces estimate at $0.39 per run, about $1.69 monthly at current prices. Activation approves the per-run maximum, not the projection.
402 insufficient_credits means the balance cannot cover one run. Otherwise, activation returns the balance, per-run cost, and runsDryAt estimate.
Cite42 pauses for higher estimates, low funds, spend limits, closed accounts, or invalid inputs/schedules. Email covers activation, runs, pauses, and deletion; there are no webhooks. Poll status and pauseReason.