Endpoints

MethodRoutePermissionDescription
POST/api/v1/ApiClientApiClient:CreateCreate new API client + generate API key
GET/api/v1/ApiClientApiClient:ViewPaginated list of API clients
GET/api/v1/ApiClient/{id}ApiClient:ViewGet single API client detail
PUT/api/v1/ApiClient/{id}ApiClient:EditUpdate API client name/settings
POST/api/v1/ApiClient/{id}/revokeApiClient:RevokeRevoke API key (disable access)
POST/api/v1/ApiClient/{id}/regenerateApiClient:RegenerateRegenerate a new API key
GET/api/v1/ApiClient/{id}/usageApiClient:ViewUsage 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

ParameterTypeDefault
fromDateTime?UtcNow - 7 days
toDateTime?UtcNow
pageNumberint1
pageSizeint20