Clean REST endpoints, OpenAPI 3.1 specced, webhooks, and signed payloads. Designed for production.
All requests use bearer token authentication. Keys are scoped per environment.
curl https://api.praeva.club/v1/members \
-H "Authorization: Bearer prv_live_xxx" \
-H "Content-Type: application/json" \
-d '{
"email": "jane@example.com",
"name": "Jane Doe",
"referrer_code": "ELEANOR-7X4K",
"consent": { "marketing": true, "policy_version": "2026-01" }
}'{
"id": "mem_01HZK9...",
"email": "jane@example.com",
"name": "Jane Doe",
"status": "Founding",
"referral_code": "JANE-9F2P",
"referrer_id": "mem_01HZ8E...",
"created_at": "2026-06-23T10:14:22Z"
}/v1/members/v1/members/:id/v1/members/:id/v1/members/v1/referrals/v1/referrals/:code/v1/members/:id/referrals/v1/rules/tiers/v1/rules/tiers/v1/listings/v1/listings/v1/listings/:id/v1/listings/:id/v1/leads/v1/webhooks/v1/exports/:dataset/v1/audit| Code | Status | Meaning |
|---|---|---|
| 400 | Bad Request | Invalid payload |
| 401 | Unauthorized | Missing or invalid API key |
| 403 | Forbidden | Insufficient scope |
| 404 | Not Found | Resource does not exist |
| 409 | Conflict | Duplicate referral / email |
| 429 | Rate limited | Too many requests |