What APIs does RevenueDot have?

One RevenueDot server answers every API below on one port. The reference is generated from openapi.yaml (OpenAPI 3.1), which a script checks against the server's route files on every change, so a path in these pages exists in the code.

API Paths Auth Operations Reference
SDK endpoints and store notifications /v1/..., /rcbilling/... public app key 44 SDK endpoints
REST API v1 /v1/subscribers/... secret key 10 REST API v1
REST API v2 /v2/projects/... secret key or dashboard session 73 REST API v2
RevenueDot extensions /v2/..., /auth/..., /oauth/... secret key, session or none 47 Extensions
Webhooks (sent by RevenueDot) your URL HMAC signature 15 event types Webhook events

Quick example#

Shell
export REVENUEDOT_URL=http://localhost:8787 SECRET_KEY=sk_... PROJECT_ID=proj...
curl -s "$REVENUEDOT_URL/v2/projects/$PROJECT_ID/customers/user_1" -H "Authorization: Bearer $SECRET_KEY"
JSON
{
  "object": "customer",
  "id": "user_1",
  "project_id": "proj18pzzkao",
  "first_seen_at": 1790800914012,
  "last_seen_at": 1790800914034,
  "last_seen_app_version": null,
  "last_seen_country": null,
  "last_seen_platform": null,
  "last_seen_platform_version": null,
  "active_entitlements": {
    "object": "list",
    "items": [
      {
        "object": "customer.active_entitlement",
        "entitlement_id": "entl1v0bp6r0qs",
        "expires_at": 1793392914000
      }
    ],
    "next_page": null,
    "url": "/v2/projects/proj18pzzkao/customers/user_1/active_entitlements"
  },
  "experiment": null
}

Conventions#

  • Compatible first. Paths, field names, list envelopes and error formats follow RevenueCat's public API. Operations that exist only in RevenueDot are marked "RevenueDot extension" and carry x-revenuedot-extension: true in the OpenAPI document.
  • Timestamps. REST v2 and webhooks use epoch milliseconds. SDK customer info uses ISO 8601 strings in UTC with whole seconds.
  • IDs. Customers are addressed by any of their app user ids. Other objects have prefixed ids: proj, app, prod, entl, ofrng, pkge, sub_, wh_, key_.
  • Pagination. limit (1 to 100, default 20) and starting_after; follow next_page.

Use the OpenAPI document#

  • Import openapi.yaml into Postman, Insomnia or Bruno, or generate a client with any OpenAPI 3.1 generator.
  • Each operation's x-source names the server file that implements it, and x-scopes lists the permissions it needs.