EntityEngine API
Build powerful integrations with our REST API and webhooks
The EntityEngine API allows you to programmatically create and manage corporate entities, handle documents, and receive real-time notifications about changes. Whether you're building an internal tool, a customer-facing application, or automating your workflows, our API provides the building blocks you need.
API Key Authentication
Secure your requests with API keys. Create keys with specific scopes to control access.
RESTful API
Clean, predictable REST endpoints for managing entities, persons, documents, and more.
Real-time Webhooks
Get notified instantly when events happen. Signed payloads ensure authenticity.
Rate Limiting
Fair usage limits with clear headers. Automatic retry support in our SDKs.
Secure by Default
HTTPS only. HMAC-SHA256 webhook signatures. Scoped API keys.
Global Jurisdictions
Access entities across multiple jurisdictions from a single API.
Quick Start
1. Get your API key
Log in to your EntityEngine account and navigate to Settings → API Keys to create a new API key. Choose the scopes you need for your integration.
2. Make your first request
All API requests require authentication via the Authorization header:
curl -X GET "https://app.entityengine.com/api/v1/entities" \
-H "Authorization: Bearer sk_live_your_api_key_here"3. Create an entity
Create a new corporate entity by specifying the jurisdiction and product:
curl -X POST "https://app.entityengine.com/api/v1/entities" \
-H "Authorization: Bearer sk_live_your_api_key_here" \
-H "Content-Type: application/json" \
-d '{
"jurisdiction_product_id": "jp_abc123",
"name": "My Company LLC"
}'Base URL
All API requests should be made to:
https://app.entityengine.com/api/v1Response Format
All responses are returned in JSON format with a consistent structure:
Success Response
{
"success": true,
"data": {
"id": "ent_abc123",
"name": "My Company LLC",
"status": "pre_incorporation"
}
}Paginated Response
{
"success": true,
"data": [...],
"meta": {
"page": 1,
"per_page": 20,
"total": 45,
"total_pages": 3
}
}Error Response
{
"success": false,
"error": {
"code": "VALIDATION_ERROR",
"message": "Validation failed",
"details": {
"name": "Name is required"
}
}
}