---
title: "Sync Adverse Media"
method: POST
path: "/companies/{company_id}/adverse-media/sync"
tags: ["company_research"]
---

# Sync Adverse Media

`POST /companies/{company_id}/adverse-media/sync`

## Request

- Base URL: `https://api.kobaltlabs.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.kobaltlabs.com/companies/{company_id}/adverse-media/sync`
- Auth: none declared

Reconcile this company's runs with Exa, then return them.

The read path never calls Exa and webhook delivery is not a path we rely on,
so without this a run in flight would not resolve until the nightly
``ExaMonitorSyncWorkflow``. Kept off the read path because the cost is only
worth it while someone is watching a run.

Reconciles only: a company with no monitor stays unprovisioned.

## Path parameters

- `company_id` string, uuid, required

## Response `200`

Successful Response

- CompanyMonitorRunResponse[]
  - `company_monitor_run_id` string, uuid, required
  - `state` string, required
  - `completed_at` string, nullable
  - `results` AdverseMediaHit[]
    - `id` string, required: Unique identifier for this hit (slug or short hash)
    - `title` string, required: Headline or title of the news article or event
    - `summary` string, required: 2-4 sentence summary of the adverse media event
    - `when` string, nullable: Date or date range of the event (e.g. 'March 2024')
    - `topics` string[]: Topic tags for the finding; see NegativeNewsTopic for the vocabulary new runs use
    - `source_url` string, nullable: URL of the primary source article
    - `is_perpetrator` boolean, required: True if the company is the alleged perpetrator (not just mentioned)
  - `created` string, required

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/kobaltlabs/apis/fastapi.md) - [All operations](https://skmtc.dev/kobaltlabs/apis/fastapi/llms.txt) - [OpenAPI document](https://skmtc.dev/kobaltlabs/apis/fastapi/revisions/8587332d5e43?raw)
