---
description: Some properites have special validation rules.
---

# Validation

## vatId

Is required/optional by schema definitions in entity description and validated by specific regex.

{% code title="RegEx vatId" %}
```perl
^((AT)U[0-9]{8}|(BE)0[0-9]{9}|(BG)[0-9]{9,10}|(CY)[0-9]{8}L|(CZ)[0-9]{8,10}|(DE)[0-9]{9}|(DK)[0-9]{8}|(EE)[0-9]{9}|(EL|GR)[0-9]{9}|(ES)[0-9A-Z][0-9]{7}[0-9A-Z]|(FI)[0-9]{8}|(FR)[0-9A-Z]{2}[0-9]{9}|(GB)([0-9]{9}([0-9]{3})|[A-Z]{2}[0-9]{3})|(HU)[0-9]{8}|(IE)[0-9]S[0-9]{5}L|(IT)[0-9]{11}|(LT)([0-9]{9}|[0-9]{12})|(LU)[0-9]{8}|(LV)[0-9]{11}|(MT)[0-9]{8}|(NL)[0-9]{9}B[0-9]{2}|(PL)[0-9]{10}|(PT)[0-9]{9}|(RO)[0-9]{2,10}|(SE)[0-9]{12}|(SI)[0-9]{8}|(SK)[0-9]{10})$
```
{% endcode %}

## Allowed chars in URL

Only the allowed characters are permitted in the URL. The URL structure is not validated, nevertheless we recommend providing only a valid URL.

{% code title="RegEx" %}
```regex
^[-A-Za-z0-9._~:\/?#\[\]@!$&'()*+,;=]+$
```
{% endcode %}

## HTTP URL

The URL structure is loosely validated, leading white-spaces are ignored, the protocol is optional but it must be http or https when specified. The regex also accepts URLs that can be invalid according to the standards so make sure a working URL is provided and then verify any functionality using this URL works as expected (f.e. [webhooks](../../../others/webhook)).

{% code title="RegEx" %}
```regex
^(\s*(https?):\/\/)?((([^@\[/?#]*)@)?(\[[0-9a-fA-F:.]*[a-zA-Z0-9]*]|[^\[/?#:]*)(:(\d*(?:\{[^/]+?})?))?)?([^?#]*)(\?(.*))?
```
{% endcode %}
