> ## 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: कस्टम KYC फ़ॉर्म

> Didit से प्रोग्रामेटिक रूप से कस्टम KYC और अनुपालन प्रश्नावलियाँ बनाएँ: क्रमबद्ध प्रश्न, विकल्प और 54 भाषाओं में अनुवाद। प्रति कॉल भुगतान।



प्रश्नावली बनाने का API प्रॉम्प्ट
        प्रॉम्प्ट को क्लिपबोर्ड पर कॉपी करें



      
      

\<pre>

\`Create a simple Didit questionnaire through the Management API.

Endpoint:
POST https://verification.didit.me/v3/questionnaires/

Authentication:
Use the x-api-key header with my Didit API key.

Requirements:
\- Use the simple v3 API shape with form_elements.
\- Do not send graph, branches, next, required_if, or conditional logic.
\- Include languages with en and default_language set to en.
\- Use customer-friendly element_type values such as short_text, multiple_choice, email, file_upload, or date_picker.
\- For choice questions, send options with value and label.
\- Store the questionnaire_id from the response because I will use it later as questionnaire_uuid in workflows.

Example request body:
\{
"title": "Customer Onboarding",
"languages": ["en"],
"default_language": "en",
"form_elements": [
\{
  "id": "occupation",
  "element_type": "short_text",
  "label": { "en": "What is your occupation?" },
  "is_required": true
},
\{
  "id": "source_of_funds",
  "element_type": "multiple_choice",
  "label": { "en": "Source of funds" },
  "is_required": true,
  "options": [
    \{ "value": "employment", "label": { "en": "Employment" } },
    \{ "value": "business", "label": { "en": "Business" } },
    \{ "value": "investments", "label": { "en": "Investments" } }
  ]
}
]
}

Build the API call, handle validation errors, and return the questionnaire_id from the response.`

\</pre>



      
      

यहाँ पेस्ट करें

सरल प्रश्नावलियाँ API के ज़रिए बनाने के लिए इस endpoint का उपयोग करें। `form_elements` एरे उसी क्रम में भेजें जिस क्रम में उपयोगकर्ताओं को प्रश्नों के उत्तर देने हैं। Didit आपके लिए आंतरिक प्रश्नावली ग्राफ़ बनाता है।API केवल सीधी रैखिक प्रश्नावलियों को सपोर्ट करता है। `graph`, `branches`, `next` या शर्तीय नियम न भेजें।## आवश्यक फ़ील्ड- `title` प्रश्नावली का आंतरिक नाम है।
- `languages` में `en` शामिल होना चाहिए।
- `form_elements` में कम से कम एक प्रश्न होना चाहिए।
- हर फ़ॉर्म एलिमेंट में `element_type` और एक अनुवादित `label` होना चाहिए।किसी भी फ़ॉर्म एलिमेंट में वैकल्पिक रूप से एक अनुवादित `description` जोड़ा जा सकता है, जो उसके सहायता टेक्स्ट के रूप में काम करता है। यह `separator` को छोड़कर हर एलिमेंट प्रकार पर स्वीकार किया जाता है, और [प्रश्नावली रिपोर्ट](https://docs.didit.me/hi/core-technology/questionnaires/report-questionnaire.md) में उस आइटम के `description` के रूप में लौटाया जाता है।## एलिमेंट के प्रकार`short_text`, `multiple_choice`, `email`, `file_upload` या `date_picker` जैसे लोअरकेस मान उपयोग करें। `SHORT_TEXT` जैसे अपरकेस एनम मान भी स्वीकार किए जाते हैं।`dropdown`, `single_choice` और `multiple_choice` के लिए `options` जोड़ें। अगर आप विकल्प का `value` छोड़ देते हैं, तो Didit लेबल से एक मान बना देता है।```json theme={null}
{
  "title": "Customer Onboarding",
  "languages": ["en"],
  "default_language": "en",
  "form_elements": [
    {
      "id": "occupation",
      "element_type": "short_text",
      "label": { "en": "What is your occupation?" },
      "is_required": true
    },
    {
      "id": "source_of_funds",
      "element_type": "multiple_choice",
      "label": { "en": "Source of funds" },
      "is_required": true,
      "options": [
        { "value": "employment", "label": { "en": "Employment" } },
        { "value": "business", "label": { "en": "Business" } },
        { "value": "investments", "label": { "en": "Investments" } }
      ]
    }
  ]
}
```## फ़ील्ड सत्यापनउपयोगकर्ता के उत्तर पर एक फ़ॉर्मेट लागू करने के लिए `short_text`, `long_text` या `number` एलिमेंट में वैकल्पिक `validation` ऑब्जेक्ट जोड़ें। यह कर पहचान संख्या, राष्ट्रीय पहचान संख्या या कार्ड नंबर जैसे सख़्त फ़ॉर्मेट वाले पहचानकर्ताओं के लिए उपयोगी है। सत्यापन तब चलता है जब उपयोगकर्ता फ़ील्ड भर रहा होता है (जब तक मान पास न हो, उपयोगकर्ता आगे नहीं बढ़ सकता), और सबमिशन पर API इसे दोबारा लागू करता है।| फ़ील्ड | लागू होता है | विवरण |
| - | - | - |
| `pattern` | `short_text`, `long_text` | नियमित अभिव्यक्ति जिससे मान का पूरी तरह मेल खाना आवश्यक है। पोर्टेबल ECMA-262 सबसेट उपयोग करें; `^`/`$` एंकर न जोड़ें (पूरा मान मिलाया जाता है)। |
| `min_length` | `short_text`, `long_text` | अक्षरों की न्यूनतम संख्या। |
| `max_length` | `short_text`, `long_text` | अक्षरों की अधिकतम संख्या। |
| `min` | `number` | न्यूनतम संख्यात्मक मान। |
| `max` | `number` | अधिकतम संख्यात्मक मान। |
| `error_message` | ऊपर के सभी | मान पास न होने पर दिखाया गया अनुवादित संदेश। छोड़ने पर सामान्य संदेश दिखाया जाता है। |```json theme={null}
{
  "title": "Customer Onboarding",
  "languages": ["en"],
  "default_language": "en",
  "form_elements": [
    {
      "id": "tax_id",
      "element_type": "short_text",
      "label": { "en": "Tax ID" },
      "is_required": true,
      "validation": {
        "pattern": "[A-Z]{2}[0-9]{9}",
        "min_length": 11,
        "max_length": 11,
        "error_message": { "en": "Enter a valid Tax ID (2 letters followed by 9 digits)." }
      }
    }
  ]
}
```रिस्पॉन्स में `questionnaire_id` शामिल होता है। इसे सहेज कर रखें, क्योंकि प्रश्नावली को वर्कफ़्लो में जोड़ते समय इसे `questionnaire_uuid` के रूप में उपयोग करेंगे।


## OpenAPI

````yaml hi/openapi-25.json POST /v3/questionnaires/
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/questionnaires/:
    post:
      tags:
        - Questionnaires
      summary: प्रश्नावली बनाएं
      description: >-
        एक सरल रैखिक प्रश्नावली बनाएँ। `form_elements` को प्रदर्शन क्रम में
        भेजें; ब्रांचिंग और दोहराए जाने वाले समूहों के लिए Console की आवश्यकता
        होती है। डिफ़ॉल्ट रूप से `published` v1 पर सेट होता है।
      operationId: create_questionnaire
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SimpleQuestionnaireRequest'
            examples:
              Simple:
                summary: बुनियादी प्रश्नावली
                value:
                  title: Customer Onboarding
                  description: Additional information needed for verification
                  default_language: en
                  languages:
                    - en
                  is_active: true
                  form_elements:
                    - id: occupation
                      element_type: short_text
                      label:
                        en: What is your occupation?
                      is_required: true
                      placeholder:
                        en: Software engineer
                    - id: source_of_funds
                      element_type: multiple_choice
                      label:
                        en: Source of funds
                      is_required: true
                      options:
                        - value: employment
                          label:
                            en: Employment
                        - value: business
                          label:
                            en: Business
                        - value: investments
                          label:
                            en: Investments
                        - value: other
                          label:
                            en: Other
      responses:
        '201':
          description: >-
            प्रश्नावली बनाई गई। रिस्पॉन्स में `questionnaire_id` शामिल है —
            वर्कफ़्लो या भविष्य के अपडेट/डिलीट कॉल से इस प्रश्नावली को संदर्भित
            करने के लिए इसे संग्रहीत करें।
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/QuestionnaireDetail'
              examples:
                Created:
                  value:
                    questionnaire_id: 11111111-2222-3333-4444-555555555555
                    title: Customer Onboarding
                    description: Additional information needed for verification
                    languages:
                      - en
                    default_language: en
                    is_active: true
                    is_simple_questionnaire: true
                    graph:
                      start_node: occupation
                      nodes:
                        occupation:
                          element_type: SHORT_TEXT
                          is_required: true
                          title:
                            en: What is your occupation?
                          next: source_of_funds
                        source_of_funds:
                          element_type: MULTIPLE_CHOICE
                          is_required: true
                          title:
                            en: Source of funds
                          choices:
                            - value: employment
                              label:
                                en: Employment
                            - value: business
                              label:
                                en: Business
                          next: null
                    sections: []
                    questionnaire_group_id: 11111111-2222-3333-4444-555555555555
                    version: 1
                    status: published
                    published_at: '2026-04-23T10:00:00Z'
                    is_editable: false
        '400':
          description: >-
            सत्यापन त्रुटि। सामान्य कारण: एक अज्ञात `element_type`, अनुवाद योग्य
            फ़ील्ड में `languages` में से किसी एक के लिए अनुवाद का न होना,
            `languages` में `en` का न होना, `default_language` का `languages`
            में न होना, बिना `label` का विकल्प, ऐसा प्रश्न जिसमें
            `branches`/`required_if`/`repeatable_config` हों (इस endpoint द्वारा
            समर्थित नहीं), या `form_elements` के बजाय रॉ `graph` भेजना। बॉडी
            फ़ील्ड नाम के अनुसार व्यवस्थित एक DRF सत्यापन त्रुटि है।
          content:
            application/json:
              examples:
                Graph not accepted:
                  value:
                    graph: >-
                      The v3 questionnaire API only accepts simple
                      `form_elements`, not `graph`.
                Missing label:
                  value:
                    form_elements:
                      - label:
                          - This field is required.
        '403':
          description: >-
            API कुंजी अनुपलब्ध, विकृत, समाप्त हो चुकी है, या किसी भिन्न
            एप्लिकेशन के लिए स्कोप की गई है।
          content:
            application/json:
              examples:
                Invalid token:
                  value:
                    detail: You do not have permission to perform this action.
        '415':
          description: >-
            असमर्थित मीडिया प्रकार। `Content-Type: application/json` सेट करें और
            JSON बॉडी भेजें।
        '429':
          description: रेट लिमिट पार हो गई। घातीय बैकऑफ़ के साथ पुनः प्रयास करें।
        '500':
          description: >-
            प्रश्नावली बनाते समय अप्रत्याशित सर्वर त्रुटि। पुनः प्रयास करना
            सुरक्षित है।
      security:
        - ApiKeyAuth: []
      x-codeSamples:
        - lang: curl
          label: cURL
          source: |-
            curl -X POST 'https://verification.didit.me/v3/questionnaires/' \
              -H 'x-api-key: YOUR_API_KEY' \
              -H 'Content-Type: application/json' \
              -d '{
                "title": "Customer Onboarding",
                "default_language": "en",
                "languages": ["en"],
                "form_elements": [
                  {
                    "id": "occupation",
                    "element_type": "short_text",
                    "label": {"en": "What is your occupation?"},
                    "is_required": true
                  }
                ]
              }'
        - lang: python
          label: Python
          source: |-
            from didit import Didit

            # Reads DIDIT_API_KEY.
            client = Didit()

            result = client.questionnaires.create(
                title="Customer Onboarding",
                description="Additional information needed for verification",
                languages=["en"],
                default_language="en",
                is_active=True,
                form_elements=[{
                    "id": "occupation",
                    "element_type": "short_text",
                    "label": {"en": "What is your occupation?"},
                    "placeholder": {"en": "Software engineer"},
                    "is_required": True,
                }, {
                    "id": "source_of_funds",
                    "element_type": "multiple_choice",
                    "label": {"en": "Source of funds"},
                    "is_required": True,
                    "options": [{
                        "value": "employment",
                        "label": {"en": "Employment"},
                    }, {
                        "value": "business",
                        "label": {"en": "Business"},
                    }, {
                        "value": "investments",
                        "label": {"en": "Investments"},
                    }, {
                        "value": "other",
                        "label": {"en": "Other"},
                    }],
                }],
            )
            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.questionnaires.create({
              title: "Customer Onboarding",
              description: "Additional information needed for verification",
              languages: ["en"],
              default_language: "en",
              is_active: true,
              form_elements: [{
                id: "occupation",
                element_type: "short_text",
                label: { en: "What is your occupation?" },
                placeholder: { en: "Software engineer" },
                is_required: true,
              }, {
                id: "source_of_funds",
                element_type: "multiple_choice",
                label: { en: "Source of funds" },
                is_required: true,
                options: [{
                  value: "employment",
                  label: { en: "Employment" },
                }, {
                  value: "business",
                  label: { en: "Business" },
                }, {
                  value: "investments",
                  label: { en: "Investments" },
                }, {
                  value: "other",
                  label: { en: "Other" },
                }],
              }],
            });
            console.log(result);
        - lang: go
          label: Go
          source: "ctx := context.Background()\n// Reads DIDIT_API_KEY.\nclient := didit.NewClient()\n\nresult, err := client.Questionnaires.Create(ctx, didit.SimpleQuestionnaireRequest{\n\tTitle:           \"Customer Onboarding\",\n\tDescription:     didit.String(\"Additional information needed for verification\"),\n\tLanguages:       []string{\"en\"},\n\tDefaultLanguage: didit.String(\"en\"),\n\tIsActive:        didit.Bool(true),\n\tFormElements: []didit.SimpleQuestionnaireElement{{\n\t\tID:          didit.String(\"occupation\"),\n\t\tElementType: \"short_text\",\n\t\tLabel:       map[string]string{\"en\": \"What is your occupation?\"},\n\t\tPlaceholder: didit.Some(map[string]string{\"en\": \"Software engineer\"}),\n\t\tIsRequired:  didit.Bool(true),\n\t}, {\n\t\tID:          didit.String(\"source_of_funds\"),\n\t\tElementType: \"multiple_choice\",\n\t\tLabel:       map[string]string{\"en\": \"Source of funds\"},\n\t\tIsRequired:  didit.Bool(true),\n\t\tOptions: didit.Some([]didit.SimpleQuestionnaireElementOptions{{\n\t\t\tValue: didit.String(\"employment\"),\n\t\t\tLabel: map[string]string{\"en\": \"Employment\"},\n\t\t}, {\n\t\t\tValue: didit.String(\"business\"),\n\t\t\tLabel: map[string]string{\"en\": \"Business\"},\n\t\t}, {\n\t\t\tValue: didit.String(\"investments\"),\n\t\t\tLabel: map[string]string{\"en\": \"Investments\"},\n\t\t}, {\n\t\t\tValue: didit.String(\"other\"),\n\t\t\tLabel: map[string]string{\"en\": \"Other\"},\n\t\t}}),\n\t}},\n})\nif err != nil {\n\tlog.Fatal(err)\n}\nfmt.Printf(\"%+v\\n\", result)"
        - lang: java
          label: Java
          source: >-
            import java.util.List;

            import java.util.Map;

            import me.didit.Didit;

            import me.didit.types.SimpleQuestionnaireElement;

            import me.didit.types.SimpleQuestionnaireRequest;


            // Reads DIDIT_API_KEY.

            Didit client = new Didit();


            var result =
            client.questionnaires().create(SimpleQuestionnaireRequest.builder()
                    .title("Customer Onboarding")
                    .description("Additional information needed for verification")
                    .languages(List.of("en"))
                    .defaultLanguage("en")
                    .isActive(true)
                    .formElements(List.of(
                            SimpleQuestionnaireElement.builder()
                                    .id("occupation")
                                    .elementType(SimpleQuestionnaireElement.ElementType.of("short_text"))
                                    .label(Map.of("en", "What is your occupation?"))
                                    .placeholder(Map.of("en", "Software engineer"))
                                    .isRequired(true)
                                    .build(),
                            SimpleQuestionnaireElement.builder()
                                    .id("source_of_funds")
                                    .elementType(SimpleQuestionnaireElement.ElementType.of("multiple_choice"))
                                    .label(Map.of("en", "Source of funds"))
                                    .isRequired(true)
                                    .options(List.of(
                                            SimpleQuestionnaireElement.Options.builder()
                                                    .value("employment")
                                                    .label(Map.of("en", "Employment"))
                                                    .build(),
                                            SimpleQuestionnaireElement.Options.builder()
                                                    .value("business")
                                                    .label(Map.of("en", "Business"))
                                                    .build(),
                                            SimpleQuestionnaireElement.Options.builder()
                                                    .value("investments")
                                                    .label(Map.of("en", "Investments"))
                                                    .build(),
                                            SimpleQuestionnaireElement.Options.builder()
                                                    .value("other")
                                                    .label(Map.of("en", "Other"))
                                                    .build()))
                                    .build()))
                    .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->questionnaires->create([
                'title' => 'Customer Onboarding',
                'description' => 'Additional information needed for verification',
                'languages' => ['en'],
                'default_language' => 'en',
                'is_active' => true,
                'form_elements' => [[
                    'id' => 'occupation',
                    'element_type' => 'short_text',
                    'label' => ['en' => 'What is your occupation?'],
                    'placeholder' => ['en' => 'Software engineer'],
                    'is_required' => true,
                ], [
                    'id' => 'source_of_funds',
                    'element_type' => 'multiple_choice',
                    'label' => ['en' => 'Source of funds'],
                    'is_required' => true,
                    'options' => [[
                        'value' => 'employment',
                        'label' => ['en' => 'Employment'],
                    ], [
                        'value' => 'business',
                        'label' => ['en' => 'Business'],
                    ], [
                        'value' => 'investments',
                        'label' => ['en' => 'Investments'],
                    ], [
                        'value' => 'other',
                        'label' => ['en' => 'Other'],
                    ]],
                ]],
            ]);
            print_r($result->toArray());
        - lang: ruby
          label: Ruby
          source: |-
            require "didit"

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

            result = didit.questionnaires.create(
              title: "Customer Onboarding",
              description: "Additional information needed for verification",
              languages: ["en"],
              default_language: "en",
              is_active: true,
              form_elements: [{
                id: "occupation",
                element_type: "short_text",
                label: { en: "What is your occupation?" },
                placeholder: { en: "Software engineer" },
                is_required: true,
              }, {
                id: "source_of_funds",
                element_type: "multiple_choice",
                label: { en: "Source of funds" },
                is_required: true,
                options: [{
                  value: "employment",
                  label: { en: "Employment" },
                }, {
                  value: "business",
                  label: { en: "Business" },
                }, {
                  value: "investments",
                  label: { en: "Investments" },
                }, {
                  value: "other",
                  label: { en: "Other" },
                }],
              }]
            )
            puts result.to_h
        - lang: csharp
          label: .NET
          source: >-
            using System;

            using System.Collections.Generic;

            using System.Text.Json;

            using Didit;


            // Reads DIDIT_API_KEY.

            using var client = new DiditClient();


            var result = await client.Questionnaires.CreateAsync(new
            SimpleQuestionnaireRequest

            {
                Title = "Customer Onboarding",
                Description = "Additional information needed for verification",
                Languages = new string[] { "en" },
                DefaultLanguage = "en",
                IsActive = true,
                FormElements = new SimpleQuestionnaireElement[]
                {
                    new()
                    {
                        Id = "occupation",
                        ElementType = "short_text",
                        Label = new Dictionary<string, string> { ["en"] = "What is your occupation?" },
                        Placeholder = new Dictionary<string, string> { ["en"] = "Software engineer" },
                        IsRequired = true,
                    },
                    new()
                    {
                        Id = "source_of_funds",
                        ElementType = "multiple_choice",
                        Label = new Dictionary<string, string> { ["en"] = "Source of funds" },
                        IsRequired = true,
                        Options = new SimpleQuestionnaireElementOptions[]
                        {
                            new()
                            {
                                Value = "employment",
                                Label = new Dictionary<string, string> { ["en"] = "Employment" },
                            },
                            new()
                            {
                                Value = "business",
                                Label = new Dictionary<string, string> { ["en"] = "Business" },
                            },
                            new()
                            {
                                Value = "investments",
                                Label = new Dictionary<string, string> { ["en"] = "Investments" },
                            },
                            new()
                            {
                                Value = "other",
                                Label = new Dictionary<string, string> { ["en"] = "Other" },
                            },
                        },
                    },
                },
            });

            Console.WriteLine(JsonSerializer.Serialize(result));
components:
  schemas:
    SimpleQuestionnaireRequest:
      type: object
      description: >-
        एक सरल रैखिक प्रश्नावली बनाएँ। API `form_elements` को आंतरिक प्रश्नावली
        ग्राफ़ में बदल देता है।
      required:
        - title
        - languages
        - form_elements
      properties:
        title:
          type: string
          description: प्रश्नावली के लिए आंतरिक नाम।
        description:
          type: string
          nullable: true
        languages:
          type: array
          description: प्रत्येक लेबल में शामिल भाषाएँ। इसमें `en` शामिल होना चाहिए।
          items:
            type: string
          example:
            - en
        default_language:
          type: string
          description: डिफ़ॉल्ट भाषा। `languages` में शामिल होनी चाहिए।
          example: en
        is_active:
          type: boolean
          default: true
        status:
          type: string
          enum:
            - draft
            - published
          description: >-
            वर्कफ़्लो के लिए तैयार एक प्रकाशित प्रश्नावली बनाने के लिए इस फ़ील्ड
            को छोड़ दें।
        form_elements:
          type: array
          minItems: 1
          description: >-
            प्रश्न उसी सटीक क्रम में होने चाहिए जिस क्रम में उपयोगकर्ताओं को
            उन्हें देखना चाहिए। ब्रांचिंग और सशर्त फ़ील्ड समर्थित नहीं हैं।
          items:
            $ref: '#/components/schemas/SimpleQuestionnaireElement'
    QuestionnaireDetail:
      type: object
      description: >-
        GET, POST (बनाएँ) और PATCH (अपडेट करें) endpoint से लौटाया गया पूर्ण
        प्रश्नावली विवरण।
      properties:
        questionnaire_id:
          type: string
          format: uuid
          description: >-
            प्रश्नावली का विशिष्ट पहचानकर्ता। वर्कफ़्लो से या बाद के अपडेट/डिलीट
            अनुरोधों में प्रश्नावली का संदर्भ देते समय इस id का उपयोग करें।
        title:
          type: string
        description:
          type: string
          nullable: true
        languages:
          type: array
          items:
            type: string
        default_language:
          type: string
        is_active:
          type: boolean
        is_simple_questionnaire:
          type: boolean
        graph:
          type: object
          description: start_node और nodes मैप के साथ ग्राफ़ संरचना।
        sections:
          type: array
          description: अनुभागों में समूहीकृत प्रश्नावली सामग्री (ग्राफ़ से प्राप्त)।
          items:
            type: object
        questionnaire_group_id:
          type: string
          format: uuid
          description: >-
            स्थिर पहचानकर्ता जो एक ही प्रश्नावली के सभी संस्करणों को समूहित करता
            है।
        version:
          type: integer
        status:
          type: string
          enum:
            - draft
            - published
        published_at:
          type: string
          format: date-time
          nullable: true
        is_editable:
          type: boolean
          description: >-
            True जब प्रश्नावली को अभी भी उसी स्थान पर संपादित किया जा सकता है
            (ड्राफ़्ट संस्करण)।
    SimpleQuestionnaireElement:
      type: object
      required:
        - element_type
        - label
      properties:
        id:
          type: string
          description: >-
            वैकल्पिक स्थिर प्रश्न id। यदि छोड़ दिया जाता है, तो API `q1`, `q2`,
            आदि जनरेट करता है। पठनीयता के लिए लोअरकेस अक्षरों, संख्याओं और
            अंडरस्कोर का उपयोग करें।
          example: source_of_funds
        element_type:
          type: string
          description: >-
            प्रश्न प्रकार। API इन लोअरकेस मानों और उनके अपरकेस समकक्षों को
            स्वीकार करता है।
          enum:
            - short_text
            - long_text
            - dropdown
            - single_choice
            - multiple_choice
            - number
            - image
            - file_upload
            - time
            - email
            - address
            - phone
            - country
            - date_picker
            - consent
            - section_header
            - separator
            - heading
            - paragraph
        label:
          type: object
          description: >-
            भाषा कोड के अनुसार प्रश्न लेबल, उदाहरण के लिए `{ "en": "Source of
            funds" }`।
          additionalProperties:
            type: string
        description:
          type: object
          nullable: true
          additionalProperties:
            type: string
        placeholder:
          type: object
          nullable: true
          additionalProperties:
            type: string
        is_required:
          type: boolean
          default: false
        options:
          type: array
          description: >-
            `dropdown`, `single_choice`, और `multiple_choice` के लिए उपयोग करें।
            यदि `value` छोड़ दिया जाता है, तो API विकल्प लेबल से एक जनरेट करता
            है।
          items:
            type: object
            required:
              - label
            properties:
              value:
                type: string
              label:
                type: object
                additionalProperties:
                  type: string
        max_files:
          type: integer
          minimum: 1
          maximum: 5
          description: '`file_upload` या `image` के साथ उपयोग करें।'
        validation:
          type: object
          nullable: true
          description: >-
            `short_text`, `long_text`, या `number` के लिए वैकल्पिक प्रारूप
            सत्यापन। जब उपयोगकर्ता फ़ील्ड भरता है तब लागू किया जाता है (वे तब तक
            आगे नहीं बढ़ सकते जब तक यह मान्य न हो जाए) और सबमिशन पर API द्वारा
            पुनः जाँचा जाता है।
          properties:
            pattern:
              type: string
              description: >-
                रेगुलर एक्सप्रेशन (ECMA-262 सबसेट) जिससे मान पूरी तरह मेल खाना
                चाहिए। `short_text` और `long_text` के लिए। ^/$ एंकर न जोड़ें;
                पूरे मान का मिलान किया जाता है।
            min_length:
              type: integer
              minimum: 0
              description: वर्णों की न्यूनतम संख्या। `short_text` और `long_text` के लिए।
            max_length:
              type: integer
              minimum: 0
              description: वर्णों की अधिकतम संख्या। `short_text` और `long_text` के लिए।
            min:
              type: number
              description: न्यूनतम संख्यात्मक मान। `number` के लिए।
            max:
              type: number
              description: अधिकतम संख्यात्मक मान। `number` के लिए।
            error_message:
              type: object
              description: >-
                सत्यापन विफल होने पर दिखाया जाने वाला अनुवादित संदेश, भाषा कोड
                द्वारा कुंजीबद्ध।
              additionalProperties:
                type: string
  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.