> ## Documentation Index
> Fetch the complete documentation index at: https://api.contractia.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Payload

Contractia envía una solicitud HTTP POST a la URL configurada. El cuerpo de la solicitud es un JSON con la siguiente estructura y campos:

### 🧾 Descripción de campos

| Campo                               | Tipo      | Valores                                                | Descripción                                      |
| :---------------------------------- | :-------- | :----------------------------------------------------- | :----------------------------------------------- |
| `event_type`                        | `string`  | `TASK_STATUS_CHANGED` / `PARTICIPATION_STATUS_CHANGED` | Tipo de evento disparado.                        |
| `task_id`                           | `integer` | —                                                      | ID único de la tarea en Contractia.              |
| `status`                            | `string`  | "En progreso", "Concluída"...                          | Estado actual de la tarea.                       |
| `participation`                     | `objeto`  | Opcional                                               | Presente solo en `PARTICIPATION_STATUS_CHANGED`. |
| `participation_id`                  | `integer` | —                                                      | ID único del participante en la tarea.           |
| `participant_name`                  | `string`  | —                                                      | Nombre del participante.                         |
| `participant_last_name`             | `string`  | —                                                      | Apellido del participante.                       |
| `participant_email`                 | `string`  | —                                                      | Email del participante.                          |
| `role`                              | `string`  | "Firmante"                                             | Rol del participante en la tarea.                |
| `answer`                            | `string`  | "Firmado"                                              | Acción realizada por el participante.            |
| `biometrics.required`               | `boolean` | `true` / `false`                                       | Si se requirió validación biométrica.            |
| `biometrics.completed`              | `boolean` | `true` / `false`                                       | Si la validación biométrica fue completada.      |
| `biometrics.requires_manual_review` | `boolean` | `true` / `false`                                       | Si requiere revisión manual en el portal.        |
| `otp.required`                      | `boolean` | `true` / `false`                                       | Si se requirió verificación OTP.                 |
| `otp.type`                          | `string`  | "EMAIL"                                                | Canal utilizado para enviar el OTP.              |

### 💻 Estructura

<CodeGroup>
  ```json JSON theme={null}
  {
    "event_type": "PARTICIPATION_STATUS_CHANGED",
    "task_id": 123,
    "status": "En progreso",
    "participation": {
      "participation_id": 456,
      "participant_name": "Juan",
      "participant_last_name": "Pérez",
      "participant_email": "juan.perez@example.com",
      "role": "Firmante",
      "answer": "Firmado",
      "biometrics": {
        "required": true,
        "completed": true,
        "requires_manual_review": true
      },
      "otp": {
        "required": true,
        "type": "EMAIL"
      }
    }
  }
  ```
</CodeGroup>
