/me endpoints) and administrative management (/{tenant_id} endpoints).
/me endpoints/{tenant_id} endpoints/me)| Method | Endpoint | Description |
|---|---|---|
GET | /kyc/tenants/me | Get current tenant’s configuration |
PATCH | /kyc/tenants/me/notification-channels | Update notification channels |
GET | /kyc/tenants/me/keywords | Get keywords |
PATCH | /kyc/tenants/me/keywords | Update keywords |
GET | /kyc/tenants/me/industries | Get industries |
PATCH | /kyc/tenants/me/industries | Update industries |
GET | /kyc/tenants/me/risk-matrix | Get risk matrix |
PATCH | /kyc/tenants/me/risk-matrix | Update risk matrix |
GET | /kyc/tenants/me/website-config | Get website validation config |
PATCH | /kyc/tenants/me/website-config | Update website validation config |
GET | /kyc/tenants/me/credits | Get available credits |
GET | /kyc/tenants/me/watchlist-seats | Get watchlist seats info |
GET | /kyc/tenants/me/account-status | Get full account status |
/{tenant_id})| Method | Endpoint | Description |
|---|---|---|
POST | /kyc/tenants | Create new tenant (admin only) |
GET | /kyc/tenants/{tenant_id} | Get tenant details |
PUT | /kyc/tenants/{tenant_id} | Update tenant (full update, admin only) |
DELETE | /kyc/tenants/{tenant_id} | Delete tenant (admin only) |
PATCH | /kyc/tenants/{tenant_id}/notification-channels | Update notification channels |
PATCH | /kyc/tenants/{tenant_id}/billing | Update billing configuration |
GET | /kyc/tenants/{tenant_id}/keywords | Get keywords |
PATCH | /kyc/tenants/{tenant_id}/keywords | Update keywords |
GET | /kyc/tenants/{tenant_id}/industries | Get industries |
PATCH | /kyc/tenants/{tenant_id}/industries | Update industries |
GET | /kyc/tenants/{tenant_id}/risk-matrix | Get risk matrix |
PATCH | /kyc/tenants/{tenant_id}/risk-matrix | Update risk matrix |
GET | /kyc/tenants/{tenant_id}/website-config | Get website validation config |
PATCH | /kyc/tenants/{tenant_id}/website-config | Update website validation config |
tenant:manage permission| Field | Type | Description |
|---|---|---|
subscription.status | string | none, active, past_due, cancelled |
subscription.limits | object | Monthly limits from subscription plan |
subscription.usage | object | Current month’s usage |
subscription.remaining | object | Remaining quota for current period |
free_tier.credits | object | One-time credits (not renewed monthly) |
watchlist.available_seats | integer | Total watchlist monitoring seats |
watchlist.active_subjects | integer | Currently monitored subjects |
requires_payment | boolean | True if no active subscription and no credits |
can_do_screening | boolean | True if can perform screenings |
webhook_url for the first time, a webhook_secret is automatically generated if not provided. The secret follows the format whsec_ + 64 hex characters.| Permission | Description |
|---|---|
tenant:manage | Full admin access to all tenant endpoints |
tenant:read | Read own tenant configuration |
notification-channels:read | Read notification settings |
notification-channels:update | Update notification settings |
keywords:read | Read keywords |
keywords:update | Update keywords |
industries:read | Read industries |
industries:update | Update industries |
risk-matrix:read | Read risk matrix |
risk-matrix:update | Update risk matrix |
website-config:read | Read website config |
website-config:update | Update website config |
billing:read | Read billing information |
billing:update | Update billing configuration |
| Code | Description |
|---|---|
| 200 | Success |
| 201 | Created - Tenant created successfully |
| 400 | Bad Request - Invalid parameters or validation error |
| 401 | Unauthorized - Missing or invalid token |
| 403 | Forbidden - Insufficient permissions |
| 404 | Not Found - Tenant not found |
| 409 | Conflict - Tenant already exists |
| 500 | Internal Server Error |
/me/account-status for dashboard displays - it provides all relevant information in a single call.webhook_secret. It’s auto-generated for security.remaining_seats to prevent over-enrollmentcreated_by and updated_by fields track who made changes