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

# Confirmar la carga de un documento

> Después de subir el archivo mediante PUT a `item_options.upload_url`, confirma la carga
para iniciar el procesamiento del item. Aplica a `generic`, `doc_validation`,
tipos de extracción de documentos y `doc_splitter`, incluidos los tipos
personalizados habilitados para la cuenta. El procesamiento es asíncrono.
Ver [Carga directa](/guia-devs/crear-verificaciones/via-api/carga-directa).




## OpenAPI

````yaml /api-reference/openapi.yaml put /verification-items/{id}
openapi: 3.0.0
info:
  title: Coleccion de API KYB MX
  description: >
    La Colección de API KYB MX proporciona puntos finales para crear y gestionar
    verificaciones de empresas en México. La verificación de empresas implica
    validar la información proporcionada por un cliente comercial, incluyendo
    documentos y fuentes de datos, para asegurar su legitimidad y precisión.


    Cada verificación de empresa puede incluir múltiples ítems, como Actas
    Constitutivas, Constancias de Situación Fiscal, Identificaciones Personales
    y Comprobantes de Domicilio. Trebol maneja automáticamente la clasificación
    de documentos, lo que te permite enviar todos los documentos requeridos como
    URLs descargables (por ejemplo, URLs prefirmadas de AWS o GCP).


    **Autenticación**: 

    La API utiliza una clave API para la autenticación, pasada en el encabezado
    `x-api-key`. Para obtener una clave API, por favor
    [contáctanos](mailto:sales@gotrebol.com).
  version: 1.0.0
servers:
  - url: https://api.gotrebol.com
  - url: http://{{trebol_api_base_url}}
security: []
tags:
  - name: Creacion de Verificacion
    description: Endpoints para crear nuevas verificaciones.
  - name: Leer información de la empresa
    description: >-
      Endpoints v2 para obtener información detallada de empresas y
      verificaciones.
  - name: Leer por Etiqueta
    description: >-
      Endpoints para obtener información detallada sobre empresas mediante
      etiquetas.
  - name: Leer por ID de Verificacion
    description: >-
      Endpoints para obtener información detallada sobre verificaciones mediante
      ID.
  - name: Gestión de IPs Permitidas
    description: >-
      Endpoints para gestionar la lista de IPs permitidas (whitelist) para la
      cuenta del cliente.
  - name: Gestión de API Keys
    description: Endpoints para crear, listar y eliminar API keys de la cuenta del usuario.
  - name: Gestion de item Ids
    description: Endpoints para gestionar items de verificaciones.
  - name: Invalidar un documento
    description: Endpoints para invalidar documentos de verificaciones.
  - name: Labels de Verificacion
    description: Endpoints para gestionar labels de verificaciones.
  - name: Actualizar personas clave de una verificacion
    description: Endpoints para actualizar personas clave de verificaciones.
  - name: Agregar items a una verificacion
    description: Endpoints para agregar items a verificaciones existentes.
  - name: Estado de validacion de documentos
    description: Endpoints para obtener el estado de validación de documentos.
  - name: Gestión de Flujos de Cuenta
    description: Endpoints para gestionar flujos de cuenta.
  - name: Gestión de Webhooks
    description: Endpoints para crear, listar, actualizar y eliminar webhooks de la cuenta.
  - name: Gestión de Política de Retención
    description: Endpoints para gestionar la política de retención de datos de la cuenta.
  - name: Exportación de Verificaciones
    description: >-
      Endpoints para exportar datos de verificaciones a documentos
      personalizados.
  - name: Leer información de la empresa v1
    description: >-
      Endpoints v1 (legacy) para obtener información detallada de empresas y
      verificaciones. Te recomendamos migrar a los endpoints v2.
  - name: Tipos de Ítem Personalizados
    description: >-
      Endpoints para crear y gestionar tipos de ítem personalizados con procesos
      configurables de clasificación, validación y extracción.
  - name: Síntesis de Dictamen
    description: >-
      Endpoints para ejecutar bajo demanda la Síntesis de Dictamen (`findings`)
      de una verificación.
paths:
  /verification-items/{id}:
    put:
      tags:
        - Gestion de item Ids
      summary: Confirmar la carga de un documento
      description: >
        Después de subir el archivo mediante PUT a `item_options.upload_url`,
        confirma la carga

        para iniciar el procesamiento del item. Aplica a `generic`,
        `doc_validation`,

        tipos de extracción de documentos y `doc_splitter`, incluidos los tipos

        personalizados habilitados para la cuenta. El procesamiento es
        asíncrono.

        Ver [Carga
        directa](/guia-devs/crear-verificaciones/via-api/carga-directa).
      operationId: confirmarCargaDocumento
      parameters:
        - name: id
          in: path
          required: true
          description: ID del item recibido al crear la verificación o agregar items.
          schema:
            type: integer
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - options
              properties:
                options:
                  type: object
                  required:
                    - uploaded_file
                  properties:
                    uploaded_file:
                      type: boolean
                      description: >-
                        Si es true, confirma la carga e inicia el procesamiento.
                        Si es false, no confirma ni inicia el procesamiento.
                      example: true
            example:
              options:
                uploaded_file: true
      responses:
        '200':
          description: >-
            Solicitud procesada. Con uploaded_file en true, confirma el archivo
            y solicita el procesamiento; con false, no confirma la carga ni
            solicita el procesamiento.
          content:
            application/json:
              schema:
                type: object
                properties:
                  item:
                    $ref: '#/components/schemas/PublicVerificationItem'
                  triggeredSideEffects:
                    type: boolean
                    description: >-
                      Indica si la actualización solicitó el procesamiento del
                      item.
                    example: true
        '404':
          description: >-
            El item no existe o el archivo aún no está en el almacenamiento de
            carga.
          content:
            application/json:
              example:
                message: S3 object not found
      security:
        - ApiKeyAuth: []
components:
  schemas:
    PublicVerificationItem:
      type: object
      properties:
        id:
          type: number
        item_status:
          type: string
        item_order:
          type: number
        item_type:
          type: string
        item_value:
          description: >
            Estructura depende de `item_type`. Ver guía en
            /guia-devs/respuestas-por-tipo-de-item.


            Además de los campos propios del tipo, incluye una llave
            `cp_<prompt_id>` por cada extracción personalizada con resultado
            para ese ítem, donde `prompt_id` es el identificador editable de la
            extracción. Ver [Extracciones
            personalizadas](/producto/guias/extracciones-personalizadas).


            Ese prefijo solo aplica a tipos de documento estándar. Un ítem de un
            tipo de ítem personalizado (`item_type` con prefijo `cit_`) nunca
            lleva llaves `cp_`: sus resultados viven en `pipeline`, con la forma
            del schema `CustomItemTypeItemValue`. Ver [Tipos de ítem
            personalizados](/producto/guias/tipos-de-item-personalizados#donde-salen-los-resultados).
          type: object
          additionalProperties: true
        item_error:
          type: string
          nullable: true
          description: >
            Campo opcional que indica errores públicos relacionados con el
            procesamiento del ítem. Su valor depende del `item_type` que produjo
            el error.


            **Comunes a ítems documentales**

            - `password_protected_pdf`: el PDF está protegido con contraseña y
            no puede procesarse.

            - `get_input_file_info_failed`: falló la obtención de información
            del archivo de entrada.


            **Específicos de `doc_splitter`** (ver
            [guía](/producto/guias/doc-splitter) para el listado completo)

            - `unsupported_file_type`: el archivo no es un PDF.

            - `unknown_custom_item_type` / `misconfigured_custom_item_type`:
            `allowed_item_types` o `client_item_type` referencia un tipo
            personalizado (`cit_*`) que no existe o no está listo.

            - `no_splits_returned`: el análisis no identificó ningún documento
            en el PDF.

            - `pdf_slice_failed`: no se pudo leer o recortar el PDF (archivo
            corrupto o error de descarga del original).

            - `pdf_slice_upload_failed`: se recortaron los sub-PDFs pero falló
            la subida de al menos uno.

            - `doc_splitter_request_failed`: falló la llamada al servicio de
            análisis (OCR o AI). Reintentar suele resolverlo.


            **Específicos de `doc_validation`**

            - `invalid_document_type`: el documento no corresponde al
            `client_item_type` esperado.

            - `ruleset_validation_failed`: al menos una regla del `ruleset` no
            se cumplió.


            Trata este campo como un `string` opaco: además de los códigos
            anteriores puede llegar con otros valores para ítems específicos
            (por ejemplo `prevalidation_failed` en `csf_mx`) o, en errores
            inesperados, con un mensaje libre en inglés.
        item_internal_status:
          type: string
          nullable: true
        item_options:
          type: object
          additionalProperties: true
          nullable: true
          properties:
            upload_url:
              type: string
              format: uri
              description: >-
                URL firmada temporal para subir el archivo del item mediante
                PUT. Después de subirlo, confirma con options.uploaded_file en
                PUT /verification-items/{id}.
        item_ui_options:
          type: object
          additionalProperties: true
          nullable: true
        validation_result:
          type: object
          additionalProperties: true
          nullable: true
        user_event_completed_at:
          type: string
          nullable: true
        user_event_name:
          type: string
          nullable: true
        user_event_reason:
          type: string
          nullable: true
        tag:
          type: string
          nullable: true
        item_scope:
          type: string
          nullable: true
        original_file_url:
          type: string
          nullable: true
        citations:
          type: object
          description: >
            Presente solo cuando se llamó con `?with_citations=true` y el item
            es de tipo acta. Contiene la URL firmada (CloudFront) al artifact de
            coordenadas en S3. Ver [Coordenadas de
            citas](/guia-devs/referencia/coordenadas-citas).
          properties:
            url:
              type: string
              format: uri
              description: >
                URL firmada y temporal. Descarga el JSON cuanto antes; si
                caduca, vuelve a llamar al endpoint con el flag para obtener una
                nueva. Si el artifact aún no se horneó para esta verificación,
                no se devuelve la llave citations.
              example: >-
                https://files.gotrebol.com/{verification_id}/citations/sources/{item_id}.json?Expires=…&Signature=…
          required:
            - url
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key

````