> ## 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 Validasi Tanda Tangan: Cek Ulang PDF Bertanda Tangan

> Didit memvalidasi ulang PDF bertanda tangan dari langkah Tanda Tangan Elektronik: integritas file, PAdES, sertifikat, pencabutan, dan timestamp.

Memeriksa ulang dokumen yang ditandatangani pada sebuah langkah dan menyimpan hasilnya di `validation` milik setiap penandatangan. Didit membaca ulang setiap PDF yang ditandatangani dan memeriksa SHA-256-nya. Untuk tanda tangan Advanced (AES), Didit juga memvalidasi tanda tangan PAdES, sertifikat, data pencabutan, dan stempel waktu. Tanda tangan Simple tidak memiliki tanda tangan digital, sehingga hanya integritas file yang diperiksa. Tidak ada yang ditandatangani ulang. Di konsol, ini adalah tombol **Validasi ulang** pada tab **Tanda tangan** milik sesi.

```bash theme={null}
curl -X POST 'https://verification.didit.me/v3/session/{session_id}/signatures/{node_id}/validate/' \
  -H 'x-api-key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"signature_id": "{signature_id}"}'
```

Kirim `signature_id` untuk memeriksa satu penandatangan. Tanpa itu, Didit memeriksa setiap penandatangan pada langkah tersebut, dan mengembalikan respons `409` dengan `signature_not_signed` jika ada penandatangan yang belum menandatangani. PDF yang ditandatangani dan tersimpan yang tidak lagi cocok dengan `sha256_signed` akan mengembalikan `400` dengan `signature_document_changed`.

Respons berupa `{ "signatures": [...] }` yang berisi penandatangan yang diperiksa. Baca `validation.valid` untuk hasil keseluruhan dan `validation.documents[]` untuk setiap dokumen. Lihat [Validasi ulang tanda tangan](https://docs.didit.me/id/core-technology/electronic-signature/report-electronic-signature.md#validasi-ulang-tanda-tangan) untuk setiap kolom.

## Terkait

* [Laporan Tanda Tangan Elektronik](https://docs.didit.me/id/core-technology/electronic-signature/report-electronic-signature.md)
* [Unduh dokumen yang ditandatangani](https://docs.didit.me/id/sessions-api/electronic-signature/download-signed-document.md)


## OpenAPI

````yaml id/openapi-25.json POST /v3/session/{sessionId}/signatures/{nodeId}/validate/
openapi: 3.0.0
info:
  version: 3.0.0
  title: Didit Verification API
  description: API Verifikasi Identitas. Lakukan autentikasi dengan header x-api-key.
servers:
  - url: https://verification.didit.me
security: []
tags: []
paths:
  /v3/session/{sessionId}/signatures/{nodeId}/validate/:
    post:
      tags:
        - Sessions
      summary: Validasi tanda tangan lagi
      description: >-
        Periksa ulang dokumen yang telah ditandatangani dari langkah Tanda
        Tangan Elektronik. Didit membaca ulang setiap PDF yang ditandatangani,
        memeriksa SHA-256-nya, dan untuk tanda tangan Tingkat Lanjut (AES),
        memvalidasi tanda tangan PAdES, sertifikat, data pencabutan, dan stempel
        waktu (tanda tangan Sederhana tidak memiliki tanda tangan digital,
        sehingga hanya integritas file yang diperiksa), lalu menyimpan hasilnya
        di `validation` setiap penanda tangan dan mengembalikan item yang telah
        diperbarui. Tidak ada dokumen yang ditandatangani ulang. Kirim
        `signature_id` untuk memeriksa satu penanda tangan; tanpa parameter ini,
        setiap penanda tangan dalam langkah tersebut akan diperiksa, dan
        panggilan akan gagal jika ada yang belum menandatangani.


        Memerlukan `write:sessions`; kunci API Anda dapat digunakan. Di konsol,
        ini adalah tombol **Validate again**.
      operationId: post_v3_session_signature_validate
      parameters:
        - name: sessionId
          in: path
          required: true
          description: Sesi Verifikasi Pengguna (KYC) atau Verifikasi Bisnis (KYB).
          schema:
            type: string
            format: uuid
            example: 11111111-2222-3333-4444-555555555555
        - name: nodeId
          in: path
          required: true
          description: >-
            Langkah Tanda Tangan Elektronik: `node_id` dari item dalam
            `signatures[]`.
          schema:
            type: string
            example: feature_signature
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                signature_id:
                  type: string
                  format: uuid
                  description: '`id` dari satu item penandatangan di `signatures[]`.'
            example:
              signature_id: 0e6c2a8e-6c2f-4b8e-9a51-3f2f6a7d9b10
      responses:
        '200':
          description: Penandatangan yang diperiksa, beserta `validation` terbarunya.
          content:
            application/json:
              schema:
                type: object
                properties:
                  signatures:
                    type: array
                    items:
                      $ref: '#/components/schemas/SignatureResult'
        '400':
          description: >-
            PDF bertanda tangan yang disimpan tidak lagi cocok dengan SHA-256
            yang dicatat saat ditandatangani.
          content:
            application/json:
              schema:
                type: object
                properties:
                  detail:
                    type: string
                  code:
                    type: string
              examples:
                Document changed:
                  summary: File yang ditandatangani tidak lagi cocok dengan hash-nya
                  value:
                    code: signature_document_changed
                    detail: signature_document_changed
        '403':
          description: >-
            Kredensial tidak ada, atau kredensial yang tidak dapat membaca sesi
            ini. Kunci yang tidak ada mengembalikan `403`; kunci yang salah,
            dicabut, atau kedaluwarsa mengembalikan `401`.
          content:
            application/json:
              schema:
                type: object
                properties:
                  detail:
                    type: string
              example:
                detail: You do not have permission to perform this action.
        '404':
          description: >-
            Tidak ada tanda tangan yang cocok: sesi, langkah, atau penandatangan
            tidak ada atau telah dihapus.
          content:
            application/json:
              schema:
                type: object
                properties:
                  detail:
                    type: string
                  code:
                    type: string
              examples:
                Unknown signer:
                  summary: Tidak ada tanda tangan seperti itu di langkah ini
                  value:
                    code: signature_not_found
                    detail: signature_not_found
        '409':
          description: >-
            Penandatangan langkah ini belum menandatangani, sehingga tidak ada
            yang dapat divalidasi.
          content:
            application/json:
              schema:
                type: object
                properties:
                  detail:
                    type: string
                  code:
                    type: string
              examples:
                Not signed:
                  summary: Penandatangan belum menandatangani
                  value:
                    code: signature_not_signed
                    detail: signature_not_signed
      security:
        - ApiKeyAuth: []
      x-codeSamples:
        - lang: python
          label: Python
          source: |-
            from didit import Didit

            # Reads DIDIT_API_KEY.
            client = Didit()

            result = client.sessions.signatures.validate(
                "11111111-2222-3333-4444-555555555555",
                "feature_signature",
                signature_id="0e6c2a8e-6c2f-4b8e-9a51-3f2f6a7d9b10",
            )
            print(result)
        - lang: javascript
          label: Node.js
          source: |-
            import Didit from "@didit-protocol/sdk-node";

            // Reads DIDIT_API_KEY.
            const didit = new Didit();

            const result = await didit.sessions.signatures.validate(
              "11111111-2222-3333-4444-555555555555",
              "feature_signature",
              {
                signature_id: "0e6c2a8e-6c2f-4b8e-9a51-3f2f6a7d9b10",
              },
            );
            console.log(result);
        - lang: go
          label: Go
          source: "ctx := context.Background()\n// Reads DIDIT_API_KEY.\nclient := didit.NewClient()\n\nresult, err := client.Sessions.Signatures.Validate(ctx, \"11111111-2222-3333-4444-555555555555\", \"feature_signature\", didit.SessionsSignaturesValidateParams{\n\tSignatureID: didit.String(\"0e6c2a8e-6c2f-4b8e-9a51-3f2f6a7d9b10\"),\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.SessionsSignaturesValidateParams;


            // Reads DIDIT_API_KEY.

            Didit client = new Didit();


            var result =
            client.sessions().signatures().validate("11111111-2222-3333-4444-555555555555",
            "feature_signature", SessionsSignaturesValidateParams.builder()
                    .signatureId("0e6c2a8e-6c2f-4b8e-9a51-3f2f6a7d9b10")
                    .build());
            System.out.println(result);
        - lang: php
          label: PHP
          source: >-
            <?php


            require 'vendor/autoload.php';


            use Didit\DiditClient;


            // Reads DIDIT_API_KEY.

            $didit = new DiditClient();


            $result =
            $didit->sessions->signatures->validate('11111111-2222-3333-4444-555555555555',
            'feature_signature', [
                'signature_id' => '0e6c2a8e-6c2f-4b8e-9a51-3f2f6a7d9b10',
            ]);

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

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

            result = didit.sessions.signatures.validate(
              "11111111-2222-3333-4444-555555555555",
              "feature_signature",
              signature_id: "0e6c2a8e-6c2f-4b8e-9a51-3f2f6a7d9b10"
            )
            puts result.to_h
        - lang: csharp
          label: .NET
          source: >-
            using System;

            using System.Text.Json;

            using Didit;


            // Reads DIDIT_API_KEY.

            using var client = new DiditClient();


            var result = await
            client.Sessions.Signatures.ValidateAsync("11111111-2222-3333-4444-555555555555",
            "feature_signature", new SessionsSignaturesValidateParams

            {
                SignatureId = "0e6c2a8e-6c2f-4b8e-9a51-3f2f6a7d9b10",
            });

            Console.WriteLine(JsonSerializer.Serialize(result));
components:
  schemas:
    SignatureResult:
      type: object
      description: >-
        Hasil satu penandatangan untuk satu langkah Tanda Tangan Elektronik.
        Lihat [laporan Tanda Tangan
        Elektronik](/id/core-technology/electronic-signature/report-electronic-signature).
      properties:
        id:
          type: string
          format: uuid
          description: >-
            Teruskan sebagai `signature_id` untuk mengunduh bukti penanda tangan
            ini atau memvalidasi tanda tangan mereka.
        node_id:
          type: string
          description: Langkah alur kerja yang menghasilkannya.
        status:
          type: string
          enum:
            - intro
            - review
            - code
            - signing
            - signed
            - declined
          description: >-
            Status penandatangan dalam langkah tersebut. Hanya `signed` yang
            berarti dokumen telah ditandatangani.
        verdict:
          type: string
          enum:
            - Not Finished
            - Approved
            - In Review
            - Declined
          description: >-
            Hasil langkah. Peringatan menetapkannya melalui aturannya; aturan
            status kustom berlaku setelahnya.
        level:
          type: string
          enum:
            - simple
            - aes
            - qes
          description: >-
            `simple` (default) atau `aes`. `qes` (Qualified Electronic
            Signature, QES) adalah add-on yang belum tersedia.
        format:
          type: string
          enum:
            - pdf
            - pades
          description: '`pdf` untuk tanda tangan Simple, `pades` untuk Advanced (AES).'
        profile:
          type: string
          nullable: true
          description: >-
            `PAdES-B-LT` setelah tanda tangan Advanced (AES) dibuat, jika tidak
            maka null.
        signer:
          type: object
          properties:
            name:
              type: string
              nullable: true
              description: >-
                Nama penandatangan. Terverifikasi (dari Verifikasi Identitas
                yang disetujui atau sesi) kecuali pada tingkat Simple tanpa nama
                sesi yang terverifikasi, di mana nama tersebut merupakan nama
                yang diketik penandatangan dan tidak diverifikasi.
            capacity:
              type: string
              enum:
                - self
                - company
            company:
              type: string
              nullable: true
            role:
              type: string
              nullable: true
              description: Jabatan pihak kunci, sebagaimana dinyatakan.
            roles:
              type: array
              items:
                type: string
              description: >-
                Peran terstruktur pihak kunci, sebagaimana dinyatakan untuk
                perusahaan.
            identity_session_id:
              type: string
              format: uuid
              description: Sesi KYC yang memverifikasi penandatangan.
        identity_used:
          type: object
          description: >-
            Identitas terverifikasi yang menjadi dasar tanda tangan. Kosong
            untuk tanda tangan sederhana tanpa identitas terverifikasi.
          properties:
            session_id:
              type: string
              format: uuid
            kyc_id:
              type: string
              format: uuid
              nullable: true
            verified:
              type: boolean
            expected_name:
              type: string
              nullable: true
              description: Nama yang harus cocok dengan penandatangan.
        certificate:
          type: object
          nullable: true
          description: >-
            Sertifikat yang digunakan untuk menandatangani dokumen. `null`
            sampai ditandatangani, dan selalu `null` untuk tanda tangan Simple.
          properties:
            issuer:
              type: string
            issued_to:
              type: string
            serial:
              type: string
              description: Nomor seri, heksadesimal.
            valid_from:
              type: string
              format: date-time
            valid_until:
              type: string
              format: date-time
        confirmation:
          type: object
          properties:
            channel:
              type: string
              nullable: true
              enum:
                - email
                - sms
              description: '`null` untuk tanda tangan Simple, yang tidak memiliki kode.'
            destination:
              type: string
              nullable: true
              description: Kontak tersamarkan yang menjadi tujuan pengiriman kode.
            confirmed_at:
              type: string
              format: date-time
              nullable: true
            attempts:
              type: integer
              description: Kode yang dimasukkan, termasuk kode yang benar.
        timestamp:
          type: object
          nullable: true
          description: >-
            Stempel waktu RFC 3161 dalam tanda tangan, diterbitkan oleh Didit.
            `null` hingga ditandatangani, dan selalu `null` untuk tanda tangan
            Simple.
          properties:
            time:
              type: string
              format: date-time
            qualified:
              type: boolean
              description: Selalu `false` untuk AES.
            valid:
              type: boolean
        documents:
          type: array
          items:
            type: object
            properties:
              id:
                type: string
                format: uuid
                description: >-
                  Dokumen pada salinan penandatangan ini. Gunakan ini untuk
                  mengunduh berkas yang telah ditandatangani.
              uuid:
                type: string
                format: uuid
                description: Sama dengan `id`.
              title:
                type: string
              file_name:
                type: string
              pages:
                type: integer
                description: >-
                  Halaman dokumen yang ditandatangani. Untuk Word, dari PDF yang
                  dikonversi.
              size_bytes:
                type: integer
              sha256_original:
                type: string
                description: >-
                  SHA-256 dari dokumen persis seperti yang ditampilkan kepada
                  penanda tangan.
              sha256_signed:
                type: string
                nullable: true
                description: SHA-256 dari PDF yang ditandatangani, setelah ditandatangani.
              status:
                type: string
                enum:
                  - signed
                  - declined
                  - not_signed
                  - not_reached
                description: >-
                  `not_signed`: dibuka tetapi tidak ditandatangani.
                  `not_reached`: tidak pernah dibuka.
              opened_at:
                type: string
                format: date-time
                nullable: true
              read_at:
                type: string
                format: date-time
                nullable: true
                description: >-
                  Waktu penandatangan mencapai bagian akhir dokumen tanpa kolom,
                  jika langkah tersebut mewajibkannya.
              read_to_end:
                type: boolean
              consented_at:
                type: string
                format: date-time
                nullable: true
                description: >-
                  Waktu penandatangan menyetujui dokumen tanpa kolom, atau
                  menyelesaikan kolom pada dokumen dengan kolom.
              consent:
                type: boolean
              signed_file:
                type: string
                nullable: true
                description: >-
                  Jalur PDF yang ditandatangani, setelah ditandatangani. Lihat
                  [Unduh dokumen yang
                  ditandatangani](/id/sessions-api/electronic-signature/download-signed-document).
              mode:
                type: string
                enum:
                  - fields
                  - read_and_agree
                description: >-
                  `fields` untuk dokumen dengan kolom, `read_and_agree` untuk
                  dokumen tanpa kolom.
              source_format:
                type: string
                enum:
                  - pdf
                  - docx
                description: >-
                  `pdf`, atau `docx` untuk dokumen Word yang dikonversi oleh
                  Didit ke PDF.
              conversion:
                type: object
                nullable: true
                description: >-
                  `null` untuk PDF. Untuk dokumen Word, file asli dan hasil
                  konversi.
                properties:
                  from:
                    type: string
                    enum:
                      - docx
                  file_name:
                    type: string
                    description: Nama file Word asli Anda.
                  sha256:
                    type: string
                    description: SHA-256 dari file Word asli Anda.
                  size_bytes:
                    type: integer
                    description: Ukuran file Word asli Anda.
                  converter:
                    type: string
                    description: Versi konverter yang menghasilkan PDF tersebut.
              fields:
                type: array
                description: >-
                  Kolom pada dokumen, beserta nilainya. Kosong untuk dokumen
                  tanpa kolom.
                items:
                  $ref: '#/components/schemas/SignatureFieldResult'
        adopted_signature:
          type: object
          nullable: true
          description: >-
            Tanda tangan dan inisial yang ditetapkan penandatangan untuk kolom
            tanda tangan dan inisial. `null` hingga penandatangan menetapkannya.
          properties:
            method:
              type: string
              enum:
                - typed
                - drawn
              description: >-
                `typed`: nama terverifikasi dalam gaya tulisan tangan. `drawn`:
                digambar dengan jari atau mouse.
            font:
              type: string
              nullable: true
              description: >-
                Gaya tulisan tangan dari tanda tangan yang diketik. `null` jika
                digambar.
            adopted_at:
              type: string
              format: date-time
        electronic_signature_consent_at:
          type: string
          format: date-time
          nullable: true
          description: >-
            Waktu penandatangan menyetujui, pada layar peninjauan, untuk
            menandatangani dokumen secara elektronik. Diatur jika ada dokumen
            yang memiliki kolom.
        evidence_file:
          type: string
          nullable: true
          description: >-
            Jalur PDF bukti, setelah ditandatangani. Lihat [Unduh bukti tanda
            tangan](/id/sessions-api/electronic-signature/download-evidence).
        warnings:
          type: array
          description: >-
            Peringatan yang dimunculkan untuk penandatangan ini. Lihat
            [Peringatan Tanda Tangan
            Elektronik](/id/core-technology/electronic-signature/warnings-electronic-signature).
          items:
            type: object
            properties:
              code:
                type: string
                enum:
                  - SIGNATURE_DECLINED
                  - SIGNATURE_OTP_FAILED
                  - SIGNATURE_NAME_MISMATCH
                  - SIGNATURE_IDENTITY_NOT_VERIFIED
                  - SIGNATURE_DOCUMENT_CHANGED
                  - SIGNATURE_FIELD_DATA_MISSING
              node_id:
                type: string
        validation:
          type: object
          nullable: true
          description: >-
            Pemeriksaan kriptografi terakhir dari dokumen yang ditandatangani.
            `null` hingga dokumen ditandatangani. Jika Didit tidak dapat
            mengonfirmasi hasil penandatanganan, nilainya adalah `{"valid":
            null, "reason": "signature_provider_outcome_unknown", "checked_at":
            ...}` dan `status` tetap `signing`: perlakukan sebagai belum
            ditandatangani.
          properties:
            valid:
              type: boolean
              nullable: true
              description: >-
                `true` jika setiap dokumen valid. `null` jika hasil
                penandatanganan tidak dapat dikonfirmasi.
            reason:
              type: string
              description: >-
                Ditetapkan saat `valid` bernilai `null`:
                `signature_provider_outcome_unknown`.
            checked_at:
              type: string
              format: date-time
            documents:
              type: array
              items:
                type: object
                properties:
                  id:
                    type: string
                    format: uuid
                  checked_at:
                    type: string
                    format: date-time
                  valid:
                    type: boolean
                    description: >-
                      `true` saat tanda tangan dan stempel waktu keduanya valid
                      dan tepercaya.
                  integrity:
                    type: boolean
                    description: '`true` saat dokumen belum diubah sejak ditandatangani.'
                  trusted:
                    type: boolean
                    description: >-
                      `true` saat sertifikat penandatanganan berantai ke akar
                      tepercaya.
                  revoked:
                    type: boolean
                  trusted_list:
                    type: object
                    description: >-
                      Pemeriksaan EU Trusted List. Untuk AES: `{"status":
                      "not_applicable", "reason": "aes_not_qualified"}`.
                    properties:
                      status:
                        type: string
                      reason:
                        type: string
                  certificate:
                    type: object
                    nullable: true
                    description: >-
                      Sertifikat yang digunakan untuk menandatangani dokumen.
                      `null` sampai ditandatangani, dan selalu `null` untuk
                      tanda tangan Simple.
                    properties:
                      issuer:
                        type: string
                      issued_to:
                        type: string
                      serial:
                        type: string
                        description: Nomor seri, heksadesimal.
                      valid_from:
                        type: string
                        format: date-time
                      valid_until:
                        type: string
                        format: date-time
                  timestamp:
                    type: object
                    nullable: true
                    description: >-
                      Stempel waktu RFC 3161 dalam tanda tangan, diterbitkan
                      oleh Didit. `null` hingga ditandatangani, dan selalu
                      `null` untuk tanda tangan Simple.
                    properties:
                      time:
                        type: string
                        format: date-time
                      qualified:
                        type: boolean
                        description: Selalu `false` untuk AES.
                      valid:
                        type: boolean
        declined_at:
          type: string
          format: date-time
          nullable: true
        declined_action:
          type: string
          enum:
            - DECLINE
            - REVIEW
            - NO_ACTION
        signed_at:
          type: string
          format: date-time
          nullable: true
        expires_at:
          type: string
          format: date-time
          description: Waktu tautan penandatanganan berhenti berfungsi.
        email_sent_at:
          type: string
          format: date-time
          nullable: true
        email_unavailable_reason:
          type: string
          nullable: true
        ip_address:
          type: string
          nullable: true
          description: Alamat IP penandatangan saat mereka meminta kode mereka.
        place:
          type: string
          nullable: true
          description: 'Tidak dikumpulkan: selalu `null`.'
        place_unavailable_reason:
          type: string
          nullable: true
          enum:
            - not_collected
    SignatureFieldResult:
      type: object
      description: >-
        Kolom dari dokumen yang ditandatangani, beserta nilainya pada salinan
        milik penanda tangan ini. Lihat
        [Kolom](/id/core-technology/electronic-signature/report-electronic-signature#kolom).
      properties:
        key:
          type: string
          description: Kunci kolom, seperti yang digunakan dalam `sign.field_values`.
        type:
          type: string
          enum:
            - signature
            - initials
            - full_name
            - date_signed
            - text
            - checkbox
            - email
            - data
        role:
          type: string
          enum:
            - verified_person
            - legal_representative
            - key_people
        label:
          type: string
        page:
          type: integer
          description: >-
            Nomor halaman, mulai dari 1. Untuk dokumen Word, halaman dari PDF
            yang dikonversi.
        x:
          type: number
          description: Tepi kiri, sebagai fraksi dari lebar halaman.
        'y':
          type: number
          description: Tepi atas, sebagai fraksi dari tinggi halaman.
        width:
          type: number
          description: Lebar, sebagai fraksi dari lebar halaman.
        height:
          type: number
          description: Tinggi, sebagai fraksi dari tinggi halaman.
        required:
          type: boolean
        value:
          nullable: true
          description: >-
            String untuk `text`, `email`, `full_name`, `date_signed`, dan
            `data`, boolean untuk `checkbox`, dan `true` untuk tanda tangan atau
            inisial yang dibubuhkan. `null` jika kosong.
        display_value:
          type: string
          nullable: true
          description: >-
            Nilai sebagaimana dicantumkan pada halaman: tanggal dalam
            `date_format` kolom tersebut, `Yes` atau `No` untuk kotak centang,
            `Signed` untuk tanda tangan atau inisial.
        value_source:
          type: string
          nullable: true
          enum:
            - signer
            - identity
            - contact
            - company
            - session
            - metadata
            - api
            - signing_time
            - null
          description: >-
            Asal nilai: `signer` (diketik, dicentang, atau diterapkan oleh
            penandatangan), `identity` (ID terverifikasi), `contact` (email atau
            telepon terverifikasi), `company` (perusahaan terverifikasi),
            `session` (`vendor_data`), `metadata`, `api` (`sign.field_values`),
            atau `signing_time` (tanggal ditandatangani).
        filled_at:
          type: string
          format: date-time
          nullable: true
        image_url:
          type: string
          nullable: true
          description: >-
            Hanya tanda tangan dan inisial: jalur gambar yang diterapkan. Lihat
            [Mengunduh gambar tanda
            tangan](/id/sessions-api/electronic-signature/download-field-image).
        value_unavailable_reason:
          type: string
          nullable: true
          enum:
            - source_empty
            - null
          description: >-
            `source_empty` saat kolom yang telah diisi sebelumnya tidak memiliki
            nilai di dalam sesi dan `signature_field_data_missing_action`
            mengizinkan penandatangan untuk tetap menandatangani.
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: >-
        Kunci API aplikasi Anda, dari Developers -> API keys di Business
        Console. Kunci utama memiliki akses penuh. Kunci bernama dapat diberi
        cakupan: none, read, atau write per sumber daya, dibatasi pada beberapa
        alur kerja atau pada sesi yang disetujui, pada daftar alamat IP, dan
        pada tanggal kedaluwarsa. 401 berarti kuncinya salah, dicabut, atau
        kedaluwarsa; 403 berarti tidak ada kunci yang dikirimkan, kunci tidak
        memiliki akses ke sumber daya atau tindakan ini, atau permintaan datang
        dari alamat di luar daftar IP-nya; 404 pada rute sesi berarti sesi
        berada di luar alur kerja atau status kunci tersebut. Kunci tanpa akses
        media menerima URL gambar, video, dan PDF sebagai null, dan kunci tanpa
        izin tulis sesi menerima tautan sesi dan token sebagai null. Lihat
        https://docs.didit.me/console/api-keys.

````

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