> ## 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: हस्ताक्षरित PDF दोबारा जाँचें

> Didit के ई-हस्ताक्षर चरण के हस्ताक्षरित दस्तावेज़ों की फ़ाइल अखंडता, PAdES हस्ताक्षर, प्रमाणपत्र, रद्दीकरण डेटा और टाइमस्टैम्प दोबारा जाँचें।

चरण के हस्ताक्षरित दस्तावेज़ों को फिर से सत्यापित करता है और परिणाम हर हस्ताक्षरकर्ता के `validation` में सहेजता है। Didit हर हस्ताक्षरित PDF को फिर से पढ़ता है और उसका SHA-256 जाँचता है। उन्नत (AES) हस्ताक्षर के लिए यह PAdES हस्ताक्षर, प्रमाणपत्र, निरसन डेटा और टाइमस्टैम्प भी सत्यापित करता है। सरल हस्ताक्षर में कोई डिजिटल हस्ताक्षर नहीं होता, इसलिए केवल फ़ाइल की अखंडता जाँची जाती है। कुछ भी दोबारा हस्ताक्षरित नहीं किया जाता। कंसोल में यह सत्र के **हस्ताक्षर** टैब का **फिर सत्यापित करें** बटन है।

```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}"}'
```

किसी एक हस्ताक्षरकर्ता की जाँच के लिए `signature_id` भेजें। इसके बिना Didit चरण के हर हस्ताक्षरकर्ता की जाँच करता है, और यदि उनमें से किसी ने हस्ताक्षर नहीं किए हैं, तो `signature_not_signed` के साथ `409` लौटाता है। संग्रहीत हस्ताक्षरित PDF जो अपने `sha256_signed` से मेल नहीं खाता, उसके लिए `signature_document_changed` के साथ `400` लौटता है।

प्रतिक्रिया `{ "signatures": [...] }` है, जिसमें जाँचे गए हस्ताक्षरकर्ता होते हैं। कुल परिणाम के लिए `validation.valid` पढ़ें और हर दस्तावेज़ के लिए `validation.documents[]` पढ़ें। हर फ़ील्ड की जानकारी के लिए देखें [हस्ताक्षर फिर से सत्यापित करें](https://docs.didit.me/hi/core-technology/electronic-signature/report-electronic-signature.md#हस्ताक्षर-को-फिर-सत्यापित-करें)।

## संबंधित

* [ई-हस्ताक्षर रिपोर्ट](https://docs.didit.me/hi/core-technology/electronic-signature/report-electronic-signature.md)
* [हस्ताक्षरित दस्तावेज़ डाउनलोड करें](https://docs.didit.me/hi/sessions-api/electronic-signature/download-signed-document.md)


## OpenAPI

````yaml hi/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। x-api-key हेडर के साथ प्रमाणीकृत करें।
servers:
  - url: https://verification.didit.me
security: []
tags: []
paths:
  /v3/session/{sessionId}/signatures/{nodeId}/validate/:
    post:
      tags:
        - Sessions
      summary: हस्ताक्षर पुनः सत्यापित करें
      description: >-
        ई-हस्ताक्षर चरण के हस्ताक्षरित दस्तावेज़ों की पुनः जांच करें। Didit
        प्रत्येक हस्ताक्षरित PDF को फिर से पढ़ता है, उसके SHA-256 की जांच करता
        है और एक उन्नत (AES) हस्ताक्षर के लिए, PAdES हस्ताक्षर, प्रमाणपत्र,
        निरसन डेटा और टाइमस्टैम्प को मान्य करता है (एक सरल हस्ताक्षर में कोई
        डिजिटल हस्ताक्षर नहीं होता है, इसलिए केवल फ़ाइल अखंडता की जांच की जाती
        है), फिर परिणाम को प्रत्येक हस्ताक्षरकर्ता के `validation` में सहेजता है
        और अपडेट किए गए आइटम लौटाता है। कुछ भी दोबारा हस्ताक्षरित नहीं किया जाता
        है। किसी एक हस्ताक्षरकर्ता की जांच करने के लिए `signature_id` भेजें;
        इसके बिना, चरण के प्रत्येक हस्ताक्षरकर्ता की जांच की जाती है, और यदि
        उनमें से किसी ने हस्ताक्षर नहीं किए हैं तो कॉल विफल हो जाती है।


        `write:sessions` की आवश्यकता है; आपकी API कुंजी काम करती है। कंसोल में
        यह **Validate again** बटन है।
      operationId: post_v3_session_signature_validate
      parameters:
        - name: sessionId
          in: path
          required: true
          description: उपयोगकर्ता सत्यापन (KYC) या व्यवसाय सत्यापन (KYB) सत्र।
          schema:
            type: string
            format: uuid
            example: 11111111-2222-3333-4444-555555555555
        - name: nodeId
          in: path
          required: true
          description: 'ई-हस्ताक्षर चरण: `signatures[]` में आइटम का `node_id`।'
          schema:
            type: string
            example: feature_signature
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                signature_id:
                  type: string
                  format: uuid
                  description: '`signatures[]` में एक हस्ताक्षरकर्ता के आइटम का `id`।'
            example:
              signature_id: 0e6c2a8e-6c2f-4b8e-9a51-3f2f6a7d9b10
      responses:
        '200':
          description: जाँचे गए हस्ताक्षरकर्ता, उनके अद्यतन `validation` के साथ।
          content:
            application/json:
              schema:
                type: object
                properties:
                  signatures:
                    type: array
                    items:
                      $ref: '#/components/schemas/SignatureResult'
        '400':
          description: >-
            एक संग्रहीत हस्ताक्षरित PDF अब हस्ताक्षर किए जाने के समय रिकॉर्ड किए
            गए SHA-256 से मेल नहीं खाता है।
          content:
            application/json:
              schema:
                type: object
                properties:
                  detail:
                    type: string
                  code:
                    type: string
              examples:
                Document changed:
                  summary: हस्ताक्षरित फ़ाइल अब अपने हैश से मेल नहीं खाती
                  value:
                    code: signature_document_changed
                    detail: signature_document_changed
        '403':
          description: >-
            क्रेडेंशियल मौजूद नहीं हैं, या ऐसा क्रेडेंशियल है जो इस सत्र को पढ़
            नहीं सकता। अनुपलब्ध कुंजी `403` लौटाती है; गलत, निरस्त या समय-सीमा
            समाप्त कुंजी `401` लौटाती है।
          content:
            application/json:
              schema:
                type: object
                properties:
                  detail:
                    type: string
              example:
                detail: You do not have permission to perform this action.
        '404':
          description: >-
            कोई हस्ताक्षर मेल नहीं खाता: सत्र, चरण या हस्ताक्षरकर्ता मौजूद नहीं
            है या हटा दिया गया था।
          content:
            application/json:
              schema:
                type: object
                properties:
                  detail:
                    type: string
                  code:
                    type: string
              examples:
                Unknown signer:
                  summary: इस चरण में ऐसा कोई हस्ताक्षर नहीं है
                  value:
                    code: signature_not_found
                    detail: signature_not_found
        '409':
          description: >-
            चरण के एक हस्ताक्षरकर्ता ने हस्ताक्षर नहीं किए हैं, इसलिए सत्यापित
            करने के लिए कुछ भी नहीं है।
          content:
            application/json:
              schema:
                type: object
                properties:
                  detail:
                    type: string
                  code:
                    type: string
              examples:
                Not signed:
                  summary: एक हस्ताक्षरकर्ता ने अभी तक हस्ताक्षर नहीं किए हैं
                  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: >-
        एक ई-हस्ताक्षर चरण के लिए एक हस्ताक्षरकर्ता का परिणाम। [ई-हस्ताक्षर
        रिपोर्ट](/hi/core-technology/electronic-signature/report-electronic-signature)
        देखें।
      properties:
        id:
          type: string
          format: uuid
          description: >-
            इस हस्ताक्षरकर्ता के साक्ष्य डाउनलोड करने या उनके हस्ताक्षर को मान्य
            करने के लिए इसे `signature_id` के रूप में पास करें।
        node_id:
          type: string
          description: वर्कफ़्लो चरण जिसने इसे उत्पन्न किया।
        status:
          type: string
          enum:
            - intro
            - review
            - code
            - signing
            - signed
            - declined
          description: >-
            चरण में हस्ताक्षरकर्ता कहाँ है। केवल `signed` का अर्थ है कि
            दस्तावेज़ हस्ताक्षरित हैं।
        verdict:
          type: string
          enum:
            - Not Finished
            - Approved
            - In Review
            - Declined
          description: >-
            चरण का परिणाम। एक चेतावनी इसे अपने नियम के माध्यम से सेट करती है;
            कस्टम स्थिति नियम बाद में लागू होते हैं।
        level:
          type: string
          enum:
            - simple
            - aes
            - qes
          description: >-
            `simple` (डिफ़ॉल्ट) या `aes`। `qes` (क्वालिफ़ाइड इलेक्ट्रॉनिक
            सिग्नेचर, QES) एक ऐड-ऑन है जो अभी उपलब्ध नहीं है।
        format:
          type: string
          enum:
            - pdf
            - pades
          description: Simple हस्ताक्षर के लिए `pdf`, Advanced (AES) के लिए `pades`।
        profile:
          type: string
          nullable: true
          description: Advanced (AES) हस्ताक्षर हो जाने पर `PAdES-B-LT`, अन्यथा null।
        signer:
          type: object
          properties:
            name:
              type: string
              nullable: true
              description: >-
                हस्ताक्षरकर्ता का नाम। सत्यापित (स्वीकृत पहचान सत्यापन या सत्र
                से), सिवाय सत्यापित सत्र नाम के बिना Simple स्तर के, जहाँ यह वह
                नाम होता है जिसे हस्ताक्षरकर्ता ने टाइप किया था और यह सत्यापित
                नहीं होता है।
            capacity:
              type: string
              enum:
                - self
                - company
            company:
              type: string
              nullable: true
            role:
              type: string
              nullable: true
              description: प्रमुख व्यक्ति का पदनाम, जैसा कि घोषित किया गया है।
            roles:
              type: array
              items:
                type: string
              description: कंपनी के लिए घोषित प्रमुख व्यक्ति की संरचित भूमिकाएँ।
            identity_session_id:
              type: string
              format: uuid
              description: वह KYC सत्र जिसमें हस्ताक्षरकर्ता का सत्यापन हुआ था।
        identity_used:
          type: object
          description: >-
            सत्यापित पहचान जिस पर हस्ताक्षर निर्भर करता है। बिना किसी सत्यापित
            पहचान वाले Simple हस्ताक्षर के लिए खाली।
          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: वह नाम जिससे हस्ताक्षरकर्ता का मिलान होना था।
        certificate:
          type: object
          nullable: true
          description: >-
            वह प्रमाणपत्र जिसके साथ दस्तावेज़ों पर हस्ताक्षर किए गए थे।
            हस्ताक्षरित होने तक `null`, और सरल हस्ताक्षर के लिए हमेशा `null`।
          properties:
            issuer:
              type: string
            issued_to:
              type: string
            serial:
              type: string
              description: सीरियल नंबर, हेक्साडेसिमल।
            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: Simple हस्ताक्षर के लिए `null`, जिसमें कोई कोड नहीं होता है।
            destination:
              type: string
              nullable: true
              description: मास्क किया गया संपर्क जिस पर कोड भेजा गया था।
            confirmed_at:
              type: string
              format: date-time
              nullable: true
            attempts:
              type: integer
              description: दर्ज किए गए कोड, सही कोड सहित।
        timestamp:
          type: object
          nullable: true
          description: >-
            हस्ताक्षर में RFC 3161 टाइमस्टैम्प, जो Didit द्वारा जारी किया गया
            है। हस्ताक्षर होने तक `null`, और Simple हस्ताक्षर के लिए हमेशा
            `null`।
          properties:
            time:
              type: string
              format: date-time
            qualified:
              type: boolean
              description: AES के लिए हमेशा `false`।
            valid:
              type: boolean
        documents:
          type: array
          items:
            type: object
            properties:
              id:
                type: string
                format: uuid
                description: >-
                  इस हस्ताक्षरकर्ता की प्रति पर मौजूद दस्तावेज़। हस्ताक्षरित
                  फ़ाइल डाउनलोड करने के लिए इसका उपयोग करें।
              uuid:
                type: string
                format: uuid
                description: '`id` के समान।'
              title:
                type: string
              file_name:
                type: string
              pages:
                type: integer
                description: >-
                  हस्ताक्षरित दस्तावेज़ के पेज। Word के लिए, कनवर्ट किए गए PDF
                  के।
              size_bytes:
                type: integer
              sha256_original:
                type: string
                description: दस्तावेज़ का SHA-256 जैसा कि हस्ताक्षरकर्ता को दिखाया गया था।
              sha256_signed:
                type: string
                nullable: true
                description: हस्ताक्षरित PDF का SHA-256, एक बार हस्ताक्षरित होने के बाद।
              status:
                type: string
                enum:
                  - signed
                  - declined
                  - not_signed
                  - not_reached
                description: >-
                  `not_signed`: खोला गया लेकिन हस्ताक्षर नहीं किए गए।
                  `not_reached`: कभी नहीं खोला गया।
              opened_at:
                type: string
                format: date-time
                nullable: true
              read_at:
                type: string
                format: date-time
                nullable: true
                description: >-
                  हस्ताक्षरकर्ता फ़ील्ड रहित दस्तावेज़ के अंत तक कब पहुँचा, जब
                  चरण के लिए यह आवश्यक हो।
              read_to_end:
                type: boolean
              consented_at:
                type: string
                format: date-time
                nullable: true
                description: >-
                  हस्ताक्षरकर्ता फ़ील्ड रहित दस्तावेज़ पर कब सहमत हुआ, या फ़ील्ड
                  वाले दस्तावेज़ के फ़ील्ड कब पूरे किए।
              consent:
                type: boolean
              signed_file:
                type: string
                nullable: true
                description: >-
                  हस्ताक्षरित PDF का पाथ, एक बार हस्ताक्षर होने के बाद। देखें
                  [हस्ताक्षरित दस्तावेज़ डाउनलोड
                  करें](/hi/sessions-api/electronic-signature/download-signed-document)।
              mode:
                type: string
                enum:
                  - fields
                  - read_and_agree
                description: >-
                  फ़ील्ड वाले दस्तावेज़ के लिए `fields`, बिना फ़ील्ड वाले
                  दस्तावेज़ के लिए `read_and_agree`।
              source_format:
                type: string
                enum:
                  - pdf
                  - docx
                description: >-
                  `pdf`, या Word दस्तावेज़ के लिए `docx` जिसे Didit ने PDF में
                  रूपांतरित किया।
              conversion:
                type: object
                nullable: true
                description: >-
                  PDF के लिए `null`। Word दस्तावेज़ के लिए, मूल फ़ाइल और
                  कन्वर्ज़न।
                properties:
                  from:
                    type: string
                    enum:
                      - docx
                  file_name:
                    type: string
                    description: आपका मूल Word फ़ाइल नाम।
                  sha256:
                    type: string
                    description: आपकी मूल Word फ़ाइल का SHA-256।
                  size_bytes:
                    type: integer
                    description: आपकी मूल Word फ़ाइल का आकार।
                  converter:
                    type: string
                    description: PDF तैयार करने वाले कनवर्टर का संस्करण।
              fields:
                type: array
                description: >-
                  दस्तावेज़ पर फ़ील्ड, उनके मानों के साथ। फ़ील्ड रहित दस्तावेज़
                  के लिए खाली।
                items:
                  $ref: '#/components/schemas/SignatureFieldResult'
        adopted_signature:
          type: object
          nullable: true
          description: >-
            हस्ताक्षरकर्ता द्वारा हस्ताक्षर और आद्याक्षर फ़ील्ड के लिए अपनाया
            गया हस्ताक्षर और आद्याक्षर। हस्ताक्षरकर्ता द्वारा इसे अपनाए जाने तक
            `null`।
          properties:
            method:
              type: string
              enum:
                - typed
                - drawn
              description: >-
                `typed`: हस्तलेखन शैली में सत्यापित नाम। `drawn`: उंगली या माउस
                से बनाया गया।
            font:
              type: string
              nullable: true
              description: टाइप किए गए हस्ताक्षर की हस्तलेखन शैली। ड्रा किए जाने पर `null`।
            adopted_at:
              type: string
              format: date-time
        electronic_signature_consent_at:
          type: string
          format: date-time
          nullable: true
          description: >-
            समीक्षा स्क्रीन पर हस्ताक्षरकर्ता दस्तावेज़ों पर इलेक्ट्रॉनिक रूप से
            हस्ताक्षर करने के लिए कब सहमत हुआ। तब सेट होता है जब किसी भी
            दस्तावेज़ में फ़ील्ड हों।
        evidence_file:
          type: string
          nullable: true
          description: >-
            हस्ताक्षरित होने के बाद साक्ष्य PDF का पथ। देखें [हस्ताक्षर साक्ष्य
            डाउनलोड
            करें](/hi/sessions-api/electronic-signature/download-evidence)।
        warnings:
          type: array
          description: >-
            इस हस्ताक्षरकर्ता के लिए उठाई गई चेतावनियाँ। [ई-हस्ताक्षर
            चेतावनियाँ](/hi/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: >-
            हस्ताक्षरित दस्तावेज़ों की अंतिम क्रिप्टोग्राफ़िक जाँच। दस्तावेज़ों
            पर हस्ताक्षर होने तक `null`। यदि Didit हस्ताक्षर करने के परिणाम की
            पुष्टि नहीं कर सकता है, तो यह `{"valid": null, "reason":
            "signature_provider_outcome_unknown", "checked_at": ...}` होता है और
            `status` `signing` बना रहता है: इसे हस्ताक्षरित न माना जाए।
          properties:
            valid:
              type: boolean
              nullable: true
              description: >-
                `true` जब प्रत्येक दस्तावेज़ मान्य हो। `null` जब हस्ताक्षर के
                परिणाम की पुष्टि नहीं की जा सकी।
            reason:
              type: string
              description: >-
                तब सेट किया जाता है जब `valid` `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` जब हस्ताक्षर और टाइमस्टैम्प दोनों मान्य और
                      विश्वसनीय हों।
                  integrity:
                    type: boolean
                    description: >-
                      `true` जब हस्ताक्षर करने के बाद से दस्तावेज़ में कोई बदलाव
                      नहीं हुआ हो।
                  trusted:
                    type: boolean
                    description: >-
                      `true` जब हस्ताक्षर प्रमाणपत्र एक विश्वसनीय रूट से जुड़ा
                      हो।
                  revoked:
                    type: boolean
                  trusted_list:
                    type: object
                    description: >-
                      EU ट्रस्टेड लिस्ट की जाँच। AES के लिए: `{"status":
                      "not_applicable", "reason": "aes_not_qualified"}`।
                    properties:
                      status:
                        type: string
                      reason:
                        type: string
                  certificate:
                    type: object
                    nullable: true
                    description: >-
                      वह प्रमाणपत्र जिसके साथ दस्तावेज़ों पर हस्ताक्षर किए गए
                      थे। हस्ताक्षरित होने तक `null`, और सरल हस्ताक्षर के लिए
                      हमेशा `null`।
                    properties:
                      issuer:
                        type: string
                      issued_to:
                        type: string
                      serial:
                        type: string
                        description: सीरियल नंबर, हेक्साडेसिमल।
                      valid_from:
                        type: string
                        format: date-time
                      valid_until:
                        type: string
                        format: date-time
                  timestamp:
                    type: object
                    nullable: true
                    description: >-
                      हस्ताक्षर में RFC 3161 टाइमस्टैम्प, जो Didit द्वारा जारी
                      किया गया है। हस्ताक्षर होने तक `null`, और Simple हस्ताक्षर
                      के लिए हमेशा `null`।
                    properties:
                      time:
                        type: string
                        format: date-time
                      qualified:
                        type: boolean
                        description: AES के लिए हमेशा `false`।
                      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: हस्ताक्षर लिंक काम करना कब बंद कर देता है।
        email_sent_at:
          type: string
          format: date-time
          nullable: true
        email_unavailable_reason:
          type: string
          nullable: true
        ip_address:
          type: string
          nullable: true
          description: हस्ताक्षरकर्ता का IP पता जब उन्होंने अपने कोड का अनुरोध किया था।
        place:
          type: string
          nullable: true
          description: 'एकत्रित नहीं किया गया: हमेशा `null`।'
        place_unavailable_reason:
          type: string
          nullable: true
          enum:
            - not_collected
    SignatureFieldResult:
      type: object
      description: >-
        हस्ताक्षरित दस्तावेज़ का एक फ़ील्ड, इस हस्ताक्षरकर्ता की प्रति पर उसके
        मान के साथ।
        [फ़ील्ड](/hi/core-technology/electronic-signature/report-electronic-signature#फ़ील्ड)
        देखें।
      properties:
        key:
          type: string
          description: फ़ील्ड की कुंजी, जैसा कि `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: >-
            पेज संख्या, 1 से। Word दस्तावेज़ के लिए, कनवर्ट किए गए PDF का एक
            पेज।
        x:
          type: number
          description: बायाँ किनारा, पेज की चौड़ाई के एक अंश के रूप में।
        'y':
          type: number
          description: पेज की ऊंचाई के एक अंश के रूप में ऊपरी किनारा।
        width:
          type: number
          description: पेज की चौड़ाई के अंश के रूप में चौड़ाई।
        height:
          type: number
          description: ऊंचाई, पेज की ऊंचाई के एक अंश के रूप में।
        required:
          type: boolean
        value:
          nullable: true
          description: >-
            `text`, `email`, `full_name`, `date_signed` और `data` के लिए एक
            स्ट्रिंग, `checkbox` के लिए एक बूलियन, और लागू हस्ताक्षर या
            आद्याक्षर (initials) के लिए `true`। खाली होने पर `null`।
        display_value:
          type: string
          nullable: true
          description: >-
            पेज पर अंकित मान: फ़ील्ड के `date_format` में तारीखें, चेकबॉक्स के
            लिए `Yes` या `No`, हस्ताक्षर या शुरुआती अक्षरों के लिए `Signed`।
        value_source:
          type: string
          nullable: true
          enum:
            - signer
            - identity
            - contact
            - company
            - session
            - metadata
            - api
            - signing_time
            - null
          description: >-
            मान कहाँ से आया: `signer` (हस्ताक्षरकर्ता द्वारा टाइप किया गया, टिक
            किया गया या लागू किया गया), `identity` (सत्यापित ID), `contact`
            (सत्यापित ईमेल या फ़ोन), `company` (सत्यापित कंपनी), `session`
            (`vendor_data`), `metadata`, `api` (`sign.field_values`) या
            `signing_time` (हस्ताक्षर करने की तिथि)।
        filled_at:
          type: string
          format: date-time
          nullable: true
        image_url:
          type: string
          nullable: true
          description: >-
            केवल हस्ताक्षर और आद्याक्षर: लागू छवि का पथ। [हस्ताक्षर छवि डाउनलोड
            करें](/hi/sessions-api/electronic-signature/download-field-image)
            देखें।
        value_unavailable_reason:
          type: string
          nullable: true
          enum:
            - source_empty
            - null
          description: >-
            जब किसी पहले से भरे हुए फ़ील्ड का सत्र में कोई मान नहीं था और
            `signature_field_data_missing_action` ने हस्ताक्षरकर्ता को वैसे भी
            हस्ताक्षर करने की अनुमति दी, तब `source_empty`।
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: >-
        आपकी एप्लिकेशन की API कुंजी, Business Console में Developers -> API keys
        से। प्राथमिक कुंजी के पास पूर्ण एक्सेस होता है। एक नामित कुंजी को स्कोप
        किया जा सकता है: प्रति संसाधन none, read या write, कुछ वर्कफ़्लो या
        स्वीकृत सत्रों तक सीमित, IP पतों की सूची तक सीमित, और समाप्ति तिथि तक
        सीमित। 401 का अर्थ है कि कुंजी गलत है, निरस्त कर दी गई है या उसकी
        समय-सीमा समाप्त हो गई है; 403 का अर्थ है कि कोई कुंजी नहीं भेजी गई थी,
        कुंजी के पास इस संसाधन या कार्रवाई का एक्सेस नहीं है, या अनुरोध उसकी IP
        सूची से बाहर के पते से आया था; सत्र रूट पर 404 का अर्थ है कि सत्र कुंजी
        के वर्कफ़्लो या स्थितियों से बाहर है। मीडिया एक्सेस के बिना एक कुंजी को
        छवि, वीडियो और PDF URL null के रूप में प्राप्त होते हैं, और सत्र write
        के बिना एक कुंजी को सत्र लिंक और token null के रूप में प्राप्त होते हैं।
        देखें https://docs.didit.me/console/api-keys।

````

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