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

# Fall auflösen – Resolve Case API

> Mit der Didit API einen Fall als falsch positiv oder echte Bedrohung auflösen. Checklisten-Sperren, Pflichtnotizen und 4-Augen-Staging verstehen.



Prompt für die API zum Auflösen eines Falls
        Prompt in die Zwischenablage kopieren



      
      

\<pre>

\`Resolve a case through the Management API.

Endpoint:
POST https://verification.didit.me/v3/organization/{organization_id}/application/{application_id}/cases/{case_uuid}/resolve/

Authentication:
Use the x-api-key header with my Didit API key.

Request body:
\{"resolution": "FALSE_POSITIVE", "note": "Confirmed legitimate activity after reviewing documents."}
\- resolution is required: FALSE_POSITIVE (no concern found) | VALID_THREAT (concern confirmed) | INCONCLUSIVE | REQUIREMENTS_NOT_MET | REQUIREMENTS_SATISFIED.
\- note is required only when the case's blueprint has require_resolution_note enabled.
\- checker is optional and only for a blueprint with a four-eyes checker step: the user uuid of the member who must approve the resolution (the same id as assigned_to.uuid on a case, or members[].user_id on a review team). Omit it or send null to leave the resolution to the checker queue.

Behavior:
\- Blocked with 400 if the blueprint's checklist is not optional and any item is incomplete - response lists the incomplete item labels.
\- Blocked with 400 if the blueprint requires a note and none was given.
\- If the blueprint has a four_eyes_checker_blueprint configured, the resolution is staged (case.pending_resolution) and the case moves to that checker blueprint's queue instead of closing - status stays OPEN. A different user must then call approve or reject-approval.
\- Submit a four-eyes resolution as a console member. A resolution an API key submits has no recorded maker (pending_resolution.maker_email is null), so approve and reject-approval return 403 {"detail": "Case has no recorded maker for this pending resolution; approve is not permitted."} for every caller.
\- Otherwise the case closes immediately: status becomes RESOLVED, resolved_at and resolved_by_email are set.
\- On a four-eyes blueprint with checker, only that member can approve or reject the staged resolution, and the response's checker {member_uuid, name, email} names them. Any other caller, including an API key, gets 403 on approve and reject-approval. Without checker, the response's checker is null and the checker blueprint's queue decides.

Example call:
curl -X POST "https://verification.didit.me/v3/organization/{organization_id}/application/{application_id}/cases/{case_uuid}/resolve/" \
-H "x-api-key: YOUR_API_KEY" -H "Content-Type: application/json" \
-d '{"resolution": "FALSE_POSITIVE", "note": "Confirmed legitimate activity."}'

Response 200: CaseDetail. Check pending_resolution to tell staged-for-approval apart from a completed resolution.

Failure modes:
\- 400 - incomplete checklist, or missing required note (a list of strings).
\- 400 - when checker is sent, in the order they fire:
\- ["Reviewer access could not be verified. Try again."] or ["Choose an active reviewer with case access to this application."] - the member could not be checked, or is not an active reviewer with case access.
\- {"checker": ["The officer who submitted the resolution cannot be its checker."]} - you named the officer who is resolving.
\- {"checker": ["This review policy has no checker step, so the case resolves directly."]} - the case's blueprint has no four-eyes checker step.
\- 401/403 - auth/permission errors. A key with restricted access gets 403 {"detail": "This API key has no access to this endpoint."} (cases need a full-access key). A console member token needs write:cases.
\- 404 - case not found.

For the full integration shape, see /integration/integration-prompt.`

\</pre>



      
      

Einfügen in

Lösen Sie einen Fall auf. Wenn sein Blueprint mit einem Blueprint für eine [Vier-Augen-Prüfung](https://docs.didit.me/de/console/case-management/four-eyes.md) verknüpft ist, wird die Auflösung nur vorgemerkt, und der Fall wird nicht geschlossen. Prüfen Sie das Feld `pending_resolution` in der Antwort, um die beiden Ergebnisse zu unterscheiden.## Prüfer benennenBei einem Blueprint mit einem Prüfschritt für die Vier-Augen-Prüfung senden Sie `checker` mit der UUID des Mitglieds, das die Auflösung genehmigen muss.
Nur dieses Mitglied kann die Auflösung dann genehmigen oder ablehnen. Alle anderen, auch ein API-Schlüssel, erhalten `403`.
Das Feld `checker` des Falls nennt diese Person, bis die Auflösung genehmigt, abgelehnt oder wegen geänderter Nachweise zur erneuten Prüfung zurückgegeben wird.
Ohne `checker` wartet die Auflösung in der Warteschlange des Prüf-Blueprints.
Das Mitglied muss Fallzugriff auf diese Anwendung haben und darf nicht der Sachbearbeiter sein, der die Auflösung einreicht.
Bei einem Blueprint ohne Prüfschritt gibt `checker` den Fehler `400` zurück.## Vier-Augen-Auflösungen benötigen ein Console-MitgliedReichen Sie eine Auflösung, die in die Vier-Augen-Prüfung geht, als Console-Mitglied ein, nicht mit einem API-Schlüssel.
Eine Auflösung, die ein API-Schlüssel einreicht, hat keinen erfassten Ersteller. Deshalb geben die Aktionen „Genehmigung erteilen“ und „Genehmigung ablehnen“ für jeden Aufrufer `403` zurück, auch für den benannten Prüfer.## ZugriffEndpoints für Fälle benötigen einen [API-Schlüssel](https://docs.didit.me/de/console/api-keys.md) mit vollem Zugriff.
Ein Schlüssel mit eingeschränktem Zugriff erhält `403`.## Verwandte Themen- [Vier-Augen-Prüfung (Console)](https://docs.didit.me/de/console/case-management/four-eyes.md)
- [Fall abrufen](https://docs.didit.me/de/management-api/cases/get.md)
- [Checkliste (Console)](https://docs.didit.me/de/console/case-management/checklist.md)
- [Status im Stapel aktualisieren](https://docs.didit.me/de/management-api/cases/bulk-status.md)


## OpenAPI

````yaml de/openapi-25.json POST /v3/organization/{organization_id}/application/{application_id}/cases/{case_uuid}/resolve/
openapi: 3.0.0
info:
  version: 3.0.0
  title: Didit Verification API
  description: API für Ausweisverifizierung. Authentifizierung über den x-api-key-Header.
servers:
  - url: https://verification.didit.me
security: []
tags: []
paths:
  /v3/organization/{organization_id}/application/{application_id}/cases/{case_uuid}/resolve/:
    post:
      tags:
        - Cases
      summary: Fall lösen
      description: >-
        Schließen Sie den Fall mit einer von fünf Entscheidungen ab:
        FALSE_POSITIVE (kein Bedenken festgestellt), VALID_THREAT (Bedenken
        bestätigt), INCONCLUSIVE, REQUIREMENTS_NOT_MET oder
        REQUIREMENTS_SATISFIED. Wird mit 400 blockiert, wenn die Checkliste der
        Vorlage nicht optional ist und noch Punkte unvollständig sind, oder wenn
        die Vorlage eine Notiz zur Entscheidung verlangt und keine angegeben
        wird. Wenn die Vorlage des Falls einen Vier-Augen-Prüferschritt
        (four_eyes_checker_blueprint) enthält, wird die Entscheidung vorgemerkt
        (case.pending_resolution) und der Fall wechselt zur Prüfer-Vorlage,
        anstatt sofort abgeschlossen zu werden; ein anderer Prüfer muss approve
        oder reject-approval aufrufen. Reichen Sie eine Vier-Augen-Entscheidung
        als Console-Mitglied ein: Bei einer Entscheidung, die ein API-Schlüssel
        übermittelt, wird kein Ersteller erfasst, sodass approve und
        reject-approval für jeden Aufrufer 403 zurückgeben. Bei einer
        Vier-Augen-Vorlage können Sie mit `checker` das Mitglied benennen, das
        genehmigen muss: In diesem Fall kann nur dieses Mitglied die
        Entscheidung genehmigen oder ablehnen, und das Feld `checker` in der
        Antwort nennt dieses Mitglied. Ohne `checker` wartet die Entscheidung in
        der Warteschlange der Prüfer-Vorlage. Das Senden von `checker` bei einer
        Vorlage ohne Prüferschritt gibt 400 zurück.
      operationId: resolve_case
      parameters:
        - name: organization_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
          description: UUID der Organisation.
        - name: application_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
          description: Anwendungs-UUID.
        - name: case_uuid
          in: path
          required: true
          schema:
            type: string
            format: uuid
            example: c1a5e000-0000-4000-8000-000000000001
          description: Fall-UUID.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - resolution
              properties:
                resolution:
                  type: string
                  enum:
                    - FALSE_POSITIVE
                    - VALID_THREAT
                    - INCONCLUSIVE
                    - REQUIREMENTS_NOT_MET
                    - REQUIREMENTS_SATISFIED
                note:
                  type: string
                  nullable: true
                  description: >-
                    Erforderlich, wenn der Blueprint require_resolution_note
                    festlegt.
                checker:
                  type: string
                  format: uuid
                  nullable: true
                  description: >-
                    Nur für Vier-Augen-Blueprints. Die Benutzer-UUID des
                    Mitglieds, das diesen Beschluss genehmigen muss (dieselbe ID
                    wie `assigned_to.uuid` bei einem Fall oder
                    `members[].user_id` in einem Prüfungsteam). Das Mitglied
                    muss Fallzugriff auf diese Anwendung haben und darf nicht
                    der Sachbearbeiter sein, der den Beschluss einreicht.
                    Weglassen oder null übergeben, um den Beschluss der
                    Prüfer-Warteschlange zu überlassen.
            examples:
              Resolve:
                value:
                  resolution: FALSE_POSITIVE
                  note: Confirmed legitimate activity after reviewing documents.
              Four-eyes blueprint with a named checker:
                value:
                  resolution: VALID_THREAT
                  note: Document tampering confirmed.
                  checker: 3fa85f64-5717-4562-b3fc-2c963f66afa6
      responses:
        '200':
          description: Abgeschlossen oder zur 4-Augen-Genehmigung vorgemerkt.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CaseDetail'
        '400':
          description: >-
            Der Fallabschluss wurde verweigert. Nicht-Feld-Fehler werden als
            Liste von Zeichenfolgen zurückgegeben: eine unvollständige
            Checkliste, eine fehlende erforderliche Notiz oder ein `checker`,
            der nicht überprüft werden konnte oder kein aktiver Prüfer mit
            Fallzugriff auf diese Anwendung ist. `checker`-Fehler werden nach
            dem Feld geschlüsselt: Das benannte Mitglied ist der
            Compliance-Beauftragte, der den Fallabschluss einreicht, oder die
            Vorlage des Falls hat keinen Checker-Schritt.
          content:
            application/json:
              schema:
                oneOf:
                  - type: array
                    items:
                      type: string
                  - type: object
                    additionalProperties:
                      type: array
                      items:
                        type: string
              examples:
                Incomplete checklist:
                  value:
                    - >-
                      Case has incomplete checklist items: Verify source of
                      funds
                Resolution note required:
                  value:
                    - A resolution note is required to resolve this case.
                Reviewer access could not be verified:
                  value:
                    - Reviewer access could not be verified. Try again.
                Checker is not an active reviewer:
                  value:
                    - >-
                      Choose an active reviewer with case access to this
                      application.
                Checker is the submitting officer:
                  value:
                    checker:
                      - >-
                        The officer who submitted the resolution cannot be its
                        checker.
                Policy has no checker step:
                  value:
                    checker:
                      - >-
                        This review policy has no checker step, so the case
                        resolves directly.
      security:
        - ApiKeyAuth: []
      x-codeSamples:
        - lang: curl
          label: curl
          source: >-
            curl -X POST
            'https://verification.didit.me/v3/organization/11111111-2222-3333-4444-555555555555/application/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee/cases/c1a5e000-0000-4000-8000-000000000001/resolve/'
            \
              -H 'x-api-key: YOUR_API_KEY' \
              -H 'Content-Type: application/json' \
              -d '{"resolution": "FALSE_POSITIVE", "note": "Confirmed legitimate activity after reviewing documents."}'
        - lang: python
          label: Python
          source: |-
            from didit import Didit

            # Reads DIDIT_API_KEY, DIDIT_ORGANIZATION_ID
            # and DIDIT_APPLICATION_ID.
            client = Didit()

            result = client.cases.resolve(
                "c1a5e000-0000-4000-8000-000000000001",
                resolution="FALSE_POSITIVE",
                note="Confirmed legitimate activity after reviewing documents.",
            )
            print(result)
        - lang: javascript
          label: Node.js
          source: >-
            import Didit from "@didit-protocol/sdk-node";


            // Reads DIDIT_API_KEY, DIDIT_ORGANIZATION_ID

            // and DIDIT_APPLICATION_ID.

            const didit = new Didit();


            const result = await
            didit.cases.resolve("c1a5e000-0000-4000-8000-000000000001", {
              resolution: "FALSE_POSITIVE",
              note: "Confirmed legitimate activity after reviewing documents.",
            });

            console.log(result);
        - lang: go
          label: Go
          source: "ctx := context.Background()\n// Reads DIDIT_API_KEY, DIDIT_ORGANIZATION_ID\n// and DIDIT_APPLICATION_ID.\nclient := didit.NewClient()\n\nresult, err := client.Cases.Resolve(ctx, \"c1a5e000-0000-4000-8000-000000000001\", didit.CasesResolveParams{\n\tResolution: \"FALSE_POSITIVE\",\n\tNote:       didit.String(\"Confirmed legitimate activity after reviewing documents.\"),\n})\nif err != nil {\n\tlog.Fatal(err)\n}\nfmt.Printf(\"%+v\\n\", result)"
        - lang: java
          label: Java
          source: >-
            import me.didit.Didit;

            import me.didit.types.CasesResolveParams;


            // Reads DIDIT_API_KEY, DIDIT_ORGANIZATION_ID

            // and DIDIT_APPLICATION_ID.

            Didit client = new Didit();


            var result =
            client.cases().resolve("c1a5e000-0000-4000-8000-000000000001",
            CasesResolveParams.builder()
                    .resolution(CasesResolveParams.Resolution.of("FALSE_POSITIVE"))
                    .note("Confirmed legitimate activity after reviewing documents.")
                    .build());
            System.out.println(result);
        - lang: php
          label: PHP
          source: >-
            <?php


            require 'vendor/autoload.php';


            use Didit\DiditClient;


            // Reads DIDIT_API_KEY, DIDIT_ORGANIZATION_ID

            // and DIDIT_APPLICATION_ID.

            $didit = new DiditClient();


            $result =
            $didit->cases->resolve('c1a5e000-0000-4000-8000-000000000001', [
                'resolution' => 'FALSE_POSITIVE',
                'note' => 'Confirmed legitimate activity after reviewing documents.',
            ]);

            print_r($result->toArray());
        - lang: ruby
          label: Ruby
          source: |-
            require "didit"

            # Reads DIDIT_API_KEY, DIDIT_ORGANIZATION_ID
            # and DIDIT_APPLICATION_ID.
            didit = Didit::Client.new

            result = didit.cases.resolve(
              "c1a5e000-0000-4000-8000-000000000001",
              resolution: "FALSE_POSITIVE",
              note: "Confirmed legitimate activity after reviewing documents."
            )
            puts result.to_h
        - lang: csharp
          label: .NET
          source: >-
            using System;

            using System.Text.Json;

            using Didit;


            // Reads DIDIT_API_KEY, DIDIT_ORGANIZATION_ID

            // and DIDIT_APPLICATION_ID.

            using var client = new DiditClient();


            var result = await
            client.Cases.ResolveAsync("c1a5e000-0000-4000-8000-000000000001",
            new CasesResolveParams

            {
                Resolution = "FALSE_POSITIVE",
                Note = "Confirmed legitimate activity after reviewing documents.",
            });

            Console.WriteLine(JsonSerializer.Serialize(result));
components:
  schemas:
    CaseDetail:
      type: object
      properties:
        uuid:
          type: string
          format: uuid
        case_number:
          type: string
          nullable: true
        title:
          type: string
        status:
          type: string
          enum:
            - OPEN
            - AWAITING_USER
            - RESOLVED
        resolution:
          type: string
          enum:
            - FALSE_POSITIVE
            - VALID_THREAT
            - INCONCLUSIVE
            - REQUIREMENTS_NOT_MET
            - REQUIREMENTS_SATISFIED
          nullable: true
        resolution_notes:
          type: string
          nullable: true
        priority:
          type: string
          enum:
            - LOW
            - MEDIUM
            - HIGH
        source:
          type: string
          enum:
            - MANUAL
            - AML_SCREENING
            - TRANSACTION_RULE
            - WORKFLOW_BUILDER
        tags:
          type: array
          items:
            type: string
        subject:
          $ref: '#/components/schemas/CaseSubject'
        assigned_to:
          $ref: '#/components/schemas/CaseAssignee'
        assigned_at:
          type: string
          format: date-time
          nullable: true
        team:
          $ref: '#/components/schemas/CaseTeamSummary'
        due_at:
          type: string
          format: date-time
          nullable: true
        resolved_at:
          type: string
          format: date-time
          nullable: true
        resolved_by_email:
          type: string
          nullable: true
        pending_resolution:
          type: object
          nullable: true
          description: >-
            Wird nur gesetzt, während eine 4-Augen-Auflösung auf der
            Checker-Vorlage bereitgestellt ist und auf Genehmigung oder
            Ablehnung der Genehmigung wartet.
          properties:
            resolution:
              type: string
              enum:
                - FALSE_POSITIVE
                - VALID_THREAT
                - INCONCLUSIVE
                - REQUIREMENTS_NOT_MET
                - REQUIREMENTS_SATISFIED
            resolution_notes:
              type: string
              nullable: true
            maker_email:
              type: string
              format: email
              nullable: true
              description: >-
                E-Mail des Beauftragten, der den Beschluss eingereicht hat.
                Null, wenn er über einen API-Schlüssel eingereicht wurde: Dieser
                Beschluss hat keinen erfassten Ersteller, sodass approve und
                reject-approval für jeden Aufrufer 403 zurückgeben.
            maker_name:
              type: string
              nullable: true
            maker_user_id:
              type: string
              format: uuid
              nullable: true
              description: >-
                Benutzer-UUID des Mitglieds, das als Beauftragter die
                Entscheidung eingereicht hat. Null, wenn sie über einen
                API-Schlüssel eingereicht wurde. Dieses Mitglied kann nicht als
                `checker` benannt werden.
            maker_blueprint_id:
              type: string
              format: uuid
            staged_at:
              type: string
              format: date-time
        checker:
          $ref: '#/components/schemas/CaseChecker'
        metadata:
          type: object
        blueprint:
          $ref: '#/components/schemas/CaseBlueprintDetail'
        notes:
          type: array
          items:
            $ref: '#/components/schemas/CaseNote'
          description: Neueste 50 Notizen.
        events:
          type: array
          items:
            $ref: '#/components/schemas/CaseEvent'
          description: Neueste 100 Ereignisse.
        links:
          type: array
          items:
            $ref: '#/components/schemas/CaseLink'
        links_count:
          type: integer
        notes_count:
          type: integer
        checklist_items:
          type: array
          items:
            $ref: '#/components/schemas/CaseChecklistItem'
        created_at:
          type: string
          format: date-time
        updated_at:
          type: string
          format: date-time
    CaseSubject:
      type: object
      nullable: true
      description: >-
        Der einzelne Benutzer oder das Unternehmen, an den bzw. das der Fall
        gebunden ist.
      properties:
        type:
          type: string
          enum:
            - user
            - business
        uuid:
          type: string
          format: uuid
        name:
          type: string
        external_id:
          type: string
          nullable: true
          description: Die vendor_data des Subjekts.
        country:
          type: string
          nullable: true
          description: >-
            Dreistelliger Ländercode des Subjekts (ISO 3166-1 Alpha-3) oder
            null, wenn unbekannt. Bei einem Unternehmen das Land der Gründung.
            Bei einer Person das Ausstellungsland eines Ausweisdokuments aus
            deren Verifizierungen; bei einer Person mit Dokumenten aus mehreren
            Ländern wird eines davon angezeigt, und es können
            ICAO-Dokumentencodes wie `XXA` vorkommen.
          example: ESP
        portrait:
          type: string
          format: uri
          nullable: true
          description: >-
            Kurzlebige signierte URL des Porträtbildes der Person. Für ein
            Unternehmen immer null und null für eine Person ohne Porträt. Die
            URL läuft ab, laden Sie das Bild daher beim Lesen des Falls
            herunter, anstatt die URL zu speichern.
    CaseAssignee:
      type: object
      nullable: true
      properties:
        uuid:
          type: string
          format: uuid
        full_name:
          type: string
        email:
          type: string
          format: email
    CaseTeamSummary:
      type: object
      nullable: true
      description: >-
        Das Prüfungsteam, das für den Fall zuständig ist, oder null, wenn kein
        Team zuständig ist. Das Routing legt dies fest, wenn eine Routing-Regel
        den Fall einem ihrer Teams zuweist. Ändern oder löschen Sie dies mit
        `PATCH .../cases/{case_uuid}/` (`team`).
      properties:
        uuid:
          type: string
          format: uuid
        name:
          type: string
    CaseChecker:
      type: object
      nullable: true
      description: >-
        Das benannte Mitglied zur Genehmigung oder Ablehnung des ausstehenden
        Beschlusses. Nur gesetzt, während ein Vier-Augen-Beschluss auf einen
        benannten Prüfer wartet. Null, wenn nichts aussteht, während der
        ausstehende Beschluss in der Prüfer-Warteschlange wartet und sobald der
        Beschluss genehmigt, abgelehnt oder aufgrund geänderter Nachweise zur
        erneuten Prüfung zurückgegeben wurde.
      properties:
        member_uuid:
          type: string
          format: uuid
          description: >-
            Die Benutzer-UUID des Mitglieds: der Wert, den Sie als `checker`
            übergeben, wenn Sie den Fall lösen.
        name:
          type: string
          nullable: true
          description: >-
            Der vollständige Name des Mitglieds oder null, wenn er nicht bekannt
            ist.
        email:
          type: string
          format: email
    CaseBlueprintDetail:
      type: object
      properties:
        uuid:
          type: string
          format: uuid
        name:
          type: string
          maxLength: 24
        description:
          type: string
          nullable: true
        assignment_method:
          type: string
          enum:
            - MANUAL
            - AUTOMATIC
        assignee_pool:
          type: array
          items:
            type: string
            format: uuid
        max_active_cases:
          type: integer
          nullable: true
        escalation_enabled:
          type: boolean
        transfer_enabled:
          type: boolean
        require_resolution_note:
          type: boolean
        is_active:
          type: boolean
        preset_key:
          type: string
          nullable: true
        created_at:
          type: string
          format: date-time
        escalation_blueprint:
          type: string
          format: uuid
          nullable: true
        escalation_blueprint_name:
          type: string
          nullable: true
        four_eyes_checker_blueprint:
          type: string
          format: uuid
          nullable: true
        four_eyes_checker_blueprint_name:
          type: string
          nullable: true
        content_config:
          type: object
          description: >-
            Die sechs umschaltbaren Abschnitte, die steuern, welche Tabs und
            Felder auf der Fallseite erscheinen. Unbekannte Abschnitte oder
            Schlüssel werden abgelehnt.
          properties:
            checklist:
              type: object
              properties:
                enabled:
                  type: boolean
                optional:
                  type: boolean
                  description: >-
                    Wenn true, kann ein Fall mit unvollständigen
                    Checklisten-Einträgen abgeschlossen werden.
                items:
                  type: array
                  items:
                    type: object
                    properties:
                      label:
                        type: string
                        maxLength: 255
                      order:
                        type: integer
            aml_control:
              type: object
              properties:
                enabled:
                  type: boolean
                financial:
                  type: boolean
                identity:
                  type: boolean
            identity:
              type: object
              properties:
                enabled:
                  type: boolean
                personal_information:
                  type: boolean
                applicant_tags:
                  type: boolean
                contact_information:
                  type: boolean
                risk_overview:
                  type: boolean
                poi_documents:
                  type: boolean
                poa_documents:
                  type: boolean
            verifications:
              type: object
              properties:
                enabled:
                  type: boolean
                summary:
                  type: boolean
            reporting:
              type: object
              properties:
                enabled:
                  type: boolean
                fiu_reports:
                  type: boolean
            financial:
              type: object
              properties:
                enabled:
                  type: boolean
                payment_methods:
                  type: boolean
                transactions:
                  type: boolean
        creation_sources:
          type: array
          description: Konnektoren, die derzeit neue Fälle in diese Vorlage leiten.
          items:
            type: object
            properties:
              kind:
                type: string
                enum:
                  - aml
                  - rule
                  - workflow
              id:
                type: string
              name:
                type: string
        receives_escalation_from:
          type: array
          description: Andere Blueprints, deren Eskalationsziel auf diesen verweist.
          items:
            type: object
            properties:
              id:
                type: string
              name:
                type: string
        updated_at:
          type: string
          format: date-time
        version:
          type: integer
          readOnly: true
        default_deadline_hours:
          type: integer
          nullable: true
          minimum: 1
          maximum: 8760
    CaseNote:
      type: object
      properties:
        uuid:
          type: string
          format: uuid
        comment:
          type: string
        actor_email:
          type: string
          format: email
          nullable: true
        actor_name:
          type: string
          nullable: true
        mentioned_emails:
          type: array
          items:
            type: string
            format: email
        is_internal:
          type: boolean
        attachments:
          type: array
          items:
            type: object
            properties:
              s3_key:
                type: string
              filename:
                type: string
              file_size:
                type: integer
              url:
                type: string
                format: uri
        tags:
          type: array
          items:
            type: string
        created_at:
          type: string
          format: date-time
    CaseEvent:
      type: object
      properties:
        uuid:
          type: string
          format: uuid
        event_type:
          type: string
          enum:
            - CREATED
            - STATUS_CHANGED
            - ASSIGNED
            - UNASSIGNED
            - RESOLVED
            - REOPENED
            - LINK_ADDED
            - LINK_REMOVED
            - NOTE_ADDED
            - NOTE_PINNED
            - NOTE_UNPINNED
            - PRIORITY_CHANGED
            - DUE_DATE_CHANGED
            - TAG_ADDED
            - TAG_REMOVED
            - ESCALATED
            - TRANSFERRED
            - CHECKLIST_COMPLETED
            - REPORT_CREATED
            - REPORT_FINALIZED
            - SUBMITTED_FOR_APPROVAL
            - APPROVAL_GRANTED
            - APPROVAL_REJECTED
            - ENTITY_ACTION
            - APPROVAL_INVALIDATED
            - CUSTOMER_REQUEST
            - STAGE_CHANGED
            - TEAM_CHANGED
            - CHECKER_ASSIGNED
            - CHECKER_UNASSIGNED
        actor_email:
          type: string
          format: email
          nullable: true
        actor_name:
          type: string
          nullable: true
        previous_status:
          type: string
          enum:
            - OPEN
            - AWAITING_USER
            - RESOLVED
          nullable: true
        new_status:
          type: string
          enum:
            - OPEN
            - AWAITING_USER
            - RESOLVED
          nullable: true
        metadata:
          type: object
        created_at:
          type: string
          format: date-time
    CaseLink:
      type: object
      properties:
        uuid:
          type: string
          format: uuid
        linked_entity_type:
          type: string
          enum:
            - session
            - business_session
            - transaction
          nullable: true
        linked_entity_uuid:
          type: string
          format: uuid
          nullable: true
        linked_entity_summary:
          type: object
          nullable: true
          description: >-
            session_id/session_number/status für Sitzungs- und
            business_session-Links; uuid/txn_id/status für Transaktions-Links.
        created_at:
          type: string
          format: date-time
    CaseChecklistItem:
      type: object
      properties:
        uuid:
          type: string
          format: uuid
        label:
          type: string
          maxLength: 255
        is_completed:
          type: boolean
        completed_by:
          type: string
          format: email
          nullable: true
        completed_at:
          type: string
          format: date-time
          nullable: true
        order:
          type: integer
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: >-
        Der API-Schlüssel Ihrer Anwendung, aus Entwickler -> API-Schlüssel in
        der Business Console. Der Primärschlüssel hat Vollzugriff. Ein benannter
        Schlüssel kann im Geltungsbereich eingeschränkt werden: keine, Lese-
        oder Schreibberechtigung pro Ressource, beschränkt auf bestimmte
        Workflows oder genehmigte Sitzungen, auf eine Liste von IP-Adressen und
        auf ein Ablaufdatum. 401 bedeutet, dass der Schlüssel falsch, widerrufen
        oder abgelaufen ist; 403 bedeutet, dass kein Schlüssel gesendet wurde,
        der Schlüssel keinen Zugriff auf diese Ressource oder Aktion hat oder
        die Anfrage von einer Adresse außerhalb seiner IP-Liste stammte; 404 bei
        einer Sitzungsroute bedeutet, dass die Sitzung außerhalb der Workflows
        oder Status des Schlüssels liegt. Ein Schlüssel ohne Medienzugriff
        erhält Bild-, Video- und PDF-URLs als null, und ein Schlüssel ohne
        Schreibberechtigung für Sitzungen erhält Sitzungslinks und Token als
        null. Siehe https://docs.didit.me/console/api-keys.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.