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

# API d'image de signature : PNG de la signature apposée

> Téléchargez en PNG la signature ou les initiales apposées par le signataire dans un champ d'un document de signature électronique avec Didit.

Renvoie, au format PNG, la signature ou les paraphes qu'un signataire a apposés sur un champ. Le chemin figure dans le champ `image_url` de `signatures[].documents[].fields[]`, vous n'avez donc pas à le construire. Cette requête nécessite `read:sessions`.

```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
```

Une signature dessinée est l'image tracée par le signataire, et c'est cette image qui est apposée dans le PDF signé. Une signature saisie est le nom vérifié du signataire, dans le style d'écriture qu'il a choisi ; le PDF signé la reproduit sous forme de texte dans ce même style. Pour une preuve de la signature elle-même, utilisez le [document signé](https://docs.didit.me/fr/sessions-api/electronic-signature/download-signed-document.md) et les [preuves](https://docs.didit.me/fr/sessions-api/electronic-signature/download-evidence.md).

Un champ qui n'appartient pas au signataire, ou sur lequel aucune signature ni aucun paraphe n'a été apposé, renvoie `404` avec `signature_field_not_found`. Une image stockée qui ne correspond plus à son empreinte SHA-256 enregistrée renvoie `400` avec `signature_document_changed`. Après que vous avez [supprimé la session](https://docs.didit.me/fr/sessions-api/delete-session.md), la route renvoie `404`.

## Voir aussi

* [Champs du document](https://docs.didit.me/fr/core-technology/electronic-signature/overview.md#champs-sur-le-document)
* [Rapport de signature électronique](https://docs.didit.me/fr/core-technology/electronic-signature/report-electronic-signature.md#champs)


## OpenAPI

````yaml fr/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 de vérification d'identité. Authentifiez-vous avec l'en-tête x-api-key.
servers:
  - url: https://verification.didit.me
security: []
tags: []
paths:
  /v3/session/{sessionId}/signatures/{nodeId}/fields/{fieldId}/image/:
    get:
      tags:
        - Sessions
      summary: Télécharger une image de signature
      description: "Télécharger la signature ou les initiales apposées par un signataire sur un champ, au format PNG. Utilisez l'`image_url` du champ dans `signatures[].documents[].fields[]`. Nécessite `read:sessions`\_; votre clé API fonctionne."
      operationId: get_v3_session_signature_field_image
      parameters:
        - name: sessionId
          in: path
          required: true
          description: >-
            La session de vérification des utilisateurs (KYC) ou de vérification
            d'entreprise (KYB).
          schema:
            type: string
            format: uuid
            example: 11111111-2222-3333-4444-555555555555
        - name: nodeId
          in: path
          required: true
          description: >-
            L'étape de signature électronique : `node_id` de l'élément dans
            `signatures[]`.
          schema:
            type: string
            example: feature_signature
        - name: fieldId
          in: path
          required: true
          description: >-
            Le champ sur l'exemplaire destiné à ce signataire, comme dans
            l'`image_url` du champ.
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: L'image.
          content:
            image/png:
              schema:
                type: string
                format: binary
        '400':
          description: >-
            L'image enregistrée ne correspond plus à son empreinte SHA-256
            enregistrée.
          content:
            application/json:
              schema:
                type: object
                properties:
                  detail:
                    type: string
                  code:
                    type: string
              example:
                code: signature_document_changed
                detail: signature_document_changed
        '403':
          description: >-
            Identifiants manquants, ou identifiant ne pouvant pas lire cette
            session. Une clé manquante renvoie `403` ; une clé erronée, révoquée
            ou expirée renvoie `401`.
          content:
            application/json:
              schema:
                type: object
                properties:
                  detail:
                    type: string
              example:
                detail: You do not have permission to perform this action.
        '404':
          description: >-
            Aucune image ne correspond : la session, l'étape ou le champ
            n'existe pas, a été supprimé(e) ou ne comporte aucune signature ni
            initiales appliquées.
          content:
            application/json:
              schema:
                type: object
                properties:
                  detail:
                    type: string
                  code:
                    type: string
              examples:
                Unknown field:
                  summary: Aucun champ de ce type
                  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: >-
        La clé API de votre application, issue de Développeurs -> Clés API dans
        la Business Console. La clé principale dispose d'un accès complet. Une
        clé nommée peut être restreinte : aucun, lecture ou écriture par
        ressource, limitée à certains workflows ou aux sessions approuvées, à
        une liste d'adresses IP et à une date d'expiration. 401 signifie que la
        clé est incorrecte, révoquée ou expirée ; 403 signifie qu'aucune clé n'a
        été envoyée, que la clé n'a pas accès à cette ressource ou action, ou
        que la requête provient d'une adresse hors de sa liste d'IP ; 404 sur
        une route de session signifie que la session est hors des workflows ou
        des statuts de la clé. Une clé sans accès aux médias reçoit les URL
        d'images, de vidéos et de PDF à null, et une clé sans accès en écriture
        aux sessions reçoit les liens et tokens de session à null. Voir
        https://docs.didit.me/console/api-keys.

````

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