Caelith API Reference
Programmatic access to fund compliance, regulatory reporting, and investor management infrastructure.
Introduction
The Caelith API is organized around REST. It accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes and verbs.
All API access is over HTTPS. Every request must include a valid authentication credential.
Quickstart
Make your first API call in three steps.
1. Get your API key
Navigate to Settings → API Keys in your Caelith dashboard and create a new key. Copy it immediately — the full key is only shown once.
2. Make a test request
curl -H "Authorization: Bearer ck_live_YOUR_KEY_HERE" \ https://www.caelith.tech/api/v1/lei/validate/529900T8BM49AURSDO55
3. Check the response
{
"valid": true,
"lei": "529900T8BM49AURSDO55",
"entity": {
"name": "Example Fund Management GmbH",
"jurisdiction": "DE",
"status": "ACTIVE"
}
}Language Examples
curl -H "Authorization: Bearer ck_live_YOUR_KEY_HERE" \ https://www.caelith.tech/api/v1/lei/validate/529900T8BM49AURSDO55
Replace ck_live_YOUR_KEY_HERE with your actual API key. All examples on this page use placeholder keys.
Authentication
Caelith supports two authentication methods.
API Key Authentication (recommended for integrations)
API keys use the ck_live_ prefix and are passed as Bearer tokens. Create keys from your dashboard under Settings → API Keys, or programmatically via the Create Key endpoint.
curl -H "Authorization: Bearer ck_live_abc123def456..." \ https://www.caelith.tech/api/v1/lei/validate/529900T8BM49AURSDO55
JWT Authentication (dashboard sessions)
Obtain a JWT token via POST /api/auth/login with email and password. The token is returned in the response and should be passed as a Bearer token.
API keys do not expire by default but can be given an expiration date. Store them securely — the full key is only shown once at creation time.
Base URL & Versioning
All endpoints are available under the versioned prefix.
https://www.caelith.tech/api/v1/
The unversioned /api/ prefix remains available for backward compatibility, but we recommend using /api/v1/ for all new integrations.
All versioned responses include an X-API-Version: v1 header.
Rate Limits
Requests are rate-limited based on your plan tier. When you exceed the limit, the API returns 429 Too Many Requests.
| Tier | Limit | Window | Notes |
|---|---|---|---|
| General API | 500 req | 15 min | Standard API endpoints (per IP) |
| Authentication | 50 req | 15 min | Login & token endpoints (per IP) |
| Export / Reports | 10 req | 1 min | XML generation, CSV downloads |
| Copilot | 30 req | 1 hour | AI-powered compliance chat (per user) |
Rate limit headers are included in every response.
X-RateLimit-Limit: 500 X-RateLimit-Remaining: 497 X-RateLimit-Reset: 1709312400
When the limit is exceeded, you receive a 429 response.
{
"error": "RATE_LIMIT_EXCEEDED",
"message": "Too many requests. Please try again later.",
"retryAfter": 45
}Error Handling
Caelith uses conventional HTTP status codes. Errors return a consistent JSON body with an error code and human-readable message.
{
"error": "VALIDATION_ERROR",
"message": "LEI code is required"
}| HTTP Status | Error Code | Meaning |
|---|---|---|
200 | — | Success |
201 | — | Created |
400 | VALIDATION_ERROR | Bad request — invalid or missing parameters |
401 | UNAUTHORIZED | Missing or invalid credentials |
403 | FORBIDDEN | Insufficient permissions for this resource |
404 | NOT_FOUND | Resource does not exist |
409 | CONFLICT | Duplicate record (unique constraint violation) |
422 | BUSINESS_LOGIC_ERROR | Request valid but violates business rules |
429 | RATE_LIMIT_EXCEEDED | Too many requests — see retryAfter field |
500 | INTERNAL_ERROR | Unexpected server error |
Troubleshooting Common Errors
| Error | Cause | Fix |
|---|---|---|
UNAUTHORIZED | Missing/expired token or API key | Check the Authorization: Bearer … header is set correctly |
VALIDATION_ERROR | Bad input data | Read the message field — it tells you exactly which field is wrong |
RATE_LIMIT_EXCEEDED | Too many requests in the window | Wait for retryAfter seconds, or check X-RateLimit-Reset header |
NOT_FOUND | Invalid ID or wrong endpoint path | Verify the resource ID exists and the URL path is correct |
LEI Validation
Validate a single Legal Entity Identifier against the GLEIF registry. Returns entity details if valid.
curl -H "Authorization: Bearer ck_live_..." \ https://www.caelith.tech/api/v1/lei/validate/529900T8BM49AURSDO55
{
"valid": true,
"lei": "529900T8BM49AURSDO55",
"entity": {
"name": "Example Fund Management GmbH",
"jurisdiction": "DE",
"status": "ACTIVE",
"registrationDate": "2020-01-15"
}
}Search LEI Registry
Search the GLEIF registry by entity name. Query must be at least 2 characters.
curl -H "Authorization: Bearer ck_live_..." \ "https://www.caelith.tech/api/v1/lei/search?q=BlackRock"
{
"results": [
{ "lei": "549300...", "name": "BlackRock Fund Advisors", "jurisdiction": "US" },
{ "lei": "549300...", "name": "BlackRock Investment Management", "jurisdiction": "GB" }
]
}Bulk Validate LEIs
Validate up to 50 LEI codes in a single request.
curl -X POST -H "Authorization: Bearer ck_live_..." \ -H "Content-Type: application/json" \ -d '{"leis":["529900T8BM49AURSDO55","5493001KJTIIGC8Y1R12"]}' \ https://www.caelith.tech/api/v1/lei/bulk-validate
{
"results": [
{ "lei": "529900T8BM49AURSDO55", "valid": true, "entity": { "name": "..." } },
{ "lei": "5493001KJTIIGC8Y1R12", "valid": true, "entity": { "name": "..." } }
]
}Annex IV Reports
Run a preflight check before generating an Annex IV XML. Returns data completeness status, missing fields, and warnings.
curl -H "Authorization: Bearer ck_live_..." \ https://www.caelith.tech/api/v1/reports/annex-iv/abc123/preflight
Generate and download a complete AIFMD Annex IV XML report for the specified fund. Returns XML with Content-Type: application/xml and a Content-Disposition attachment header.
curl -H "Authorization: Bearer ck_live_..." \ -o annex-iv-report.xml \ https://www.caelith.tech/api/v1/reports/annex-iv/abc123/xml
Sanctions Screening
Screen a single investor against EU & UN sanctions lists. Returns match results with confidence scores.
curl -X POST -H "Authorization: Bearer ck_live_..." \ https://www.caelith.tech/api/v1/screening/inv_abc123
{
"investorId": "inv_abc123",
"status": "clear",
"matches": [],
"screenedAt": "2026-02-25T13:00:00Z",
"sources": ["eu_sanctions", "un_sanctions"]
}Get the current status of sanctions data sources — last refresh time, record counts, and availability.
curl -H "Authorization: Bearer ck_live_..." \ https://www.caelith.tech/api/v1/screening/sanctions-status
{
"sources": {
"eu_sanctions": { "lastRefresh": "2026-02-25T08:00:00Z", "recordCount": 12450 },
"un_sanctions": { "lastRefresh": "2026-02-25T08:00:00Z", "recordCount": 8230 }
}
}Regulatory Templates (EMT / EET / EPT)
Generate FinDatEx-compliant European regulatory templates for MiFID II distribution compliance.
Generate a single template as JSON. Replace the suffix with emt, eet, or ept.
curl -H "Authorization: Bearer ck_live_..." \ https://www.caelith.tech/api/v1/reports/templates/abc123/emt
Download a template as a UTF-8 CSV file (BOM-encoded for Excel compatibility).
curl -H "Authorization: Bearer ck_live_..." \ -o emt-report.csv \ https://www.caelith.tech/api/v1/reports/templates/abc123/emt/csv
Generate all three templates (EMT, EET, EPT) in a single request.
curl -H "Authorization: Bearer ck_live_..." \ https://www.caelith.tech/api/v1/reports/templates/abc123/all
{
"emt": { "fields": [...], "generatedAt": "..." },
"eet": { "fields": [...], "generatedAt": "..." },
"ept": { "fields": [...], "generatedAt": "..." },
"generatedAt": "2026-02-25T13:00:00Z"
}API Keys
Create a new API key. The full key (with ck_live_ prefix) is returned only once in the response — store it securely.
curl -X POST -H "Authorization: Bearer <jwt>" \ -H "Content-Type: application/json" \ -d '{"name":"Production Integration","scopes":["read","write"]}' \ https://www.caelith.tech/api/v1/keys
{
"id": "key_abc123",
"name": "Production Integration",
"key": "ck_live_a1b2c3d4e5f6...",
"keyPrefix": "ck_live_a1b2",
"scopes": ["read", "write"],
"createdAt": "2026-02-25T13:00:00Z",
"expiresAt": null
}The full API key is only shown at creation time. If lost, you must revoke and create a new one.
List all API keys for the current tenant. Keys are masked — only the prefix is shown.
Revoke an API key immediately. Revoked keys cannot be reactivated.
curl -X DELETE -H "Authorization: Bearer <jwt>" \ https://www.caelith.tech/api/v1/keys/key_abc123
Calendar
Manage regulatory filing deadlines, fund obligations, and compliance calendar events.
Generate a regulatory calendar for one or more funds. Returns upcoming filing deadlines based on fund domicile, type, and applicable regulations.
curl -X POST -H "Authorization: Bearer ck_live_..." \ -H "Content-Type: application/json" \ -d '{"fundIds":["fund_abc123","fund_def456"],"year":2026,"quarter":"Q1"}' \ https://www.caelith.tech/api/v1/calendar/funds
{
"calendar": [
{
"fundId": "fund_abc123",
"fundName": "Example AIFM Fund I",
"obligations": [
{
"id": "obl_001",
"type": "ANNEX_IV",
"description": "AIFMD Annex IV Filing — Q1 2026",
"deadline": "2026-04-30T23:59:59Z",
"nca": "BaFin",
"status": "pending"
}
]
}
]
}List all regulatory obligations for the current tenant. Supports filtering by status, date range, and fund.
curl -H "Authorization: Bearer ck_live_..." \ "https://www.caelith.tech/api/v1/calendar/obligations?status=pending&from=2026-01-01&to=2026-06-30"
{
"obligations": [
{
"id": "obl_001",
"fundId": "fund_abc123",
"type": "ANNEX_IV",
"deadline": "2026-04-30T23:59:59Z",
"status": "pending",
"nca": "BaFin"
}
],
"total": 1
}Get a high-level summary of upcoming obligations grouped by status and month.
curl -H "Authorization: Bearer ck_live_..." \ https://www.caelith.tech/api/v1/calendar/summary
{
"summary": {
"total": 12,
"pending": 5,
"completed": 4,
"overdue": 3,
"byMonth": {
"2026-03": { "pending": 2, "completed": 1 },
"2026-04": { "pending": 3, "completed": 3 }
}
}
}Update the status or metadata of a specific obligation. Use this to mark filings as completed or add notes.
curl -X PATCH -H "Authorization: Bearer ck_live_..." \ -H "Content-Type: application/json" \ -d '{"status":"completed","notes":"Filed via NCA portal on 2026-03-15"}' \ https://www.caelith.tech/api/v1/calendar/obligations/obl_001
{
"id": "obl_001",
"status": "completed",
"notes": "Filed via NCA portal on 2026-03-15",
"updatedAt": "2026-03-15T10:30:00Z"
}NCA Registry
Access the National Competent Authority registry — the regulators responsible for AIFMD supervision in each EU/EEA jurisdiction.
List all NCAs in the registry. Returns authority name, country, contact information, and reporting requirements.
curl -H "Authorization: Bearer ck_live_..." \ https://www.caelith.tech/api/v1/nca
{
"ncas": [
{
"code": "DE_BAFIN",
"name": "Bundesanstalt für Finanzdienstleistungsaufsicht (BaFin)",
"country": "DE",
"reportingPortal": "https://portal.mvp.bafin.de",
"annexIVRequired": true
},
{
"code": "LU_CSSF",
"name": "Commission de Surveillance du Secteur Financier",
"country": "LU",
"reportingPortal": "https://reporting.cssf.lu",
"annexIVRequired": true
}
]
}Get detailed information for a specific NCA by its code (e.g. DE_BAFIN, LU_CSSF).
curl -H "Authorization: Bearer ck_live_..." \ https://www.caelith.tech/api/v1/nca/DE_BAFIN
{
"code": "DE_BAFIN",
"name": "Bundesanstalt für Finanzdienstleistungsaufsicht (BaFin)",
"country": "DE",
"reportingPortal": "https://portal.mvp.bafin.de",
"annexIVRequired": true,
"filingFormat": "XML",
"contactEmail": "reporting@bafin.de",
"notes": "Requires LEI validation before submission"
}Validate a report payload against the specific requirements of an NCA. Returns validation errors and warnings before you submit to the regulator.
curl -X POST -H "Authorization: Bearer ck_live_..." \ -H "Content-Type: application/json" \ -d '{"fundId":"fund_abc123","reportType":"ANNEX_IV","period":"2026-Q1"}' \ https://www.caelith.tech/api/v1/nca/DE_BAFIN/validate
{
"valid": true,
"errors": [],
"warnings": [
{ "field": "leverageCalculation", "message": "Gross method value appears unusually high" }
],
"ncaCode": "DE_BAFIN"
}Get the AIFMD II transposition status across all EU/EEA jurisdictions. Shows which countries have transposed the directive and their implementation timeline.
curl -H "Authorization: Bearer ck_live_..." \ https://www.caelith.tech/api/v1/nca/transposition
{
"transposition": [
{ "country": "DE", "status": "transposed", "effectiveDate": "2025-11-01", "ncaCode": "DE_BAFIN" },
{ "country": "LU", "status": "in_progress", "expectedDate": "2026-03-01", "ncaCode": "LU_CSSF" },
{ "country": "IE", "status": "pending", "expectedDate": "2026-06-01", "ncaCode": "IE_CBI" }
]
}Regulatory Events
Track regulatory changes, consultations, and legislative events that impact fund compliance.
List regulatory events. Supports filtering by type, jurisdiction, date range, and impact area.
curl -H "Authorization: Bearer ck_live_..." \ "https://www.caelith.tech/api/v1/regulatory/events?type=directive&jurisdiction=EU&limit=10"
{
"events": [
{
"id": "evt_001",
"title": "AIFMD II Final Text Published",
"type": "directive",
"jurisdiction": "EU",
"publishedAt": "2025-03-26T00:00:00Z",
"effectiveDate": "2026-03-26",
"impactAreas": ["reporting", "delegation", "leverage"],
"summary": "Updated requirements for AIFM reporting and delegation arrangements."
}
],
"total": 1,
"page": 1
}Get full details for a specific regulatory event, including related documents and affected entity types.
curl -H "Authorization: Bearer ck_live_..." \ https://www.caelith.tech/api/v1/regulatory/events/evt_001
{
"id": "evt_001",
"title": "AIFMD II Final Text Published",
"type": "directive",
"jurisdiction": "EU",
"publishedAt": "2025-03-26T00:00:00Z",
"effectiveDate": "2026-03-26",
"impactAreas": ["reporting", "delegation", "leverage"],
"summary": "Updated requirements for AIFM reporting and delegation arrangements.",
"sourceUrl": "https://eur-lex.europa.eu/...",
"affectedEntityTypes": ["AIFM", "UCITS_ManCo"],
"documents": [
{ "title": "Final Directive Text", "url": "https://...", "type": "pdf" }
]
}Get an impact analysis for a specific compliance area (e.g. reporting, delegation, leverage, liquidity). Returns upcoming changes and their effect on your funds.
curl -H "Authorization: Bearer ck_live_..." \ https://www.caelith.tech/api/v1/regulatory/impact/reporting
{
"area": "reporting",
"changes": [
{
"eventId": "evt_001",
"title": "Enhanced Annex IV reporting fields",
"effectiveDate": "2026-03-26",
"severity": "high",
"description": "New fields required for leverage and liquidity risk reporting.",
"affectedFunds": 3
}
]
}Get a chronological timeline of all regulatory events and deadlines relevant to your funds.
curl -H "Authorization: Bearer ck_live_..." \ "https://www.caelith.tech/api/v1/regulatory/timeline?from=2026-01-01&to=2026-12-31"
{
"timeline": [
{ "date": "2026-03-26", "type": "directive", "title": "AIFMD II effective", "id": "evt_001" },
{ "date": "2026-04-30", "type": "deadline", "title": "Annex IV Q1 Filing — BaFin", "id": "obl_001" },
{ "date": "2026-06-30", "type": "deadline", "title": "Annex IV Q1 Filing — CSSF", "id": "obl_002" }
]
}Webhooks
Subscribe to real-time event notifications. Caelith will send HTTP POST requests to your endpoint when events occur (e.g. screening completed, filing deadline approaching).
Register a new webhook endpoint. You must specify the URL and the event types to subscribe to.
curl -X POST -H "Authorization: Bearer ck_live_..." \ -H "Content-Type: application/json" \ -d '{ "url": "https://your-app.com/webhooks/caelith", "events": ["screening.completed", "obligation.due", "report.generated"], "secret": "whsec_your_signing_secret" }' \ https://www.caelith.tech/api/v1/webhooks
{
"id": "wh_abc123",
"url": "https://your-app.com/webhooks/caelith",
"events": ["screening.completed", "obligation.due", "report.generated"],
"status": "active",
"createdAt": "2026-02-25T13:00:00Z"
}Each delivery includes an X-Caelith-Signature header. Verify it using your webhook secret to ensure the payload is authentic.
List all registered webhook endpoints for the current tenant.
curl -H "Authorization: Bearer ck_live_..." \ https://www.caelith.tech/api/v1/webhooks
{
"webhooks": [
{
"id": "wh_abc123",
"url": "https://your-app.com/webhooks/caelith",
"events": ["screening.completed", "obligation.due"],
"status": "active",
"createdAt": "2026-02-25T13:00:00Z"
}
]
}Delete a webhook endpoint. No further deliveries will be attempted after deletion.
curl -X DELETE -H "Authorization: Bearer ck_live_..." \ https://www.caelith.tech/api/v1/webhooks/wh_abc123
View the delivery log for a specific webhook. Shows recent delivery attempts, response codes, and retry status.
curl -H "Authorization: Bearer ck_live_..." \ https://www.caelith.tech/api/v1/webhooks/wh_abc123/deliveries
{
"deliveries": [
{
"id": "del_001",
"event": "screening.completed",
"deliveredAt": "2026-02-25T14:30:00Z",
"responseCode": 200,
"success": true,
"attempts": 1
},
{
"id": "del_002",
"event": "obligation.due",
"deliveredAt": "2026-02-25T15:00:00Z",
"responseCode": 500,
"success": false,
"attempts": 3,
"nextRetry": "2026-02-25T16:00:00Z"
}
]
}Batch Operations
Perform bulk operations for high-volume workflows.
Screen multiple investors against sanctions lists in a single request. Accepts up to 100 investors per batch. Returns results for each investor.
curl -X POST -H "Authorization: Bearer ck_live_..." \ -H "Content-Type: application/json" \ -d '{ "investors": [ { "id": "inv_001", "name": "John Smith", "jurisdiction": "US" }, { "id": "inv_002", "name": "Acme Holdings GmbH", "jurisdiction": "DE" } ] }' \ https://www.caelith.tech/api/v1/batch/sanctions/screen
{
"results": [
{ "investorId": "inv_001", "status": "clear", "matches": [], "screenedAt": "2026-02-25T13:00:00Z" },
{ "investorId": "inv_002", "status": "clear", "matches": [], "screenedAt": "2026-02-25T13:00:00Z" }
],
"screened": 2,
"sources": ["eu_sanctions", "un_sanctions"]
}Usage & Billing
Monitor your API consumption and billing metrics.
Get usage statistics for the current billing period. Includes total requests, endpoint breakdown, and remaining quota.
curl -H "Authorization: Bearer ck_live_..." \ https://www.caelith.tech/api/v1/usage
{
"period": { "start": "2026-02-01", "end": "2026-02-28" },
"totalRequests": 1247,
"quota": 10000,
"remaining": 8753,
"byEndpoint": {
"lei/validate": 523,
"screening": 312,
"reports/annex-iv": 45,
"copilot/chat": 89,
"other": 278
}
}Get a daily breakdown of API usage for a given date range. Useful for tracking consumption trends.
curl -H "Authorization: Bearer ck_live_..." \ "https://www.caelith.tech/api/v1/usage/daily?from=2026-02-01&to=2026-02-28"
{
"daily": [
{ "date": "2026-02-01", "requests": 42 },
{ "date": "2026-02-02", "requests": 38 },
{ "date": "2026-02-03", "requests": 67 }
]
}Audit Log
Access the tamper-detectable audit chain of all actions performed within your Caelith account.
List audit log entries. Supports filtering by action, user, resource type, and date range. Results are paginated.
curl -H "Authorization: Bearer ck_live_..." \ "https://www.caelith.tech/api/v1/audit?action=screening.run&limit=20&offset=0"
{
"events": [
{
"id": "aud_001",
"action": "screening.run",
"userId": "usr_abc123",
"userEmail": "analyst@example.com",
"resourceType": "investor",
"resourceId": "inv_001",
"metadata": { "result": "clear", "sources": 2 },
"ipAddress": "203.0.113.42",
"timestamp": "2026-02-25T14:30:00Z"
}
],
"total": 1,
"limit": 20,
"offset": 0
}Get full details for a specific audit log entry, including the complete request and response metadata.
curl -H "Authorization: Bearer ck_live_..." \ https://www.caelith.tech/api/v1/audit/aud_001
{
"id": "aud_001",
"action": "screening.run",
"userId": "usr_abc123",
"userEmail": "analyst@example.com",
"resourceType": "investor",
"resourceId": "inv_001",
"metadata": { "result": "clear", "sources": 2, "duration": 230 },
"ipAddress": "203.0.113.42",
"userAgent": "curl/7.88.1",
"timestamp": "2026-02-25T14:30:00Z"
}Copilot
AI-powered compliance assistant for regulatory questions, filing guidance, and data interpretation.
Send a message to the Caelith Compliance Copilot. The copilot has context about your funds, regulatory obligations, and compliance data. Supports multi-turn conversations via conversationId.
curl -X POST -H "Authorization: Bearer ck_live_..." \ -H "Content-Type: application/json" \ -d '{ "message": "What are the Annex IV filing deadlines for our Luxembourg funds this quarter?", "conversationId": "conv_optional_for_follow_ups" }' \ https://www.caelith.tech/api/v1/copilot/chat
{
"response": "Based on your fund portfolio, you have 2 Luxembourg-domiciled funds with Q1 2026 Annex IV deadlines:\n\n1. **Fund Alpha** — CSSF filing due April 30, 2026\n2. **Fund Beta** — CSSF filing due April 30, 2026\n\nBoth funds require XML submission via the CSSF reporting portal.",
"conversationId": "conv_abc123",
"sources": [
{ "type": "fund", "id": "fund_001", "name": "Fund Alpha" },
{ "type": "regulation", "ref": "AIFMD Art. 24" }
]
}Annex IV Public
Public endpoints for generating and validating AIFMD Annex IV XML reports.
Generate an Annex IV XML report from a structured JSON payload. Use this for programmatic report generation without creating a fund in the dashboard first.
curl -X POST -H "Authorization: Bearer ck_live_..." \ -H "Content-Type: application/json" \ -d '{ "managerLEI": "529900T8BM49AURSDO55", "fundName": "Example Fund I", "reportingPeriod": "2026-Q1", "ncaCode": "DE_BAFIN", "fundData": { "nav": 150000000, "currency": "EUR", "investorCount": 42, "leverageGross": 1.2, "leverageCommitment": 1.1 } }' \ https://www.caelith.tech/api/v1/annex-iv/generate
{
"xml": "<?xml version=\"1.0\"?><AIFReportingInfo ...>...</AIFReportingInfo>",
"filename": "annex-iv-example-fund-i-2026-q1.xml",
"generatedAt": "2026-02-25T13:00:00Z",
"warnings": []
}Validate an Annex IV XML report against the ESMA schema and NCA-specific rules. Upload the XML as the request body or provide it as a JSON-encoded string.
curl -X POST -H "Authorization: Bearer ck_live_..." \ -H "Content-Type: application/xml" \ --data-binary @annex-iv-report.xml \ https://www.caelith.tech/api/v1/annex-iv/validate
{
"valid": true,
"errors": [],
"warnings": [
{ "line": 42, "field": "NAVAmount", "message": "NAV value exceeds typical range for fund type" }
],
"schema": "ESMA_AIFMD_2025",
"validatedAt": "2026-02-25T13:00:00Z"
}Filing
NCA-specific filing requirements and common rejection reasons.
Get the filing requirements for a specific NCA. Returns required documents, formats, and submission rules.
curl -H "Authorization: Bearer ck_live_..." \ https://www.caelith.tech/api/v1/public/filing/requirements/DE_BAFIN
{
"nca": "DE_BAFIN",
"requirements": [
{ "type": "ANNEX_IV", "format": "XML", "frequency": "quarterly", "portal": "https://portal.mvp.bafin.de" }
]
}Get common rejection reasons for filings submitted to a specific NCA.
curl -H "Authorization: Bearer ck_live_..." \ https://www.caelith.tech/api/v1/public/filing/rejections/DE_BAFIN
{
"nca": "DE_BAFIN",
"rejections": [
{ "code": "INVALID_LEI", "description": "LEI code is missing or invalid", "frequency": "high" },
{ "code": "SCHEMA_MISMATCH", "description": "XML does not conform to ESMA XSD", "frequency": "medium" }
]
}Guidance
Field-level guidance and regulatory code lookups for Annex IV and related reports.
List all available guidance fields with descriptions and data types.
curl -H "Authorization: Bearer ck_live_..." \ https://www.caelith.tech/api/v1/public/guidance/fields
Get detailed guidance for a specific field, including allowed values, examples, and NCA-specific notes.
curl -H "Authorization: Bearer ck_live_..." \ https://www.caelith.tech/api/v1/public/guidance/fields/NAVAmount
Get all valid codes for a given code type (e.g. strategy, instrument, geography).
curl -H "Authorization: Bearer ck_live_..." \ https://www.caelith.tech/api/v1/public/guidance/codes/strategy
{
"codeType": "strategy",
"codes": [
{ "code": "HEDGE_FUND_EQUITY", "label": "Equity hedge fund strategy" },
{ "code": "HEDGE_FUND_MACRO", "label": "Global macro strategy" }
]
}Classification
Investor classification, regulatory thresholds, and regime identification.
Classify an investor as professional, semi-professional, or retail based on provided parameters.
curl -X POST -H "Authorization: Bearer ck_live_..." \ -H "Content-Type: application/json" \ -d '{"jurisdiction":"DE","investorType":"individual","netWorth":2000000,"experience":"advanced"}' \ https://www.caelith.tech/api/v1/public/classification/investor
{
"classification": "semi-professional",
"jurisdiction": "DE",
"regime": "AIFMD",
"minimumInvestment": 200000,
"rationale": "Meets semi-professional criteria under German KAGB §1(19)(33)"
}Get investor classification thresholds for a jurisdiction.
curl -H "Authorization: Bearer ck_live_..." \ https://www.caelith.tech/api/v1/public/classification/thresholds/DE
List all regulatory regimes (AIFMD, UCITS, ELTIF, etc.) with their classification rules.
curl -H "Authorization: Bearer ck_live_..." \ https://www.caelith.tech/api/v1/public/classification/regimes
Checklist
Generate and manage compliance checklists for fund setup and ongoing obligations.
Generate a compliance checklist based on fund type, jurisdiction, and regulatory requirements.
curl -X POST -H "Authorization: Bearer ck_live_..." \ -H "Content-Type: application/json" \ -d '{"fundType":"aif","jurisdiction":"LU","activities":["marketing","delegation"]}' \ https://www.caelith.tech/api/v1/public/checklist/generate
{
"checklist": [
{ "item": "AIFMD registration with CSSF", "category": "licensing", "required": true, "deadline": "before_launch" },
{ "item": "Annex IV reporting setup", "category": "reporting", "required": true, "deadline": "quarterly" }
],
"generatedAt": "2026-02-27T15:00:00Z"
}List available checklist templates (e.g. fund launch, annual compliance review, AIFMD II transition).
curl -H "Authorization: Bearer ck_live_..." \ https://www.caelith.tech/api/v1/public/checklist/templates
Deadlines
Calculate and track regulatory filing deadlines across jurisdictions.
Calculate all applicable filing deadlines for a fund based on its characteristics.
curl -X POST -H "Authorization: Bearer ck_live_..." \ -H "Content-Type: application/json" \ -d '{"fundType":"aif","jurisdiction":"DE","aum":500000000,"reportingStart":"2026-01-01"}' \ https://www.caelith.tech/api/v1/public/deadlines/calculate
{
"deadlines": [
{ "type": "ANNEX_IV", "frequency": "quarterly", "nextDue": "2026-04-30", "nca": "BaFin" },
{ "type": "ANNUAL_REPORT", "frequency": "annual", "nextDue": "2026-06-30", "nca": "BaFin" }
]
}Get upcoming deadlines for a specific NCA within a given number of months.
curl -H "Authorization: Bearer ck_live_..." \ "https://www.caelith.tech/api/v1/public/deadlines/upcoming/DE_BAFIN?months=6"
Get the full AIFMD II implementation timeline with key milestones and transposition deadlines per jurisdiction.
curl -H "Authorization: Bearer ck_live_..." \ https://www.caelith.tech/api/v1/public/deadlines/aifmd2-timeline
{
"milestones": [
{ "date": "2025-03-26", "event": "AIFMD II published in Official Journal" },
{ "date": "2026-03-16", "event": "Transposition deadline for Member States" },
{ "date": "2026-09-16", "event": "Extended deadline for loan origination provisions" }
]
}Portals
NCA filing portal information, URLs, and contact details.
List all NCA filing portals with URLs and supported formats.
curl -H "Authorization: Bearer ck_live_..." \ https://www.caelith.tech/api/v1/public/portals
{
"portals": [
{ "nca": "DE_BAFIN", "name": "BaFin MVP Portal", "url": "https://portal.mvp.bafin.de", "formats": ["XML"] },
{ "nca": "LU_CSSF", "name": "CSSF Reporting", "url": "https://reporting.cssf.lu", "formats": ["XML", "XBRL"] }
]
}Get detailed portal information for a specific NCA, including submission instructions and technical requirements.
curl -H "Authorization: Bearer ck_live_..." \ https://www.caelith.tech/api/v1/public/portals/DE_BAFIN
Get contact information for an NCA's reporting department.
curl -H "Authorization: Bearer ck_live_..." \ https://www.caelith.tech/api/v1/public/portals/DE_BAFIN/contacts
NCA Compare
Compare regulatory requirements across NCAs and identify gold-plating.
Compare NCAs across a specific dimension (e.g. reporting_frequency, leverage_limits, delegation_rules) for selected countries.
curl -X POST -H "Authorization: Bearer ck_live_..." \ -H "Content-Type: application/json" \ -d '{"dimension":"reporting_frequency","countries":["DE","LU","IE","FR"]}' \ https://www.caelith.tech/api/v1/public/nca-compare/compare
{
"dimension": "reporting_frequency",
"comparison": [
{ "country": "DE", "nca": "BaFin", "value": "quarterly", "notes": "All AIFs regardless of size" },
{ "country": "LU", "nca": "CSSF", "value": "semi-annual", "notes": "Quarterly for leveraged AIFs >500M" }
]
}Get a comprehensive comparison of all NCAs across all dimensions.
curl -H "Authorization: Bearer ck_live_..." \ https://www.caelith.tech/api/v1/public/nca-compare/compare-all
Get gold-plating analysis for a specific NCA — requirements that exceed the ESMA/EU baseline.
curl -H "Authorization: Bearer ck_live_..." \ https://www.caelith.tech/api/v1/public/nca-compare/goldplating/DE_BAFIN
{
"nca": "DE_BAFIN",
"goldplating": [
{ "area": "reporting", "description": "Additional quarterly reporting for sub-threshold AIFMs", "severity": "medium" },
{ "area": "delegation", "description": "Stricter substance requirements for delegated portfolio management", "severity": "high" }
]
}Regulatory Diff
Compare regulatory versions and assess impact on fund operations.
Get a diff between two regulatory versions (e.g. AIFMD I vs AIFMD II). Optionally filter by compliance area.
curl -H "Authorization: Bearer ck_live_..." \ "https://www.caelith.tech/api/v1/public/regulatory-diff/diff?from=AIFMD_I&to=AIFMD_II&area=reporting"
{
"from": "AIFMD_I",
"to": "AIFMD_II",
"area": "reporting",
"changes": [
{ "field": "Annex IV fields", "type": "added", "description": "12 new mandatory fields for liquidity and leverage" },
{ "field": "Reporting frequency", "type": "modified", "description": "New semi-annual tier for mid-size AIFMs" }
]
}Get a regulatory impact analysis for a specific fund type (e.g. aif, ucits, eltif).
curl -H "Authorization: Bearer ck_live_..." \ https://www.caelith.tech/api/v1/public/regulatory-diff/impact/aif
{
"fundType": "aif",
"impacts": [
{ "area": "reporting", "severity": "high", "description": "Enhanced Annex IV with 12 new fields" },
{ "area": "delegation", "severity": "medium", "description": "New substance requirements for delegated functions" },
{ "area": "liquidity", "severity": "high", "description": "Mandatory liquidity management tools" }
]
}Delegation Management
Manage delegated functions under AIFMD Article 20 requirements. Track delegation arrangements, substance assessments, and oversight obligations for your fund management company.
List all delegation arrangements for the current organisation.
curl -H "Authorization: Bearer ck_live_..." \ https://www.caelith.tech/api/v1/delegations
{
"data": [
{
"id": "del_01abc",
"delegate_name": "Acme Asset Management",
"function": "portfolio_management",
"status": "active",
"substance_score": 82,
"review_due": "2026-06-30"
}
],
"meta": { "request_id": "req_xyz", "processing_ms": 18 }
}Create a new delegation arrangement.
curl -X POST -H "Authorization: Bearer ck_live_..." \ -H "Content-Type: application/json" \ -d '{"delegate_name":"Acme Asset Management","function":"portfolio_management","jurisdiction":"DE"}' \ https://www.caelith.tech/api/v1/delegations
{
"data": {
"id": "del_01abc",
"delegate_name": "Acme Asset Management",
"function": "portfolio_management",
"jurisdiction": "DE",
"status": "pending_review",
"created_at": "2026-02-27T10:00:00Z"
},
"meta": { "request_id": "req_xyz", "processing_ms": 24 }
}Senior Persons
Manage senior management and key function holders required under AIFMD/MiFID II. Track fitness and propriety assessments, NCA notifications, and role assignments.
List all registered senior persons and key function holders.
curl -H "Authorization: Bearer ck_live_..." \ https://www.caelith.tech/api/v1/senior-persons
{
"data": [
{
"id": "sp_01abc",
"name": "Jane Schmidt",
"role": "conducting_officer",
"jurisdiction": "LU",
"fit_proper_status": "approved",
"nca_notified": true
}
],
"meta": { "request_id": "req_xyz", "processing_ms": 12 }
}Register a new senior person or key function holder.
curl -X POST -H "Authorization: Bearer ck_live_..." \ -H "Content-Type: application/json" \ -d '{"name":"Jane Schmidt","role":"conducting_officer","jurisdiction":"LU"}' \ https://www.caelith.tech/api/v1/senior-persons
{
"data": {
"id": "sp_01abc",
"name": "Jane Schmidt",
"role": "conducting_officer",
"jurisdiction": "LU",
"fit_proper_status": "pending",
"created_at": "2026-02-27T10:00:00Z"
},
"meta": { "request_id": "req_xyz", "processing_ms": 19 }
}LMT / Liquidity Management Tools
Configure and manage liquidity management tools as required under AIFMD II Article 16. Define activation thresholds, notify NCAs, and generate investor disclosures for tools like redemption gates, swing pricing, and anti-dilution levies.
List configured liquidity management tools for all funds.
curl -H "Authorization: Bearer ck_live_..." \ https://www.caelith.tech/api/v1/lmt
{
"data": [
{
"id": "lmt_01abc",
"fund_id": "fund_xyz",
"tool_type": "redemption_gate",
"threshold_pct": 10,
"status": "configured",
"last_activated": null
}
],
"meta": { "request_id": "req_xyz", "processing_ms": 15 }
}Send an LMT activation or deactivation notification to the relevant NCA.
curl -X POST -H "Authorization: Bearer ck_live_..." \ -H "Content-Type: application/json" \ -d '{"lmt_id":"lmt_01abc","action":"activate","reason":"Redemption pressure exceeding 10% threshold"}' \ https://www.caelith.tech/api/v1/lmt/notifications
{
"data": {
"id": "lmt_notif_01",
"lmt_id": "lmt_01abc",
"action": "activate",
"nca": "CSSF",
"status": "sent",
"sent_at": "2026-02-27T10:00:00Z"
},
"meta": { "request_id": "req_xyz", "processing_ms": 340 }
}Fee Disclosure
Generate and manage investor fee disclosures compliant with PRIIPs KID, MiFID II cost reporting, and AIFMD Annex IV fee breakdowns. Supports ongoing costs, performance fees, transaction costs, and carried interest calculations.
List fee disclosure reports for your funds.
curl -H "Authorization: Bearer ck_live_..." \ https://www.caelith.tech/api/v1/fee-disclosures
{
"data": [
{
"id": "fd_01abc",
"fund_id": "fund_xyz",
"period": "2025-H2",
"total_expense_ratio": 1.85,
"status": "published",
"generated_at": "2026-01-15T09:00:00Z"
}
],
"meta": { "request_id": "req_xyz", "processing_ms": 22 }
}Generate a new fee disclosure report for a fund and period.
curl -X POST -H "Authorization: Bearer ck_live_..." \ -H "Content-Type: application/json" \ -d '{"fund_id":"fund_xyz","period":"2025-H2"}' \ https://www.caelith.tech/api/v1/fee-disclosures
{
"data": {
"id": "fd_02abc",
"fund_id": "fund_xyz",
"period": "2025-H2",
"status": "generating",
"created_at": "2026-02-27T10:00:00Z"
},
"meta": { "request_id": "req_xyz", "processing_ms": 45 }
}Evidence Bundles
Create tamper-detectable compliance evidence bundles for regulatory examinations and audits. Bundles package supporting documents, audit trails, and SHA-256 integrity hashes into a single downloadable archive.
List all evidence bundles for your organisation.
curl -H "Authorization: Bearer ck_live_..." \ https://www.caelith.tech/api/v1/evidence-bundles
{
"data": [
{
"id": "eb_01abc",
"title": "Q4 2025 Sanctions Screening Evidence",
"document_count": 14,
"integrity_hash": "sha256:a3f2c8...",
"status": "sealed",
"created_at": "2026-01-10T08:00:00Z"
}
],
"meta": { "request_id": "req_xyz", "processing_ms": 20 }
}Create a new evidence bundle from specified audit records and documents.
curl -X POST -H "Authorization: Bearer ck_live_..." \ -H "Content-Type: application/json" \ -d '{"title":"Q4 2025 Sanctions Screening Evidence","record_ids":["aud_01","aud_02","aud_03"]}' \ https://www.caelith.tech/api/v1/evidence-bundles
{
"data": {
"id": "eb_02abc",
"title": "Q4 2025 Sanctions Screening Evidence",
"status": "building",
"created_at": "2026-02-27T10:00:00Z"
},
"meta": { "request_id": "req_xyz", "processing_ms": 38 }
}API Status
Private Beta
Caelith API is in private beta. Contact julian@caelith.tech for access.
Changelog
| Version | Date | Changes |
|---|---|---|
v2.0 | 2026-02-26 | v2 API release. Added Delegation Management, Senior Persons, LMT/Liquidity Management Tools, Fee Disclosure, and Evidence Bundles. Expanded NCA Compare with diff analysis. Added Investor Classification and Compliance Checklists. Total: 60+ endpoints. |
v1.2 | 2026-02 | Added Filing, Guidance, Classification, Checklist, Deadlines, Portals, NCA Compare, and Regulatory Diff endpoints. Total: 52 public endpoints. |
v1.1 | 2026-02 | Documented 20 additional endpoints: Calendar, NCA Registry, Regulatory Events, Webhooks, Batch Operations, Usage & Billing, Audit Log, Copilot, and Annex IV Public APIs. Total: 32 public endpoints. |
v1 | 2025-01 | Initial versioned API release. All endpoints available under /api/v1/ prefix. Added X-API-Version response header. |
The unversioned /api/ prefix remains available for backward compatibility. We recommend migrating to /api/v1/ for all new integrations.
Need help? Contact support@caelith.tech
Interactive API explorer available at Swagger UI →