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

# पुनः सबमिशन ईमेल पूर्वावलोकन

> Didit में पुनः सबमिशन का अनुरोध करने से पहले प्राप्तकर्ता, प्रेषक, स्थानीयकृत संदेश और सत्यापन लिंक की जाँच और समीक्षा अवश्य करें।

पूर्वावलोकन करने से सत्र नहीं बदलता और कोई ईमेल नहीं भेजा जाता।

रिस्पॉन्स की समीक्षा करने के बाद [Update Session Status](https://docs.didit.me/hi/sessions-api/update-status.md) से पुष्टि करें और लौटाए गए `preview_token` को `email_preview_token` के रूप में पास करें।
रसीद 15 मिनट बाद समय-सीमा समाप्त हो जाती है।
बदली हुई या समय-सीमा समाप्त रसीद होने पर सत्र बदलने या ईमेल भेजने से पहले `409` लौटता है।
टकराव होने पर नया पूर्वावलोकन बनाएँ।
मौजूदा API इंटीग्रेशन रसीद छोड़ सकते हैं; पूर्वावलोकन की पुष्टि करते समय कंसोल उसे उपलब्ध कराता है।

भेजने वाला और ब्रांडिंग आपके मौजूदा [व्हाइट लेबल कॉन्फ़िगरेशन](https://docs.didit.me/hi/console/white-label.md) के अनुसार होते हैं।
संदेश की सामग्री अनुवादित सत्यापन टेम्पलेट से आती है; मनमाने विषय, संदेश के मुख्य भाग और कार्रवाई URL टेम्पलेट इनपुट के रूप में स्वीकार नहीं किए जाते।

## ईमेल कौन प्राप्त करता है

`email_address` वैकल्पिक है।
इसके बिना ईमेल व्यक्ति के अपने पते पर जाता है: वह पता जो उन्होंने फ़्लो के ईमेल सत्यापन चरण में सत्यापित किया था, या अन्यथा वह पता जो सत्र बनाते समय `contact_details` में दिया गया था।
`email_address` में आप जो पता पास करते हैं, वही प्राथमिकता पाता है।

`recipient_source` बताता है कि कौन सा पता लागू होता है:

| `recipient_source` | `recipient` कहाँ से आता है |
| - | - |
| `email_verification` | व्यक्ति ने फ़्लो में जो पता सत्यापित किया |
| `contact_details` | सत्र बनाते समय `contact_details` में दिया गया पता |
| `request` | आपने जो `email_address` पास किया |
| `""` (खाली) | कोई पता ज्ञात नहीं: `recipient` और `preview_token` खाली होते हैं और कोई ईमेल नहीं भेजा जा सकता |

## ईमेल भेजा जाएगा या नहीं

जब `send_email: true` के साथ पुनः जमा की पुष्टि करने पर ईमेल भेजा जाता है, तब `will_be_sent` `true` होता है।
जब यह `false` होता है, तब `not_sent_reason` कारण बताता है:

| `not_sent_reason` | इसका अर्थ |
| - | - |
| `no_user_action` | चुना गया हर चरण व्यक्ति के बिना चलता है (उदाहरण के लिए AML या डेटाबेस सत्यापन), इसलिए पुनः जमा अपने आप पूरा हो जाता है और कोई ईमेल नहीं भेजा जाता। `requires_user_action` भी `false` होता है। |
| `no_recipient` | व्यक्ति के लिए कोई पता ज्ञात नहीं है और आपने कोई पता पास नहीं किया। |
| `sandbox` | यह सैंडबॉक्स सत्र है और प्राप्तकर्ता ने सैंडबॉक्स ईमेल डिलीवरी के लिए सहमति नहीं दी है, इसलिए ईमेल केवल सिम्युलेट होता है। देखें [ईमेल के लिए सहमति](https://docs.didit.me/hi/integration/sandbox-testing.md#códigos-otp-y-consentimiento-para-recibir-correos-electrónicos)। |

## पुनः जमा की पुष्टि करें

इन फ़ील्ड के साथ [Update Session Status](https://docs.didit.me/hi/sessions-api/update-status.md) को कॉल करें:

| Update Session Status फ़ील्ड | मान |
| - | - |
| `new_status` | `Resubmitted` |
| `nodes_to_resubmit` | पूर्वावलोकन में आपने जो चयन देखा था वही (यदि आपने यहाँ इसे छोड़ा है तो इसे भी छोड़ दें) |
| `send_email` | `true` |
| `email_address` | पूर्वावलोकन से `recipient` |
| `email_language` | वही `email_language` जो आपने पूर्वावलोकन में भेजी थी |
| `email_preview_token` | पूर्वावलोकन से `preview_token` |

रिस्पॉन्स का `language` वह भाषा है जिसमें ईमेल लिखा गया है: जब आपने जो भाषा माँगी थी वह उपलब्ध नहीं होती, तब अंग्रेज़ी।

## केवल बैकएंड से बार-बार पुनः जमा

जब पुनः जमा किए जाने वाले हर चरण व्यक्ति के बिना चलते हैं (AML, डेटाबेस सत्यापन या IP विश्लेषण), तब किसी सत्र को उनके लिए केवल हर 30 सेकंड में एक बार पुनः जमा किया जा सकता है।
उस अवधि के भीतर पूर्वावलोकन `429` लौटाता है, जैसा Update Session Status भी लौटाता, और प्रतीक्षा का समय `Retry-After` हेडर में होता है।

## संबंधित

* [Update Session Status](https://docs.didit.me/hi/sessions-api/update-status.md): पुनः जमा की पुष्टि करें।
* [Preview Decision Email](https://docs.didit.me/hi/sessions-api/preview-decision-email.md): इसके बजाय स्वीकृत या अस्वीकृत ईमेल का पूर्वावलोकन करें।
* [व्हाइट लेबल](https://docs.didit.me/hi/console/white-label.md): ईमेल में उपयोग किया जाने वाला भेजने वाला और ब्रांडिंग।


## OpenAPI

````yaml hi/openapi-25.json POST /v3/session/{sessionId}/resubmission-preview/
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}/resubmission-preview/:
    post:
      tags:
        - Sessions
      summary: पुनः सबमिशन ईमेल का पूर्वावलोकन करें
      description: >-
        उस ईमेल को रेंडर करें जो सत्र को बदले बिना, जाँच रीसेट किए बिना, इसकी
        समाप्ति को बढ़ाए बिना, जाँच चलाए बिना या मेल भेजे बिना KYC या KYB पुनः
        सबमिशन के साथ जाएगा। इसके लिए `write:sessions` विशेषाधिकार (एक स्कोप्ड
        API कुंजी को निर्णयों के लिए राइट एक्सेस की आवश्यकता होती है) और
        `Approved`, `Declined`, `In Review`, `Kyc Expired` या `Abandoned` स्थिति
        में एक सत्र की आवश्यकता होती है। सर्वर चयनित वर्कफ़्लो चरणों को मान्य
        करता है और लागू सत्यापित व्हाइट लेबल प्रेषक और ब्रांडिंग के साथ इसके
        निश्चित अनुवादित टेम्पलेट को रेंडर करता है। अनुरोध कोई विषय (subject),
        संदेश मुख्य भाग (body) या कार्रवाई URL सेट नहीं कर सकता है।


        `email_address` वैकल्पिक है। इसके बिना, ईमेल व्यक्ति के अपने पते पर जाता
        है: वह पता जिसे उन्होंने फ़्लो के ईमेल सत्यापन चरण में सत्यापित किया था,
        अन्यथा वह जो सत्र बनाए जाने पर `contact_details` में दिया गया था। आपके
        द्वारा पास किया गया पता प्राथमिकता पाता है (`recipient_source:
        request`)। जब कोई पता ज्ञात नहीं होता है और आप कोई पता पास नहीं करते
        हैं, तो `recipient` और `preview_token` खाली स्ट्रिंग होते हैं और कोई
        ईमेल नहीं भेजा जा सकता है।


        रिस्पॉन्स में प्राप्तकर्ता और यह कहाँ से आता है, प्रेषक, विषय, HTML,
        भाषा, समाधान किए गए चरण, क्या पुष्टि करने पर ईमेल भेजा जाता है
        (`will_be_sent`, `not_sent_reason`) और एक हस्ताक्षरित `preview_token`
        शामिल होता है। `requires_user_action` `false` होता है जब प्रत्येक चयनित
        चरण व्यक्ति के बिना चलता है: पुनः सबमिशन तब अपने आप समाप्त हो जाता है और
        कोई ईमेल नहीं भेजा जाता है (`not_sent_reason: no_user_action`)।


        यह पूर्वावलोकन सत्र स्थिति को आरक्षित नहीं करता है या डिलीवरी को अधिकृत
        नहीं करता है। इसकी समीक्षा करने के बाद, `new_status: Resubmitted`,
        उन्हीं `nodes_to_resubmit` और `email_language` जिन्हें आपने पूर्वावलोकन
        किया था, `send_email: true`, `email_address` को `recipient` पर सेट करके
        और `email_preview_token` को `preview_token` पर सेट करके [Update Session
        Status](/hi/sessions-api/update-status) को कॉल करें। रसीद 15 मिनट के बाद
        समाप्त हो जाती है। जब रसीद प्रदान की जाती है, तो बदले गए इनपुट, संदेश
        सामग्री, प्रेषक या सत्र स्थिति किसी भी म्यूटेशन या भेजने से पहले `409`
        लौटाते हैं। मौजूदा इंटीग्रेशन रसीद छोड़ सकते हैं। टकराव के बाद
        पूर्वावलोकन को पुन: जनरेट करें। रिस्पॉन्स को संवेदनशील सत्यापन सामग्री
        के रूप में मानें; रिस्पॉन्स `Cache-Control: no-store` का उपयोग करते हैं।
        HTML को हमेशा सैंडबॉक्स्ड फ़्रेम में रेंडर करें, सीधे अपने एप्लिकेशन DOM
        में कभी नहीं।
      operationId: post_v3_session_resubmission_preview
      parameters:
        - in: path
          name: sessionId
          required: true
          description: >-
            अपडेट किए जाने वाले सत्यापन सत्र का UUID। उपयोगकर्ता (KYC) और
            व्यवसाय (KYB) दोनों सत्र ID स्वीकार करता है — सेवा दोनों सत्र
            प्रकारों में ID को रिज़ॉल्व करती है।
          schema:
            type: string
            format: uuid
            example: 11111111-2222-3333-4444-555555555555
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                nodes_to_resubmit:
                  type: array
                  description: >-
                    पुनः सबमिशन के समान सत्यापन, चयन और वर्कफ़्लो क्रम का उपयोग
                    करते हुए पूर्वावलोकन के चरण। पुनः सबमिशन की आवश्यकता वाले
                    रिकॉर्ड किए गए प्रयासों को ऑटो-सेलेक्ट करने के लिए इसे छोड़
                    दें।
                  items:
                    type: object
                    required:
                      - node_id
                      - feature
                    properties:
                      node_id:
                        type: string
                        description: >-
                          सत्र के वर्कफ़्लो परिभाषा में प्रदर्शित नोड पहचानकर्ता
                          (उदाहरण के लिए `feature_ocr`, `feature_liveness`)।
                        example: feature_ocr
                      feature:
                        type: string
                        description: >-
                          नोड का सुविधा प्रकार। उपनाम `ID_VERIFICATION`, `POA`,
                          `PHONE`, और `EMAIL` सर्वर-साइड पर `OCR`,
                          `PROOF_OF_ADDRESS`, `PHONE_VERIFICATION`, और
                          `EMAIL_VERIFICATION` में सामान्यीकृत हो जाते हैं।
                          `KYB_REGISTRY`, `KYB_KEY_PEOPLE`, और `KYB` स्कीमा
                          सत्यापन पास करते हैं लेकिन हमेशा उदाहरणों में दिखाए गए
                          बिज़नेस-नियम `400` के साथ अस्वीकार कर दिए जाते हैं।
                        enum:
                          - OCR
                          - OCR_BACK
                          - NFC
                          - AML
                          - FACE
                          - LIVENESS
                          - FACE_MATCH
                          - IP_ANALYSIS
                          - AGE_ESTIMATION
                          - PROOF_OF_ADDRESS
                          - PHONE_VERIFICATION
                          - EMAIL_VERIFICATION
                          - FACE_SEARCH
                          - DATABASE_VALIDATION
                          - QUESTIONNAIRE
                          - DOCUMENT_AI
                          - KYB_DOCUMENTS
                          - ID_VERIFICATION
                          - POA
                          - PHONE
                          - EMAIL
                          - KYB_REGISTRY
                          - KYB_KEY_PEOPLE
                          - KYB
                          - GEOLOCATION
                        example: OCR
                email_address:
                  type: string
                  format: email
                  description: >-
                    वैकल्पिक। व्यक्ति के अपने पते के बजाय इस पते पर ईमेल भेजें।
                    इसके बिना, प्राप्तकर्ता वह पता होता है जिसे व्यक्ति ने फ़्लो
                    में सत्यापित किया था, अन्यथा `contact_details` में दिया गया
                    पता होता है। इस कॉल द्वारा कोई ईमेल नहीं भेजा जाता है।
                  example: user@example.com
                email_language:
                  type: string
                  description: >-
                    सूचना ईमेल के लिए भाषा। स्कीमा स्तर पर किसी भी स्ट्रिंग को
                    स्वीकार करता है; असमर्थित कोड बिना किसी सूचना के अंग्रेज़ी
                    (`en`) पर फ़ालबैक हो जाते हैं।
                  default: en
                  example: en
            examples:
              Person's Own Address:
                summary: >-
                  व्यक्ति के अपने पते के लिए पते का प्रमाण पुनः सबमिशन का
                  पूर्वावलोकन करें
                value:
                  nodes_to_resubmit:
                    - node_id: feature_poa_1
                      feature: POA
                  email_language: en
              Named Recipient:
                summary: आपके द्वारा निर्दिष्ट पते के लिए ईमेल का पूर्वावलोकन करें
                value:
                  nodes_to_resubmit:
                    - node_id: feature_ocr
                      feature: OCR
                  email_address: person@example.com
                  email_language: en
      responses:
        '200':
          description: >-
            केवल पूर्वावलोकन। सत्र अपरिवर्तित रहता है और कोई ईमेल नहीं भेजा जाता
            है।
          content:
            application/json:
              schema:
                type: object
                required:
                  - recipient
                  - recipient_source
                  - sender
                  - sender_name
                  - sender_email
                  - sender_kind
                  - subject
                  - html
                  - text
                  - language
                  - will_be_sent
                  - not_sent_reason
                  - preview_token
                  - nodes_to_resubmit
                  - requires_user_action
                properties:
                  recipient:
                    type: string
                    description: >-
                      वह पता जिस पर ईमेल जाता है। जब व्यक्ति के लिए कोई पता
                      ज्ञात नहीं होता है तो एक खाली स्ट्रिंग: तब कोई ईमेल नहीं
                      भेजा जा सकता है और `preview_token` भी खाली होता है। पुष्टि
                      करते समय इसे `email_address` के रूप में पास करें।
                    example: person@example.com
                  recipient_source:
                    type: string
                    enum:
                      - email_verification
                      - contact_details
                      - request
                      - ''
                    description: >-
                      `recipient` कहाँ से आता है। `request`: आपके द्वारा पास
                      किया गया `email_address`। `email_verification`: वह पता
                      जिसे व्यक्ति ने फ़्लो के ईमेल सत्यापन चरण में सत्यापित
                      किया था। `contact_details`: सत्र निर्माण के समय
                      `contact_details` में दिया गया पता। कोई पता न होने पर एक
                      रिक्त स्ट्रिंग।
                    example: email_verification
                  sender:
                    type: string
                    description: वह `From` हेडर जिसके साथ ईमेल जाता है।
                    example: Example App <no-reply@mail.example.com>
                  sender_name:
                    type: string
                    description: '`sender` का डिस्प्ले नाम वाला भाग।'
                    example: Example App
                  sender_email:
                    type: string
                    format: email
                    description: '`sender` का पता वाला भाग।'
                    example: no-reply@mail.example.com
                  sender_kind:
                    type: string
                    enum:
                      - customer
                      - didit
                    description: >-
                      `customer`: ईमेल आपके एप्लिकेशन के सत्यापित प्रेषक डोमेन
                      (व्हाइट लेबल) से जाता है। `didit`: यह Didit के अपने प्रेषक
                      से जाता है।
                    example: customer
                  subject:
                    type: string
                    description: विषय पंक्ति ठीक वैसे ही जैसे भेजी गई है।
                    example: 'Action Required: Complete your verification in Example App'
                  html:
                    type: string
                    description: >-
                      ईमेल का HTML ठीक उसी रूप में जैसा वह भेजा गया है, जिसमें
                      उसका लोगो डेटा URL के रूप में एम्बेडेड है। इसे सैंडबॉक्स
                      किए गए फ़्रेम में रेंडर करें, कभी भी सीधे अपने एप्लिकेशन
                      DOM में नहीं।
                    example: <!DOCTYPE html><html><body>...</body></html>
                  text:
                    type: string
                    description: >-
                      एक संक्षिप्त पूर्वावलोकन के लिए व्यक्ति के Messages थ्रेड
                      के अनुसार ईमेल के शब्द प्लेन टेक्स्ट के रूप में (HTML वही
                      ईमेल रहता है जो व्यक्ति को प्राप्त होता है)।
                    example: |-
                      Almost there

                      Some steps need to be completed again.
                      Here’s what to fix:

                      https://verify.didit.me/session/abc123
                  language:
                    type: string
                    description: >-
                      ईमेल जिस भाषा में लिखा गया है। यदि आपके द्वारा अनुरोधित
                      `email_language` उपलब्ध नहीं है, तो अंग्रेज़ी (`en`) का
                      उपयोग किया जाता है।
                    example: en
                  will_be_sent:
                    type: boolean
                    description: >-
                      क्या `send_email: true` के साथ परिवर्तन की पुष्टि करने पर
                      यह ईमेल भेजा जाता है। `not_sent_reason` सेट होने पर
                      `false`।
                    example: true
                  not_sent_reason:
                    type: string
                    nullable: true
                    enum:
                      - no_user_action
                      - no_recipient
                      - sandbox
                      - null
                    description: >-
                      पुष्टि करने पर कोई ईमेल क्यों नहीं भेजा जाएगा, या भेजे
                      जाने पर `null`। `no_user_action`: प्रत्येक चयनित चरण
                      व्यक्ति के बिना चलता है, इसलिए पुनः सबमिशन अपने आप समाप्त
                      हो जाता है और कोई ईमेल नहीं जाता है। `no_recipient`:
                      व्यक्ति के लिए कोई पता ज्ञात नहीं है और आपने कोई पता पास
                      नहीं किया है। `sandbox`: एक सैंडबॉक्स सत्र जिसके
                      प्राप्तकर्ता ने सैंडबॉक्स ईमेल डिलीवरी का विकल्प नहीं चुना
                      है, इसलिए भेजना केवल सिम्युलेट किया जाता है।
                    example: null
                  nodes_to_resubmit:
                    type: array
                    items:
                      type: object
                      required:
                        - node_id
                        - feature
                      properties:
                        node_id:
                          type: string
                          description: >-
                            सत्र के वर्कफ़्लो परिभाषा में प्रदर्शित नोड
                            पहचानकर्ता (उदाहरण के लिए `feature_ocr`,
                            `feature_liveness`)।
                          example: feature_ocr
                        feature:
                          type: string
                          description: >-
                            नोड का सुविधा प्रकार। उपनाम `ID_VERIFICATION`,
                            `POA`, `PHONE`, और `EMAIL` सर्वर-साइड पर `OCR`,
                            `PROOF_OF_ADDRESS`, `PHONE_VERIFICATION`, और
                            `EMAIL_VERIFICATION` में सामान्यीकृत हो जाते हैं।
                            `KYB_REGISTRY`, `KYB_KEY_PEOPLE`, और `KYB` स्कीमा
                            सत्यापन पास करते हैं लेकिन हमेशा उदाहरणों में दिखाए
                            गए बिज़नेस-नियम `400` के साथ अस्वीकार कर दिए जाते
                            हैं।
                          enum:
                            - OCR
                            - OCR_BACK
                            - NFC
                            - AML
                            - FACE
                            - LIVENESS
                            - FACE_MATCH
                            - IP_ANALYSIS
                            - AGE_ESTIMATION
                            - PROOF_OF_ADDRESS
                            - PHONE_VERIFICATION
                            - EMAIL_VERIFICATION
                            - FACE_SEARCH
                            - DATABASE_VALIDATION
                            - QUESTIONNAIRE
                            - DOCUMENT_AI
                            - KYB_DOCUMENTS
                            - ID_VERIFICATION
                            - POA
                            - PHONE
                            - EMAIL
                            - KYB_REGISTRY
                            - KYB_KEY_PEOPLE
                            - KYB
                            - GEOLOCATION
                          example: OCR
                  requires_user_action:
                    type: boolean
                    description: >-
                      क्या कम से कम एक चयनित जांच के लिए उपयोगकर्ता इंटरैक्शन की
                      आवश्यकता होती है। यह अंतिम वर्कफ़्लो परिणाम का पूर्वानुमान
                      नहीं लगाता है।
                  preview_token:
                    type: string
                    description: >-
                      इस सटीक ईमेल के लिए हस्ताक्षरित रसीद, जो 15 मिनट के लिए
                      मान्य है। इसे [Update Session
                      Status](/hi/sessions-api/update-status) में
                      `email_preview_token` के रूप में पास करें। जब कोई
                      प्राप्तकर्ता नहीं होता है तो यह एक खाली स्ट्रिंग होती है।
                    example: >-
                      eyJkaWdlc3QiOiI0ZjJhIn0:1uExAm:Pl3x4mpleS1gnatureValue000000000000000
              examples:
                Will Be Sent:
                  summary: 'डिफ़ॉल्ट प्राप्तकर्ता: फ़्लो में सत्यापित पता'
                  value:
                    recipient: person@example.com
                    recipient_source: email_verification
                    sender: Example App <no-reply@mail.example.com>
                    sender_name: Example App
                    sender_email: no-reply@mail.example.com
                    sender_kind: customer
                    subject: 'Action Required: Complete your verification in Example App'
                    html: <!DOCTYPE html><html><body>...</body></html>
                    language: en
                    will_be_sent: true
                    not_sent_reason: null
                    nodes_to_resubmit:
                      - node_id: feature_poa_1
                        feature: PROOF_OF_ADDRESS
                    requires_user_action: true
                    preview_token: >-
                      eyJkaWdlc3QiOiI0ZjJhIn0:1uExAm:Pl3x4mpleS1gnatureValue000000000000000
                No User Action:
                  summary: >-
                    केवल बैकएंड चरण चुने गए हैं, इसलिए कोई ईमेल नहीं भेजा जाता
                    है
                  value:
                    recipient: person@example.com
                    recipient_source: contact_details
                    sender: Example App <no-reply@mail.example.com>
                    sender_name: Example App
                    sender_email: no-reply@mail.example.com
                    sender_kind: customer
                    subject: 'Action Required: Complete your verification in Example App'
                    html: <!DOCTYPE html><html><body>...</body></html>
                    language: en
                    will_be_sent: false
                    not_sent_reason: no_user_action
                    nodes_to_resubmit:
                      - node_id: feature_aml
                        feature: AML
                    requires_user_action: false
                    preview_token: >-
                      eyJkaWdlc3QiOiI0ZjJhIn0:1uExAm:Pl3x4mpleS1gnatureValue000000000000000
          headers:
            Cache-Control:
              description: >-
                हमेशा `no-store`: पूर्वावलोकन में सत्यापन सामग्री होती है और इसे
                कैश नहीं किया जाना चाहिए।
              schema:
                type: string
                example: no-store
        '400':
          description: >-
            सत्र उस स्थिति में नहीं है जिसे यह endpoint स्वीकार करता है, यह पहले
            से ही `Resubmitted` है, चयनित चरणों को पुनः सबमिट नहीं किया जा सकता
            है, या कोई फ़ील्ड अमान्य है।
          content:
            application/json:
              examples:
                Wrong Current Status:
                  summary: सत्र ऐसी स्थिति में नहीं है जिसे यह endpoint स्वीकार करता है
                  value:
                    detail: >-
                      Only sessions with status Approved, Declined, In Review,
                      Kyc Expired, Abandoned, Resubmitted can be updated.
                      Current status: In Progress
                Already Resubmitted:
                  summary: सत्र पहले से ही Resubmitted है
                  value:
                    - The new status is the same as the current status.
                Nothing To Resubmit:
                  summary: >-
                    स्वतः-चयन को ऐसा कोई चरण नहीं मिला जिसे पुनः सबमिट करने की
                    आवश्यकता हो
                  value:
                    nodes_to_resubmit: >-
                      No features found that need resubmission. All features are
                      already approved.
                Invalid Email:
                  summary: email_address एक ईमेल पता नहीं है
                  value:
                    email_address:
                      - Enter a valid email address.
        '401':
          description: स्कोप्ड API कुंजी की समय-सीमा समाप्त हो गई है।
          content:
            application/json:
              examples:
                Expired API Key:
                  summary: अपनी समाप्ति तिथि पार कर चुकी स्कोप्ड API कुंजी
                  value:
                    detail: This API key has expired.
        '403':
          description: >-
            क्रेडेंशियल मौजूद नहीं हैं, कॉलर के पास `write:sessions` विशेषाधिकार
            नहीं है, स्कोप्ड API कुंजी के पास इस endpoint के लिए आवश्यक एक्सेस
            नहीं है, या ऐसा `session_id` है जो किसी अन्य एप्लिकेशन का है।
          content:
            application/json:
              examples:
                Invalid Credentials:
                  summary: अनुपलब्ध या अमान्य x-api-key
                  value:
                    detail: >-
                      Authentication credentials were not provided or are
                      invalid.
                Missing Privilege:
                  summary: कॉलर के पास write:sessions की कमी है
                  value:
                    detail: You do not have permission to perform this action.
                Scoped Key Without Access:
                  summary: इस एक्सेस के बिना स्कोप्ड API कुंजी
                  value:
                    detail: This API key has no write access to decisions.
        '404':
          description: इस `session_id` वाला कोई KYC या KYB सत्र मौजूद नहीं है।
          content:
            application/json:
              examples:
                Not Found:
                  summary: अज्ञात session_id
                  value:
                    detail: Not found.
        '429':
          description: >-
            पुनः सबमिट करने वाले सभी चरण केवल बैकएंड वाले हैं (AML,
            DATABASE_VALIDATION, IP_ANALYSIS), और सत्र को पिछले 30 सेकंड के भीतर
            केवल बैकएंड वाले चरणों के लिए पहले ही पुनः सबमिट किया जा चुका है,
            इसलिए Update Session Status पुनः सबमिशन को अस्वीकार कर देगा।
            `Retry-After` के अंतराल के बाद पुनः प्रयास करें।
          content:
            application/json:
              examples:
                Backend-only resubmit throttled:
                  value:
                    detail: >-
                      This session was already resubmitted for backend-only
                      features within the last 30 seconds; repeating it cannot
                      change the outcome. Wait before resubmitting again.
      security:
        - ApiKeyAuth: []
      x-codeSamples:
        - lang: python
          label: Python
          source: |-
            from didit import Didit

            # Reads DIDIT_API_KEY.
            client = Didit()

            result = client.sessions.preview_resubmission(
                "11111111-2222-3333-4444-555555555555",
                nodes_to_resubmit=[{
                    "node_id": "feature_poa_1",
                    "feature": "POA",
                }],
                email_language="en",
            )
            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.previewResubmission("11111111-2222-3333-4444-555555555555",
            {
              nodes_to_resubmit: [{
                node_id: "feature_poa_1",
                feature: "POA",
              }],
              email_language: "en",
            });

            console.log(result);
        - lang: go
          label: Go
          source: "ctx := context.Background()\n// Reads DIDIT_API_KEY.\nclient := didit.NewClient()\n\nresult, err := client.Sessions.PreviewResubmission(ctx, \"11111111-2222-3333-4444-555555555555\", didit.SessionsPreviewResubmissionParams{\n\tNodesToResubmit: didit.Some([]didit.SessionsPreviewResubmissionParamsNodesToResubmit{{\n\t\tNodeID:  \"feature_poa_1\",\n\t\tFeature: \"POA\",\n\t}}),\n\tEmailLanguage: didit.String(\"en\"),\n})\nif err != nil {\n\tlog.Fatal(err)\n}\nfmt.Printf(\"%+v\\n\", result)"
        - lang: java
          label: Java
          source: >-
            import java.util.List;

            import me.didit.Didit;

            import me.didit.types.SessionsPreviewResubmissionParams;


            // Reads DIDIT_API_KEY.

            Didit client = new Didit();


            var result =
            client.sessions().previewResubmission("11111111-2222-3333-4444-555555555555",
            SessionsPreviewResubmissionParams.builder()
                    .nodesToResubmit(List.of(SessionsPreviewResubmissionParams.NodesToResubmit.builder()
                            .nodeId("feature_poa_1")
                            .feature(SessionsPreviewResubmissionParams.NodesToResubmit.Feature.of("POA"))
                            .build()))
                    .emailLanguage("en")
                    .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->previewResubmission('11111111-2222-3333-4444-555555555555',
            [
                'nodes_to_resubmit' => [[
                    'node_id' => 'feature_poa_1',
                    'feature' => 'POA',
                ]],
                'email_language' => 'en',
            ]);

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

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

            result = didit.sessions.preview_resubmission(
              "11111111-2222-3333-4444-555555555555",
              nodes_to_resubmit: [{
                node_id: "feature_poa_1",
                feature: "POA",
              }],
              email_language: "en"
            )
            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.PreviewResubmissionAsync("11111111-2222-3333-4444-555555555555",
            new SessionsPreviewResubmissionParams

            {
                NodesToResubmit = new SessionsPreviewResubmissionParamsNodesToResubmit[]
                {
                    new()
                    {
                        NodeId = "feature_poa_1",
                        Feature = "POA",
                    },
                },
                EmailLanguage = "en",
            });

            Console.WriteLine(JsonSerializer.Serialize(result));
components:
  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.