GET/admin/healthLive now
Return gateway health status and timestamp.
When to use: Uptime checks, readiness probes, and smoke tests after deployment.
Response
{
"ok": true,
"data": {
"status": "ok",
"timestamp": "2026-05-26T09:00:00Z",
"version": "1.0.0"
}
}
GET/admin/providers/statusLive now
Ping all upstream providers (IES, Squad, Mono) and return reachability status.
When to use: Provider health dashboards and incident investigation.
Response
{
"ok": true,
"data": {
"squad": { "ok": true, "status": 200 },
"ies": { "ok": true, "status": 200 },
"mono": { "ok": true, "status": 200 },
"checked_at": "2026-05-26T09:00:00Z"
}
}
GET/admin/api-clientsLive now
List all API clients for this account.
When to use: Audit access, review active integrations, and manage partner keys.
POST/admin/api-clientsLive now
Create a new API client with scopes and access configuration.
When to use: Onboarding a new integration surface, partner, or internal tool.
Request Body
namerequired | string | Human-readable name for this client |
scopesrequired | array | Permission scopes: products:*, customers:*, quotes:*, policies:*, payments:*, claims:*, kyc:*, webhooks:*, admin:* |
environment | string | live | test (default: live) |
contactEmail | string | Contact email for alerts and key expiry notices |
allowedOrigins | array | CORS origins allowed to use this key |
rateLimitPerMinute | number | Max requests per minute (default: 120) |
Request
curl -X POST "https://api.capitalexpressassurance.com/v1/admin/api-clients" \
-H "content-type: application/json" \
-H "x-api-key: capex_live_ADMIN_KEY" \
-d '{
"name": "Mobile App Production",
"scopes": ["products:*", "customers:*", "quotes:*", "policies:*", "payments:*", "kyc:*"],
"contactEmail": "dev@capitalexpressassurance.com",
"rateLimitPerMinute": 120
}'
Response
{
"ok": true,
"data": {
"id": "client_01hwxyz",
"name": "Mobile App Production",
"key_prefix": "capex_live_abc1",
"api_key": "capex_live_abc1_FULL_KEY_SHOWN_ONCE",
"scopes": ["products:*", "customers:*", "quotes:*", "policies:*", "payments:*", "kyc:*"],
"status": "active"
}
}
PATCH/admin/api-clients/:idLive now
Update an API client's name, scopes, rate limits, or status.
Path Parameters
id | string | API client ID (UUID) |
Request Body
name | string | Updated display name |
scopes | array | Replacement scope list |
rateLimitPerMinute | number | Updated requests-per-minute limit |
monthlyQuota | number | Updated monthly quota (null = unlimited) |
contactEmail | string | Updated contact email |
status | string | active | suspended | revoked |
DELETE/admin/api-clients/:idLive now
Revoke an API client. Soft-deletes the record and immediately invalidates the key.
Path Parameters
id | string | API client ID (UUID) to revoke |
POST/admin/api-clients/:id/revokeLive now
Explicitly revoke an API client by ID (POST alternative to DELETE).
Path Parameters
id | string | API client ID (UUID) |
POST/admin/api-clients/:id/rotate-keyLive now
Generate a new API key for a client. The old key is invalidated immediately. The new key is shown only once.
When to use: Scheduled rotation, suspected compromise, or staff offboarding.
Path Parameters
id | string | API client ID (UUID) to rotate |
Response
{
"ok": true,
"data": {
"id": "client_01hwxyz",
"name": "Mobile App Production",
"apiKey": "capex_live_xyz9_NEW_KEY_SHOWN_ONCE",
"keyPrefix": "capex_live_xyz9",
"rotatedAt": "2026-05-26T09:00:00Z",
"warning": "This key is shown only once. Store it securely."
}
}
GET/admin/api-requestsLive now
List gateway API request logs with client, path, status code, and latency.
When to use: Request audit, debugging integration failures, and traffic analysis.
Query Parameters
apiClientId | string | Filter by API client ID |
path | string | Filter by request path |
statusCode | number | Filter by HTTP status code |
limit | number | Max records (default: 100, max: 500) |
GET/admin/provider-callsLive now
List provider call logs (IES, Squad, Mono) with outcome, latency, and request context.
When to use: Debugging integration failures, monitoring provider latency, and compliance review.
Query Parameters
provider | string | Filter by provider: ies | squad | mono |
operation | string | Filter by operation name |
status | string | Filter by status: ok | failed |
limit | number | Max records (default: 100, max: 500) |
GET/admin/idempotency-keysLive now
List idempotency keys tracked by the gateway for deduplication.
When to use: Debugging duplicate request issues and verifying retry safety.
Query Parameters
status | string | Filter by status: pending | completed | expired |
path | string | Filter by request path |
limit | number | Max records (default: 100) |
GET/admin/reconciliation/summaryLive now
Return reconciliation summary: record counts, orphaned records, and recent reconciliation runs.
When to use: Operations dashboards, data integrity audits, and end-of-day reconciliation checks.
Response
{
"ok": true,
"data": {
"profiles_total": 1024,
"policies_missing_customer_profile_id": 0,
"payments_missing_client_code": 3,
"quote_applications_total": 248,
"insurance_products_total": 6,
"recent_runs": []
}
}
POST/admin/payments/:ref/retry-autopostLive now
Retry the IES autopost for a verified payment transaction that previously failed.
When to use: Manual reconciliation when Squad settled a payment but the IES autopost failed.
Path Parameters
ref | string | Transaction reference to retry |