> ## Documentation Index
> Fetch the complete documentation index at: https://docs.sacra.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Content synchronization updates

> Additive changes to /documents, /news/company, and /events for content synchronization workflows

This changelog summarizes the additive changes to `/documents`, `/news/company`, and `/events` that enable content synchronization workflows. For a practical guide using these features, see [Sync Sacra Research & Data](/guides/syncing-data).

## Common additions

All three endpoints now support:

* **Time filters**: `created_at_gte`, `created_at_lte`, `updated_at_gte`, `updated_at_lte`
* **Cursor pagination** (documents and news by default, events via `pagination=cursor`): `page_after`, `page_before`, `page_size`

Cursor pagination responses include `next_link` / `prev_link` and cursor metadata.

<Note>
  Cursor links URL-encode date values (e.g., `:` becomes `%3A`), which is expected. For daily polls, use a 24-hour window (tight date range).
</Note>

***

## Documents

**Additions:**

* Global GET (no company params required)
* `created_at_gte/lte` and `updated_at_gte/lte` filters
* Cursor pagination (`page_after`, `page_before`, `page_size`)
* Global responses include `companies` array with `relation` (`subject`/`connected`)
* Company-scoped responses now include `published_at`, `created_at`, `updated_at`

### Global documents (no company params)

```bash theme={null}
curl -H "Authorization: Token YOUR_API_KEY" \
  "https://sacra.com/api/v1/documents?updated_at_gte=2026-01-13T00:00:00Z&updated_at_lte=2026-01-14T00:00:00Z"
```

```json theme={null}
{
  "documents": [
    {
      "id": 1835,
      "slug": "owner",
      "title": "Owner One-Pager",
      "link": "https://sacra-pdfs.s3.us-east-2.amazonaws.com/owner.pdf",
      "type": "company",
      "date": "2026-01-13",
      "published_at": "2026-01-13",
      "created_at": "2025-03-10T20:42:33.911Z",
      "updated_at": "2026-01-13T21:01:20.492Z",
      "preview_meta": {
        "title": "Owner",
        "image": "https://images.prismic.io/sacra/...",
        "description": "Software suite for restaurants to manage online ordering, websites, marketing, and loyalty"
      },
      "companies": [
        { "id": 1486, "domain": "owner.com", "relation": "subject" }
      ]
    }
  ],
  "pagination": {
    "page_size": 30,
    "current_page_items": 1,
    "total_items": 1,
    "next_link": null,
    "prev_link": null,
    "after_cursor": "Start",
    "before_cursor": null
  }
}
```

### Company-scoped documents

```bash theme={null}
curl -H "Authorization: Token YOUR_API_KEY" \
  "https://sacra.com/api/v1/documents?company_domain=owner.com&updated_at_gte=2026-01-13T00:00:00Z&updated_at_lte=2026-01-14T00:00:00Z"
```

```json theme={null}
{
  "documents": [
    {
      "id": 1835,
      "slug": "owner",
      "title": "Owner One-Pager",
      "link": "https://sacra-pdfs.s3.us-east-2.amazonaws.com/owner.pdf",
      "type": "company",
      "date": "2026-01-13",
      "published_at": "2026-01-13",
      "created_at": "2025-03-10T20:42:33.911Z",
      "updated_at": "2026-01-13T21:01:20.492Z",
      "preview_meta": {
        "title": "Owner",
        "image": "https://images.prismic.io/sacra/...",
        "description": "Software suite for restaurants to manage online ordering, websites, marketing, and loyalty"
      },
      "relation": "subject"
    }
  ]
}
```

***

## News

**Additions:**

* `created_at_gte/lte` and `updated_at_gte/lte` filters (aliases for existing created\_at filters)
* `company` object per item (`id`, `domain`)
* Domain-less queries require a date window of 14 days or less

<Tip>Use daily polling with a 24-hour date window for domain-less queries.</Tip>

```bash theme={null}
curl -H "Authorization: Token YOUR_API_KEY" \
  "https://sacra.com/api/v1/news/company?updated_at_gte=2026-01-13T00:00:00Z&updated_at_lte=2026-01-14T00:00:00Z"
```

```json theme={null}
{
  "company_news": [
    {
      "id": "997bdd91-ec86-4f54-ac46-671eb50ec214",
      "release_date": "2026-01-13T10:37:38Z",
      "headline": "Balderton Capital Cashes Out $2 Billion From Revolut Stake",
      "short_headline": "Balderton Cashes $2B",
      "description": "It led Revolut's first funding round and has cashed out about $2bn...",
      "created_at": "2026-01-13T12:24:06.621470Z",
      "updated_at": "2026-01-13T12:24:06.621479Z",
      "articles": [
        {
          "id": "0681f131-b451-43d6-a3f6-c857060021ee",
          "link": "https://ft.com/content/e19a419f-5c81-4326-8f41-478e90c7211a",
          "headline": "The London investor making billions from Revolut",
          "short_summary": "The VC firm Balderton Capital is cashing in on its home-run bet on the fintech",
          "date_published": "2026-01-14T05:00:31Z",
          "thumbnail": "...",
          "publication": "Financial Times",
          "publication_score": 200
        }
      ],
      "company": { "id": 407, "domain": "revolut.com" }
    }
  ],
  "pagination": {
    "page_size": 10,
    "current_page_items": 7,
    "total_items": 7,
    "next_link": null,
    "prev_link": null,
    "after_cursor": "Start",
    "before_cursor": null
  },
  "meta": {
    "query_type": "domain-less",
    "companies_count": 1276,
    "companies": null
  }
}
```

***

## Events

**Additions:**

* `created_at_gte/lte` and `updated_at_gte/lte` filters
* Cursor pagination via `pagination=cursor`
* Cursor pagination metadata aligned with documents/news (`next_link`, `prev_link`, cursors)

Cursor pagination is opt-in via `pagination=cursor`. Page-based pagination remains the default.

```bash theme={null}
curl -H "Authorization: Token YOUR_API_KEY" \
  "https://sacra.com/api/v1/events?pagination=cursor&updated_at_gte=2026-01-13T00:00:00Z&updated_at_lte=2026-01-14T00:00:00Z"
```

```json theme={null}
{
  "events": [
    {
      "event_id": "st_0c601c12-6213-4093-8e5b-90febbb1056e",
      "event_type": "secondary_transaction",
      "event_subtype": "institutional_secondary",
      "event_name": "Direct Sale (2025)",
      "event_date": "2025-09-01",
      "event_status": "closed",
      "event_last_updated_at": "2026-01-13T18:03:42.923112+00:00",
      "company": { "id": "407", "slug": "revolut", "domain": "revolut.com" },
      "data": {
        "id": "0c601c12-6213-4093-8e5b-90febbb1056e",
        "updated_at": "2026-01-13T18:03:42.923112+00:00",
        "name": "Direct Sale (2025)",
        "transaction_type": "institutional_secondary",
        "transaction_amount": "1000000000.00",
        "currency": "USD",
        "valuation": "75000000000.00",
        "price_per_share": "1381.06",
        "announced_date": "2025-09-01",
        "closing_date": "2025-09-05",
        "created_at": "2025-10-24T01:19:34.954929+00:00",
        "equities": [],
        "status": "closed"
      }
    }
  ],
  "pagination": {
    "page_size": 30,
    "current_page_items": 1,
    "total_items": 1,
    "after_cursor": "Start",
    "before_cursor": null,
    "next_link": null,
    "prev_link": null
  }
}
```

***

## Notes

* All changes are additive. Existing clients can continue using company-scoped queries and page-based events pagination.
* Cursor pagination responses use endpoint-specific `next_link` and `prev_link` URLs.
* Document content (document elements/body) is still served by the document content endpoint, not the global documents list.
