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

# List deliveries

> **Erforderliche Berechtigungen:** `deliveries:read`

Gibt eine paginierte Liste von Lieferungen mit gefilterten Positionsfeldern zurück.




## OpenAPI

````yaml GET /deliveries
openapi: 3.0.3
info:
  title: comstruct Public API
  description: >
    Die comstruct API ist eine umfassende und flexible Lösung zur Optimierung
    des Materialbeschaffungsprozesses für Unternehmen. Diese API bietet eine
    einfache Schnittstelle für Entwickler, um auf Materialbeschaffungsdaten
    zuzugreifen und diese zu verwalten, einschließlich Lieferanteninformationen,
    Lieferungen und Projekte.


    ## Erste Schritte

    Um Zugang zur comstruct API zu erhalten, wenden Sie sich bitte an Ihren
    zuständigen Customer Success Manager. Unser Expertenteam steht Ihnen mit
    erstklassigem Support zur Verfügung, um Ihnen zu helfen, das Beste aus
    unserer API herauszuholen.


    ## Authentifizierung

    Alle API-Endpunkte unter `/v1` erfordern eine Authentifizierung mittels
    API-Schlüssel im `x-api-key`-Header. Jeder API-Schlüssel hat spezifische
    Berechtigungen (Scopes), die bestimmen, welche Endpunkte und Operationen
    verfügbar sind. Die Authentifizierung wird durch Middleware durchgesetzt,
    die den API-Schlüssel und die Berechtigungen für jede Anfrage validiert.


    Kalender-Endpunkte unter `/calendars` verwenden Token-basierte
    Authentifizierung anstelle von API-Schlüsseln.


    ## Datenformate

    - Alle Zeitstempel sind im ISO 8601-Format (UTC)

    - Geldbeträge werden als Dezimalzahlen dargestellt

    - IDs sind UUIDs, sofern nicht anders angegeben


    ## Anfragegrößenbeschränkungen

    - PDF-Rechnungsverarbeitung, benutzerdefinierte Rechnungsverarbeitung und
    Workflow-Verarbeitung: 32MiB

    - Alle anderen Endpunkte: 10MiB


    ## Fehlerbehandlung

    Die API verwendet Standard-HTTP-Statuscodes und gibt detaillierte
    Fehlermeldungen im JSON-Format zurück. Weitere Details finden Sie in den
    Fehlerschemas.


    ## Integrationsmuster

    - **SAP-Integration**: Spezialisierte Endpunkte für SAP-ERP-Systeme

    - **Projektverwaltung**: Vollständiges Projektlebenszyklusmanagement mit
    Benutzerrollen

    - **Lieferverfolgung**: Unterstützung mehrerer Lieferscheinformate
    (OpenTrans, PAHM, Q-Point, benutzerdefiniert)

    - **Rechnungsverarbeitung**: Automatisierte Rechnungsanalyse und
    -validierung mit KI/GPT-Unterstützung

    - **Auftragsverwaltung**: IDS-Auftragsverarbeitung mit XML-Parsing und
    Projektkalenderintegration

    - **Kalenderintegration**: Separate Kalender-Endpunkte für
    iCalendar-Abonnement-Feeds
  version: 1.0.9
  license:
    name: Proprietary
    url: https://comstruct.com
  contact:
    name: comstruct ICT GmbH
    url: https://comstruct.com
    email: support@comstruct.com
  termsOfService: https://comstruct.com/datenschutzerklarung/
  x-logo:
    url: https://app.comstruct.com/logo-light-text.png
    altText: comstruct logo
servers:
  - url: https://api.comstruct.com/v1
    description: Haupt-API-Endpunkte (erfordert API-Schlüssel-Authentifizierung)
    variables: {}
  - url: https://api.comstruct.com
    description: Basisserver für Kalender- und IDS-Endpunkte (andere Authentifizierung)
    variables: {}
security:
  - ApiKey: []
tags:
  - name: Projects
    description: Endpunkte für Projekte.
  - name: Projects (SAP)
    description: SAP-spezifische Projekt-Endpunkte.
  - name: Project Regions
    description: Endpunkte für die Verwaltung von Projektregionen.
  - name: Deliveries
    description: Endpunkte für Lieferungen.
  - name: Deliveries (Supplier)
    description: Lieferantenspezifische Liefer-Endpunkte.
  - name: Accounts
    description: Endpunkte für die Verwaltung von Sachkonten.
  - name: Payment Terms
    description: Endpunkte für die Verwaltung von Zahlungsbedingungen.
  - name: Tax Codes
    description: Endpunkte für die Verwaltung von Steuercodes.
  - name: Company Codes
    description: Endpunkte für die Verwaltung von Buchungskreisen (juristische Einheiten).
  - name: Suppliers
    description: Endpunkte für die Verwaltung von Lieferanten.
  - name: Purchase Orders
    description: Endpunkte für Bestellungen.
  - name: Purchase Orders (SAP)
    description: SAP-spezifische Bestellungs-Endpunkte.
  - name: Orders (Supplier)
    description: >-
      Lieferantenspezifische Bestellungs-Endpunkte (Bestätigung, Ablehnung,
      Bearbeitung).
  - name: Suppliers (SAP)
    description: SAP-spezifische Lieferanten-Endpunkte.
  - name: Invoices
    description: Endpunkte für Rechnungen.
  - name: Invoices (Supplier)
    description: Lieferantenspezifische Rechnungs-Endpunkte.
  - name: Invoices (SAP)
    description: SAP-spezifische Rechnungs-Endpunkte.
  - name: Invoice Dimensions
    description: >
      Rechnungs-Dimensionen (benutzerdefinierte Eigenschaften) und Zuweisungen
      auf Rechnung (`header`), Position (`line_item`) oder Kontierung
      (`account`).


      Dimensionen haben den Typ `option` (vordefinierte Werte) oder `text`
      (Freitext über `dimension_id` + `text_value`). Bulk-Konto-POST
      (`/assignments/account/bulk`) unterstützt nur Options-Zuweisungen über
      `option_ids`; Freitext auf Kontoebene über Einzel-POST, PATCH-Bulk oder
      Positions-Bulk.
  - name: Workflows
    description: Endpunkte für Workflow- und Prozessmanagement.
  - name: Calendar
    description: Kalender-Abonnement-Endpunkte mit separater Authentifizierung.
  - name: Orders
    description: Endpunkte für Auftragsverarbeitung und -verwaltung.
paths:
  /deliveries:
    get:
      tags:
        - Deliveries
      summary: Lieferungen auflisten
      description: >
        **Erforderliche Berechtigungen:** `deliveries:read`


        Gibt eine paginierte Liste von Lieferungen mit gefilterten
        Positionsfeldern zurück.
      operationId: listDeliveries
      parameters:
        - name: limit
          in: query
          description: Anzahl der Einträge pro Seite (max. 500, Standard 25)
          required: false
          schema:
            type: integer
            minimum: 1
            maximum: 500
            default: 25
            example: 25
        - name: offset
          in: query
          description: Anzahl der zu überspringenden Einträge für die Paginierung
          required: false
          schema:
            type: integer
            minimum: 0
            default: 0
            example: 0
        - name: marked
          in: query
          description: Ob der Lieferschein markiert wurde oder nicht
          required: false
          schema:
            type: boolean
        - name: from
          in: query
          description: ISO-8601 formatiertes Startlieferdatum (inklusiv)
          required: false
          schema:
            type: string
            format: date
            example: '2025-09-01'
        - name: to
          in: query
          description: ISO-8601 formatiertes Endlieferdatum (inklusiv)
          required: false
          schema:
            type: string
            format: date
            example: '2025-09-10'
        - name: updatedAtFrom
          in: query
          description: >-
            Lieferungen filtern, die ab diesem ISO-8601-Datum aktualisiert
            wurden (inklusiv)
          required: false
          schema:
            type: string
            format: date-time
            example: '2025-09-01T00:00:00Z'
        - name: updatedAtTo
          in: query
          description: >-
            Lieferungen filtern, die bis zu diesem ISO-8601-Datum aktualisiert
            wurden (inklusiv)
          required: false
          schema:
            type: string
            format: date-time
            example: '2025-09-10T23:59:59Z'
        - name: supplierId
          in: query
          description: Nach Lieferanten-ID filtern
          required: false
          schema:
            type: string
            format: uuid
        - name: projectId
          in: query
          description: Nach Projekt-ID filtern
          required: false
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Erfolgreich
          content:
            application/json:
              schema:
                type: object
                properties:
                  deliveries:
                    type: array
                    items:
                      $ref: '#/components/schemas/DeliveryListItem'
                  total:
                    type: integer
                    description: Gesamtanzahl der Lieferungen
                    example: 150
                  limit:
                    type: integer
                    nullable: true
                    description: Anzahl der Einträge pro Seite
                    example: 25
                  offset:
                    type: integer
                    description: Anzahl der übersprungenen Einträge
                    example: 0
                  hasNext:
                    type: boolean
                    description: Ob weitere Seiten verfügbar sind
                    example: true
                  hasPrevious:
                    type: boolean
                    description: Ob vorherige Seiten verfügbar sind
                    example: false
                  totalPages:
                    type: integer
                    description: Gesamtanzahl der Seiten
                    example: 6
                  currentPage:
                    type: integer
                    description: Aktuelle Seitennummer (0-basiert)
                    example: 0
        '400':
          description: Ungültige Eingabe
      security:
        - ApiKey:
            - deliveries:read
components:
  schemas:
    DeliveryListItem:
      type: object
      description: >-
        Lieferung, wie sie vom GET /deliveries Endpunkt zurückgegeben wird.
        Felder verwenden snake_case und enthalten aufgelöste Projekt- und
        Lieferanteninformationen.
      properties:
        id:
          type: string
          format: uuid
          description: Die ID der Lieferung bei comstruct
          example: a1b2c3d4-e5f6-7890-abcd-ef1234567890
        delivery_number:
          type: string
          description: Die Lieferscheinnummer vom Lieferanten
          example: LS-2024-001234
        order_number:
          type: string
          nullable: true
          description: Die Bestellnummer der Lieferung vom Lieferanten
          example: PO-2024-001
        plant:
          type: object
          nullable: true
          description: Das Werk oder die Anlage, von der die Lieferung stammt
          properties:
            title:
              type: string
              description: Name des Werks
              example: Betonwerk München-Nord
        planned_arrival_time:
          type: string
          format: date-time
          nullable: true
          description: Geplante Ankunftszeit (ISO 8601)
          example: '2024-01-15T08:30:00Z'
        status:
          type: string
          nullable: true
          description: Der aktuelle Status der Lieferung
          enum:
            - COMPLETED
            - CANCELLED
            - DELETED
            - HANDWRITTEN
            - APP_SCAN
          example: COMPLETED
        marked:
          type: boolean
          nullable: true
          description: Ob die Lieferung markiert/verifiziert wurde
          example: false
        project_number:
          type: string
          nullable: true
          description: Die Projektnummer
          example: PRJ-2024-001
        created_at:
          type: string
          format: date-time
          description: Erstellungszeitstempel (ISO 8601)
          example: '2024-01-15T08:30:00Z'
        updated_at:
          type: string
          format: date-time
          description: Letzter Aktualisierungszeitstempel (ISO 8601)
          example: '2024-01-15T09:00:00Z'
        comment:
          type: string
          nullable: true
          description: Optionaler Kommentar zur Lieferung
        supplier_id:
          type: string
          format: uuid
          description: Die UUID des Lieferanten
        project_id:
          type: string
          format: uuid
          nullable: true
          description: Die UUID des Projekts
        invoice_matched:
          type: boolean
          nullable: true
          description: Ob die Lieferung mit einer Rechnung abgeglichen wurde
          example: false
        work_type_id:
          type: string
          format: uuid
          nullable: true
          description: Die UUID der zugeordneten Leistungsart
        invoice_number:
          type: string
          nullable: true
          description: Die zugeordnete Rechnungsnummer
        charged:
          type: boolean
          nullable: true
          description: Ob die Lieferung abgerechnet wurde
          example: false
        charging_number:
          type: string
          nullable: true
          description: Die Abrechnungsnummer
        received_at:
          type: string
          format: date-time
          nullable: true
          description: Zeitpunkt des Empfangs der Lieferung (ISO 8601)
        items:
          type: array
          description: Positionen der Lieferung (gefiltert auf Kernfelder)
          items:
            type: object
            properties:
              title:
                type: string
                description: Positionsbezeichnung
                example: Beton C30/37
              quantity:
                type: number
                format: double
                description: Gelieferte Menge
                example: 8.5
              product_number:
                type: string
                nullable: true
                description: Produktnummer des Lieferanten
                example: BET-C30-37
              unit:
                type: string
                description: Mengeneinheit
                example: m3
              type:
                type: string
                nullable: true
                description: Produkttyp
                example: CONCRETE
              work_type_id:
                type: string
                format: uuid
                nullable: true
                description: Die UUID der zugeordneten Leistungsart
        project:
          type: object
          nullable: true
          readOnly: true
          description: Aufgelöstes Projekt-Objekt
          properties:
            id:
              type: string
              format: uuid
              description: Projekt-ID
            title:
              type: string
              description: Projekttitel
              example: Neubau Bürogebäude
            project_number:
              type: string
              description: Projektnummer
              example: PRJ-2024-001
            external_id:
              type: string
              nullable: true
              description: Externe Projekt-ID
        supplier:
          type: object
          nullable: true
          readOnly: true
          description: Aufgelöstes Lieferanten-Objekt
          properties:
            id:
              type: string
              format: uuid
              description: Lieferanten-ID
            title:
              type: string
              description: Lieferantenname
              example: Beton GmbH
  securitySchemes:
    ApiKey:
      type: apiKey
      in: header
      name: X-API-Key
      description: >
        API-Schlüssel zur Authentifizierung. Kontaktieren Sie Ihren Customer
        Success Manager, um einen API-Schlüssel zu erhalten.


        Jeder Endpunkt erfordert spezifische Berechtigungen (Scopes); die
        erforderlichen Scopes werden pro Endpunkt angezeigt.

````