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

# Ingestion-Scan starten (Devin API)

> Starten Sie über die v3 Enterprise API einen Devin-Code-Scan im Ingestion-Modus, der Befunde eines externen Scanners mithilfe eines Ingestionsprofils bewertet und weiterleitet

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

Erfordert einen [Service-Benutzer](/de/api-reference/v3/service-users/members-service-users) oder ein [persönliches Zugriffstoken](/de/api-reference/personal-access-tokens) mit der Berechtigung `UseAccountCodeScans` auf Enterprise-Ebene.

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

Stellt einen Code-Scan im Ingestion-Modus in die Warteschlange. Statt Probleme von Grund auf zu erkennen, übernimmt ein Ingestion-Scan an anderer Stelle erzeugte Befunde (zum Beispiel aus einem SAST-Bericht) und lässt Devin diese im Repository prüfen und validieren. Der Scan wird vom Scan-Dispatcher asynchron gestartet und dem aufrufenden Principal zugeordnet.

<div id="request-fields">
  ### Anfragefelder
</div>

* `repo_name` (erforderlich): vollständiger Name des Repositorys, z. B. `owner/repo`.
* `profile_id` (erforderlich): ein [Scan-Profil](/de/api-reference/v3/code-scans/enterprise-code-scans-profiles) im Modus `ingest`. Ein Profil im Modus `discover` wird mit `400` abgelehnt.
* `host`: Git-Host des Repositorys, falls er nicht abgeleitet werden kann.
* `attachment_urls`: Devin-Anhang-URLs (zum Beispiel ein exportierter Scannerbericht), die dem Scan zur Verfügung gestellt werden. Laden Sie Dateien zunächst über die [Attachments API](/de/api-reference/v3/attachments/post-organizations-attachments) hoch.

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

* `400`, wenn `profile_id` kein Profil im Ingestion-Modus ist.
* `404`, wenn die Organisation, das Repository oder das Profil für das Enterprise-Konto nicht sichtbar ist.
* `409`, wenn der Scan-Backlog der Organisation seine Kapazitätsgrenze erreicht hat. Versuchen Sie es später erneut.


## OpenAPI

````yaml de/v3-openapi.yaml POST /v3/enterprise/organizations/{org_id}/code-scans/ingestion
openapi: 3.1.0
info:
  description: Devin v3 API mit Service-User-Authentifizierung und 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: Ingestion-Scan starten
      description: >-
        Starten Sie einen Code-Scan im Ingestion-Modus für ein Repository in
        einer Organisation.


        Der Scan wird in die Warteschlange eingereiht und vom Scan-Dispatcher
        asynchron gestartet.

        Es werden nur Profile im Ingest-Modus akzeptiert; ein
        Nicht-Ingest-Profil wird

        mit ``400`` abgewiesen. Optionale Anhang-URLs (über die Attachments-API

        hochgeladen) werden dem Scan bereitgestellt. Gibt ``409`` zurück, wenn
        der Scan-

        Backlog der Organisation voll ist.
      operationId: >-
        handle_start_ingestion_scan_v3_enterprise_organizations__org_id__code_scans_ingestion_post
      parameters:
        - description: 'Organisations-ID (Präfix: 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: Erfolgreiche Antwort
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetail'
          description: Nicht autorisiert
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetail'
          description: Verboten
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetail'
          description: Nicht gefunden
        '409':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetail'
          description: Konflikt
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetail'
          description: Nicht verarbeitbarer Inhalt
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetail'
          description: Zu viele Anfragen
components:
  schemas:
    StartIngestionScanRequest:
      description: >-
        Anfragetext zum Starten eines Code-Scans im Ingestion-Modus.


        Akzeptiert nur ein Scanprofil für die Ingestion (Ingest-Modus): Das
        Profil wird

        für das angegebene Repository ausgeführt.
      properties:
        attachment_urls:
          anyOf:
            - items:
                format: uri
                maxLength: 2083
                minLength: 1
                type: string
              maxItems: 10
              type: array
            - type: 'null'
          description: >-
            Devin-Anhang-URLs, die dem Scan bereitgestellt werden, z. B. über
            die Attachments-API hochgeladene Dateien. Die Anhänge müssen zu der
            gescannten Organisation gehören.
          title: Attachment Urls
        host:
          anyOf:
            - type: string
            - type: 'null'
          description: Git-Host des Repositorys, falls bekannt.
          title: Host
        profile_id:
          description: >-
            Auszuführendes Scanprofil im Ingestion-Modus. Muss ein Ingest-Profil
            sein; Nicht-Ingest-Profile werden mit 400 abgewiesen.
          title: Profile Id
          type: string
        repo_name:
          description: Vollständiger Name des zu scannenden Repositorys.
          title: Repo Name
          type: string
      required:
        - repo_name
        - profile_id
      title: StartIngestionScanRequest
      type: object
    CodeScanResponse:
      description: Ein einzelner Code-Scan.
      properties:
        created_at:
          description: Zeitpunkt, zu dem der Scan erstellt wurde (Unix-Sekunden).
          title: Created At
          type: integer
        host:
          anyOf:
            - type: string
            - type: 'null'
          description: Git-Host des Repositorys, falls bekannt.
          title: Host
        org_id:
          description: Organisation, zu der der Scan gehört.
          title: Org Id
          type: string
        profile:
          anyOf:
            - $ref: '#/components/schemas/CodeScanProfileResponse'
            - type: 'null'
          description: Profil, unter dem der Scan ausgeführt wurde, falls vorhanden.
        repo_name:
          description: >-
            Primäres Repository des Scans. Multi-Repo-Scans umfassen zusätzliche
            Repositorys, die hier nicht aufgeführt sind.
          title: Repo Name
          type: string
        scan_id:
          description: Eindeutige Kennung des Scans.
          title: Scan Id
          type: string
        scan_type:
          description: Typ des Scans, bei der Erstellung festgelegt.
          enum:
            - security
            - performance
            - db-queries
            - test-coverage
            - dead-code
            - code-quality
            - telemetry
            - accessibility
            - general
            - migration-docs
          title: Scan Type
          type: string
        status:
          description: >-
            Scan-Status: waiting, pending, running, awaiting_user_input,
            completed, failed oder 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: >-
        RFC 9457 application/problem+json-Fehlertext für die v3-API.


        detail wird aus dem Legacy-Body {"detail": ...} aus Gründen der
        Abwärtskompatibilität beibehalten; die

        anderen Member sind additiv. errors enthält Validierungsfehler auf
        Feldebene

        (nur 422).
      properties:
        detail:
          anyOf:
            - type: string
            - type: 'null'
          description: Eine menschenlesbare Erklärung, die speziell für diesen Fall gilt.
          title: Detail
        errors:
          anyOf:
            - items:
                additionalProperties: true
                type: object
              type: array
            - type: 'null'
          description: Validierungsfehler auf Feldebene (nur bei 422-Antworten).
          title: Errors
        instance:
          anyOf:
            - type: string
            - type: 'null'
          description: Eine URI-Referenz (der Anfragepfad) für diesen Fall.
          title: Instance
        status:
          description: Der HTTP-Statuscode.
          title: Status
          type: integer
        title:
          description: Eine kurze, menschenlesbare Zusammenfassung des Problemtyps.
          title: Title
          type: string
        type:
          default: about:blank
          description: Eine URI-Referenz, die den Problemtyp identifiziert.
          title: Type
          type: string
      required:
        - title
        - status
      title: ProblemDetail
      type: object
    CodeScanProfileResponse:
      description: Zusammenfassung des Profils, unter dem ein Scan ausgeführt wurde.
      properties:
        name:
          description: Name des Profils.
          title: Name
          type: string
        profile_id:
          description: Eindeutige Kennung des Profils.
          title: Profile Id
          type: string
      required:
        - profile_id
        - name
      title: CodeScanProfileResponse
      type: object
  securitySchemes:
    bearerAuth:
      description: 'Servicebenutzer-Anmeldedaten (Präfix: cog_)'
      scheme: bearer
      type: http

````