> ## 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 の質問票作成APIで、順序付きの質問と選択肢、48+言語の翻訳を備えたカスタムKYC・コンプライアンス質問票をプログラムで作成できます。料金は呼び出しごとの従量課金です。



アンケート作成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経由でシンプルなアンケートを作成できます。ユーザーに回答してほしい順序で質問を並べた`form_elements`配列を送信してください。内部のアンケートグラフはDiditが自動で構築します。APIがサポートするのは、分岐のないシンプルなアンケートのみです。`graph`、`branches`、`next`、または条件付きルールは送信しないでください。## 必須フィールド- `title`はアンケートの内部名です。
- `languages`には`en`を含める必要があります。
- `form_elements`には少なくとも1つの質問を含める必要があります。
- 各フォーム要素には`element_type`と翻訳済みの`label`が必要です。フォーム要素には、ヘルプテキストとして任意で翻訳済みの`description`を追加することもできます。これは`separator`を除くすべての要素タイプで受け付けられ、[アンケートレポート](https://docs.didit.me/ja/core-technology/questionnaires/report-questionnaire.md)では項目の`description`として返されます。## 要素タイプ`short_text`、`multiple_choice`、`email`、`file_upload`、`date_picker`などの小文字の値を使用してください。`SHORT_TEXT`のような大文字のenum値も受け付けられます。`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`オブジェクトを追加して、ユーザーの回答の形式を制限できます。これは、納税者番号、国民ID、カード番号など、形式が厳格に決まっている識別子に便利です。検証はユーザーがフィールドに入力している間に実行されます（検証に通るまでユーザーは先に進めません）。また、送信時には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 ja/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`を持つ質問（このエンドポイントでは未対応）、または`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（更新）の各エンドポイントから返されるアンケートの完全な詳細。
      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で取得できます。プライマリキーはフルアクセス権を持ちます。名前付きキーにはスコープを設定できます。リソースごとのアクセス権（なし、読み取り、書き込み）、一部のワークフローまたは承認済みセッションへの限定、IPアドレスのリストへの限定、有効期限の設定です。401は、キーが誤っている、失効している、または期限切れであることを意味します。403は、キーが送信されていない、キーにこのリソースやアクションへのアクセス権がない、またはIPリスト外のアドレスからリクエストが送信されたことを意味します。セッションのルートでの404は、セッションがキーのワークフローまたはステータスの対象外であることを意味します。メディアへのアクセス権がないキーでは、画像、動画、PDFのURLがnullで返されます。セッションの書き込み権限がないキーでは、セッションのリンクとトークンがnullで返されます。詳細は次を参照してください:
        https://docs.didit.me/console/api-keys

````

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