> ## 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 ko/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입니다. 조회/업데이트/삭제 시 `{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이고, 콘솔에서 빌드된 그래프 기반 설문지인 경우 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`인 경우 true입니다.
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: >-
        Business Console의 Developers -> API keys에서 발급받은 귀하 애플리케이션의 API 키입니다. 기본
        키는 전체 접근 권한을 갖습니다. 이름이 지정된 키는 리소스별 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.