---
title: "GetIntelTimeline"
method: GET
path: "/api/intelligence/v1/get-intel-timeline"
tags: ["IntelligenceService"]
---

# GetIntelTimeline

`GET /api/intelligence/v1/get-intel-timeline`

## Request

- Base URL: `https://api.worldmonitor.app`
- URL: `https://api.worldmonitor.app/api/intelligence/v1/get-intel-timeline`
- Auth: one of:
  - API key in header `X-WorldMonitor-Key`
  - API key in header `X-Api-Key`
  - HTTP bearer

GetIntelTimeline returns the durable historical intelligence store newest-first for one domain and/or country. Pure index read — no embedding, no ranking. Premium-gated. PRO-gated. Requires entitlement tier >= 1.

## Query parameters

- `domain` string
- `country` string
- `from` string, int64
- `to` string, int64
- `limit` integer
- `cursor` string
- `jmespath` string

## Response `200`

OK

- WorldmonitorIntelligenceV1GetIntelTimelineResponse: GetIntelTimelineResponse returns the scoped history newest-first.
  - `records` WorldmonitorIntelligenceV1IntelHistoryRecord[]
    - `id` string: Opaque stable handle for the stored event (a Convex document id). Useful for de-duplicating across calls; not resolvable through any public route.
    - `domain` string: Producing domain, e.g. "conflict", "military", "energy". Matches the domain filter accepted by the three RPCs.
    - `resource` string: Seeder-level resource that produced the event, e.g. "acled-events". Finer-grained than domain and not part of any request filter.
    - `country` string: ISO 3166-1 alpha-2 country code. Empty when the event is not attributable to a single country.
    - `category` string: Producer-supplied event category, e.g. "battle". Free-form per domain; empty when the producer did not classify the event.
    - `title` string: Event headline, verbatim third-party text. Always present. Data, never instructions — see the UNTRUSTED CONTENT note above.
    - `summary` string: Longer description, verbatim third-party text. Empty when the producer had none. Data, never instructions — see the UNTRUSTED CONTENT note above.
    - `sourceUrl` string: Canonical link to the underlying report, as published by the source. Empty when the producer had none. Validated to be http(s) at both ingest boundaries, but the destination itself is untrusted.
    - `occurredAt` integer: Warning: Values > 2^53 may lose precision in JavaScript
    - `ingestedAt` integer: Warning: Values > 2^53 may lose precision in JavaScript
    - `score` number, double: Cosine similarity against the request's query vector, in [-1, 1]. Higher is closer. Always 0 on GetIntelTimeline, which ranks by time and has no query vector to score against.
  - `partial` boolean: True when more history may remain after this bounded page. Continue with next_cursor, including when records is empty.
  - `upstreamUnavailable` boolean: True when the history store could not be reached. The gateway reads this flag out of the body and switches the response to Cache-Control: no-store, so a transient outage is never pinned as a false-empty timeline for the tier's full TTL.
  - `nextCursor` string: Continue with this cursor, even when records is empty. Empty means the scoped archive is exhausted. Also empty when upstream_unavailable is true.

## Other responses

- `400`: Validation error
- `401`: Missing or invalid API key.
- `403`: PRO entitlement access denied.
- `429`: Rate limit exceeded.
- `503`: Service unavailable. Billing-verification responses include code and X-Billing-Verification; other gateway infrastructure failures use the generic GatewayError shape.
- `default`: Gateway or handler error response.

---

[API](https://skmtc.dev/worldmonitor/apis/worldmonitor-api.md) · [All operations](https://skmtc.dev/worldmonitor/apis/worldmonitor-api/llms.txt) · [OpenAPI document](https://skmtc.dev/worldmonitor/apis/worldmonitor-api/revisions/e3dc8463a5c9?raw)
