LEI-Registrierungs-API: Technischer Integrationsleitfaden
Technische Dokumentation zur Integration der LEI-Registrierungs-API. Umfasst Endpunkte für LEI-Registrierung, Verlängerung, Validierung und Stapelverarbeitung mit Codebeispielen und Authentifizierungsdetails.
Overview
The LEI Registration API provides programmatic access to LEI lifecycle management—registration, renewal, validation, and lookup. This guide covers authentication, available endpoints, request/response formats, and error handling.
Authentication
All API requests require an API key passed via the X-API-Key header. Keys are generated from the API Dashboard and are environment-specific (test/live).
curl -X GET "https://api.lei-search.com/v1/lei/5493001KJTIIGC8Y1R12" \ -H "X-API-Key: your_api_key_here"
API keys are stored as SHA-256 hashes. Rate limits vary by tier: Starter (60 req/min), Pro (300 req/min), Enterprise (1000 req/min).
Base URL
https://api.lei-search.com/v1
Endpoints
POST /lei/register
Submit a new LEI registration application. The request is validated against official company registries before submission to GLEIF.
POST /lei/register
Content-Type: application/json
{
"entity": {
"legalName": "Acme Corporation Ltd",
"legalAddress": {
"firstAddressLine": "123 Business Park",
"city": "London",
"country": "GB",
"postalCode": "EC1A 1BB"
},
"registrationNumber": "12345678",
"jurisdiction": "GB"
},
"parentInfo": {
"hasDirectParent": true,
"directParentLEI": "HWUPKR0MPOU8FGXBT394"
}
}
Request Fields
entity.legalName(required) - Official registered nameentity.legalAddress(required) - Registered address objectentity.registrationNumber(required) - Company registration numberentity.jurisdiction(required) - ISO 3166-1 alpha-2 country codeparentInfo.hasDirectParent- Boolean for Level 2 relationship dataparentInfo.directParentLEI- LEI of direct parent entity (if applicable)
Response
HTTP 202 Accepted
{
"applicationId": "APP-2025-001234",
"status": "PENDING_VALIDATION",
"estimatedCompletion": "2025-02-07T12:00:00Z"
}
POST /lei/renew
Renew an existing LEI. Optionally update entity data during renewal.
POST /lei/renew
Content-Type: application/json
{
"lei": "5493001KJTIIGC8Y1R12",
"renewalPeriod": "1_YEAR",
"updateData": {
"legalAddress": {
"city": "Manchester"
}
}
}
Parameters
lei(required) - The 20-character LEI coderenewalPeriod-1_YEAR,2_YEAR, or3_YEARupdateData- Optional object containing fields to update
GET /lei/{lei_code}
Retrieve entity data for a specific LEI. Returns Level 1 reference data and Level 2 relationship data.
GET /lei/5493001KJTIIGC8Y1R12
HTTP 200 OK
{
"lei": "5493001KJTIIGC8Y1R12",
"legalName": "Acme Corporation Ltd",
"status": "ACTIVE",
"nextRenewalDate": "2026-02-05",
"registrationAuthority": "RA000544",
"jurisdiction": "GB",
"legalAddress": {
"firstAddressLine": "123 Business Park",
"city": "London",
"country": "GB",
"postalCode": "EC1A 1BB"
},
"relationships": {
"directParent": "HWUPKR0MPOU8FGXBT394",
"ultimateParent": "HWUPKR0MPOU8FGXBT394"
}
}
POST /batch/validate
Validate multiple LEI codes in a single request. Returns validation status for each LEI.
POST /batch/validate
Content-Type: application/json
{
"leis": [
"5493001KJTIIGC8Y1R12",
"HWUPKR0MPOU8FGXBT394",
"INVALID_LEI_CODE"
]
}
HTTP 200 OK
{
"results": [
{"lei": "5493001KJTIIGC8Y1R12", "valid": true, "status": "ACTIVE"},
{"lei": "HWUPKR0MPOU8FGXBT394", "valid": true, "status": "ACTIVE"},
{"lei": "INVALID_LEI_CODE", "valid": false, "error": "INVALID_FORMAT"}
]
}
POST /batch/enrich
Enrich a list of LEIs with full entity data. Useful for bulk compliance checks.
Webhooks
Configure webhooks to receive real-time notifications for registration status changes. Webhook endpoints can be configured via the API Dashboard.
Supported Events
lei.registration.completed- LEI registration approvedlei.registration.failed- Registration rejectedlei.renewal.completed- Renewal processedlei.status.changed- Entity status changed (e.g., LAPSED)
POST https://your-server.com/webhook
Content-Type: application/json
X-Webhook-Signature: sha256=...
{
"event": "lei.registration.completed",
"timestamp": "2025-02-05T14:30:00Z",
"data": {
"applicationId": "APP-2025-001234",
"lei": "5493001KJTIIGC8Y1R12",
"legalName": "Acme Corporation Ltd"
}
}
Error Handling
The API uses standard HTTP status codes. Error responses include a machine-readable code and description.
HTTP 400 Bad Request
{
"error": {
"code": "INVALID_LEI_FORMAT",
"message": "LEI must be exactly 20 alphanumeric characters"
}
}
Common Error Codes
401- Invalid or missing API key403- Insufficient permissions for endpoint404- LEI not found409- Duplicate registration attempt429- Rate limit exceeded
Rate Limits
Rate limits are applied per API key. Limits reset at the start of each minute. When exceeded, requests return 429 Too Many Requests with a Retry-After header.
API Tiers
Starter
- 1,000 API calls/month
- 60 requests/minute
- Read endpoints only
Pro
- 50,000 API calls/month
- 300 requests/minute
- Registration, renewal, batch
Enterprise
- Unlimited API calls
- 1,000 requests/minute
- Custom SLA
Additional Endpoints
The API also supports:
GET /lei/search- Full-text search across 2.7M+ entitiesGET /lei/{lei}/relationships- Level 2 parent/child dataGET /isin/{isin}/lei- ISIN to LEI cross-referencePOST /lei/transfer- Transfer LEI from another Registration Agent
Resources
- Full API Reference
- API Dashboard - Manage keys and monitor usage
- Contact - Technical support