---
title: "Submit a KYB request"
method: POST
path: "/v1/kyb"
tags: ["kyb"]
---

# Submit a KYB request

`POST /v1/kyb`

## Request

- Base URL: `https://api.portproof.org`
- URL: `https://api.portproof.org/v1/kyb`
- Auth: HTTP bearer

v0 auto-approves `t1` when the country is not RU/BY, the use case is not on the declined list and the UBO declaration is made; everything else is queued for manual review. Requires an `Idempotency-Key` header (CONTRACT §1): the same key with the same body within 24 h replays the stored response; a different body returns 409 `idempotency_conflict`.

## Request body

- object
  - `requested_tier` 't1' | 't2', required
  - `legal_name` string, required
  - `country` string, required
  - `registry_id` string
  - `vat_id` string
  - `address` string, required
  - `ubo_declaration` boolean, required
  - `use_case` string, required

## Response `201`

Default Response

- object
  - `id` string, required
  - `state` 'pending' | 'approved' | 'rejected', required

## Other responses

- `400`: Default Response
- `409`: Default Response

---

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