> 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/api-rest/identity-api/identity-api-reference/users/users-management/enroll-user.md).

# Enroll User

Registra el rostro de un nuevo usuario en la colección. El userId debe ser único dentro de la colección.

### Endpoint

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

### Autenticación

| Tipo    | Ubicación | Nombre        |
| ------- | --------- | ------------- |
| API Key | Header    | **x-api-key** |

### Cuerpo de la solicitud

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

#### Parámetros de ruta

| Parámetro | Tipo   | Requerido | Descripción                                                                     |
| --------- | ------ | --------- | ------------------------------------------------------------------------------- |
| `userId`  | string | **Sí**    | Identificador único del usuario. Este ID debe ser único dentro de la colección. |

#### Parámetros

| Parámetro | Tipo   | Requerido | Descripción                                                                                                                                                                |
| --------- | ------ | --------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `face`    | string | **Sí**    | Imagen del rostro del usuario **codificada en Base64** o tokenizada. Para imágenes abiertas, los formatos soportados son **JPEG** y **PNG**. Tamaño máximo soportado: 5MB. |

#### Ejemplo de solicitud

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

### Respuestas

#### `200` Éxito

Usuario registrado exitosamente. Esta respuesta no incluye cuerpo.

#### `400` Bad Request

#### Ejemplo de respuesta: 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"]
}
```

#### Ejemplo de respuesta: imagen 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` Unauthorized

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

#### `403` Forbidden

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

#### `404` Not Found

```json
{
  "status": 404,
  "title": "Not Found",
  "detail": "The server can't find the requested resource.",
  "type": "https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/404"
}
```
