> 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-en/rest-api/midapi-v2/face-collections/register-face.md).

# Register Face

Service that registers a face in a face collection and returns the assigned identifier.

### Endpoint

```
POST /biometric/face/collections/{collectionId}/faces
```

### Headers

| Name              | Type   | Required    | Description                                                                                                                                                             |
| ----------------- | ------ | ----------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Authorization** | string | **Yes**     | Consumer Token in Bearer format `Bearer <token>`. See [Authentication](/docs.facephi-en/rest-api/midapi-v2/autenticacion.md).                                           |
| **consumer-id**   | string | **Yes**     | Consumer identifier.                                                                                                                                                    |
| **operation-id**  | string | Conditional | Identifier of the operation to which the referenced assets belong. Required when `source` is `FILE_KEY`. See [Storage](/docs.facephi-en/rest-api/midapi-v2/storage.md). |

### Path parameters

| Parameter      | Type   | Required | Description            |
| -------------- | ------ | -------- | ---------------------- |
| `collectionId` | string | **Yes**  | Collection identifier. |

### Request body

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

#### Parameters

| Parameter | Type   | Required | Description                                                                                                                                                           |
| --------- | ------ | -------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `source`  | string | **Yes**  | Mode in which the assets are provided: `FILE_KEY` for stored asset keys, `FILE` for content in Base64. See [Storage](/docs.facephi-en/rest-api/midapi-v2/storage.md). |
| `face`    | string | **Yes**  | Face to register: asset key `TOKEN_BEST_IMAGE` or its content in Base64.                                                                                              |

#### Request example

```json
{
  "source": "FILE_KEY",
  "face": "0192a3f4-7b21-7c44-9e1a-3f5b8c2d1e04/TOKEN_BEST_IMAGE"
}
```

### Responses

#### `200` Success

#### Response parameters

| Parameter       | Type   | Description                                                |
| --------------- | ------ | ---------------------------------------------------------- |
| `consumerId`    | string | Identifier of the consumer that made the call.             |
| `transactionId` | string | Transaction identifier.                                    |
| `timestamp`     | string | Response timestamp in format **ISO 8601**.                 |
| `message`       | string | Descriptive field for the result of the service execution. |
| `collectionId`  | string | Collection in which the face was registered.               |
| `faceId`        | string | Identifier of the registered face.                         |

#### Other responses

| Code  | Description                                                                                                                                                                                                                                                                                                                                             |
| ----- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `400` | Required field missing or unsupported value; missing header `operation-id` with references; or a key does not have the form `{operationId}/{CONTEXTO}` or declares a context that the slot does not support.                                                                                                                                            |
| `403` | The consumer is not provisioned with the service `REGISTER_FACE`.                                                                                                                                                                                                                                                                                       |
| `404` | The operation declared in `operation-id` does not exist or belongs to another consumer.                                                                                                                                                                                                                                                                 |
| `409` | A referenced asset contains content already processed in another operation.                                                                                                                                                                                                                                                                             |
| `410` | The operation declared in `operation-id` has expired.                                                                                                                                                                                                                                                                                                   |
| `422` | A key names an operation different from the one declared in `operation-id`, or the context has no stored asset.                                                                                                                                                                                                                                         |
| `429` | The consumer has exceeded its request rate limit, or a referenced asset has exhausted its invocation budget on this Endpoint. In the first case the response includes `Retry-After`, `X-RateLimit-Limit` and `X-RateLimit-Burst`, and waiting resolves it; in the second it does not. The underlying service is not invoked and the call is not billed. |

The body of an error response has the form described in [MIDAPI v2](/docs.facephi-en/rest-api/midapi-v2.md#respuestas-de-error).
