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
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.
| Field | Type | Required | Description |
|---|---|---|---|
| domain | string | Conditional | Company domain, for example acme.com. Can be combined with linkedin_url to disambiguate. |
| linkedin_url | string | Conditional | LinkedIn company URL. Can be combined with domain to disambiguate. |
| linkedin_handle | string | Conditional | LinkedIn 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
| Header | Description |
|---|---|
| X-Request-Id | Request UUID for debugging and support. |
| X-Response-Time | Server response time. |
Response fields
| Field | Type | Description |
|---|---|---|
| status | string | Acceptance status. |
| request_id | integer | Numeric SQL ID of the content request created or reused for enrichment. |
| stage | string | Current enrichment stage. |
Errors
| Status | Meaning |
|---|---|
| 400 | The request input is invalid. |
| 401 | The API key is missing or invalid. |
| 402 | Insufficient credits to complete the enrichment. |
| 403 | Account Mapping is not enabled for the workspace. |
| 409 | A conflicting enrichment request already exists. |
| 422 | The request body is structurally valid but semantically invalid (for example, multiple conflicting identifiers). |
| 500 | An 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"
}