Query Content Requests

POST body variant of the content requests list, for large identifier lists.

POST/api/v2/content-requests/query

POST body alternative to GET /api/v2/content-requests. Accepts the same filters as native JSON arrays. Use this variant when your identifier arrays are large (more than a few values for company_domain, company_linkedin_handle, or company_linkedin_url). For small queries, prefer the GET endpoint.

Request body

FieldTypeDescription
pageintegerPage number (default 1).
page_sizeintegerNumber of items per page (default 25).
date_fromstringISO 8601 timestamp. Include requests created at or after this date.
date_tostringISO 8601 timestamp. Include requests created at or before this date.
typestringFilter by request type. Valid values: account_mapping, top_account_content.
stagestring[]Filter by stage. Native JSON array. Defaults to all stages except completed.
company_idintegerFilter by company numeric SQL id. Takes priority over all human-identifier fields.
company_domainstring[]Filter by company domain(s). Native JSON array. Maximum 100 values.
company_linkedin_handlestring[]Filter by company LinkedIn handle(s). Native JSON array. Maximum 100 values.
company_linkedin_urlstring[]Filter by company LinkedIn URL(s). Native JSON array. Maximum 100 values.

Example request

curl -X POST "https://api.getsillage.com/api/v2/content-requests/query" \
  -H "Authorization: Bearer $SILLAGE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"page":1,"page_size":10,"type":"account_mapping","company_domain":["acme.com","example.com"]}'

Example response

{
  "data": [
    {
      "id": 43821,
      "type": "account_mapping",
      "stage": "account_mapping_in_progress",
      "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"
      },
      "inputs": {}
    }
  ],
  "meta": {
    "pagination": {
      "page": 1,
      "page_size": 10,
      "page_count": 3,
      "total": 28
    },
    "resolved_companies": [
      {
        "company_id": 8421,
        "matched_by": "domain",
        "identifier": "acme.com"
      },
      {
        "company_id": 9103,
        "matched_by": "domain",
        "identifier": "example.com"
      }
    ]
  }
}

meta.resolved_companies

Present on all list responses (GET and POST). Contains one entry per company matched from a company filter (company_id, company_domain, company_linkedin_handle, or company_linkedin_url).

FieldTypeDescription
company_idintegerNumeric SQL id of the matched company.
matched_bystringWhich identifier tier produced this match. One of: company_id, linkedin_handle, linkedin_url, domain.
identifierstringThe original identifier value supplied by the caller (domain, handle, URL, or numeric id echoed as a string).

All entries share the same matched_by value for a given response. When no company filter is supplied, resolved_companies is an empty array.

On this page