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.
APIv3

Changelog

Dated list of the changes to the v3 API that can affect your integration.

Each line below names a field, route or value that changed, with the day the change reached production.

  • 2026-10-22 — Persona job_titles, locations, headcounts and industries: null when empty → [] (GET /v3/personas, GET /v3/personas/{persona_id}, POST /v3/personas, PATCH /v3/personas/{persona_id})
  • 2026-10-22 — Company mapping status complete → completed, with a new label and a new failed value (GET /v3/company-mappings, GET /v3/company-mappings/{mapping_id})
  • 2026-10-22 — Membership log entity_id → company (company lists) or lead (lists of people), a summary of the member (GET /v3/lists/{kind}/{list_id}/membership-logs)
  • 2026-10-22 — Signal and content company_id and lead_id → company and lead, summaries with the ID and the main keys (POST /v3/signals/query, GET /v3/signals/{signal_id}, POST /v3/contents/query, GET /v3/contents/{content_id})
  • 2026-10-22 — Run metadata.failed.dropped_account_ids → metadata.failed.dropped_company_ids (GET /v3/signal-runs/{signal_run_id})
  • 2026-10-22 — balance_after_credits with decimals → whole credits, rounded down (PUT /v3/account-monitoring/accounts)
  • 2026-10-22 — Signal and content author.headline → author.linkedin_headline; signal details role becomes position or linkedin_headline; lead experiences[].title becomes position (POST /v3/signals/query, GET /v3/signals/{signal_id}, POST /v3/contents/query, GET /v3/contents/{content_id}, POST /v3/leads/query, GET /v3/leads/{lead_id})
  • 2026-10-22 — Job blocks of lead experiences and job changes: title, role, linkedin_url and date-times → position, company_linkedin_url and date-only start_date and end_date (POST /v3/leads/query, GET /v3/leads/{lead_id}, POST /v3/signals/query, GET /v3/signals/{signal_id})
  • 2026-10-22 — Content author type profile and company author company_name → type person and company name, with the other keys of a person or a company summary (POST /v3/contents/query, GET /v3/contents/{content_id})
  • 2026-10-22 — Filters signal_type, content_type, status (content requests), company_domain, company_linkedin_handle, company_linkedin_url and category → signal_types, content_types, statuses, company_domains, company_linkedin_handles, company_linkedin_urls and categories; the old names are refused with 422 (POST /v3/signals/query, POST /v3/signals/count, POST /v3/contents/query, POST /v3/content-requests/query, POST /v3/leads/query, POST /v3/leads/count, GET /v3/signal-templates)
  • 2026-10-22 — meta.resolved_companies[].company_id → company, a summary of the matched company; matched_by now names the plural filter (POST /v3/signals/query, POST /v3/leads/query, POST /v3/contents/query, POST /v3/content-requests/query)
  • 2026-10-22 — Company url → website_url (GET /v3/companies/{company_id})
  • 2026-10-22 — Content link, post_id, original_post_id, linkedin_id and images → linkedin_url, linkedin_post_id, linkedin_original_post_id, linkedin_comment_id or linkedin_job_id, and image_urls (POST /v3/contents/query, GET /v3/contents/{content_id})
  • 2026-10-22 — Run scope → removed: an empty companies array already means the whole workspace (POST /v3/signal-runs, GET /v3/signal-runs, GET /v3/signal-runs/{signal_run_id}, GET /v3/requests-status)
  • 2026-10-22 — Company employee_range labels such as "201-500 employees" → the persona headcounts values such as 201-500, or null (GET /v3/companies/{company_id}, POST /v3/leads/query, GET /v3/leads/{lead_id})
  • 2026-10-22 — People member current_company → company, a summary of the employer (GET /v3/lists/{kind}/{list_id}/members, POST /v3/lists/{kind}/{list_id}/members)
  • 2026-10-22 — List monitored_count → monitoring_by_persona, one entry per persona (GET /v3/lists, GET /v3/lists/{kind}/{list_id}, POST /v3/lists, PATCH /v3/lists/{kind}/{list_id}, POST /v3/lists/{kind}/{list_id}/restore)
  • 2026-10-22 — monitored_count of the monitoring summary included the accounts not paid for → it counts only the accounts monitored and paid for (GET /v3/account-monitoring)
  • 2026-10-22 — Add members: top-level errors → data.rejected, next to data.added and data.already_in_list (POST /v3/lists/{kind}/{list_id}/members)
  • 2026-10-22 — Monitoring change refused with company_id and reason → rejected with input, code and message (PUT /v3/account-monitoring/accounts)
  • 2026-10-22 — Lead experiences null and empty strings → [] and null (POST /v3/leads/query, GET /v3/leads/{lead_id})
  • 2026-10-22 — Signal details interaction.url → interaction.linkedin_url (POST /v3/signals/query, GET /v3/signals/{signal_id})
  • 2026-10-22 — Content mentions.profiles[].name → mentions.profiles[].full_name (POST /v3/contents/query, GET /v3/contents/{content_id})
  • 2026-10-22 — The embedded post: post.extract, post.url, post.link and post_content_id → one post object with content_id, linkedin_url, text and author (POST /v3/signals/query, GET /v3/signals/{signal_id}, POST /v3/contents/query, GET /v3/contents/{content_id})
  • 2026-10-22 — Content reaction_type in capitals → lowercase values such as praise (POST /v3/contents/query, GET /v3/contents/{content_id})
  • 2026-10-22 — PUT /v3/lists/{kind}/{list_id} → PATCH /v3/lists/{kind}/{list_id} (update a list)