Tenant Configuration
Tenant Management
Tenant Configuration
GET
Tenant Configuration
Manage tenant configuration including notification channels, keywords, industries, risk matrix, website validation settings, billing, and account status. Tenant endpoints allow both self-service management (Self-Service Endpoints (
Administrative Endpoints (
/me endpoints) and administrative management (/{tenant_id} endpoints).
Overview
Tenant management endpoints provide:- Self-Service: Tenants can manage their own configuration via
/meendpoints - Administrative: Admins can manage any tenant via
/{tenant_id}endpoints - Configuration Areas: Notifications, keywords, industries, risk matrix, website config, billing
- Account Status: Credits, subscription, usage tracking, watchlist seats
Endpoints Overview
Self-Service 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 |
Administrative Endpoints (/{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 |
Authentication
- Self-Service Endpoints: Require appropriate read/update permissions
- Administrative Endpoints: Require
tenant:managepermission - Include your Bearer token in the Authorization header
Get Current Tenant Configuration
Retrieve the current tenant’s full configuration.Endpoint
Request Example
Response Format
Account Status
Get comprehensive account status including subscription, credits, usage, and watchlist seats.Endpoint
Request Example
Response Format
Response Fields
| 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 |
Credits
Get available one-time credits (separate from subscription).Endpoint
Response Format
Watchlist Seats
Get watchlist monitoring seats information.Endpoint
Response Format
Notification Channels
Update notification channels for alerts and webhooks.Endpoint
Request Body Parameters
Request Example
When setting
webhook_url for the first time, a webhook_secret is automatically generated if not provided. The secret follows the format whsec_ + 64 hex characters.Risk Matrix Configuration
Configure weights for web validation reliability score calculation.Get Risk Matrix
Update Risk Matrix
Request Body Parameters
Request Example
Response Format
Website Validation Config
Configure default settings for web validation checks.Get Website Config
Update Website Config
Request Body Parameters
Request Example
Keywords Management
Keywords are used for website content blacklist filtering during web validation.Get Keywords
Update Keywords
Request Body Parameters
Request Example
Industries Management
Industries define which business categories are allowed or blocked for the tenant.Get Industries
Update Industries
Request Body Parameters
Request Example
Create Tenant (Admin Only)
Create a new tenant with full configuration.Endpoint
Request Body Parameters
Request Example
Update Billing Configuration (Admin Only)
Update billing settings for a tenant.Endpoint
Request Body Parameters
Request Example
Delete Tenant (Admin Only)
Soft-delete (deactivate) a tenant.Endpoint
Request Example
Response Format
Permissions Reference
| 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 |
Status Codes
| 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 |
Best Practices
Use Account Status
Use
/me/account-status for dashboard displays - it provides all relevant information in a single call.Risk Matrix Design
Design your risk matrix weights to sum exactly to 1.0. Only include weights for checks you actually use.
Webhook Security
Always verify webhook signatures using your
webhook_secret. It’s auto-generated for security.List Replacement
Keywords and industries are fully replaced on update. Include all items when updating.
Integration Tips
- Configuration Hierarchy: Website config sets defaults → Request parameters override defaults
- Credit Priority: Free tier credits are used after subscription quota is exhausted
- Watchlist Seats: Track
remaining_seatsto prevent over-enrollment - Risk Matrix: Weights dynamically adjust based on which checks are enabled in the request
- Audit Trail:
created_byandupdated_byfields track who made changes