Skip to main content
POST
Submit a company to resolve its identity. The endpoint returns 202 with an id — 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
Response (202)

Full — all fields

curl
Response (202)

Input fields

All fields are optional. Provide as many as available to improve resolution accuracy.

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"

phone
string

Phone number. Used as an additional signal for entity resolution.

Minimum string length: 1
Example:

"+1 555-555-5555"

external_id
string

Your own identifier for this record.

Minimum string length: 1
Example:

"stripe-001"

kernel_id
string

An existing Kernel ID. When provided, the resolver skips matching and returns the canonical record for this entity.

Minimum string length: 1
Example:

"6347422643"

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"

match_to_linkedin
boolean
default:false

When true, Kernel will attempt to match the resolved entity to a LinkedIn company profile. The result is returned in the linkedin field of the completed record. Defaults to false.

Example:

true

identity_bias
enum<string>

Bias the resolver toward name or URL matching when they conflict. One of: NAME_BIAS, URL_BIAS. Defaults to URL_BIAS.

Available options:
NAME_BIAS,
URL_BIAS
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

id
string
required

Unique identifier for the created job.

Example:

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

status
enum<string>
required

Initial status of the job.

Available options:
processing