---
title: "Changes to alerted series (not metered)"
method: GET
path: "/api/v1/changes"
---

# Changes to alerted series (not metered)

`GET /api/v1/changes`

## Request

- Base URL: `https://invokely.ai`
- URL: `https://invokely.ai/api/v1/changes`
- Auth: one of:
  - HTTP bearer
  - API key in header `x-api-key`
  - none

What changed in the series the user has alerts on: new periods and revisions, oldest first. Use it to answer "what changed since my last check" without webhooks.
First call: no arguments (the last 7 days) or since (an ISO date). Keep next_cursor and pass it as cursor next time to get only newer changes. has_more says another page is waiting.
Example: {"cursor": "1842"}. Returns {changes: [{id, cursor, type: "new_period" | "revision", created_at, indicator, place, frequency, period_count, first_period, last_period, changes: [{period, value, status?, previous_value?, previous_status?}], source: {id, name, publisher, url}, links: {page, api}, alerts}], next_cursor, has_more}.
Cite source.url and the period when reporting a change. Changes are kept 35 days.

## Query parameters

- `cursor` string
- `since` string
- `alert` string
- `limit` integer

## Response `200`

{"data": {"changes": [...], "next_cursor", "has_more"}}

- Data
  - `data` unknown, required

## Other responses

- `400`: Invalid argument (INVALID_ARGUMENT).
- `401`: API key required (UNAUTHORIZED).
- `404`: No such alert (ITEM_NOT_FOUND).
- `429`: More than 60 alert calls a minute (RATE_LIMITED).

---

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