Get a company mapping
Read one company mapping with the people found for it.
Returns one company mapping of your workspace together with every person found for it.
Use the id of an item of List company mappings as mapping_id. Do not use company.id or the id of a profile.
Route
GET/api/v3/company-mappings/{mapping_id}
Access modes
Use a workspace API key. The workspace is inferred from the key.
Authorization: Bearer sk_live_...Path parameters
| Parameter | Type | Description |
|---|---|---|
| mapping_id | integer | ID of the mapping, as returned by List company mappings. |
Example request
curl "https://api.getsillage.com/api/v3/company-mappings/55" \
-H "Authorization: Bearer $SILLAGE_API_KEY"Success response
Status: 200 OK
{
"data": {
"id": 55,
"created_at": "2026-09-14T08:30:00.000Z",
"version": 2,
"status": "completed",
"label": "Completed",
"persona_id": 12,
"company": {
"id": 789,
"name": "Acme",
"domain": "acme.com",
"linkedin_url": "https://www.linkedin.com/company/acme",
"linkedin_handle": "acme",
"logo_url": "https://example.com/acme-logo.png"
},
"profiles": [
{
"id": 9001,
"full_name": "Jane Doe",
"linkedin_handle": "janedoe",
"linkedin_url": "https://www.linkedin.com/in/janedoe",
"avatar_url": "https://example.com/avatar.png",
"linkedin_about": "I help sales teams grow.",
"position": "VP Sales",
"position_start_date": "2022-03-01",
"first_name": "Jane",
"last_name": "Doe",
"email": "jane.doe@acme.com",
"phone": "+33 1 23 45 67 89",
"linkedin_headline": "VP Sales at Acme",
"location": {
"city": "Paris",
"region": "Île-de-France",
"country": "France",
"country_code": "FR"
},
"seniority": "vp",
"department": "sales"
}
]
}
}Response fields
| Field | Type | Description |
|---|---|---|
| data.id | integer | ID of the mapping. |
| data.created_at | string or null | When the mapping was created, as an ISO 8601 timestamp. |
| data.version | integer or null | Numbers this company's mappings, starting at 1. It does not go up when a mapping is refreshed. |
| data.status | string | in_progress while the people are still being found, completed once every profile is ready, failed when the mapping could not finish and will not change. New values may be added; ignore values you don't know. |
| data.label | string | A readable name for the status: Mapping the account, Completed or Failed. |
| data.persona_id | integer or null | The persona this mapping was built for. null when it applies to every persona. |
| data.company | object or null | The mapped company. null when the mapping has no company. |
| data.company.id | integer or null | ID of the company in your workspace, the value the company_ids filters take. null when the company is not one of your workspace's companies. |
| data.company.name | string or null | Company name. |
| data.company.domain | string or null | Primary domain. |
| data.company.linkedin_url | string or null | LinkedIn page of the company. |
| data.company.linkedin_handle | string or null | LinkedIn handle of the company. |
| data.company.logo_url | string or null | Logo of the company. |
| data.profiles | array | The people found for this company. Only people who have a lead in your workspace are listed. |
| data.profiles[].id | integer | ID of the person: the lead ID, which Get a lead takes. |
| data.profiles[].full_name | string or null | Full name. |
| data.profiles[].linkedin_handle | string or null | LinkedIn profile handle. |
| data.profiles[].linkedin_url | string or null | LinkedIn profile URL. |
| data.profiles[].avatar_url | string or null | Profile picture URL. |
| data.profiles[].linkedin_about | string or null | The "About" text of the LinkedIn profile. |
| data.profiles[].position | string or null | Current job title. |
| data.profiles[].position_start_date | string or null | When the person started their current role, YYYY-MM-DD. |
| data.profiles[].first_name | string or null | First name. |
| data.profiles[].last_name | string or null | Last name. |
| data.profiles[].email | string or null | Email address, when known. |
| data.profiles[].phone | string or null | Phone number, when known. |
| data.profiles[].linkedin_headline | string or null | LinkedIn headline. |
| data.profiles[].location | object or null | Location of the person: { city, region, country, country_code }, any part null when unknown. null when it is not known. |
| data.profiles[].seniority | string | Seniority level deduced from the position: owner, founder, c_suite, partner, vp, head, director, manager, senior, entry, intern or unspecified. |
| data.profiles[].department | string | Department deduced from the position: executive, board_investors, sales, marketing_communications, revenue_operations, customer_success, product_design, engineering, data_ai_analytics, it_security, rd_science, finance_accounting, legal_compliance, people_hr, business_operations, site_network_operations, supply_chain, manufacturing, procurement, quality_regulatory, strategy_corporate_development, consulting_delivery, other or unspecified. |
Errors
| Status | Meaning |
|---|---|
| 401 | The API key is missing or invalid. |
| 404 | The mapping does not exist. |
| 422 | mapping_id is not a valid ID. A query parameter is sent: this route takes none, and errors names the parameter. |
| 429 | Rate limit exceeded. |
| 500 | An unexpected server error occurred. |
Error responses use RFC 9457 problem documents with Content-Type: application/problem+json. type is always about:blank; code tells one problem from another, detail says what went wrong this time, and errors names the field at fault.