> ## 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 प्रश्नावलियाँ और अनुपालन फ़ॉर्म एक ही कॉल में पाएँ। कस्टम KYC फ़ॉर्म का प्रोग्रामैटिक प्रबंधन, प्रति कॉल भुगतान।



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



      
      

\<pre>

\`List every Didit questionnaire (custom form) defined for my application through the Management API.

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

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

Goal:
\- Retrieve every questionnaire so I can render a picker in my back-office, sync ids into my config, or discover the questionnaire_id of a form created in the Console.
\- Use the returned questionnaire_id later as config.questionnaire_uuid on a QUESTIONNAIRE feature in a workflow (see POST /v3/workflows/).

Behavior:
\- Results are returned newest first (-created_at). The endpoint does not paginate today — all rows are returned in one response.
\- Each row is one version of a questionnaire group. questionnaire_group_id is the stable identifier shared by every version; version is the integer version number; status is "draft" or "published".
\- Workflows that reference a questionnaire group_id always resolve to the latest published version automatically.
\- is_editable: true means this row is a draft and can still be patched in place via PATCH /v3/questionnaires/{questionnaire_uuid}/.
\- question_types is an aggregated array of the form-element types present in each questionnaire (excluding section headers and separators) so you can label cards in the UI without a follow-up call.

Example call:
curl -X GET "https://verification.didit.me/v3/questionnaires/" \
-H "x-api-key: YOUR_API_KEY"

What to read from the response:
\- uuid — per-version questionnaire id, used as path id in GET / PATCH / DELETE /v3/questionnaires/{questionnaire_uuid}/.
\- questionnaire_id / questionnaire_group_id — pass as config.questionnaire_uuid when attaching the questionnaire to a workflow.

Failure modes:
\- 401 — missing or malformed x-api-key.
\- 403 — canonical { "detail": "You do not have permission to perform this action." } envelope when the API key cannot list questionnaires for this application.
\- 429 — rate limited; back off and retry.

Side effects: none. This is a pure read.

For the full integration shape, see /integration/integration-prompt.`

\</pre>



      
      

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



## OpenAPI

````yaml hi/openapi-25.json GET /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/:
    get:
      tags:
        - Questionnaires
      summary: प्रश्नावलियाँ सूचीबद्ध करें
      description: >-
        अपनी प्रश्नावलियों को सबसे नए पहले क्रम में, limit/offset पेजिनेशन
        एन्वेलप (`{count, next, previous, results}`, डिफ़ॉल्ट पेज आकार 50) में
        सूचीबद्ध करें। प्रत्येक पंक्ति एक संस्करण है; `questionnaire_group_id`
        नवीनतम `published` संस्करण पर रीज़ॉल्व की गई स्थिर समूह ID है।
      operationId: list_questionnaires
      parameters:
        - name: limit
          in: query
          required: false
          schema:
            type: integer
            default: 50
          description: पेज का आकार (प्रति पेज प्रश्नावलियों की संख्या)।
        - name: offset
          in: query
          required: false
          schema:
            type: integer
            default: 0
          description: >-
            पहली लौटाई गई प्रश्नावली से पहले छोड़ी जाने वाली पंक्तियों की
            संख्या।
      responses:
        '200':
          description: >-
            `created_at` के अवरोही क्रम में व्यवस्थित प्रश्नावलियों का एक पेज,
            जो पेजिनेशन एनवलप में रैप किया गया है। `results` में प्रत्येक आइटम
            एक `QuestionnaireListItem` है।
          content:
            application/json:
              schema:
                type: object
                properties:
                  count:
                    type: integer
                    description: एप्लिकेशन के लिए प्रश्नावली संस्करणों की कुल संख्या।
                  next:
                    type: string
                    format: uri
                    nullable: true
                    description: अगले पेज का URL, या अंतिम पेज पर `null`।
                  previous:
                    type: string
                    format: uri
                    nullable: true
                    description: पिछले पेज का URL, या पहले पेज पर `null`।
                  results:
                    type: array
                    items:
                      $ref: '#/components/schemas/QuestionnaireListItem'
              examples:
                One questionnaire:
                  summary: एक सरल द्विभाषी प्रश्नावली
                  value:
                    count: 1
                    next: null
                    previous: null
                    results:
                      - uuid: 11111111-2222-3333-4444-555555555555
                        title: KYC Questionnaire
                        description: Additional verification questions
                        languages:
                          - en
                          - es
                        default_language: en
                        is_active: true
                        is_simple_questionnaire: true
                        created_at: '2026-04-23T09:55:00Z'
                        updated_at: '2026-04-23T10:00:00Z'
                        question_types:
                          - SHORT_TEXT
                          - MULTIPLE_CHOICE
                          - FILE_UPLOAD
                        workflow_names: []
                        questionnaire_group_id: 11111111-2222-3333-4444-555555555555
                        version: 1
                        status: published
                        published_at: '2026-04-23T10:00:00Z'
                        is_editable: false
        '403':
          description: >-
            API कुंजी अनुपलब्ध, विकृत, समाप्त हो चुकी है, या किसी भिन्न
            एप्लिकेशन के लिए स्कोप की गई है।
          content:
            application/json:
              examples:
                Invalid token:
                  value:
                    detail: You do not have permission to perform this action.
        '429':
          description: रेट लिमिट पार हो गई। घातीय बैकऑफ़ के साथ पुनः प्रयास करें।
        '500':
          description: >-
            सूची बनाते समय अप्रत्याशित सर्वर त्रुटि। पुनः प्रयास करना सुरक्षित
            है।
      security:
        - ApiKeyAuth: []
      x-codeSamples:
        - lang: curl
          label: cURL
          source: |-
            curl -X GET 'https://verification.didit.me/v3/questionnaires/' \
              -H 'x-api-key: YOUR_API_KEY'
        - lang: python
          label: Python
          source: |-
            from didit import Didit

            # Reads DIDIT_API_KEY.
            client = Didit()

            for item in client.questionnaires.list():
                print(item)
        - lang: javascript
          label: Node.js
          source: |-
            import Didit from "@didit-protocol/sdk-node";

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

            for await (const item of didit.questionnaires.list()) {
              console.log(item);
            }
        - lang: go
          label: Go
          source: "ctx := context.Background()\n// Reads DIDIT_API_KEY.\nclient := didit.NewClient()\n\niter := client.Questionnaires.ListAutoPaging(ctx, didit.QuestionnairesListParams{})\nfor iter.Next() {\n\tfmt.Printf(\"%+v\\n\", iter.Current())\n}\nif err := iter.Err(); err != nil {\n\tlog.Fatal(err)\n}"
        - lang: java
          label: Java
          source: |-
            import me.didit.Didit;

            // Reads DIDIT_API_KEY.
            Didit client = new Didit();

            for (var item : client.questionnaires().list()) {
                System.out.println(item);
            }
        - lang: php
          label: PHP
          source: |-
            <?php

            require 'vendor/autoload.php';

            use Didit\DiditClient;

            // Reads DIDIT_API_KEY.
            $didit = new DiditClient();

            foreach ($didit->questionnaires->list() as $item) {
                print_r($item->toArray());
            }
        - lang: ruby
          label: Ruby
          source: |-
            require "didit"

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

            didit.questionnaires.list.auto_paging_each do |item|
              puts item.to_h
            end
        - lang: csharp
          label: .NET
          source: |-
            using System;
            using System.Text.Json;
            using Didit;

            // Reads DIDIT_API_KEY.
            using var client = new DiditClient();

            await foreach (var item in await client.Questionnaires.ListAsync())
            {
                Console.WriteLine(JsonSerializer.Serialize(item));
            }
components:
  schemas:
    QuestionnaireListItem:
      type: object
      description: सूची दृश्य में एक प्रश्नावली संस्करण।
      properties:
        uuid:
          type: string
          format: uuid
          description: >-
            प्रति-संस्करण UUID। get/update/delete के लिए `{questionnaire_uuid}`
            के रूप में और वर्कफ़्लो के QUESTIONNAIRE सुविधा कॉन्फ़िगरेशन में
            `questionnaire_uuid` के रूप में उपयोग करें।
        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
          description: >-
            इस API के माध्यम से बनाई गई रैखिक प्रश्नावलियों के लिए True; Console
            में निर्मित ग्राफ़-आधारित प्रश्नावलियों के लिए false।
        created_at:
          type: string
          format: date-time
        updated_at:
          type: string
          format: date-time
        question_types:
          type: array
          items:
            type: string
          description: >-
            उत्तर देने योग्य प्रश्नों के अपरकेस एलिमेंट प्रकार, निर्माण क्रम में
            (उदा. `SHORT_TEXT`, `MULTIPLE_CHOICE`, `FILE_UPLOAD`)। संरचनात्मक
            `SECTION_HEADER` और `SEPARATOR` एलिमेंट शामिल नहीं हैं। प्रति प्रश्न
            एक प्रविष्टि, इसलिए मान दोहराए जा सकते हैं।
        workflow_names:
          type: array
          items:
            type: string
          description: >-
            इस प्रश्नावली का उपयोग करने वाले वर्कफ़्लोज़ के नाम। वर्तमान में इस
            endpoint पर हमेशा `[]` (केवल Console लिस्टिंग में पॉप्युलेट किया
            गया)।
        questionnaire_group_id:
          type: string
          format: uuid
          description: >-
            स्थिर पहचानकर्ता जो एक ही प्रश्नावली के सभी संस्करणों को समूहित करता
            है।
        version:
          type: integer
          description: समूह के भीतर संस्करण संख्या, 1 से शुरू होती है।
        status:
          type: string
          enum:
            - draft
            - published
        published_at:
          type: string
          format: date-time
          nullable: true
          description: यह संस्करण कब प्रकाशित हुआ था। ड्राफ़्ट के लिए `null`।
        is_editable:
          type: boolean
          description: सही जब यह संस्करण एक `draft` होता है।
  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.