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: truein 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) andstarting_after; follownext_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-sourcenames the server file that implements it, andx-scopeslists the permissions it needs.