---
title: "Create a check"
method: POST
path: "/checks"
tags: ["Checks"]
---

# Create a check

`POST /checks`

## Request

- Base URL: `https://vatfind.com/v1`
- URL: `https://vatfind.com/v1/checks`
- Auth: HTTP bearer

Idempotency-Key is required and retained for 24 hours. An invalid format or missing registry association is a successful check result, not an HTTP error.

## Headers

- `Idempotency-Key` string, required

## Request body

- CheckCreateRequest
  - `identifier_type` 'vat_number' | 'tax_identifier' | 'registration_number', required
  - `identifier` string, required
  - `country_code` string, required
  - `company_name` string
  - `client_reference` string
  - `metadata` object

## Response `201`

Completed check

- Check
  - `id` string, required
  - `object` 'check', required
  - `processing_status` 'completed', required
  - `source` 'api' | 'mcp' | 'dashboard' | 'monitoring', required
  - `identifier` Identifier, required
    - `type` 'vat_number' | 'tax_identifier' | 'registration_number', required
    - `input` string, required
    - `normalized` string, required
    - `country_code` string, required
  - `format_status` 'valid' | 'invalid' | 'not_supported' | 'not_checked', required
  - `registry_match_status` 'matched' | 'not_matched' | 'ambiguous' | 'unavailable' | 'not_supported' | 'not_checked', required
  - `tax_authority_status` 'valid' | 'invalid' | 'unavailable' | 'not_applicable' | 'not_supported' | 'not_checked', required
  - `company_legal_status` 'active' | 'inactive' | 'dissolved' | 'liquidation' | 'insolvency' | 'unknown' | 'unavailable' | 'not_applicable' | 'not_supported' | 'not_checked', required
  - `company_name` string
  - `client_reference` string
  - `metadata` object
  - `company` Company
    - `id` string, required
    - `object` 'company', required
    - `legal_name` string, required
    - `registration_number` string
    - `vat_numbers` string[], required
    - `tax_identifiers` string[], required
    - `country_code` string, required
    - `company_legal_status` 'active' | 'inactive' | 'dissolved' | 'liquidation' | 'insolvency' | 'unknown' | 'unavailable' | 'not_applicable' | 'not_supported' | 'not_checked', required
    - `raw_company_legal_status` string
    - `legal_form` string
    - `incorporation_date` string, date
    - `registered_address` object
      - `formatted` string, required
    - `website` string, uri
    - `sources` Source[], required
      - `source_type` 'government_registry' | 'official_public_record' | 'licensed_data_provider', required
      - `source_name` string
      - `source_url` string, uri
    - `retrieved_at` string, date-time, required
  - `evidence` Evidence[], required
    - `dimension` 'format' | 'registry_match' | 'tax_authority' | 'company_legal', required
    - `source_type` 'vatfind_rules' | 'government_registry' | 'tax_authority' | 'official_public_record' | 'licensed_data_provider', required
    - `source_name` string
    - `source_url` string, uri
    - `raw_status` string
    - `retrieved_at` string, date-time, required
  - `warnings` Warning[], required
    - `dimension` string, required
    - `code` string, required
    - `message` string, required
    - `retryable` boolean, required
  - `credits_used` integer, required
  - `created_at` string, date-time, required
  - `completed_at` string, date-time, required

## Other responses

- `400`: VATFind problem detail
- `401`: VATFind problem detail
- `402`: VATFind problem detail
- `403`: VATFind problem detail
- `409`: VATFind problem detail
- `413`: VATFind problem detail
- `415`: VATFind problem detail
- `422`: VATFind problem detail
- `429`: VATFind problem detail
- `500`: VATFind problem detail
- `503`: VATFind problem detail

---

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