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

# Iniciar varredura de ingestão (API do Devin)

> Inicie uma varredura de código do Devin no modo de ingestão que faz a triagem de resultados de um scanner externo usando um perfil de ingestão por meio da API Enterprise v3

<div id="permissions">
  ## Permissões
</div>

É necessário ter um [usuário de serviço](/pt-BR/api-reference/v3/service-users/members-service-users) ou um [token de acesso pessoal](/pt-BR/api-reference/personal-access-tokens) com a permissão `UseAccountCodeScans` no nível Enterprise.

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

Enfileira uma varredura de código no modo ingestão. Em vez de identificar problemas do zero, uma varredura de ingestão recebe resultados produzidos em outro lugar (por exemplo, um relatório SAST) e faz com que o Devin os faça a triagem e os valide em relação ao repositório. A varredura é iniciada de forma assíncrona pelo despachante de varreduras e atribuída ao principal que fez a chamada.

<div id="request-fields">
  ### Campos da requisição
</div>

* `repo_name` (obrigatório): nome completo do repositório, por exemplo, `owner/repo`.
* `profile_id` (obrigatório): um [perfil de varredura](/pt-BR/api-reference/v3/code-scans/enterprise-code-scans-profiles) no modo `ingest`. Um perfil no modo `discover` é rejeitado com `400`.
* `host`: host Git do repositório, caso não seja possível inferi-lo.
* `attachment_urls`: URLs de anexos do Devin (por exemplo, um relatório exportado do scanner) a serem fornecidas para a varredura. Primeiro, importe os arquivos usando a [API de anexos](/pt-BR/api-reference/v3/attachments/post-organizations-attachments).

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

* `400` quando `profile_id` não corresponde a um perfil no modo de ingestão.
* `404` quando a organização, o repositório ou o perfil não está visível para a conta Enterprise.
* `409` quando o backlog de varreduras da organização está cheio. Tente novamente mais tarde.


## OpenAPI

````yaml pt-BR/v3-openapi.yaml POST /v3/enterprise/organizations/{org_id}/code-scans/ingestion
openapi: 3.1.0
info:
  description: API Devin v3 com autenticação de usuário de serviço e 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 varredura de ingestão
      description: >-
        Inicie uma varredura de código no modo de ingestão em um repositório de
        uma organização.


        A varredura é enfileirada e iniciada de forma assíncrona pelo
        despachante de varreduras.

        Apenas perfis no modo de ingestão são aceitos; um perfil que não é de
        ingestão é rejeitado

        com ``400``. URLs de anexos opcionais (enviados pela API de anexos)

        são fornecidas à varredura. Retorna ``409`` quando a fila de varreduras

        da organização está na capacidade máxima.
      operationId: >-
        handle_start_ingestion_scan_v3_enterprise_organizations__org_id__code_scans_ingestion_post
      parameters:
        - description: 'ID da organização (prefixo: 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: Resposta bem-sucedida
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetail'
          description: Não autorizado
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetail'
          description: Proibido
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetail'
          description: Não encontrado
        '409':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetail'
          description: Conflito
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetail'
          description: Conteúdo não processável
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetail'
          description: Muitas requisições
components:
  schemas:
    StartIngestionScanRequest:
      description: >-
        Corpo da requisição para iniciar uma varredura de código no modo de
        ingestão.


        Aceita apenas um perfil de varredura no modo de ingestão (ingest-mode):
        o perfil é executado

        no repositório especificado.
      properties:
        attachment_urls:
          anyOf:
            - items:
                format: uri
                maxLength: 2083
                minLength: 1
                type: string
              maxItems: 10
              type: array
            - type: 'null'
          description: >-
            URLs de anexos do Devin a serem fornecidas à varredura, por exemplo,
            arquivos enviados pela API de anexos. Os anexos devem pertencer à
            organização analisada.
          title: Attachment Urls
        host:
          anyOf:
            - type: string
            - type: 'null'
          description: Host Git do repositório, se conhecido.
          title: Host
        profile_id:
          description: >-
            Perfil de varredura no modo de ingestão a ser executado. Deve ser um
            perfil de ingestão; perfis que não são de ingestão são rejeitados
            com 400.
          title: Profile Id
          type: string
        repo_name:
          description: Nome completo do repositório para varredura.
          title: Repo Name
          type: string
      required:
        - repo_name
        - profile_id
      title: StartIngestionScanRequest
      type: object
    CodeScanResponse:
      description: Uma única varredura de código.
      properties:
        created_at:
          description: Quando a varredura foi criada (segundos Unix).
          title: Created At
          type: integer
        host:
          anyOf:
            - type: string
            - type: 'null'
          description: Host Git do repositório, se conhecido.
          title: Host
        org_id:
          description: Organização à qual a varredura pertence.
          title: Org Id
          type: string
        profile:
          anyOf:
            - $ref: '#/components/schemas/CodeScanProfileResponse'
            - type: 'null'
          description: Perfil sob o qual a varredura foi executada, se houver.
        repo_name:
          description: >-
            Repositório principal da varredura. Varreduras com vários
            repositórios abrangem repositórios adicionais não listados aqui.
          title: Repo Name
          type: string
        scan_id:
          description: Identificador único da varredura.
          title: Scan Id
          type: string
        scan_type:
          description: Tipo de varredura, definido na criação.
          enum:
            - security
            - performance
            - db-queries
            - test-coverage
            - dead-code
            - code-quality
            - telemetry
            - accessibility
            - general
            - migration-docs
          title: Scan Type
          type: string
        status:
          description: >-
            Status da varredura: waiting, pending, running, awaiting_user_input,
            completed, failed ou 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: >-
        Corpo de erro RFC 9457 application/problem+json da API v3.


        detail é mantido do corpo legado {"detail": ...} por
        retrocompatibilidade; os

        outros membros são aditivos. errors contém falhas de validação em nível
        de campo

        (apenas 422).
      properties:
        detail:
          anyOf:
            - type: string
            - type: 'null'
          description: Uma explicação legível por humanos específica para esta ocorrência.
          title: Detail
        errors:
          anyOf:
            - items:
                additionalProperties: true
                type: object
              type: array
            - type: 'null'
          description: Erros de validação no nível do campo (apenas respostas 422).
          title: Errors
        instance:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Uma referência de URI (o caminho da requisição) para esta
            ocorrência.
          title: Instance
        status:
          description: O código de status HTTP.
          title: Status
          type: integer
        title:
          description: Um breve resumo do tipo de problema, legível para humanos.
          title: Title
          type: string
        type:
          default: about:blank
          description: Uma referência de URI que identifica o tipo de problema.
          title: Type
          type: string
      required:
        - title
        - status
      title: ProblemDetail
      type: object
    CodeScanProfileResponse:
      description: Resumo do perfil sob o qual uma varredura foi executada.
      properties:
        name:
          description: Nome do perfil.
          title: Name
          type: string
        profile_id:
          description: Identificador único do perfil.
          title: Profile Id
          type: string
      required:
        - profile_id
        - name
      title: CodeScanProfileResponse
      type: object
  securitySchemes:
    bearerAuth:
      description: 'Credencial de usuário de serviço (prefixo: cog_)'
      scheme: bearer
      type: http

````