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

# Iniciar un análisis de ingesta (API de Devin)

> Inicie un análisis de código de Devin en modo de ingesta que clasifique los hallazgos de un escáner externo mediante un perfil de ingesta a través de la API Enterprise v3

<div id="permissions">
  ## Permisos
</div>

Requiere un [usuario de servicio](/es/api-reference/v3/service-users/members-service-users) o un [token de acceso personal](/es/api-reference/personal-access-tokens) con el permiso `UseAccountCodeScans` en el nivel empresarial.

<div id="behavior">
  ## Comportamiento
</div>

Pone en cola un análisis de código en modo de ingesta. En lugar de detectar problemas desde cero, un análisis de ingesta toma hallazgos generados en otro lugar (por ejemplo, un informe SAST) y hace que Devin los clasifique y valide en el repositorio. El análisis se inicia de forma asíncrona mediante el despachador de análisis y se atribuye a la entidad que realiza la llamada.

<div id="request-fields">
  ### Campos de la solicitud
</div>

* `repo_name` (obligatorio): nombre completo del repositorio; por ejemplo, `owner/repo`.
* `profile_id` (obligatorio): un [perfil de análisis](/es/api-reference/v3/code-scans/enterprise-code-scans-profiles) en modo `ingest`. Los perfiles en modo `discover` se rechazan con el código `400`.
* `host`: host de Git del repositorio, si no se puede inferir.
* `attachment_urls`: URL de archivos adjuntos de Devin (por ejemplo, un informe exportado del escáner) que se proporcionarán al análisis. Primero, suba los archivos mediante la [API de archivos adjuntos](/es/api-reference/v3/attachments/post-organizations-attachments).

<div id="errors">
  ### Errores
</div>

* `400` cuando `profile_id` no corresponde a un perfil en modo de ingesta.
* `404` cuando la organización, el repositorio o el perfil no son visibles para la cuenta Enterprise.
* `409` cuando la cola de análisis de la organización está llena. Vuelva a intentarlo más tarde.


## OpenAPI

````yaml es/v3-openapi.yaml POST /v3/enterprise/organizations/{org_id}/code-scans/ingestion
openapi: 3.1.0
info:
  description: API de Devin v3 con autenticación mediante usuario de servicio y RBAC
  title: Devin API v3
  version: 3.0.0
servers: []
security:
  - bearerAuth: []
paths:
  /v3/enterprise/organizations/{org_id}/code-scans/ingestion:
    post:
      tags:
        - code-scans
      summary: Iniciar análisis de ingesta
      description: >-
        Inicia un análisis de código en modo de ingesta en un repositorio de una
        organización.


        El análisis se pone en cola y el despachador de análisis lo inicia de
        forma asíncrona.

        Solo se aceptan perfiles en modo de ingesta; un perfil que no es de
        ingesta se rechaza

        con ``400``. Las URL opcionales de archivos adjuntos (subidos mediante
        la API de archivos adjuntos)

        se incluyen en el análisis. Devuelve ``409`` cuando la cola de análisis
        de la organización

        ha alcanzado su capacidad.
      operationId: >-
        handle_start_ingestion_scan_v3_enterprise_organizations__org_id__code_scans_ingestion_post
      parameters:
        - description: 'ID de la organización (prefijo: org-)'
          in: path
          name: org_id
          required: true
          schema:
            example: org-abc123def456
            title: Org Id
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/StartIngestionScanRequest'
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CodeScanResponse'
          description: Respuesta satisfactoria
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetail'
          description: No autorizado
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetail'
          description: Prohibido
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetail'
          description: No encontrado
        '409':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetail'
          description: Conflicto
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetail'
          description: Contenido no procesable
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetail'
          description: Demasiadas solicitudes
components:
  schemas:
    StartIngestionScanRequest:
      description: >-
        Cuerpo de la solicitud para iniciar un análisis de código en modo de
        ingesta.


        Solo se acepta un perfil de análisis de ingesta (modo de ingesta): el
        perfil se ejecuta

        en el repositorio especificado.
      properties:
        attachment_urls:
          anyOf:
            - items:
                format: uri
                maxLength: 2083
                minLength: 1
                type: string
              maxItems: 10
              type: array
            - type: 'null'
          description: >-
            URL de archivos adjuntos de Devin que se proporcionarán al análisis,
            p. ej., archivos subidos mediante la API de archivos adjuntos. Los
            archivos adjuntos deben pertenecer a la organización que se analiza.
          title: Attachment Urls
        host:
          anyOf:
            - type: string
            - type: 'null'
          description: Servidor Git del repositorio, si se conoce.
          title: Host
        profile_id:
          description: >-
            Perfil de análisis en modo de ingesta que se ejecutará. Debe ser un
            perfil de ingesta; los perfiles que no son de ingesta se rechazan
            con 400.
          title: Profile Id
          type: string
        repo_name:
          description: Nombre completo del repositorio que se analizará.
          title: Repo Name
          type: string
      required:
        - repo_name
        - profile_id
      title: StartIngestionScanRequest
      type: object
    CodeScanResponse:
      description: Un análisis de código individual.
      properties:
        created_at:
          description: Momento en que se creó el análisis (segundos Unix).
          title: Created At
          type: integer
        host:
          anyOf:
            - type: string
            - type: 'null'
          description: Host de Git del repositorio, si se conoce.
          title: Host
        org_id:
          description: Organización a la que pertenece el análisis.
          title: Org Id
          type: string
        profile:
          anyOf:
            - $ref: '#/components/schemas/CodeScanProfileResponse'
            - type: 'null'
          description: Perfil con el que se ejecutó el análisis, si corresponde.
        repo_name:
          description: >-
            Repositorio principal del análisis. Los análisis de varios
            repositorios abarcan repositorios adicionales que no se enumeran
            aquí.
          title: Repo Name
          type: string
        scan_id:
          description: Identificador único del análisis.
          title: Scan Id
          type: string
        scan_type:
          description: Tipo de análisis, establecido al crearlo.
          enum:
            - security
            - performance
            - db-queries
            - test-coverage
            - dead-code
            - code-quality
            - telemetry
            - accessibility
            - general
            - migration-docs
          title: Scan Type
          type: string
        status:
          description: >-
            Estado del análisis: waiting, pending, running, awaiting_user_input,
            completed, failed o cancelled.
          enum:
            - waiting
            - pending
            - running
            - awaiting_user_input
            - completed
            - failed
            - cancelled
          title: Status
          type: string
      required:
        - scan_id
        - org_id
        - repo_name
        - host
        - status
        - profile
        - scan_type
        - created_at
      title: CodeScanResponse
      type: object
    ProblemDetail:
      description: >-
        Cuerpo de error RFC 9457 application/problem+json para la API v3.


        detail se conserva del cuerpo heredado {"detail": ...} por
        compatibilidad con versiones anteriores; los

        otros miembros son adicionales. errors contiene errores de validación

        a nivel de campo (solo 422).
      properties:
        detail:
          anyOf:
            - type: string
            - type: 'null'
          description: Explicación legible para humanos específica de esta ocurrencia.
          title: Detail
        errors:
          anyOf:
            - items:
                additionalProperties: true
                type: object
              type: array
            - type: 'null'
          description: Errores de validación por campo (solo en respuestas 422).
          title: Errors
        instance:
          anyOf:
            - type: string
            - type: 'null'
          description: Una referencia URI (la ruta de la solicitud) para esta ocurrencia.
          title: Instance
        status:
          description: El código de estado HTTP.
          title: Status
          type: integer
        title:
          description: Un breve resumen del tipo de problema, legible para humanos.
          title: Title
          type: string
        type:
          default: about:blank
          description: Una referencia URI que identifica el tipo de problema.
          title: Type
          type: string
      required:
        - title
        - status
      title: ProblemDetail
      type: object
    CodeScanProfileResponse:
      description: Resumen del perfil con el que se ejecutó un análisis.
      properties:
        name:
          description: Nombre del perfil.
          title: Name
          type: string
        profile_id:
          description: Identificador único del perfil.
          title: Profile Id
          type: string
      required:
        - profile_id
        - name
      title: CodeScanProfileResponse
      type: object
  securitySchemes:
    bearerAuth:
      description: 'Credencial de usuario de servicio (prefijo: cog_)'
      scheme: bearer
      type: http

````