Get requests status
Get a snapshot of all the work currently being processed in your workspace.
Returns all the work in progress in your workspace, signal runs and the preparation of your accounts, as one flat list, newest first. Each item has a type that tells you what kind of work it is. Use it to check what is still being prepared before concluding that results are missing.
Only pending and in_progress items are returned: failed and completed requests are not part of this snapshot. An empty data array means nothing is running, it is not an error.
Route
Access modes
Use a workspace API key. The workspace is inferred from the key.
Authorization: Bearer sk_live_...Query parameters
Both are optional. Without them, one call returns up to the 500 most recent items, which covers virtually every workspace.
| Parameter | Type | Description |
|---|---|---|
| page | integer | Page number, from 1. Defaults to 1. Only needed when meta.pagination.page_count is above 1. |
| page_size | integer | Items per page, from 1 to 500. Defaults to 500. |
Example request
curl "https://api.getsillage.com/api/v3/requests-status" \
-H "Authorization: Bearer $SILLAGE_API_KEY"Success response
Status: 200 OK
{
"data": [
{
"type": "signal",
"id": 5,
"status": "in_progress",
"label": "Detecting signals",
"created_at": "2026-06-30T08:05:00.000Z",
"updated_at": "2026-06-30T08:05:00.000Z",
"companies": [
{
"id": 88,
"name": "Acme",
"domain": "acme.com",
"linkedin_url": "https://www.linkedin.com/company/acme",
"linkedin_handle": "acme",
"logo_url": "https://example.com/acme-logo.png"
}
],
"signal_setup_id": 42
},
{
"type": "account_mapping",
"id": 12,
"status": "in_progress",
"label": "Mapping the account",
"failed_reason": null,
"created_at": "2026-06-30T08:00:00.000Z",
"updated_at": "2026-06-30T08:01:00.000Z",
"company": {
"id": 88,
"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": 500,
"page_count": 1,
"total": 2
}
}
}Response fields
data mixes every kind of work in one list, newest first. Branch on each item's type.
The list is paged by page number: see Pagination.
| Field | Type | Description |
|---|---|---|
| data[] | array | The items of the page. |
| meta.pagination.page | integer | Current page. |
| meta.pagination.page_size | integer | Items per page. |
| meta.pagination.page_count | integer | Number of pages. Above 1 only in extreme cases, for example a large list being added: fetch the remaining pages to see everything. |
| meta.pagination.total | integer | Total number of pending and in-progress items, whatever the page. |
Items of type signal
A signal item is exactly a run as Signal Runs describes it, plus its type.
| Field | Type | Description |
|---|---|---|
| type | string | Always "signal". |
| id | integer | ID of the signal run. |
| status | string | pending or in_progress. |
| label | string | A short readable description of the current step. |
| created_at | string (date-time) | When the run was started. |
| updated_at | string (date-time) | When the run was last updated. |
| companies | array | The accounts being scanned. An empty array means the run covers the whole workspace. |
| companies[].id | integer | ID of the company, as returned by POST /v3/companies/query. |
| companies[].name | string | null | Company name. |
| companies[].domain | string | null | Company domain. |
| companies[].linkedin_url | string | null | LinkedIn page of the company. |
| companies[].linkedin_handle | string | null | LinkedIn handle of the company. |
| companies[].logo_url | string | null | Logo of the company. |
| signal_setup_id | integer | null | ID of the signal setup the run belongs to, the same ID as in the client's signal setups. null when the run is not tied to one of the signal setups, for example a very old run, or a setup deleted while it was running. |
Items of type account_mapping or key_account_content
| Field | Type | Description |
|---|---|---|
| type | string | What kind of work the item is: "account_mapping" or "key_account_content". |
| id | integer | ID of the request. |
| status | string | pending or in_progress. |
| label | string | A short readable description of the current step. |
| failed_reason | null | Always null here: a request that failed is no longer in progress. |
| created_at | string (date-time) | When the request was created. |
| updated_at | string (date-time) | When the request was last updated. |
| company | object | null | The company the request is running for. null for a request that spans the whole workspace. |
| company.id | integer | ID of the company, as returned by POST /v3/companies/query. |
| company.name | string | null | Company name. |
| company.domain | string | null | Company domain, for example acme.com. |
| company.linkedin_url | string | null | LinkedIn page of the company. |
| company.linkedin_handle | string | null | LinkedIn handle of the company. |
| company.logo_url | string | null | Logo of the company. |
How the work relates
Account mapping comes first, then the gathering of content for the accounts, then signal detection. When the list holds account_mapping items but no signal items, signals are not missing: they cannot start until the earlier work is done.
Errors
| Status | Meaning |
|---|---|
| 401 | The API key is missing or invalid. |
| 422 | page or page_size is not valid, or a query parameter is not known. |
| 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.