Skip to main content
POST
/
v1
/
entity-resolution
curl --request POST \ --url https://api.kernel.ai/rest/v1/entity-resolution \ --header 'Content-Type: application/json' \ --header 'x-api-key: <api-key>' \ --data ' { "legal_name": "Stripe" } '
{
  "jobId": "550e8400-e29b-41d4-a716-446655440000",
  "status": "processing"
}
Submit a company to resolve its identity. The endpoint returns 202 with a jobId — use it to poll the Get entity resolution result endpoint until the status is completed.
No fields are required, but providing at least one identifying field improves resolution accuracy.

Examples

curl
curl -X POST https://api.kernel.ai/rest/v1/entity-resolution \
  -H "x-api-key: $KERNEL_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"legal_name": "Stripe"}'
Response (202)
{
  "jobId": "550e8400-e29b-41d4-a716-446655440000",
  "status": "processing"
}

Full — all fields

curl
curl -X POST https://api.kernel.ai/rest/v1/entity-resolution \
  -H "x-api-key: $KERNEL_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "legal_name": "Stripe, Inc.",
    "trading_name": "Stripe",
    "website": "https://stripe.com",
    "linkedin_url": "https://linkedin.com/company/stripe",
    "country": "US",
    "city": "South San Francisco",
    "state": "CA",
    "postal_code": "94070",
    "email": "info@stripe.com",
    "external_id": "stripe-001",
    "webhook_url": "https://example.com/webhooks/kernel"
  }'
Response (202)
{
  "jobId": "550e8400-e29b-41d4-a716-446655440000",
  "status": "processing"
}

Input fields

All fields are optional. Provide as many as available to improve resolution accuracy.
FieldTypeDescription
legal_namestringRegistered legal name of the company (e.g. "Stripe, Inc.")
trading_namestringPrimary brand or trading name (e.g. "Stripe")
websitestringCompany website URL
countrystringCountry name or ISO 3166-1 alpha-2 code
citystringCity
statestringState or province
postal_codestringZIP or postal code
addressstringStreet address
emailstringEmail address
external_idstringYour own identifier for this record
linkedin_urlstringLinkedIn URL for the company (e.g. "https://linkedin.com/company/stripe")
webhook_urlstringHTTPS URL to receive webhook callbacks when the job completes or fails

Input normalization

You do not need to clean or normalize inputs before sending them:
  • Company names are case-insensitive — "ACME CORP", "Acme Corp", and "acme corp" are equivalent
  • Common suffixes like Inc., LLC, Ltd., GmbH are handled automatically
  • Website URLs are normalized — "acme.com" and "https://www.acme.com/" resolve the same way
  • Country accepts both codes ("US") and full names ("United States")

Authorizations

x-api-key
string
header
required

Include your API key in the x-api-key header.

Body

application/json

Company to resolve. All fields are optional — provide as many as available for better accuracy.

Registered legal name of the company (e.g. "Stripe, Inc.")

Minimum string length: 1
Example:

"Stripe, Inc."

trading_name
string

Primary brand or trading name (e.g. "Stripe")

Minimum string length: 1
Example:

"Stripe"

website
string

Company website URL.

Minimum string length: 1
Example:

"https://stripe.com"

country
string

Country name or ISO 3166-1 alpha-2 code.

Minimum string length: 1
Example:

"US"

city
string

City.

Minimum string length: 1
Example:

"South San Francisco"

state
string

State or province.

Minimum string length: 1
Example:

"CA"

postal_code
string

ZIP or postal code.

Minimum string length: 1
Example:

"94070"

address
string

Street address.

Minimum string length: 1
Example:

"354 Oyster Point Blvd"

email
string

Email address. Only the domain portion is used for matching.

Minimum string length: 1
Example:

"info@stripe.com"

external_id
string

Your own identifier for this record.

Minimum string length: 1
Example:

"stripe-001"

linkedin_url
string

LinkedIn URL for the company (e.g. "https://linkedin.com/company/stripe"). Used as an additional signal for entity resolution.

Minimum string length: 1
Example:

"https://linkedin.com/company/stripe"

webhook_url
string<uri>

HTTPS URL to receive webhook callbacks when the job completes or fails. Kernel will POST the job result to this URL with an X-Kernel-Signature header for verification.

Pattern: ^https://
Example:

"https://example.com/webhooks/kernel"

Response

Job created

jobId
string
required

Unique identifier for the created job.

Example:

"550e8400-e29b-41d4-a716-446655440000"

status
enum<string>

Initial status of the job.

Available options:
processing