> For the complete documentation index, see [llms.txt](https://docs.voveid.com/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.voveid.com/docs/business-verification/kyb-flows.md).

# Discover KYB flows

List the country-specific KYB flows available to your organization.

`GET /kyb/flows` returns the country-specific KYB flows available to the authenticated organization.

Use this endpoint when you want to select a specific country flow for `POST /kyb/case`. There is no default KYB flow. Pass `flow` for a specific country configuration, or omit it to let the applicant choose the business country in the hosted journey.

## Request

```http
GET https://api.voveid.net/kyb/flows
x-api-key: vove_sandbox_replace_me
accept: application/json
```

This operation has no request body or query parameters.

## Response

A successful request returns a JSON array. An organization with no country-specific flows receives an empty array.

```json
[
  {
    "id": "680dbf0d3f6c8d7f0a123456",
    "country": "US"
  },
  {
    "id": "680dbf0d3f6c8d7f0a654321",
    "country": "GB"
  }
]
```

| Field     | Type   | Description                                               |
| --------- | ------ | --------------------------------------------------------- |
| `id`      | string | Flow identifier passed as `flow` when creating a KYB case |
| `country` | string | Country associated with the flow                          |

```typescript
type KybFlow = {
  id: string;
  country: string;
};
```

## cURL example

```bash
curl 'https://api.voveid.net/kyb/flows' \
  --header 'accept: application/json' \
  --header 'x-api-key: vove_sandbox_replace_me'
```

Do not hard-code a flow ID across Sandbox and Production. Store it with its environment and country, and list flows again when your configuration changes.

Continue with [Create a KYB case](/docs/business-verification/kyb-create-case.md).
