---
title: "VAT_BECAME_VALID"
method: POST
path: "vatBecameValid"
tags: ["Webhooks"]
---

# VAT_BECAME_VALID

`POST vatBecameValid` (webhook)

Sent when a monitored VAT ID transitions from invalid → valid in VIES.
Delivered as a signed HTTP POST to every active webhook URL registered
on the account.

## Headers

- `X-Vatnode-Signature` string, required
- `X-Vatnode-Event` string, required

## Payload

- WebhookEnvelopeVatBecameValid
  - `id` string, required: Stable, unique identifier for the event. Identical across every retry of the same delivery – use it to deduplicate.
  - `version` string, required: Envelope schema version. Currently `1`. Bumped only on a breaking change to the payload shape, so consumers can version-handle safely.
  - `event` 'VAT_BECAME_VALID', required: Event type. See per-envelope schema for allowed values.
  - `data` object, required: Event-specific payload. See per-envelope schema.
    - `vatId` string, required: The monitored VAT ID, including the VAT prefix as accepted by VIES. Greek VAT IDs always use the `EL` prefix (e.g. `EL123456789`) – this is the only valid prefix for Greece.
    - `countryCode` string, required: ISO 3166-1 alpha-2 country code (the code used for VAT-rate lookups). For Greece this is `GR`, while the `vatId` above carries the `EL` prefix – `EL` is the VAT prefix, `GR` is the rates code. Northern Ireland is `XI`.
    - `subscriptionId` string, required: Stable identifier of the subscription this event belongs to.
    - `previousState` 'invalid', required
    - `newState` 'valid', required
  - `timestamp` string, date-time, required: When the event was emitted (ISO-8601, UTC).

## Acknowledgement `2XX`

Acknowledged. Any 2xx status is treated as successful delivery.

---

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