Public REST API Overview
Base URL /api/v1, API key auth, permissions, rate limiting
What it is
The Public REST API at /api/v1/ allows external systems to integrate with WHMDC: create clients, fetch products, manage services, create invoices, record payments, and more. It uses API key authentication (not session cookies) and is designed for server-to-server communication.
Start here: API Authentication for keys and headers, API Clients Endpoint and API Invoices Endpoint for full request/response schemas, and Request and Response Format for pagination and error codes.
How it works
Base URL: https://yourdomain.com/api/v1
Authentication: Include your API key in the request:
Authorization: Bearer your_api_key_here
# Or
X-API-Key: your_api_key_here
Response format: JSON. Success responses include success: true and data. Errors include success: false and error message.
API keys can have scoped permissions (e.g. client.*, invoice.create). An optional IP allowlist restricts which servers can use the key.
Example request
curl -X GET "https://yourdomain.com/api/v1/clients" \
-H "Authorization: Bearer your_api_key_here" \
-H "Accept: application/json"
How to set up
- Go to Admin → API Keys (or equivalent).
- Create a new API key. Copy it immediately (it may only be shown once).
- Set permissions (e.g.
client.*for full client access,invoice.createfor creating invoices). - Optionally set an IP allowlist.
- Use the key in your integration (scripts, SaaS, etc.).
Was this helpful?