---
title: "Company change signals, last 365 days: name, address, legal form, business line, register entries, LEI status — $0.03"
method: GET
path: "/v1/data/company/signals/{country}/{id}"
tags: ["data"]
---

# Company change signals, last 365 days: name, address, legal form, business line, register entries, LEI status — $0.03

`GET /v1/data/company/signals/{country}/{id}`

## Request

- Base URL: `https://x402.asterpay.io`
- URL: `https://x402.asterpay.io/v1/data/company/signals/{country}/{id}`
- Auth: one of:
  - API key in header `PAYMENT-SIGNATURE`
  - HTTP payment

Dated register events for one company over the last 365 days (or since ?since=YYYY-MM-DD; the response returns next_since for the next poll), newest first, with flags an agent can act on: name_changed_90d, address_changed_90d, legal_form_changed_365d, business_line_changed_365d, situation_recorded_365d, ended, lei_lapsed, lei_renewal_due_90d. country=fi reads PRH register events and the GLEIF LEI record; country=lei reads GLEIF only; country=gb reads Companies House filing history (when enabled). A registered change is a fact; its meaning is the caller's interpretation. Source: PRH (Finnish Trade Register) / GLEIF / Companies House (CC BY 4.0 (PRH); CC0 (GLEIF); OGL (Companies House)). Cadence: daily; observed_at in the response is the upstream timestamp.

## Path parameters

- `country` string, required
- `id` string, required

## Query parameters

- `since` string

## Response `200`

Company change signals, last 365 days: name, address, legal form, business line, register entries, LEI status

- object
  - `success` boolean, required
  - `data` object, required: Door-specific payload; see the door description and GET /v1/data for an example URL
  - `source` object, required
    - `name` string, required
    - `url` string, required
    - `license` string, required
  - `observed_at` string, nullable, required: Upstream publication/observation time (ISO 8601). Never the AsterPay fetch time.
  - `fetched_at` string, required: When AsterPay last fetched from the upstream
  - `cadence` 'live' | '5m' | '15m' | 'hourly' | 'daily' | 'weekly' | 'monthly' | 'yearly', required
  - `next_expected` string, nullable: Earliest time a newer upstream value is expected
  - `cache_expires_at` string
  - `stale` boolean, required: true when the upstream failed and a cached copy under 24h old was served
  - `timestamp` string, required

## Other responses

- `402`: Payment Required — pay via x402 or MPP (USDC on Base, Ethereum, Polygon, Arbitrum, Optimism or SKALE), then retry. See the WWW-Authenticate and Payment-Required response headers, or the `accepts` array below. The example is the exact body the runtime returns (minus per-request extras such as example_response and extensions.bazaar).

---

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