REST API Overview
The CMS exposes a REST API that mirrors all major platform functions, allowing administrators, partners, and developers to automate operations.
API Design Principles
-
Standards-Based: JSON over HTTPS, aligned with REST conventions.
-
Role-Aware: All calls are scoped to the authenticated user’s role (Platform, Distributor, Partner, Tenant).
-
Secure by Default: Requires bearer tokens obtained through login or federation flows.
-
Consistent Resources: Entities in the API (Distributors, Partners, Tenants, Subscriptions, Usage, Billing, Commissions) align directly with portal objects.
Authentication
-
Login Flow: Obtain a token via the
/api/v1/auth/login
endpoint. -
Federated Tokens: Forward Microsoft Entra or Google tokens for verification at
/api/v1/auth/federated
. -
Token Lifetime: Tokens are time-bound; refresh before expiry to avoid failures.
Core Endpoints
-
Distributors & Partners
-
/api/v1/distributors
– create, list, and manage distributors -
/api/v1/partners
– create, list, and manage partners
-
-
Tenants & Subscriptions
-
/api/v1/tenants
– onboard tenants, assign admins -
/api/v1/subscriptions
– create and manage subscriptions
-
-
Plans & Pricing
-
/api/v1/plans
– publish and update plans -
/api/v1/pricing
– define SKUs, rates, and thresholds
-
-
Usage & Billing
-
/api/v1/usage
– ingest usage data -
/api/v1/billing/summary
– generate subscription and tenant billing summaries
-
-
Commissions
-
/api/v1/commissions/summary
– calculate and retrieve commissions for partners and distributors
-
-
System & Identity
-
/api/v1/settings
– update branding, licensing, and identity configs -
/api/v1/roles
– assign or update user roles
-
Typical Automation Scenarios
-
Tenant Onboarding
Automate tenant creation, subscription assignment, and role setup via API. -
Usage Ingestion
Post usage records into/api/v1/usage
on a scheduled job (e.g., nightly processing per region). -
Billing Automation
Trigger invoice generation and retrieve billing summaries at end-of-month. -
Commission Reconciliation
Automate pulling/commissions/summary
for financial reporting and payouts. -
Integration with External Systems
-
Connect billing output to finance/ERP systems.
-
Forward alerts or health checks to monitoring solutions.
-
Sync user identity with corporate directories.
-
Developer Notes
-
Full Swagger documentation is bundled with the CMS at
/swagger
. -
API clients can be generated automatically from the provided
swagger.json
. -
Rate limits apply to protect system performance; batch operations where possible.