# Subir archivos de consentimiento

Sube archivos que sirvan como consentimiento de tu cliente para debitar su cuenta bancaria. Debes subir todos los archivos requeridos para un Consentimiento (escaneos del anverso y reverso del documento de identidad, una selfie del usuario sosteniendo el documento de identidad y un contrato firmado). Cada archivo no puede ser mayor de 20MB.

Endpoint: POST /consents/{consentId}/files
Version: 1.0.0
Security: ApiKeyAuth, ApiKeySecret

## Path parameters:

  - `consentId` (string, required)
    El ID del Consentimiento para el que deseas subir archivos.

## Request fields (multipart/form-data):

  - `id_front` (string, required)
    La parte frontal escaneada/foto de la identificación del usuario.

  - `id_back` (string, required)
    La parte trasera escaneada/foto de la identificación del usuario.

  - `selfie` (string, required)
    Una selfie del usuario sosteniendo su identificación.

  - `contract` (string, required)
    Un contrato firmado por el usuario autorizando el débito.

## Response 201 fields (application/json):

  - `type` (string, required)
    El tipo de archivo de Consentimiento. Puede ser uno de los siguientes:
  - id_front
  - id_back
  - selfie
  - contract
    Enum: "id_front", "id_back", "selfie", "contract"

  - `consentFileId` (string, required)
    El identificador único creado por Belvo utilizado para referenciar el archivo de Consent.
    Example: "8c56b4e7-d025-4b1a-a303-dd472b24f431"

  - `consentId` (string, required)
    El identificador único creado por Belvo utilizado para referenciar el Consent.
    Example: "0494baff-3bbb-43c7-bb58-67ac6cba3e54"

## Response 400 fields (application/json):

  - `statusCode` (integer)
    El código de estado HTTP para este error.
    Example: 400

  - `error` (string)
    La descripción del código de estado HTTP para este error.
    Example: "Bad Request"

  - `message` (any)
    Una breve descripción del error, indicando qué está mal con la solicitud.
> Nota: Devolvemos una cadena o un arreglo de cadenas, dependiendo del/los error(es) de validación.

La descripción puede ser (entre otras):

  - id must be a UUID
  - Not enough balance
  - amount is not a valid decimal number.
  - currency must be one of the following values: cop, mxn, usd
  - reference must be a string
  - Customer not found for merchant
  - documentType is a required field
    Example: "id must be a UUID"

## Response 401 fields (application/json):

  - `statusCode` (integer)
    El código de estado HTTP para este error.
    Example: 401

  - `error` (string)
    La descripción del código de estado HTTP para este error.
    Example: "Unauthorized"

  - `message` (string)
    Una breve descripción del error, indicando qué está mal con la solicitud. En el caso de un error 401 Unauthorized, el mensaje es:

  - Unauthorized credentials
    Example: "Unauthorized credentials"

## Response 404 fields (application/json):

  - `statusCode` (integer)
    El código de estado HTTP para este error.
    Example: 404

  - `error` (string)
    La descripción del código de estado HTTP para este error.
    Example: "Not Found"

  - `message` (string)
    Una breve descripción del error, indicando qué está mal con la solicitud. La descripción puede ser (entre otras):

  - Payout Target not found
  - Payment method not found
  - Customer not found
    Example: "Payout Target not found"


