Create legal entity
curl --request POST \
--url https://api.entendre.finance/v1/legal-entities \
--header 'Content-Type: application/json' \
--header 'Idempotency-Key: <idempotency-key>' \
--header 'X-API-Key: <api-key>' \
--data '
{
"name": "Example Company",
"entity_type": "C-CORP",
"base_currency": "USD"
}
'const options = {
method: 'POST',
headers: {
'Idempotency-Key': '<idempotency-key>',
'X-API-Key': '<api-key>',
'Content-Type': 'application/json'
},
body: JSON.stringify({name: 'Example Company', entity_type: 'C-CORP', base_currency: 'USD'})
};
fetch('https://api.entendre.finance/v1/legal-entities', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.entendre.finance/v1/legal-entities"
payload = {
"name": "Example Company",
"entity_type": "C-CORP",
"base_currency": "USD"
}
headers = {
"Idempotency-Key": "<idempotency-key>",
"X-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"data": {
"id": "le_456def",
"name": "Example Company",
"entity_type": "C-CORP",
"status": "active",
"base_currency": "USD",
"address": {
"line1": "100 Example Street",
"line2": null,
"city": "New York",
"state": null,
"country": "US",
"zipcode": "10001"
},
"address_string": null,
"created_at": "2026-08-31T12:00:00Z"
}
}{
"error": {
"code": "VALIDATION_ERROR",
"message": "Invalid path, query or request body.",
"request_id": "req_example"
}
}{
"error": {
"code": "UNAUTHORIZED",
"message": "Authentication is required.",
"request_id": "req_example"
}
}{
"error": {
"code": "FORBIDDEN",
"message": "Insufficient access to organization",
"request_id": "req_example"
}
}{
"error": {
"code": "RESOURCE_NOT_FOUND",
"message": "Resource not found",
"request_id": "req_example"
}
}{
"error": {
"code": "CONFLICT",
"message": "The resource state does not allow this operation.",
"request_id": "req_example"
}
}{
"error": {
"code": "RATE_LIMITED",
"message": "Rate limit exceeded. Retry after 30s.",
"request_id": "req_example"
}
}{
"error": {
"code": "INTERNAL_ERROR",
"message": "Internal server error",
"request_id": "req_example"
}
}{
"error": {
"code": "SERVICE_UNAVAILABLE",
"message": "Service unavailable.",
"request_id": "req_example"
}
}Legal Entities
Create legal entity
Creates a legal entity with its jurisdiction and reporting currency.
POST
/
v1
/
legal-entities
Create legal entity
curl --request POST \
--url https://api.entendre.finance/v1/legal-entities \
--header 'Content-Type: application/json' \
--header 'Idempotency-Key: <idempotency-key>' \
--header 'X-API-Key: <api-key>' \
--data '
{
"name": "Example Company",
"entity_type": "C-CORP",
"base_currency": "USD"
}
'const options = {
method: 'POST',
headers: {
'Idempotency-Key': '<idempotency-key>',
'X-API-Key': '<api-key>',
'Content-Type': 'application/json'
},
body: JSON.stringify({name: 'Example Company', entity_type: 'C-CORP', base_currency: 'USD'})
};
fetch('https://api.entendre.finance/v1/legal-entities', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.entendre.finance/v1/legal-entities"
payload = {
"name": "Example Company",
"entity_type": "C-CORP",
"base_currency": "USD"
}
headers = {
"Idempotency-Key": "<idempotency-key>",
"X-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"data": {
"id": "le_456def",
"name": "Example Company",
"entity_type": "C-CORP",
"status": "active",
"base_currency": "USD",
"address": {
"line1": "100 Example Street",
"line2": null,
"city": "New York",
"state": null,
"country": "US",
"zipcode": "10001"
},
"address_string": null,
"created_at": "2026-08-31T12:00:00Z"
}
}{
"error": {
"code": "VALIDATION_ERROR",
"message": "Invalid path, query or request body.",
"request_id": "req_example"
}
}{
"error": {
"code": "UNAUTHORIZED",
"message": "Authentication is required.",
"request_id": "req_example"
}
}{
"error": {
"code": "FORBIDDEN",
"message": "Insufficient access to organization",
"request_id": "req_example"
}
}{
"error": {
"code": "RESOURCE_NOT_FOUND",
"message": "Resource not found",
"request_id": "req_example"
}
}{
"error": {
"code": "CONFLICT",
"message": "The resource state does not allow this operation.",
"request_id": "req_example"
}
}{
"error": {
"code": "RATE_LIMITED",
"message": "Rate limit exceeded. Retry after 30s.",
"request_id": "req_example"
}
}{
"error": {
"code": "INTERNAL_ERROR",
"message": "Internal server error",
"request_id": "req_example"
}
}{
"error": {
"code": "SERVICE_UNAVAILABLE",
"message": "Service unavailable.",
"request_id": "req_example"
}
}Authorizations
Your organization API key. Some operations also need a key that is associated with a user; their pages say so.
Headers
Unique key for this operation. Retry with the same key and request body after a timeout. Keys are retained for at least 24 hours.
Required string length:
1 - 255Body
application/json
Display name for the legal entity.
Legal entity type.
Available options:
C-CORP, S-CORP, LLC, LP, LLP, GmbH, Ltd, PLC, Foundation, Trust, Non-Profit, Sole Proprietorship, DAO, Other Base reporting currency (ISO 4217).
Examples:
"USD"
"EUR"
Show child attributes
Show child attributes
Address as one line of text, up to 500 characters. When you also send address, address takes precedence.
Maximum string length:
500Response
Created.
Show child attributes
Show child attributes