List company mappings
Browse the company mappings of the workspace, without their people.
Returns the company mappings of your workspace, a page at a time, newest first: the companies that were mapped, with their status. The people found for a mapping are not included; use Get a company mapping to read them.
company.id is null when the company is not one of your workspace's companies; the other keys of company are still returned.
A company can appear several times: it gets one mapping per persona, and a new mapping each time it is mapped again. persona_id tells which persona each mapping was made for. To find the current mapping of a company, filter on its company_ids, add persona_id when there are several personas, and set latest=true.
Route
Access modes
Use a workspace API key. The workspace is inferred from the key.
Authorization: Bearer sk_live_...Query parameters
| Parameter | Type | Description |
|---|---|---|
| page | integer | Page number, starting at 1. Defaults to 1. |
| page_size | integer | Items per page, from 1 to 100. Defaults to 25. |
| company_ids | string | Only the mappings of these companies, as a comma-separated list of company ids (the company.id of a mapping, the id of a member of a company list). Up to 20 values. An id that is not one of your companies matches nothing. |
| persona_id | integer | Only the mappings made for this persona. Mappings made for every persona (persona_id: null) are left out. It must be the ID of a persona of your workspace: see List personas. |
| latest | boolean | true keeps only the newest mapping of each company for each persona. Defaults to false. |
Example request
curl "https://api.getsillage.com/api/v3/company-mappings?page=1&page_size=25" \
-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": 7,
"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"
}
}
],
"meta": {
"pagination": {
"page": 1,
"page_size": 25,
"page_count": 1,
"total": 1
}
}
}Response fields
| Field | Type | Description |
|---|---|---|
| data[].id | integer | ID of the mapping. Use it as mapping_id in Get a company 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 made 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. |
| meta.pagination.page | integer | Current page. |
| meta.pagination.page_size | integer | Items per page. |
| meta.pagination.page_count | integer | Number of pages. |
| meta.pagination.total | integer | Total number of items. |
See Pagination.
Errors
| Status | Meaning |
|---|---|
| 401 | The API key is missing or invalid. |
| 422 | page or page_size is not valid, a query parameter is not known, or persona_id is not the ID of a persona of the workspace (errors.persona_id). |
| 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.