API Client
Manage API keys for third-party integrations and external system access. Base route: /api/v1/ApiClient
Endpoints
| Method | Route | Permission | Description |
|---|---|---|---|
| POST | /api/v1/ApiClient | ApiClient:Create | Create new API client + generate API key |
| GET | /api/v1/ApiClient | ApiClient:View | Paginated list of API clients |
| GET | /api/v1/ApiClient/{id} | ApiClient:View | Get single API client detail |
| PUT | /api/v1/ApiClient/{id} | ApiClient:Edit | Update API client name/settings |
| POST | /api/v1/ApiClient/{id}/revoke | ApiClient:Revoke | Revoke API key (disable access) |
| POST | /api/v1/ApiClient/{id}/regenerate | ApiClient:Regenerate | Regenerate a new API key |
| GET | /api/v1/ApiClient/{id}/usage | ApiClient:View | Usage report with date range |
POST
/api/v1/ApiClient
JSON Request
{
"name": "CRM Integration",
"description": "API key for our Salesforce integration",
"allowedIps": ["203.0.113.0/24"],
"expiresAt": null
}JSON Response
{
"isSuccess": true,
"data": {
"id": "guid",
"name": "CRM Integration",
"apiKey": "tok_live_xxxxxxxxxxxxxxxxxx",
"createdAt": "2026-05-27T10:00:00Z",
"status": "Active"
}
}The full
apiKey value is only returned once on creation or regeneration. Store it securely — it cannot be retrieved again.GET
/api/v1/ApiClient/{id}/usage
Query Parameters
| Parameter | Type | Default |
|---|---|---|
from | DateTime? | UtcNow - 7 days |
to | DateTime? | UtcNow |
pageNumber | int | 1 |
pageSize | int | 20 |
