> For the complete documentation index, see [llms.txt](https://docs.facephi.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.facephi.com/docs.facephi-pt-br/api-rest/identity-api/identity-api-reference/users/users-management/enroll-user.md).

# Cadastrar usuário

Registra o rosto de um novo usuário na coleção. O userId deve ser único dentro da coleção.

### Endpoint

```
PUT /users/{userId}
```

### Autenticação

| Tipo    | Localização | Nome          |
| ------- | ----------- | ------------- |
| API Key | Cabeçalho   | **x-api-key** |

### Corpo da solicitação

**Content-Type:** `application/json`

#### Parâmetros de rota

| Parâmetro | Tipo   | Obrigatório | Descrição                                                                 |
| --------- | ------ | ----------- | ------------------------------------------------------------------------- |
| `userId`  | string | **Sim**     | Identificador único do usuário. Este ID deve ser único dentro da coleção. |

#### Parâmetros

| Parâmetro | Tipo   | Obrigatório | Descrição                                                                                                                                                              |
| --------- | ------ | ----------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `face`    | string | **Sim**     | Imagem do rosto do usuário **codificada em Base64** ou tokenizada. Para imagens abertas, os formatos suportados são **JPEG** e **PNG**. Tamanho máximo suportado: 5MB. |

#### Exemplo de solicitação

```json
{
  "face": "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAdUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg=="
}
```

### Respostas

#### `200` Sucesso

Usuário registrado com sucesso. Esta resposta não inclui corpo.

#### `400` Requisição inválida

#### Exemplo de resposta: userId duplicado

```json
{
  "status": 400,
  "title": "Bad Request",
  "detail": "Invalid request.",
  "type": "https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/400",
  "errors": ["the provided userId already exists"]
}
```

#### Exemplo de resposta: imagem facial inválida

```json
{
  "status": 400,
  "title": "Bad Request",
  "detail": "Invalid request.",
  "type": "https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/400",
  "errors": ["no face was detected in the provided image"]
}
```

#### `401` Não autorizado

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

#### `403` Acesso negado

```json
{
  "Message": "User is not authorized to access this resource with an explicit deny"
}
```

#### `404` Não encontrado

```json
{
  "status": 404,
  "title": "Not Found",
  "detail": "O servidor não consegue encontrar o recurso solicitado.",
  "type": "https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/404"
}
```
