> ## Documentation Index
> Fetch the complete documentation index at: https://base39-release-notes-06-mar.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Tipos de erros

O Base39 usa códigos de resposta HTTP padrão para indicar sucesso ou falha de uma solicitação de API. No geral as repostas do intervalo `2xx` indicam sucesso. O status `4xx` indica um erro que falhou de acordo com as informações fornecidas. O status `5xx` vão indicar um erro inesperado. Seguem abaixo os códigos utilizados em nossas APIs:

| Código | Status                | Interpretação                                                                    |
| :----- | :-------------------- | :------------------------------------------------------------------------------- |
| 200    | OK                    | Sucesso                                                                          |
| 201    | Created               | Recurso criado                                                                   |
| 400    | Bad Request           | Requisição inválida, recurso obrigatório enviado incorretamente e/ou não enviado |
| 401    | Unauthorized          | Falha de autenticação                                                            |
| 403    | Forbidden             | Sua aplicação não está autorizada a acessar esse ambiente                        |
| 404    | Not Found             | Requisição válida e processada, item pesquisado não encontrado                   |
| 500    | Internal Server Error | Ocorreu um erro interno                                                          |

## Exemplos

### 200

Exemplo de retorno de um endpoint de listagem.

```json
{
    "data": [
        { ...
        },
        ...
    ],
    "hasMore": true
}
```

### 201

Exemplo de retorno de um endpoint de criação.

```json
{
  "id": "comp_5f92f01728e009f403d8502e",
  "createdAt": "2019-08-24T14:15:22Z",
  "updatedAt": "2019-08-24T14:15:22Z",
  "deleted": true,
	...
}
```

### 400

Exemplo de erro quando o corpo da requisição é invalido.

```json
{
    "code": "INVALID_BODY",
    "message": "The document field must have a valid CPF."
}
```

### 401

Exemplo de retorno de uma solicitação não autorizada.

```json
{
    "message": "Unauthorized"
}
```

### 403

Exemplo de retorno de uma solicitação proibida.

```json
{
    "message": "Missing Authentication Token"
}
```

### 404

Exemplo de retorno de uma solicitação de recurso não existente.

```json
{
    "code": "INVOICE_NOT_FOUND",
    "message": "Customer not found."
}
```

### 500

Exemplo de erro não esperado.

```json
{
    "code": "UNEXPECTED_ERROR",
    "message": "We're sorry! An unexpected error has occurred."
}
```
