Skip to main content
The Rumorly API is plain JSON over HTTPS. Every page in this tab has a playground: paste a secret key and send a real request.

Base URL

When running Rumorly locally, the API listens on http://localhost:4100; pick it from the server menu in the playground.

Authentication

Send a key as a bearer token:
Create and revoke keys in Settings → API keys. A key is shown once, when you create it; Rumorly stores only a hash. Revoking a key takes effect on the next request. Key-authenticated calls need the Growth plan or higher (the signup trial includes it), except erasure, which works on every plan.

Conventions

  • JSON is snake_case, in requests and responses.
  • Money is an integer in minor units in your reporting currency: mrr_cents: 190000 is $1,900.00. currency says which.
  • Timestamps are ISO 8601 in UTC. Date-only query parameters (from, to) are YYYY-MM-DD.
  • Ids are UUIDs. An id from another workspace returns 404, never 403.

Idempotency

POST /v1/responses accepts an Idempotency-Key header (up to 200 characters). The first request with a key creates the response and returns 202; any later request with the same key returns that same response with 200 and creates nothing. Use something stable per answer, such as your signup id.

Pagination

GET /v1/responses returns { "data": [...], "next_cursor": "…" }. Pass next_cursor back as cursor until it’s null. limit is 1–200 (default 50). With updated_since, results are ordered oldest change first, which makes incremental syncs easy.

Rate limits

Publishable keys can submit 10 responses in a burst, then one every 6 seconds, per key and visitor IP. Past that, you get 429 with a Retry-After header. Secret keys aren’t rate-limited; they’re bounded by your monthly allowance.

Errors

Errors are JSON with a human-readable error, and a machine-readable code where one helps:

OpenAPI

The machine-readable spec is served at /v1/openapi.json. It’s generated from the same schemas the API validates with.