> ## 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 الكاملة: الأسئلة مرتبة والخيارات والتسميات بعدة لغات. إدارة نماذج الامتثال برمجياً، بالدفع لكل استدعاء.



موجّه API للحصول على الاستبيان
        نسخ الموجّه إلى الحافظة



      
      

\<pre>

\`Fetch the full configuration of a single Didit questionnaire through the Management API.

Endpoint:
GET https://verification.didit.me/v3/questionnaires/{questionnaire_uuid}/

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

Goal:
\- Retrieve the questionnaire definition (form_elements, languages, translations, internal graph) so I can render a preview, debug a session, or audit changes.

Path parameter:
\- questionnaire_uuid — the per-version questionnaire UUID returned by GET /v3/questionnaires/ or POST /v3/questionnaires/. Each version has its own primary key; questionnaire_group_id is the stable id shared by every version.

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

What to read from the response:
\- title — internal questionnaire name.
\- languages and default_language — supported locales for translations.
\- form_elements — ordered question definitions including element_type, label, options, is_required.
\- graph — internal graph built from form_elements (do not edit manually; use the simple form_elements shape on PATCH).
\- status — "draft" or "published"; only drafts are editable.

Failure modes:
\- 401 — missing or malformed x-api-key.
\- 403 — canonical { "detail": "You do not have permission to perform this action." } envelope when the questionnaire belongs to a different application than the API key.
\- 404 — questionnaire not found in this application.

Side effects: none. This is a pure read.

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

\</pre>



      
      

الصق في



## OpenAPI

````yaml ar/openapi-25.json GET /v3/questionnaires/{questionnaire_uuid}/
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/{questionnaire_uuid}/:
    get:
      tags:
        - Questionnaires
      summary: الحصول على الاستبيان
      description: >-
        جلب التفاصيل الكاملة للاستبيان لإصدار واحد عبر `questionnaire_uuid`:
        العنوان، و`languages`، و`graph` المتعارف عليه، و`sections` المشتقة،
        وبيانات تعريف الإصدار.
      operationId: get_questionnaire
      parameters:
        - name: questionnaire_uuid
          in: path
          required: true
          schema:
            type: string
            format: uuid
          description: >-
            معرف UUID لكل إصدار من الاستبيان (قيمة `uuid` التي يرجعها endpoint
            القائمة، ويُرجع أيضاً كـ `questionnaire_id` في endpoint التفاصيل).
      responses:
        '200':
          description: >-
            تفاصيل الاستبيان الكاملة بما في ذلك `graph` القياسي، وعرض `sections`
            المشتق، والبيانات الوصفية للإصدار، وحقل `is_editable`.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/QuestionnaireDetail'
              examples:
                Published questionnaire:
                  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:
                      - title: {}
                        description: {}
                        items:
                          - uuid: 11111111-2222-3333-4444-666666666666
                            value: occupation
                            element_type: SHORT_TEXT
                            is_required: true
                            title:
                              en: What is your occupation?
                    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.
        '404':
          description: >-
            لا يوجد استبيان بهذا الـ `questionnaire_uuid` للتطبيق المُصادَق
            عليه. إما أن معرّف UUID غير صحيح أو أنه يتبع تطبيقاً آخر — لا تميز
            واجهة API عمداً بين الحالتين.
          content:
            application/json:
              examples:
                Not found:
                  value:
                    detail: Not found.
        '429':
          description: تم تجاوز حد المعدل. أعد المحاولة مع تراجع أسي.
        '500':
          description: خطأ غير متوقع في الخادم. يمكن إعادة المحاولة بأمان.
      security:
        - ApiKeyAuth: []
      x-codeSamples:
        - lang: curl
          label: cURL
          source: >-
            curl -X GET
            'https://verification.didit.me/v3/questionnaires/11111111-2222-3333-4444-555555555555/'
            \
              -H 'x-api-key: YOUR_API_KEY'
        - lang: python
          label: Python
          source: |-
            from didit import Didit

            # Reads DIDIT_API_KEY.
            client = Didit()

            result = client.questionnaires.retrieve(
                "11111111-2222-3333-4444-555555555555",
            )
            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.retrieve("11111111-2222-3333-4444-555555555555");

            console.log(result);
        - lang: go
          label: Go
          source: "ctx := context.Background()\n// Reads DIDIT_API_KEY.\nclient := didit.NewClient()\n\nresult, err := client.Questionnaires.Retrieve(ctx, \"11111111-2222-3333-4444-555555555555\")\nif err != nil {\n\tlog.Fatal(err)\n}\nfmt.Printf(\"%+v\\n\", result)"
        - lang: java
          label: Java
          source: >-
            import me.didit.Didit;


            // Reads DIDIT_API_KEY.

            Didit client = new Didit();


            var result =
            client.questionnaires().retrieve("11111111-2222-3333-4444-555555555555");

            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->retrieve('11111111-2222-3333-4444-555555555555');

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


            # Reads DIDIT_API_KEY.

            didit = Didit::Client.new


            result =
            didit.questionnaires.retrieve("11111111-2222-3333-4444-555555555555")

            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.Questionnaires.RetrieveAsync("11111111-2222-3333-4444-555555555555");

            Console.WriteLine(JsonSerializer.Serialize(result));
components:
  schemas:
    QuestionnaireDetail:
      type: object
      description: >-
        تفاصيل الاستبيان الكاملة المرجعة من endpoint الخاصة بـ GET وPOST (إنشاء)
        وPATCH (تحديث).
      properties:
        questionnaire_id:
          type: string
          format: uuid
          description: >-
            المعرّف الفريد للاستبيان. استخدم هذا المعرّف عند الإشارة إلى
            الاستبيان من سير العمل أو في طلبات التحديث/الحذف اللاحقة.
        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 وخريطة العقد.
        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 عندما يكون من الممكن تعديل الاستبيان مباشرة في
            مكانه (إصدارات المسودة).
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: >-
        مفتاح API الخاص بتطبيقك، من Developers -> API keys في Business Console.
        يمتلك المفتاح الأساسي وصولاً كاملاً. يمكن تحديد نطاق المفتاح المسمى: لا
        شيء، أو قراءة، أو كتابة لكل مورد، ومحدوداً ببعض مسارات العمل أو بالجلسات
        المقبولة، وبقائمة من عناوين IP، وبتاريخ انتهاء الصلاحية. يشير 401 إلى أن
        المفتاح غير صحيح أو ملغى أو منتهي الصلاحية؛ ويشير 403 إلى أنه لم يتم
        إرسال أي مفتاح، أو أن المفتاح ليس لديه حق الوصول إلى هذا المورد أو
        الإجراء، أو أن الطلب جاء من عنوان خارج قائمة عناوين IP الخاصة به؛ ويشير
        404 في مسار جلسة إلى أن الجلسة خارج مسارات العمل أو الحالات الخاصة
        بالمفتاح. يتلقى المفتاح الذي لا يمتلك حق الوصول إلى الوسائط عناوين URL
        للصور ومقاطع الفيديو وملفات PDF كـ null، ويتلقى المفتاح الذي لا يمتلك
        إذن كتابة للجلسات روابط الجلسة وtoken كـ null. راجع
        https://docs.didit.me/console/api-keys.

````

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