API v3 is live and in beta: expect possible malfunctions and breaking changes in the coming days. If you find a bug, please report it to your Sillage contact.

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

ParameterTypeDescription
content_request_idintegerID 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

FieldTypeDescription
data.idintegerID of the content request.
data.typestringWhat the request does: account_mapping or key_account_content.
data.statusstringWhere the request is: pending, in_progress, completed or failed. See Statuses.
data.labelstringA 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_reasonstring or nullWhy 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_idsinteger[]IDs of the personas the request maps people for, as returned by List personas. Empty when none applies.
data.created_atstringWhen the request was created, in ISO 8601.
data.updated_atstringWhen the request last changed, in ISO 8601.
data.companyobject or nullThe company the request is about.
data.company.idintegerID of the company in your workspace.
data.company.namestring or nullName of the company.
data.company.domainstring or nullWebsite domain of the company.
data.company.linkedin_urlstring or nullLinkedIn page of the company.
data.company.linkedin_handlestring or nullLinkedIn handle of the company, the last part of its LinkedIn page address.
data.company.logo_urlstring or nullLogo of the company.

Statuses

statusMeaning
pendingThe request is waiting to start.
in_progressThe request is being worked on.
completedThe request is finished.
failedThe 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.

ValueMeaning
no_employee_resolvedNo employee matching your persona was found for this company.
persona_without_job_titlesYour persona has no job title: add one to map accounts.
missing_linkedin_targetThe company had no usable LinkedIn page to work from.
request_timed_outThe request took too long and was stopped.
insufficient_creditsYour workspace ran out of credits before the request could complete.
internal_errorThe request failed on our side. Contact support if it keeps failing.

Errors

StatusMeaning
401The API key is missing or invalid.
404The content request does not exist.
422id is not a positive integer, or a query parameter is sent: this route takes none, and errors names the parameter.
429Rate limit exceeded.
500An 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.

On this page