Get a content request
Read one content request by ID.
Returns one content request. Pass an id returned by Query content requests.
Route
GET/api/v3/content-requests/{content_request_id}
Access modes
Use a workspace API key. The workspace is inferred from the key.
Authorization: Bearer sk_live_...Path parameters
| Parameter | Type | Description |
|---|---|---|
| content_request_id | integer | ID of the content request. |
Example request
curl "https://api.getsillage.com/api/v3/content-requests/43821" \
-H "Authorization: Bearer $SILLAGE_API_KEY"Success response
Status: 200 OK
{
"data": {
"id": 43821,
"type": "account_mapping",
"status": "in_progress",
"label": "Mapping the account",
"failed_reason": null,
"persona_ids": [12],
"created_at": "2026-06-12T08:30:00.000Z",
"updated_at": "2026-06-12T09:10:00.000Z",
"company": {
"id": 8421,
"name": "Acme",
"domain": "acme.com",
"linkedin_url": "https://www.linkedin.com/company/acme",
"linkedin_handle": "acme",
"logo_url": "https://example.com/acme-logo.png"
}
}
}Response fields
| Field | Type | Description |
|---|---|---|
| data.id | integer | ID of the content request. |
| data.type | string | What the request does: account_mapping or key_account_content. |
| data.status | string | Where the request is: pending, in_progress, completed or failed. See Statuses. |
| data.label | string | A short, readable description of the current step, for example Mapping the account, Account mapping failed, Gathering content failed or Completed. It is meant to be shown as is. |
| data.failed_reason | string or null | Why a content request (key_account_content) failed, when its status is failed. Always null for an account_mapping request, and for any request that has not failed. See failed_reason. |
| data.persona_ids | integer[] | IDs of the personas the request maps people for, as returned by List personas. Empty when none applies. |
| data.created_at | string | When the request was created, in ISO 8601. |
| data.updated_at | string | When the request last changed, in ISO 8601. |
| data.company | object or null | The company the request is about. |
| data.company.id | integer | ID of the company in your workspace. |
| data.company.name | string or null | Name of the company. |
| data.company.domain | string or null | Website domain of the company. |
| data.company.linkedin_url | string or null | LinkedIn page of the company. |
| data.company.linkedin_handle | string or null | LinkedIn handle of the company, the last part of its LinkedIn page address. |
| data.company.logo_url | string or null | Logo of the company. |
Statuses
| status | Meaning |
|---|---|
| pending | The request is waiting to start. |
| in_progress | The request is being worked on. |
| completed | The request is finished. |
| failed | The request stopped without completing. failed_reason says why. |
failed_reason
Why a content request (key_account_content) failed, when its status is failed. It is always null for an account_mapping request, even a failed one, and for every request that has not failed.
| Value | Meaning |
|---|---|
no_employee_resolved | No employee matching your persona was found for this company. |
persona_without_job_titles | Your persona has no job title: add one to map accounts. |
missing_linkedin_target | The company had no usable LinkedIn page to work from. |
request_timed_out | The request took too long and was stopped. |
insufficient_credits | Your workspace ran out of credits before the request could complete. |
internal_error | The request failed on our side. Contact support if it keeps failing. |
Errors
| Status | Meaning |
|---|---|
| 401 | The API key is missing or invalid. |
| 404 | The content request does not exist. |
| 422 | id is not a positive integer, or 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.