> ## 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.

# PATCH/Submission

> Esta API le permite modificar los datos KYC de un envío existente. Tenga en cuenta que los datos modificados pueden ser actualizados nuevamente pero no pueden ser revertidos a su estado original.

## 1. Endpoint

```text PATCH/Submission theme={null}
PATCH https://rest-api.argosidentity.com/v3/submission
```

## 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

El cuerpo de la solicitud debe estar en formato JSON. A continuación se encuentran las descripciones de los campos:

<ResponseField name="submissionId" type="string" required="true">
  Dirección de email del administrador (debe estar registrada en el dashboard).
</ResponseField>

<ResponseField name="admin" type="string" required="true">
  Dirección de email del administrador (debe estar registrada en el dashboard).
</ResponseField>

Add commentMore actions

<ResponseField name="data" type="object">
  Objeto que contiene los campos a actualizar.

  <Expandable title="Propiedades">
    <ResponseField name="kycStatus" type="string">
      Resultado KYC: `approved` o `rejected`.
    </ResponseField>

    <ResponseField name="idType" type="string">
      Tipo de ID. Consulte [Códigos de Tarjeta de ID](/es/idcheck/reference_tables/id-card-types).
    </ResponseField>

    <ResponseField name="issuingCountry" type="string">
      País de emisión. Consulte [Códigos de País](/es/idcheck/reference_tables/supported-id-types-alpha-3-country-codes).
    </ResponseField>

    <ResponseField name="fullName" type="string">
      Nombre completo del solicitante KYC.
    </ResponseField>

    <ResponseField name="firstName" type="string">
      Nombre del solicitante KYC.
    </ResponseField>

    <ResponseField name="lastName" type="string">
      Apellido del solicitante KYC.
    </ResponseField>

    <ResponseField name="gender" type="string">
      `female` o `male`.
    </ResponseField>

    <ResponseField name="birthDate" type="string">
      Fecha de nacimiento en formato `YYYY-MM-DD`.
    </ResponseField>

    <ResponseField name="nationality" type="string">
      Nacionalidad del solicitante. Consulte [Códigos de País](/es/idcheck/reference_tables/supported-id-types-alpha-3-country-codes).
    </ResponseField>

    <ResponseField name="issueDate" type="string">
      Fecha de emisión del ID en formato `YYYY-MM-DD`.
    </ResponseField>

    <ResponseField name="expireDate" type="string">
      Fecha de vencimiento del ID en formato `YYYY-MM-DD`.
    </ResponseField>

    <ResponseField name="documentNumber" type="string">
      Número de documento del ID.
    </ResponseField>

    <ResponseField name="identityNumber" type="string">
      Número de identidad del solicitante.
    </ResponseField>

    <ResponseField name="serialNumber" type="string">
      Número de serie de la licencia de conducir.
    </ResponseField>

    <ResponseField name="memo" type="string">
      Memo para el Administrador; se registra en Memo desde la información detallada del Dashboard al realizar la solicitud
    </ResponseField>
  </Expandable>
</ResponseField>

## 4. Ejemplo de Solicitud

```curl PATCH/Submission theme={null}
curl --location --request PATCH 'https://rest-api.argosidentity.com/v3/submission' \
--header 'x-api-key: {yourAPIKey}' \
--header 'Content-Type: application/json' \
--data-raw '{
  "submissionId": "6xx28lo115832",
  "admin": "yourAdmin@sample.com",
  "data": {
    "idType": "drivers_license",
    "issuingCountry": "KOR",
    "fullName": "hong kil dong",
    "firstName": "kil dong",
    "lastName": "hong",
    "gender": "male",
    "birthDate": "1999-11-31",
    "nationality": "USA",
    "kycStatus": "approved",
    "issueDate": "2017-10-19",
    "expireDate": "2027-10-18",
    "identityNumber": "991131-1111111",
    "documentNumber": "05-167-U0815",
    "serialNumber": "07PN10",
    "memo": "This is an example for memo"
  }
}'

```

## 5. Respuesta

### 5-1. Respuesta Exitosa

```json result.json theme={null}
{
  "message": "success to edit.",
  "statusCode": 200
}
```

### 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}
{
    "errorCode": "invalid_payload",
}
```

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

| Error Code                                                         | Descripción                                      |
| ------------------------------------------------------------------ | ------------------------------------------------ |
| `API-Key is required.`                                             | Falta la clave API.                              |
| `The project is not found.`                                        | Proyecto no encontrado.                          |
| `Decryption is Failed. Please check the api-key.`                  | Fallo en el descifrado de datos.                 |
| `Data Processing Error.`                                           | Fallo en el cifrado de datos.                    |
| `data parsing error. please check input data.`                     | Error de análisis de datos.                      |
| `submissionId is required.`                                        | Falta el `submissionId`.                         |
| `projectId or x-api-key is required.`                              | Falta el `projectId` o `x-api-key`.              |
| `admin is required.`                                               | Falta la información del `admin`.                |
| `At least one property to modify is required.`                     | No se proporcionó ninguna propiedad a modificar. |
| `Invalid idType. Please check the idType.`                         | Tipo de ID inválido.                             |
| `Invalid kyc status. Please check the kycStatus.`                  | Estado KYC inválido.                             |
| `Invalid gender. Please check the gender.`                         | Valor de género inválido.                        |
| `Invalid issuingCountry. Please enter a valid ISO 3166-1 alpha-3.` | Código de país emisor inválido.                  |
| `Invalid nationality. Please enter a valid ISO 3166-1 alpha-3.`    | Código de nacionalidad inválido.                 |
| `Invalid birthDate. Please enter the date as YYYY-MM-DD`           | Formato de fecha de nacimiento inválido.         |
| `Invalid issueDate. Please enter the date as YYYY-MM-DD`           | Formato de fecha de emisión inválido.            |
| `Invalid expireDate. Please enter the date as YYYY-MM-DD`          | Formato de fecha de vencimiento inválido.        |

## 6. Opciones de Cifrado

Para mayor seguridad, el cuerpo de la solicitud puede ser cifrado. Al usar cifrado:

* Cifre el objeto completo del cuerpo de la solicitud.
* Envíe la cadena cifrada como el parámetro `data` (no como un campo `body`).

### 6-1. Ejemplo de Solicitud Cifrada

```python patch-encrypted.py theme={null}
encryption = Encryption(api_key, mode='ECB')

payload_data = {
    "admin": "yourAdmin@sample.com", 
    "submissionId": "6xx28lo115832", 
    "data": {
        "kycStatus": "approved",
        "fullName": "hong kil dong"
    }
}

# Encrypt the entire payload
payload_encrypted = encryption.encrypt(payload_data)

# Send the encrypted data as the data parameter
response = requests.patch(
    url,
    headers=headers,
    data=payload_encrypted
)
```

```curl PATCH/Submission (Encrypted) theme={null}
curl --location --request PATCH 'https://rest-api.argosidentity.com/v3/submission' \
--header 'x-api-key: {yourAPIKey}' \
--header 'Content-Type: application/json' \
--data 'N34SNtWaavEfgtg1g%2Bo%2B9JhQ9rp9dGUbyFNxAsHKKGH24aVQTRXYfNpFDHIGJU6Wo0RVpOupAubiDvFDuFyTkw%3D%3D'
```

### 6-2. Respuesta Cifrada

La respuesta incluirá la bandera `isEncrypted` y los datos cifrados:

```json result.json theme={null}
response : {
   body : {
    "data": "encrypted-string",
    "isEncrypted": true
   }
}
```
