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

# Signaturbild-API: Signatur als PNG herunterladen

> Laden Sie die Signatur oder Initialen eines Unterzeichners für ein Feld eines E-Signatur-Dokuments als PNG mit Didit herunter.

Gibt die Signatur oder die Initialen, die ein Unterzeichner in einem Feld angebracht hat, als PNG zurück. Der Pfad steht im `image_url` des Feldes in `signatures[].documents[].fields[]`, sodass Sie ihn nicht selbst erstellen müssen. Dafür wird `read:sessions` benötigt.

```bash theme={null}
curl -L 'https://verification.didit.me/v3/session/{session_id}/signatures/{node_id}/fields/{field_id}/image/' \
  -H 'x-api-key: YOUR_API_KEY' \
  -o signature.png
```

Eine gezeichnete Signatur ist das Bild, das der Unterzeichner gezeichnet hat, und dieses Bild wird in das signierte PDF eingefügt. Eine getippte Signatur ist der verifizierte Name des Unterzeichners im Handschriftstil, den er gewählt hat, und das signierte PDF enthält ihn als Text im gleichen Stil. Für den Nachweis der Signatur selbst verwenden Sie das [signierte Dokument](https://docs.didit.me/de/sessions-api/electronic-signature/download-signed-document.md) und die [Nachweise](https://docs.didit.me/de/sessions-api/electronic-signature/download-evidence.md).

Ein Feld, das nicht dem Unterzeichner gehört oder auf dem keine Signatur oder Initialen angebracht wurden, gibt `404` mit `signature_field_not_found` zurück. Ein gespeichertes Bild, das nicht mehr mit seinem aufgezeichneten SHA-256-Hash übereinstimmt, gibt `400` mit `signature_document_changed` zurück. Nachdem Sie die [Sitzung gelöscht](https://docs.didit.me/de/sessions-api/delete-session.md) haben, gibt die Route `404` zurück.

## Verwandt

* [Felder im Dokument](https://docs.didit.me/de/core-technology/electronic-signature/overview.md#felder-auf-dem-dokument)
* [E-Signatur-Bericht](https://docs.didit.me/de/core-technology/electronic-signature/report-electronic-signature.md#felder)


## OpenAPI

````yaml de/openapi-25.json GET /v3/session/{sessionId}/signatures/{nodeId}/fields/{fieldId}/image/
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/session/{sessionId}/signatures/{nodeId}/fields/{fieldId}/image/:
    get:
      tags:
        - Sessions
      summary: Ein Signaturbild herunterladen
      description: >-
        Laden Sie die Signatur oder die Initialen, die ein Unterzeichner auf ein
        Feld angebracht hat, als PNG herunter. Verwenden Sie die `image_url` des
        Felds in `signatures[].documents[].fields[]`. Erfordert `read:sessions`;
        Ihr API-Schlüssel funktioniert.
      operationId: get_v3_session_signature_field_image
      parameters:
        - name: sessionId
          in: path
          required: true
          description: >-
            Die Sitzung zur Benutzerverifizierung (KYC) oder
            Unternehmensverifizierung (KYB).
          schema:
            type: string
            format: uuid
            example: 11111111-2222-3333-4444-555555555555
        - name: nodeId
          in: path
          required: true
          description: 'Der E-Signatur-Schritt: `node_id` des Elements in `signatures[]`.'
          schema:
            type: string
            example: feature_signature
        - name: fieldId
          in: path
          required: true
          description: >-
            Das Feld auf der Kopie für diesen Unterzeichner, wie in der
            `image_url` des Felds.
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Das Bild.
          content:
            image/png:
              schema:
                type: string
                format: binary
        '400':
          description: >-
            Das gespeicherte Bild stimmt nicht mehr mit seinem erfassten SHA-256
            überein.
          content:
            application/json:
              schema:
                type: object
                properties:
                  detail:
                    type: string
                  code:
                    type: string
              example:
                code: signature_document_changed
                detail: signature_document_changed
        '403':
          description: >-
            Fehlende Anmeldedaten oder Anmeldedaten, die diese Sitzung nicht
            lesen können. Ein fehlender Schlüssel führt zu einer `403`-Antwort;
            ein falscher, widerrufener oder abgelaufener Schlüssel führt zu
            einer `401`-Antwort.
          content:
            application/json:
              schema:
                type: object
                properties:
                  detail:
                    type: string
              example:
                detail: You do not have permission to perform this action.
        '404':
          description: >-
            Kein Bild stimmt überein: Die Sitzung, der Schritt oder das Feld
            existiert nicht, wurde gelöscht oder es wurden keine Signatur oder
            Initialen angewendet.
          content:
            application/json:
              schema:
                type: object
                properties:
                  detail:
                    type: string
                  code:
                    type: string
              examples:
                Unknown field:
                  summary: Kein solches Feld
                  value:
                    code: signature_field_not_found
                    detail: signature_field_not_found
      security:
        - ApiKeyAuth: []
      x-codeSamples:
        - lang: python
          label: Python
          source: |-
            from didit import Didit

            # Reads DIDIT_API_KEY.
            client = Didit()

            content = client.sessions.signatures.download_field_image(
                "11111111-2222-3333-4444-555555555555",
                "feature_signature",
                "11111111-2222-3333-4444-555555555555",
            )
            with open("download.png", "wb") as file:
                file.write(content)
        - lang: javascript
          label: Node.js
          source: >-
            import { writeFile } from "node:fs/promises";

            import Didit from "@didit-protocol/sdk-node";


            // Reads DIDIT_API_KEY.

            const didit = new Didit();


            const content = await didit.sessions.signatures.downloadFieldImage(
              "11111111-2222-3333-4444-555555555555",
              "feature_signature",
              "11111111-2222-3333-4444-555555555555",
            );

            await writeFile("download.png", Buffer.from(await
            content.arrayBuffer()));
        - lang: go
          label: Go
          source: "ctx := context.Background()\n// Reads DIDIT_API_KEY.\nclient := didit.NewClient()\n\nresp, err := client.Sessions.Signatures.DownloadFieldImage(ctx, \"11111111-2222-3333-4444-555555555555\", \"feature_signature\", \"11111111-2222-3333-4444-555555555555\")\nif err != nil {\n\tlog.Fatal(err)\n}\ndefer resp.Body.Close()\nfile, err := os.Create(\"download.png\")\nif err != nil {\n\tlog.Fatal(err)\n}\ndefer file.Close()\nif _, err := io.Copy(file, resp.Body); err != nil {\n\tlog.Fatal(err)\n}"
        - lang: java
          label: Java
          source: >-
            import java.nio.file.Path;

            import me.didit.Didit;


            // Reads DIDIT_API_KEY.

            Didit client = new Didit();


            client.sessions().signatures().downloadFieldImage("11111111-2222-3333-4444-555555555555",
            "feature_signature", "11111111-2222-3333-4444-555555555555")
                    .writeTo(Path.of("download.png"));
        - lang: php
          label: PHP
          source: >-
            <?php


            require 'vendor/autoload.php';


            use Didit\DiditClient;


            // Reads DIDIT_API_KEY.

            $didit = new DiditClient();


            $content =
            $didit->sessions->signatures->downloadFieldImage('11111111-2222-3333-4444-555555555555',
            'feature_signature', '11111111-2222-3333-4444-555555555555');

            $content->saveTo('download.png');
        - lang: ruby
          label: Ruby
          source: |-
            require "didit"

            # Reads DIDIT_API_KEY.
            didit = Didit::Client.new

            content = didit.sessions.signatures.download_field_image(
              "11111111-2222-3333-4444-555555555555",
              "feature_signature",
              "11111111-2222-3333-4444-555555555555"
            )
            File.binwrite("download.png", content)
        - lang: csharp
          label: .NET
          source: >-
            using System;

            using Didit;


            // Reads DIDIT_API_KEY.

            using var client = new DiditClient();


            var content = await
            client.Sessions.Signatures.DownloadFieldImageAsync("11111111-2222-3333-4444-555555555555",
            "feature_signature", "11111111-2222-3333-4444-555555555555");

            await content.SaveToAsync("download.png");
components:
  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.