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

# REVIEW/Submission

> Esta API permite a los administradores de proyecto revisar y actualizar el estado de los envíos KYC pendientes. La configuración del proyecto determina si las revisiones son manejadas por los clientes o por los Agentes de ARGOS, proporcionando control flexible sobre el flujo de trabajo de revisión.

<Note>
  Esta API es particularmente útil para administradores de proyecto que necesitan revisar manualmente los envíos KYC pendientes según la configuración de su proyecto. Cuando el revisor está configurado como 'Client' en la configuración del proyecto, los Agentes de ARGOS no revisarán estos envíos pendientes.
</Note>

<Warning>
  Solo los envíos pendientes pueden ser revisados usando esta API. Los envíos que ya están aprobados o rechazados no pueden ser modificados a través de este endpoint. Asegúrese de que el email del administrador esté registrado en el dashboard con los permisos adecuados para el proyecto.
</Warning>

## 1. Endpoint

```plaintext theme={null}
POST https://rest-api.argosidentity.com/v3/submission/review
```

## 2. Autenticación

Incluya la clave API en el encabezado x-api-key:

```text x-api-key theme={null}
x-api-key: {yourAPIKey}
```

## 3. Cuerpo de la Solicitud

Los parámetros de solicitud deben estar en formato de consulta URL. A continuación se encuentran las descripciones de cada parámetro:

<ResponseField name="admin" type="string" required="true">
  Cuenta de administrador registrada como administrador en el proyecto del envío a revisar
</ResponseField>

<ResponseField name="submissionId" type="string" required="true">
  ID único del envío pendiente a revisar
</ResponseField>

<ResponseField name="status" type="string" required="true">
  Valor de estado a cambiar: `approved` o `rejected`
</ResponseField>

<ResponseField name="rejectComment" type="string" required="semi-true">
  Comentario explicando la decisión de revisión (opcional). Requerido cuando el estado es `rejected`
</ResponseField>

<ResponseField name="updateFields" type="string">
  Campos de datos a actualizar
</ResponseField>

## 4. Ejemplo de Solicitud

```curl POST/Review theme={null}
curl --location 'https://rest-api.argosidentity.com/v3/submission/review' \
--header 'Content-Type: application/json' \
--header 'x-api-key: {yourAPIKey}' \
--data-raw '{
    "submissionId": "string",
    "status": "string",
    "rejectComment": "string",
    "updateFields": {
      "fullName": "string",
      "gender": "string",
      "issueDate": "string",
      "expireDate": "string",
      "birthDate": "string",
      "idType": "string"
    },
    "admin": "string"
  }
```

## 5. Respuesta

### 5-1. Respuesta Exitosa

```json result.json theme={null}
{
    "submissionId": "string",
    "message": "Success to review submission.",
    "finalStatus": "approved"
}
```

### 5-2. Respuesta de Error

Si ocurre un error, se devuelve un código de estado `400` con detalles en el cuerpo de la respuesta:

```json error.json theme={null}
{
    "message": "Project not found."
}
```

### 5-3. Códigos de Error

| Error Type                       | Message                                                    | Descripción                                                           |
| -------------------------------- | ---------------------------------------------------------- | --------------------------------------------------------------------- |
| `Validation : project`           | Project not found.                                         | Clave API o datos de proyecto inválidos                               |
| `Validation : project`           | admin is required.                                         | No se proporcionó el parámetro admin                                  |
| `Validation : project`           | Access denied. The admin is not registered in the project. | El admin no está registrado en el proyecto o datos de admin inválidos |
| `Validation : submission`        | Submission Id is required.                                 | No se proporcionó el ID de submission                                 |
| `Validation : submission`        | Invalid Submission Id.                                     | Datos de submission inválidos                                         |
| `Validation : submission`        | Only submissions in pending status can be reviewed         | El submission no está en estado pendiente                             |
| `Validation : submission`        | This submission cannot be reviewed by client               | El submission no es elegible para revisión del cliente                |
| `Validation : request parameter` | Invalid status                                             | El estado debe ser 'approved' o 'rejected'                            |
| `Validation : request parameter` | Invalid data format.                                       | El formato de updateFields es incorrecto (se requiere objeto)         |
| `Validation : request parameter` | Reject comment is required                                 | Se requiere rejectedComment al cambiar estado a rejected              |
| `Validation : request parameter` | Invalid idType                                             | idType inválido                                                       |
| `Validation : request parameter` | Invalid gender                                             | Género inválido                                                       |
| `Validation : request parameter` | Invalid issueDate format. Use YYYY-MM-DD                   | Formato de fecha inválido (se requiere yyyy-mm-dd)                    |
| `Validation : request parameter` | Invalid expireDate format. Use YYYY-MM-DD                  | Formato de fecha inválido (se requiere yyyy-mm-dd)                    |
| `Validation : request parameter` | Invalid birthDate format. Use YYYY-MM-DD                   | Formato de fecha inválido (se requiere yyyy-mm-dd)                    |
| `Processing Error`               | Failed to process submission                               | Ocurrió un error no definido durante el procesamiento de datos        |
| `Processing Error`               | Error in submission review process.                        | Ocurrió un error no definido durante el procesamiento de revisión     |
