v1 · online · JWT secured

The membership engine
for modern organisations

A multi-tenant membership management API that powers members, memberships, loyalty, rewards, virtual cards, KYC, insurance, campaigns and recruitment — all under one roof.

membership-api — zsh
$ curl https://api.membership.com/api/v1/auth/login \
    -d '{"email":"member@org.co.za","password":"••••••••"}'

→ 200 OK
{
  "access_token": "eyJhbGciOi...",
  "token_type": "Bearer",
  "expires_in": 900,
  "refresh_token": "eyJhbGciOi..."
}

Everything a membership business needs

One consistent, versioned API with JWT auth, MFA and clean JSON:API-shaped responses.

🎟️

Members & Memberships

Manage members, membership tiers, renewals, expiry and lifecycle states.

GET /api/v1/members
🏆

Loyalty & Rewards

Wallets, points, reward catalogues and redemptions that keep members engaged.

GET /api/v1/loyalty_wallets
💳

Virtual Cards

Issue virtual membership cards with dynamic QR codes for every member.

POST /api/v1/virtual_cards
🛡️

KYC & Compliance

Collect, review, approve or reject identity documents and consent records.

POST /api/v1/kyc_records/:id/approve
🩺

Insurance

Products, packages, quotes and policies with per-package rate tables.

GET /api/v1/insurance_quotes
🤝

Recruitment

Job postings, applications, interviews, pipeline stages and hiring workflows.

GET /api/v1/recruitment/jobs
📢

Campaigns & Notifications

Launch campaigns, track views, and push notifications to members.

GET /api/v1/notifications
🧮

Payments

Store payment methods and reconcile transactions across the platform.

GET /api/v1/payment_transactions
🏢

Multi-tenancy

Organisations, onboarding, member profiles and admin dashboards.

POST /api/v1/organizations/onboarding

Core endpoints

Every request is JSON, every resource is namespaced under /api/v1.

POST /api/v1/auth/signup Create organisation + user
POST /api/v1/auth/login Authenticate and get tokens

Authenticate in 2 calls

Tokens are short-lived (15 min), refresh tokens rotate and are single-use.

step 1 — get a token
$ curl -X POST https://api.membership.com/api/v1/auth/login \
  -H "Content-Type: application/json" \
  -d '{"email":"you@org.co.za","password":"secret"}'
step 2 — call the API
$ curl https://api.membership.com/api/v1/members \
  -H "Authorization: Bearer eyJhbGciOi..."

# → 200 {"data":[{ "id": "1", "type": "member", ... }]}

Ready to build?

Interactive documentation for every endpoint, request, and schema lives at /api-docs.