---
title: "Changes"
method: GET
path: "/api/v1/radar/changes"
tags: ["Radar API"]
---

# Changes

`GET /api/v1/radar/changes`

## Request

- Base URL: `https://adios.hr`
- URL: `https://adios.hr/api/v1/radar/changes`
- Auth: one of:
  - HTTP bearer
  - API key in header `X-Api-Key`

A durable feed of publications, updates, cancellations and removals, oldest first. after=latest gives a starting point, after=0 reads from the start of the feed. Each change carries the notice's current public state (not a historical copy). Radar package: 7-day trial, then EUR 19/month, unlimited requests. Needs a Radar key (adios_radar_…); API keys are refused. Documentation: https://adios.hr/developers/radar/docs.

## Query parameters

- `lang` 'hr' | 'en'
- `limit` integer
- `after` string

## Response `200`

OK: {"data": …, "meta": …}

- RadarChangesResponse
  - `data` object[], nullable, required
    - `id` string, required
    - `type` string, required
    - `notice_id` string, uuid, required
    - `occurred_at` string, date-time, required
    - `notice` object, nullable
      - `id` string, uuid, required
      - `tracker` string, required
      - `language` string, required
      - `title` string, required
      - `summary` string, required
      - `body` string, required
      - `reason` string, nullable
      - `advice` string, nullable
      - `url` string, required
      - `translations` object[], required
        - `language` string, required
        - `title` string, required
        - `summary` string, required
        - `body` string, required
        - `reason` string, nullable
        - `advice` string, nullable
        - `url` string, required
      - `category` object, nullable
        - `key` string, required
        - `name` string, required
        - `slug` string, required
        - `concerns_children` boolean, required
      - `hazard` object, nullable
        - `key` string, required
        - `name` string, required
        - `slug` string, required
        - `concerns_children` boolean, required
      - `risk` 'unknown' | 'low' | 'medium' | 'high' | 'serious'
      - `notice_type` string, required
      - `cancelled` boolean, required
      - `brand` string, nullable
      - `origin_country` string, nullable
      - `issued_by` string, nullable
      - `published_at` string, date-time, required
      - `detected_at` string, date-time, required
      - `updated_at` string, date-time, required
      - `source_url` string, required
      - `source` object, required
        - `key` string, required
        - `name` string, required
        - `publisher` string, required
        - `publisher_short_name` string, required
        - `publisher_url` string, required
        - `language` string, required
        - `checking_enabled` boolean, required
        - `check_interval_minutes` union, required
          - string
          - integer
        - `last_checked_at` string, date-time, nullable
        - `last_success_at` string, date-time, nullable
      - `image_url` string, nullable
      - `images` object[], required
        - `url` string, required
        - `alt_text` string, nullable
        - `kind` string, nullable
      - `products` object[], required
        - `name` string, required
        - `brand` string, nullable
        - `variant` string, nullable
        - `gtin` string, nullable
        - `lots` string[], required
        - `best_before` string, nullable
        - `best_before_date` string, date, nullable
      - `companies` object[], required
        - `role` 'producer' | 'importer' | 'distributor' | 'retailer' | 'other'
        - `name` string, required
        - `address` string, nullable
        - `country_code` string, nullable
      - `stores` object[], required
        - `name` string, required
        - `slug` string, required
      - `earlier_notice_id` string, uuid, nullable
      - `cancelled_by_id` string, uuid, nullable
      - `update_ids` string[], required
      - `editorial` boolean, required
  - `meta` object, required: count, package, plan, took_ms; lists also include next_cursor and has_more.

## Other responses

- `400`: A wrong parameter.
- `401`: No key, or a wrong one.
- `403`: Suspended account, a key of the other package (an API key on Radar, a Radar key elsewhere), or an inactive Radar package.
- `404`: Not found.
- `429`: A limit is reached (see Retry-After).

---

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