Enrich company mapping

Resolve a company and start asynchronous Account Mapping enrichment.

Resolves a company by domain, LinkedIn URL, or LinkedIn handle, then starts asynchronous enrichment for the company mapping.

The endpoint returns 202 Accepted immediately. Enrichment continues in the background.

If a recent enrichment already exists for the same company and workspace, the response reflects the existing request instead of creating a duplicate.

Route

POST/api/v2/enrich-company-mapping

Access modes

Use a workspace API key. The workspace is inferred from the key.

Authorization: Bearer sk_live_...

Request body

Send one primary company identifier. You can send domain and linkedin_url together only when the LinkedIn URL disambiguates the domain. Do not send linkedin_handle with another identifier.

FieldTypeRequiredDescription
domainstringConditionalCompany domain, for example acme.com. Can be combined with linkedin_url to disambiguate.
linkedin_urlstringConditionalLinkedIn company URL. Can be combined with domain to disambiguate.
linkedin_handlestringConditionalLinkedIn company slug after /company/, for example acme.

Valid body examples:

{
  "domain": "acme.com"
}
{
  "linkedin_url": "https://www.linkedin.com/company/acme"
}
{
  "linkedin_handle": "acme"
}

Example request

curl "https://api.getsillage.com/api/v2/enrich-company-mapping" \
  -X POST \
  -H "Authorization: Bearer sk_live_..." \
  -H "Content-Type: application/json" \
  -d '{"domain":"acme.com"}'

Success response

Status: 202 Accepted

{
  "status": "accepted",
  "request_id": 12345,
  "stage": "account_mapping_in_progress"
}

Polling enrichment stage

The request_id in the response is the content-request ID to use when polling for completion. Poll GET /api/v2/account-mapping/{request_id}/stage until the stage field reaches a terminal value.

Terminal stages: completed (success) and account_mapping_failed (failure). See Account Mapping — Polling enrichment stage for the full response shape.

Response headers

HeaderDescription
X-Request-IdRequest UUID for debugging and support.
X-Response-TimeServer response time.

Response fields

FieldTypeDescription
statusstringAcceptance status.
request_idintegerNumeric SQL ID of the content request created or reused for enrichment.
stagestringCurrent enrichment stage.

Errors

StatusMeaning
400The request input is invalid.
401The API key is missing or invalid.
402Insufficient credits to complete the enrichment.
403Account Mapping is not enabled for the workspace.
409A conflicting enrichment request already exists.
422The request body is structurally valid but semantically invalid (for example, multiple conflicting identifiers).
500An unexpected server error occurred.

Error responses use RFC 9457 problem documents with Content-Type: application/problem+json:

{
  "type": "https://docs.getsillage.com/errors/forbidden",
  "title": "Forbidden",
  "status": 403,
  "detail": "Account Mapping is not enabled for this workspace.",
  "instance": "/api/v2/enrich-company-mapping"
}

On this page