401 Unauthorized
The push token in the Authorization header is missing, revoked,
or wasn’t registered locally.
Check first:
tokens block should list the project you’re publishing to.
If it doesn’t, register the token:
403 EntitlementExceeded
You’ve hit a hard limit on your plan. The response body names the
breached limit:
projects, events, pushers. See
Pricing for the per-plan limits and
Concepts → Entitlements for how they’re
enforced.
To unblock:
events— wait for the monthly window to reset, or upgrade the plan. On Pro you can also pay for overage at $0.005 per event.pushers— remove an inactive pusher from the project, or upgrade to a plan with more pusher slots.projects— delete an unused project, or upgrade.
403 (no entitlement field)
The token is valid but isn’t scoped to the project you’re trying
to publish to. Tokens are project-scoped at issue time. Mint a
new token from the right project’s settings.
404 NotFound
The project doesn’t exist or your token doesn’t have visibility
into it. Confirm the --project value matches the project name
in the dashboard exactly (case-sensitive).
422 ValidationError
The --data payload doesn’t match the event type’s JSON Schema.
The response body lists the offending fields:
details array — only {"error": "ValidationError"}. The asymmetry is intentional; sparse PATCH
requests don’t always produce meaningful per-field errors.
Check the payload locally before sending:
validate runs the same JSON Schema check with no network call,
so iterating is fast.
429 RateLimited
The token has exceeded its per-minute write quota (60 req/min by
default). Limits apply to the token, not the endpoint.
Recovery:
- Back off and retry. Most clients should use exponential backoff starting at 1s.
- For high-volume publish workloads, switch to batch mode:
no-tickets publish --file events.jsonlsends a JSONL batch in one request instead of one HTTP call per event.
5xx server errors
Transient. The CLI does not auto-retry; wire retries into your
calling code or CI step. Check the
Status page for any ongoing
incident before opening a bug.
CLI failure modes (no HTTP call made)
Some errors happen before the request leaves your machine:See also
- Troubleshooting overview — triage flow
- REST API reference — full error envelope shapes
- Install guide — platform-specific gotchas