API Endpoint: Legal Entity Identifier
The legal-entity-identifier endpoint validates an LEI against the GLEIF register and returns the entity record.
POST /api/v1/validate/legal-entity-identifier
https://www.tincomply.com/api/v1/validate/legal-entity-identifier
Validates a Legal Entity Identifier against the Global LEI Foundation (GLEIF) register and returns the registered entity's name, address, legal form, jurisdiction and status.
Request body
| Field | Type | Description |
|---|---|---|
leirequired |
string | The 20-character LEI. |
Response object: legalEntityIdentifierResult
| Field | Type | Description |
|---|---|---|
lei | string | The LEI checked. |
properties | object | Attributes from the GLEIF record: names, address, legalform, registrationNumber, jurisdiction, dateIncorporated, status and more. |
What to do with this result
| When you see | Do this |
|---|---|
| status is ACTIVE and names match | The LEI is valid for this entity. Save the legal name and address from the record. |
| status is anything else | The entity is not active in the GLEIF register. Confirm it still exists before relying on it. |
| No properties returned | The LEI was not found. Check it for typos (20 characters) or ask the entity for its current LEI. |
Sample request
curl -X POST https://www.tincomply.com/api/v1/validate/legal-entity-identifier \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"lei":"VGRQXHF3J8VDLUA7XE92"}'import requests
response = requests.post(
"https://www.tincomply.com/api/v1/validate/legal-entity-identifier",
headers={"X-API-Key": "YOUR_API_KEY"},
json={
"lei": "VGRQXHF3J8VDLUA7XE92",
},
)
response.raise_for_status()
print(response.json()["legalEntityIdentifierResult"])using System.Text;
using var client = new HttpClient();
client.DefaultRequestHeaders.Add("X-API-Key", "YOUR_API_KEY");
var body = """
{
"lei": "VGRQXHF3J8VDLUA7XE92"
}
""";
var response = await client.PostAsync(
"https://www.tincomply.com/api/v1/validate/legal-entity-identifier",
new StringContent(body, Encoding.UTF8, "application/json"));
Console.WriteLine(await response.Content.ReadAsStringAsync());const response = await fetch("https://www.tincomply.com/api/v1/validate/legal-entity-identifier", {
method: "POST",
headers: {
"X-API-Key": "YOUR_API_KEY",
"Content-Type": "application/json",
},
body: JSON.stringify({
lei: "VGRQXHF3J8VDLUA7XE92",
}),
});
const data = await response.json();
console.log(data.legalEntityIdentifierResult);import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class Main {
public static void main(String[] args) throws Exception {
String body = """
{
"lei": "VGRQXHF3J8VDLUA7XE92"
}
""";
HttpRequest request = HttpRequest.newBuilder(URI.create("https://www.tincomply.com/api/v1/validate/legal-entity-identifier"))
.header("X-API-Key", "YOUR_API_KEY")
.header("Content-Type", "application/json")
.POST(HttpRequest.BodyPublishers.ofString(body))
.build();
HttpResponse<String> response = HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofString());
// Parse with your JSON library (Jackson, Gson) and read legalEntityIdentifierResult.
System.out.println(response.body());
}
}package main
import (
"bytes"
"encoding/json"
"fmt"
"log"
"net/http"
)
func main() {
body := []byte(`{
"lei": "VGRQXHF3J8VDLUA7XE92"
}`)
req, err := http.NewRequest("POST", "https://www.tincomply.com/api/v1/validate/legal-entity-identifier", bytes.NewReader(body))
if err != nil {
log.Fatal(err)
}
req.Header.Set("X-API-Key", "YOUR_API_KEY")
req.Header.Set("Content-Type", "application/json")
resp, err := http.DefaultClient.Do(req)
if err != nil {
log.Fatal(err)
}
defer resp.Body.Close()
var data map[string]any
if err := json.NewDecoder(resp.Body).Decode(&data); err != nil {
log.Fatal(err)
}
fmt.Println(data["legalEntityIdentifierResult"])
}$body = @'
{
"lei": "VGRQXHF3J8VDLUA7XE92"
}
'@
$response = Invoke-RestMethod -Method Post `
-Uri "https://www.tincomply.com/api/v1/validate/legal-entity-identifier" `
-Headers @{ "X-API-Key" = "YOUR_API_KEY" } `
-ContentType "application/json" `
-Body $body
$response.legalEntityIdentifierResultSample response
{
"id": "Lz4xC6vB8nM0qW2eR4tY6uI8",
"request": {
"lei": "VGRQXHF3J8VDLUA7XE92",
"requestDate": "2026-10-01T14:02:11Z",
"requestedServices": "legal-entity-identifier"
},
"legalEntityIdentifierResult": {
"lei": "VGRQXHF3J8VDLUA7XE92",
"properties": {
"names": "INTERNATIONAL BUSINESS MACHINES CORPORATION",
"address": "ONE NORTH CASTLE DRIVE, Armonk, US-NY 10504",
"legalform": "Business Corporation",
"registrationNumber": "30059",
"jurisdiction": "United States",
"dateIncorporated": "1911-06-16",
"status": "ACTIVE"
}
}
}Errors
Requests that cannot be processed return HTTP 400 with an object keyed by field name, each listing what was wrong. Authentication, permission and other status codes are covered in Errors & service status.
This endpoint requires an API key with the Validate permission.
See how this check works in the portal and what it costs: FATCA & LEI Validation