# Criar chave Pix (/docs/conta-digital/endpoints/pix-keys/post_pix_key)

## POST /transactions/pix-keys

`POST https://api.hub.payzu.com.br/api/v1/transactions/pix-keys`

Escopo: `PIX_KEY_WRITE`. Registra na conta uma chave Pix nova, aleatória (`EVP`) ou CNPJ. A chave já volta `ACTIVE`, e a primeira chave da conta vira a padrão.

### Body params

| Field | Type | Required | Details |
| --- | --- | --- | --- |
| `type` | string | yes | Tipo da chave. Hoje dá para criar `EVP` e `CNPJ`. — `EVP`, `CNPJ`, `CPF`, `EMAIL`, `PHONE` |
| `key` | string | no | Valor da chave. Obrigatório, exceto em `EVP`, em que não deve ser enviado. CPF e CNPJ precisam ser do titular da conta. — minLength: 1 |

### Responses

**201** Chave criada.

| Field | Type | Required | Details |
| --- | --- | --- | --- |
| `id` | string | yes | Identificador da chave. É o que vai nas rotas de apagar e de definir a padrão. |
| `key` | string | yes | Valor da chave, inteiro. |
| `type` | string | yes | Tipo da chave. — `EVP`, `CNPJ`, `CPF`, `EMAIL`, `PHONE` |
| `status` | string | yes | Estado da chave. — `PENDING`, `ACTIVE`, `REMOVED` |
| `isDefault` | boolean | yes | Se é a chave padrão da conta. |
| `createdAt` | string | yes | Data e hora em ISO 8601, UTC. — format: date-time |
| `updatedAt` | string | yes | Data e hora em ISO 8601, UTC. — format: date-time |

**400** Requisição inválida.

| Field | Type | Required | Details |
| --- | --- | --- | --- |
| `message` | string | yes | Descrição em português, pronta para exibir. Pode mudar a qualquer momento. |
| `code` | string | yes | Código estável do erro. É por ele que o seu sistema decide o que fazer. |
| `details` | object | no | Contexto estruturado do erro, quando existe. |

**401** Credencial ausente, inválida ou expirada.

| Field | Type | Required | Details |
| --- | --- | --- | --- |
| `message` | string | yes | Descrição em português, pronta para exibir. Pode mudar a qualquer momento. |
| `code` | string | yes | Código estável do erro. É por ele que o seu sistema decide o que fazer. |
| `details` | object | no | Contexto estruturado do erro, quando existe. |

**403** Sem permissão: escopo, IP ou operação desabilitada.

| Field | Type | Required | Details |
| --- | --- | --- | --- |
| `message` | string | yes | Descrição em português, pronta para exibir. Pode mudar a qualquer momento. |
| `code` | string | yes | Código estável do erro. É por ele que o seu sistema decide o que fazer. |
| `details` | object | no | Contexto estruturado do erro, quando existe. |

**409** Conflito com o estado atual.

| Field | Type | Required | Details |
| --- | --- | --- | --- |
| `message` | string | yes | Descrição em português, pronta para exibir. Pode mudar a qualquer momento. |
| `code` | string | yes | Código estável do erro. É por ele que o seu sistema decide o que fazer. |
| `details` | object | no | Contexto estruturado do erro, quando existe. |

**412** Falta um passo antes desta operação.

| Field | Type | Required | Details |
| --- | --- | --- | --- |
| `message` | string | yes | Descrição em português, pronta para exibir. Pode mudar a qualquer momento. |
| `code` | string | yes | Código estável do erro. É por ele que o seu sistema decide o que fazer. |
| `details` | object | no | Contexto estruturado do erro, quando existe. |

**422** Recusa de regra de negócio.

| Field | Type | Required | Details |
| --- | --- | --- | --- |
| `message` | string | yes | Descrição em português, pronta para exibir. Pode mudar a qualquer momento. |
| `code` | string | yes | Código estável do erro. É por ele que o seu sistema decide o que fazer. |
| `details` | object | no | Contexto estruturado do erro, quando existe. |

**502** O banco não respondeu ou recusou.

| Field | Type | Required | Details |
| --- | --- | --- | --- |
| `message` | string | yes | Descrição em português, pronta para exibir. Pode mudar a qualquer momento. |
| `code` | string | yes | Código estável do erro. É por ele que o seu sistema decide o que fazer. |
| `details` | object | no | Contexto estruturado do erro, quando existe. |