> ## 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・KYBセッションの絞り込み

> DiditのGET /v3/sessions/で認証セッションを一覧取得できます。種類、ステータス、ワークフロー、vendor dataで絞り込み可能です。KYCとKYBを統合したAPIで、従量課金制です。



セッション一覧取得プロンプト
        プロンプトをクリップボードにコピー



      
      

\<pre>

\`List Didit verification sessions for your application with filters and pagination.

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

Authentication:
Use the x-api-key header with your Didit API key. The key must hold read:sessions.

Query parameters:
\- session_kind ("user" | "business" | "all", default "user") — chooses which kind to list. "user" returns only KYC sessions (backward-compatible default). "business" returns only KYB. "all" concatenates both (KYB rows are appended; not interleaved by timestamp).
\- vendor_data (string) — exact match on your stable identifier.
\- didit_internal_id (UUID) — matches vendor_user_id.
\- status (one or more, comma-separated) — Approved, Declined, In Review, In Progress, Not Started, Expired, Abandoned, Kyc Expired, Resubmitted, Awaiting User.
\- workflow_id (one or more UUIDs, comma-separated).
\- country (one or more ISO-3 codes, comma-separated) — issuing-state for KYC, country_code for KYB.
\- region (one or more, comma-separated).
\- document_type (one or more, comma-separated).
\- date_from, date_to (ISO 8601 date) — inclusive on created_at.
\- search (string) - a complete displayed reference such as S-0001 (user) or B-0001 (business) matches only that session number and kind, ignoring leading zeros and letter case.
Other input searches the existing name, contact, document, registration-number and vendor_data fields.
\- tags (comma-separated tag ids) — sessions that carry any of them.
\- decided_from, decided_to (ISO 8601 datetimes) — sessions whose status last changed at or after / before the value.
\- limit (int, default 50), offset (int, default 0) — limit/offset pagination. Both accept values up to 1000000; larger values return 400.

Per-kind filters (silently ignored on the other kind): is_kyc_to_be_reviewed, status_initialized_as_in_review, session_type, api_service, screened_full_name, document_name, warning.

curl example:
curl -G https://verification.didit.me/v3/sessions/ \
-H "x-api-key: <API_KEY>" \
\--data-urlencode "session_kind=all" \
\--data-urlencode "status=Approved,In Review" \
\--data-urlencode "date_from=2026-01-01" \
\--data-urlencode "limit=50"

Response envelope:
\{
"count": <int>,   // exact up to 100, capped at 100 beyond that: paginate with next
"next": "<url|null>",
"previous": "<url|null>",
"results": [ ...rows ]
}

Every row has:
\- session_id (UUID), session_kind ("user" | "business"), session_number, status, vendor_data, created_at.

KYC row extras: portrait_image, document_type, full_name, country (issuing state), phone_number, email_address, features, didit_internal_id, assignee, waiting_since, sla_due_at, top_warnings, warnings_count.

KYB row extras: workflow_type, workflow_label, company_name, registration_number, country (incorporation).

Each row is a LIGHT projection. For the full feature payload of a row, call GET /v3/session/{session_id}/decision/ — see /sessions-api/retrieve-session.

Failure modes:
\- 401 — invalid API key.
\- 403 — { "detail": "You do not have permission to perform this action." } when the key lacks read:sessions.
\- 400 — malformed UUIDs in filters are silently dropped (no error); malformed ISO dates return { "date_from": ["..."] }.

Common patterns:
\- Build a dashboard: paginate with limit + offset, sort newest-first (server orders by -session_number within each kind).
\- Find pending review queue: status=In Review.
\- Find a specific entity's sessions: vendor_data=<your-id>.
\- Refresh ongoing AML hits: filter by workflow_id of your AML workflow.

For end-to-end Didit integration, paste in the full prompt at /integration/integration-prompt.`

\</pre>



      
      

貼り付け先

## セッション種別フィルター`session_kind`クエリパラメーターを使用して、返すセッションの種別を選択します。| 値 | 返される内容 |
| - | - |
| `user`(デフォルト) | ユーザー認証 (KYC)セッションのみ。**後方互換性を維持した動作です。**`session_kind`を省略するとこの動作になります。 |
| `business` | 法人確認 (KYB)セッションのみ。 |
| `all` | ユーザー認証セッションと法人確認セッションの両方を連結したもの。 |レスポンスのすべての行には`session_kind: "user" | "business"`が含まれるため、クライアント側で行ごとにデータ構造に応じた処理を切り替えられます。## 共通フィルター以下のフィルターは両方の種別に適用されます(`session_kind=business`の場合はユーザー専用のフィルターが無視され、その逆も同様です)。| クエリパラメーター | 説明 |
| - | - |
| `session_kind` | `user`、`business`、または`all`。デフォルトは`user`です。 |
| `vendor_data` | お客様の識別子との完全一致。 |
| `status` | 1つ以上のステータスをカンマ区切りで指定します。`Approved`、`Declined`、`In Review`など、APIが返すとおりの表記で記述してください([検証ステータス](https://docs.didit.me/ja/integration/verification-statuses.md)を参照)。 |
| `workflow_id` | 使用されたワークフローで絞り込みます。 |
| `country` | 国コードによるフィルター(ユーザー:`issuing_states`、企業:`country_code`)。 |
| `date_from`, `date_to` | 作成日の期間(ISO 8601)。 |
| `tags` | カンマ区切りのタグID。いずれかのタグが付いたセッションを返します。 |
| `decided_from`, `decided_to` | ISO 8601形式の日時。その期間内にステータスが最後に変更されたセッションを返します(開始は含み、終了は含みません)。作成日時ではなく、最後にステータスが変更された日時を使用します。 |
| `search` | `S-0001`や`B-0001`のように表示される参照番号を完全な形で入力すると、そのセッション番号と種別のみに一致します。先頭のゼロと大文字・小文字の違いは無視されます。それ以外の入力では、既存の氏名、連絡先、書類、登記番号、`vendor_data`の各フィールドを検索します。 |## 例> [tab] ユーザー認証 (KYC)セッションの一覧を取得(デフォルト)
>
> ```bash theme={null}
> curl -G https://verification.didit.me/v3/sessions/ \
>   -H "x-api-key: YOUR_API_KEY" \
>   --data-urlencode "vendor_data=user-42"
> ```
>
> **レスポンス(一部省略):**
>
> ```json theme={null}
> {
>   "count": 3,
>   "next": null,
>   "previous": null,
>   "results": [
>     {
>       "session_id": "...",
>       "session_kind": "user",
>       "session_number": 1024,
>       "session_url": "...",
>       "portrait_image": "...",
>       "document_type": "Passport",
>       "full_name": "John Doe",
>       "country": "GBR",
>       "status": "Approved",
>       "vendor_data": "user-42",
>       "didit_internal_id": "...",
>       "created_at": "2026-04-10T09:00:00Z",
>       "features": "ID_VERIFICATION,LIVENESS,FACE_MATCH,AML",
>       "phone_number": "+14155550123",
>       "email_address": "jane@example.com",
>       "additional_details": null
>     }
>   ]
> }
> ```> [tab] 法人確認 (KYB)セッションの一覧を取得
>
> ```bash theme={null}
> curl -G https://verification.didit.me/v3/sessions/ \
>   -H "x-api-key: YOUR_API_KEY" \
>   --data-urlencode "session_kind=business" \
>   --data-urlencode "status=Approved"
> ```
>
> **レスポンス(一部省略):**
>
> ```json theme={null}
> {
>   "count": 1,
>   "next": null,
>   "previous": null,
>   "results": [
>     {
>       "session_id": "...",
>       "session_kind": "business",
>       "session_number": 89,
>       "status": "Approved",
>       "vendor_data": "biz-acme-001",
>       "created_at": "2026-04-01T09:00:00Z",
>       "workflow_id": "wf_kyb_standard",
>       "workflow_type": "business",
>       "workflow_label": "Standard KYB",
>       "company_name": "Acme Corporation Limited",
>       "registration_number": "12345678",
>       "country": "GBR"
>     }
>   ]
> }
> ```> [tab] 両方の種別の一覧を取得
>
> ```bash theme={null}
> curl -G https://verification.didit.me/v3/sessions/ \
>   -H "x-api-key: YOUR_API_KEY" \
>   --data-urlencode "session_kind=all" \
>   --data-urlencode "date_from=2026-04-01T00:00:00Z"
> ```
>
> ユーザー認証と法人確認の行を1つの`results`配列で返します。クライアント側では、各行の`session_kind`に応じて処理を切り替えてください。
>
> > [!NOTE]
> >
> > `all`モードは、結果をタイムスタンプ順に交互に並べるのではなく、連結して返します。大量のデータを種別混在で走査する場合は、種別ごとに個別に呼び出し、クライアント側でマージしてください。## 行の形式は種別によって異なりますユーザー認証 (KYC)の行には、`portrait_image`、`document_type`、`full_name`、`country`(発行国)、`phone_number`、`email_address`に加え、いくつかのレビュー用フィールドが含まれます。`assignee`(セッションを担当しているConsoleのレビュアー、または`null`)、`waiting_since`と`sla_due_at`(セッションが`In Review`の間のみ設定されます)、`top_warnings`(最も重要な警告で、それぞれに`risk`、`feature`、`log_type`、`short_description`が含まれます)、そして`warnings_count`です。法人確認 (KYB)の行には、`workflow_type`、`workflow_label`、`company_name`、`registration_number`、`country`(設立国)が含まれます。両方に共通して含まれるフィールドは、`session_id`、`session_kind`、`session_number`、`status`、`vendor_data`、`created_at`。機能の全体一覧については、[セッションの概要](https://docs.didit.me/ja/sessions-api/overview.md)を参照してください。## ページネーションページネーションには`limit`(デフォルト`50`)と`offset`(デフォルト`0`)を使用し、レスポンスには絶対URLの`next`と`previous`が含まれます。どちらのパラメーターも`1000000`までの値を受け付け、それより大きい値を指定すると`400`が返されます。`count`は`100`までは正確な値ですが、それを超えると`100`のままになるため、合計件数としては使用しないでください。`next`のURLが`null`になるまでリクエストを続けてください。`session_kind=all`の場合、`count`は両方の種別の合計で、それぞれ`100`が上限となります。## 関連情報- [セッションの概要](https://docs.didit.me/ja/sessions-api/overview.md)
- [セッションの取得](https://docs.didit.me/ja/sessions-api/retrieve-session.md):1行分の完全な判定
- [企業の概要](https://docs.didit.me/ja/entities/businesses/overview.md):セッションをまたいで集約された企業エンティティ
- [ユーザーの概要](https://docs.didit.me/ja/entities/users/overview.md):セッションをまたいで集約されたユーザーエンティティ


## OpenAPI

````yaml ja/openapi-25.json GET /v3/sessions/
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/sessions/:
    get:
      tags:
        - Sessions
      summary: フィルターとページネーションを使用して認証セッション（KYCおよび/またはKYB）を一覧表示
      description: >-
        APIキーで識別されるアプリケーションの検証セッションを、ページ分割されたリストとして新しい順(`session_number`の降順)で返します。


        **正規URL:**
        ルートは`/v3/sessions/`(末尾スラッシュあり)です。スラッシュなしの`/v3/sessions`へのリクエストには、クエリ文字列を保持したままスラッシュ付きURLへの`301`リダイレクトが返されます。ほとんどのHTTPクライアントは、GETではこのリダイレクトを透過的にたどります。


        **このエンドポイントとWebhookの使い分け。**
        ダッシュボード、バックオフィスでの検索、照合、一括エクスポートにはこのエンドポイントを使用してください。個々の認証の進捗を追跡するためにこのエンドポイントをポーリングしないでください。代わりに[Webhook](/ja/integration/webhooks)を設定してください。Webhookはセッションが変化した時点で`status.updated`イベントをプッシュします。1件のセッションの完全な結果を取得するには、`GET
        /v3/session/{sessionId}/decision/`を呼び出してください。


        **KYCセッションとKYBセッション。** `session_kind`で、一覧に含める種類を選択します。

        - `user`(デフォルト): ユーザー認証 (KYC)セッションのみ。後方互換の動作です。

        - `business`: 法人確認 (KYB)セッションのみ。行の形状は異なり、より小さくなります(レスポンススキーマを参照)。

        - `all`:
        両方の種類を1つのレスポンスで返します。同じ`limit`/`offset`に対するKYCのページとKYBのページが`results`内で連結される(KYCの行が先)ため、1ページに最大`2
        x
        limit`行が含まれる場合があります。`count`は両方の種類の合計で、`next`/`previous`はKYC側のページネーションを反映します。混在データを厳密にページ分割するには、`user`と`business`を別々に呼び出してください。


        すべての行に、`session_kind`識別子(`"user"`または`"business"`)が含まれます。


        **ページネーション。**
        標準のlimit/offset方式です。`limit`(デフォルト50)と`offset`(デフォルト0)を使用し、`next`/`previous`にはそのまま使えるページURLが返されます。KYCの行では`count`は正確な値です。KYBの行では`count`は範囲を限定したスキャンで算出され、上限は100です。一致が100件を超える場合も100のままとなるため、`count`から総ページ数を計算するのではなく、`next`を使って(または満杯のページが返ってきたかどうかを確認して)反復処理してください。


        **フィルターの仕様。**
        すべてのフィルターはANDで組み合わされ、KYCの行に適用されます。`session_kind`が`business`または`all`の場合、KYB側では共通パラメーターの`vendor_data`、`status`、`workflow_id`、`country`(登記企業の国コード)、`date_from`、`date_to`、`search`(企業名、登記番号(登記番号は区切り文字なしで入力してください。例:
        `DPC-001`ではなく`DPC001`)、vendor_data、セッション番号、またはセッションUUID)、`warning`、`organization_name`が適用されます。その他のKYC専用フィルターは、KYBの行では無視されます。カンマ区切りのパラメーター(`status`、`country`、`document_type`、`region`、`workflow_id`、`document_name`、`warning`、`organization_name`、`session_type`)は、列挙した値のいずれかに一致します(パラメーター内ではOR)。`vendor_data`は完全一致です。部分一致には`search`を使用してください。リストフィルターに不明な値を指定した場合は、単に行が返されません(エラーにはなりません)。型付きの値(`date_from`、`date_to`、`didit_internal_id`、`api_service`、`session_kind`)の形式が不正な場合は、フィールドごとのエラーオブジェクトとともに`400`が返されます。


        **検索。** `search`は入力内容に応じて動作が変わります。完全なUUIDの場合は`session_id`を検索します。数字(任意で`+
        - .
        space`を含む)の場合は、セッション番号の前方一致、書類番号または個人番号、電話番号の前方一致、または`vendor_data`に一致します。`@`を含む値はメールアドレスの前方一致に一致します。それ以外のテキストは、名前(アクセントを区別しない)と`vendor_data`に一致します。


        エンドポイントごとの固定のレート制限は適用されませんが、リストのポーリングは低頻度に抑え、リアルタイムの更新にはWebhookを利用してください。
      operationId: get_v3_sessions
      parameters:
        - name: session_kind
          in: query
          required: false
          description: >-
            一覧表示するセッションの種類：`user`（KYCのみ、デフォルト）、`business`（KYBのみ）、または`all`（両方を連結したもの。統合ページネーションの仕様については説明を参照してください）。照合では大文字と小文字は区別されません（`BUSINESS`も有効です）。`user`/`business`/`all`の大文字小文字違い以外の値を指定すると`400`が返されます。
          schema:
            type: string
            enum:
              - user
              - business
              - all
            default: user
          example: all
        - name: limit
          in: query
          required: false
          description: 1ページあたりの最大行数（`session_kind=all`の場合は種類ごと）です。デフォルトは50です。
          schema:
            type: integer
            default: 50
            minimum: 1
            maximum: 1000000
          example: 20
        - name: offset
          in: query
          required: false
          description: >-
            最初に返す行の前にスキップする行数です。デフォルトは0です。レスポンスの`next`/`previous`のURLをたどる方法を推奨します。
          schema:
            type: integer
            maximum: 1000000
            minimum: 0
            default: 0
          example: 20
        - name: status
          in: query
          required: false
          description: >-
            含めるセッションステータスのカンマ区切りリスト(例:`Approved,In
            Review`)。値は大文字と小文字が区別されます。[認証ステータス](/ja/integration/verification-statuses)を参照してください。不明な値はどれにも一致しません。
          schema:
            type: string
          example: Approved,In Review
        - name: vendor_data
          in: query
          required: false
          description: >-
            セッション作成時に送信した`vendor_data`（自社のユーザーまたは企業の識別子）による完全一致フィルターです。部分一致には代わりに`search`を使用してください。
          schema:
            type: string
          example: your-user-id-123
        - name: search
          in: query
          required: false
          description: >-
            `S-0001`(ユーザー)や`B-0001`(企業)のような表示上の完全な参照番号は、そのセッション番号と種類にのみ一致します。先頭のゼロや大文字・小文字の違いは一致判定に影響しません。スマートなフリーテキスト検索です。完全なUUIDは`session_id`に一致し、数値の入力はセッション番号の前方一致、書類番号/個人番号、電話番号の前方一致、または`vendor_data`に一致します。`@`を含む入力はメールアドレスの前方一致に、その他のテキストは氏名(アクセントを区別しない)と`vendor_data`に一致します。数字を含むフリーテキストは、さらに書類番号/個人番号の検索フィールドとセッション番号の前方一致にも一致します。
          schema:
            type: string
          example: jane doe
        - name: workflow_id
          in: query
          required: false
          description: >-
            カンマ区切りのワークフローUUID（Consoleのワークフローページで確認できます）。リスト内の不正な形式のUUIDは無視され、有効なものが1つもない場合、結果は空になります。
          schema:
            type: string
          example: 9f9b1234-aaaa-bbbb-cccc-1234567890ab
        - name: date_from
          in: query
          required: false
          description: この日付（UTC）以降に作成されたセッションのみ。形式は`YYYY-MM-DD`です。不正な形式の日付は`400`を返します。
          schema:
            type: string
            format: date
          example: '2026-06-01'
        - name: date_to
          in: query
          required: false
          description: >-
            この日付（UTC）までに作成されたセッションのみ。形式は`YYYY-MM-DD`です。KYCの行では当日全体が含まれます。KYBの行では比較が`created_at
            <= date_to`（午前0時）となるため、KYBセッションの1日分をすべて含めるには翌日の日付を使用してください。
          schema:
            type: string
            format: date
          example: '2026-06-30'
        - name: tags
          in: query
          required: false
          schema:
            type: string
          description: >-
            カンマ区切りのタグID（アプリケーションの`tags`）。いずれかのタグが付いたセッションを返します。有効なUUIDでないIDは無視され、有効なIDが1つもない場合、リストは空になります。
        - name: decided_from
          in: query
          required: false
          schema:
            type: string
            format: date-time
          description: >-
            ISO
            8601形式の日時。ステータスがこの日時以降に最後に変更されたセッションを返します。作成日時ではなく、最後のステータス変更日時でフィルタリングします。
        - name: decided_to
          in: query
          required: false
          schema:
            type: string
            format: date-time
          description: >-
            ISO
            8601形式の日時。ステータスがこの日時より前に最後に変更されたセッションを返します。`decided_from`と組み合わせると半開区間を指定できます。
        - name: country
          in: query
          required: false
          description: >-
            カンマ区切りの国フィルター。KYCの行の場合は、本人確認書類の発行国を示すISO 3166-1
            alpha-3コード(例:`ESP,USA`)で、国籍とは異なる場合があります。KYBの行の場合は、登記上の企業の国コードです。
          schema:
            type: string
          example: ESP,USA
        - name: document_type
          in: query
          required: false
          description: >-
            セッションで検証された本人確認書類の種類コードのカンマ区切りリスト（KYC行のみ）:
            `P`（パスポート）、`ID`（身分証明書）、`DL`（運転免許証）、`RP`（在留許可証）、`SSC`（社会保障カード）、`HIC`（健康保険証）、`WP`（労働許可証）、`TC`（納税カード）、`VISA`、`PSC`（公共サービスカード）、`BC`（出生証明書）、`OTHER`。なお、レスポンスフィールド`document_type`にはコードではなく表示名が含まれます。
          schema:
            type: string
          example: P,ID
        - name: document_name
          in: query
          required: false
          description: >-
            書類名の完全一致です。複数の名前をカンマ区切りで渡せますが、値がカンマで分割されるのは` -
            `区切りが2つ以上含まれる場合のみです（カンマを含む単一の名前は全体で照合されます）。名前は書類検証（表面または裏面）で認識されたもので、例えば`Spain
            - Id Card (2021)`です。KYCの行のみが対象です。
          schema:
            type: string
          example: Spain - Id Card (2021)
        - name: region
          in: query
          required: false
          description: カンマ区切りの書類の地域/州の値(米国の運転免許証など、地域ごとに発行される書類向け)。KYCの行のみが対象です。
          schema:
            type: string
          example: CA,TX
        - name: didit_internal_id
          in: query
          required: false
          description: >-
            Diditの内部ユーザー識別子(レスポンスフィールド`didit_internal_id`)で絞り込み、認証済みの1人のユーザーのすべてのセッションを一覧表示します。有効なUUIDである必要があり、不正な形式の値を指定すると`400`が返ります。KYCの行のみが対象です。
          schema:
            type: string
            format: uuid
          example: d9e78474-6c8d-4f2a-bb90-6f5c2f3a1147
        - name: session_type
          in: query
          required: false
          description: >-
            カンマ区切りのセッション作成チャネル:`API`、`HOSTED`、`MIGRATED`。特別な値`ALL`を指定する(またはパラメーターを省略する)と、フィルターが無効になります。KYCの行のみが対象です。
          schema:
            type: string
          example: HOSTED
        - name: api_service
          in: query
          required: false
          description: スタンドアロンAPIセッションをサービスで絞り込みます。無効な値を指定すると`400`が返されます。KYCの行のみが対象です。
          schema:
            type: string
            enum:
              - ID_VERIFICATION
              - FACE_MATCH
              - AGE_ESTIMATION
              - FACE_SEARCH
              - POA
              - AML
              - KYB_REGISTRY
              - PASSIVE_LIVENESS
              - DATABASE_VALIDATION
              - PHONE_VERIFICATION
              - EMAIL_VERIFICATION
          example: AML
        - name: screened_full_name
          in: query
          required: false
          description: >-
            AMLおよびデータベース検証でスクリーニングされたデータ内を、アクセントを区別せずに名前で検索します。`api_service=AML`または`api_service=DATABASE_VALIDATION`と組み合わせると、検索はその機能のスクリーニング済みデータに限定されます。KYCの行のみが対象です。
          schema:
            type: string
          example: Jane Doe
        - name: warning
          in: query
          required: false
          description: >-
            カンマ区切りの警告リスクコード。いずれかのコードが発生したセッションを返します（例：`POSSIBLE_FRAUD`）。リスクコードは、[警告のドキュメント](/ja/integration/webhooks)に機能ごとに記載されています。KYCの行に適用され、企業の警告コードを指定した場合はKYBの行にも適用されます。
          schema:
            type: string
          example: POSSIBLE_FRAUD
        - name: status_initialized_as_in_review
          in: query
          required: false
          description: >-
            `true`の場合、判定が最初に`In
            Review`となったセッションのみを対象にします（手動レビューの件数の監査に便利です）。KYCの行のみが対象です。
          schema:
            type: boolean
          example: true
        - name: is_kyc_to_be_reviewed
          in: query
          required: false
          description: >-
            `true`を指定すると書類検証が手動レビュー対象としてフラグ付けされたセッションを返し、`false`を指定すると書類検証が明示的にフラグ付けされていないセッションを返します。無効にするには省略します。KYCの行のみが対象です。
          schema:
            type: boolean
          example: true
        - name: euuid
          in: query
          required: false
          description: >-
            エンドユーザーのeuuid（認証を行うユーザーに割り当てられたUUIDで、Consoleのディープリンクで使用されます）で絞り込みます。有効なUUIDでなければなりません。不正な形式の値を指定すると、フィールドエラー付きの400が返されます。KYCの行のみが対象です。
          schema:
            type: string
            format: uuid
          example: 0f8fad5b-d9cb-469f-a165-70867728950e
        - name: organization_name
          in: query
          required: false
          description: >-
            カンマ区切りの組織名。Console向けの機能です。APIキー(すでに1つのアプリケーションにスコープされています)を使用する場合は、自分の組織名にのみ一致します。
          schema:
            type: string
          example: Acme Inc
      responses:
        '200':
          description: >-
            ページ分割されたセッション一覧。`results`の各項目は、`session_kind`に応じてKYCの行、KYBの行、またはその両方になります。各行の`session_kind`フィールドで種類を判別してください。
          content:
            application/json:
              schema:
                type: object
                required:
                  - count
                  - next
                  - previous
                  - results
                properties:
                  count:
                    type: integer
                    description: >-
                      フィルターに一致したセッションの数です。100件までは正確な値で、それを超える場合は100で打ち切られるため、合計値としては使用しないでください。さらにページがあるかどうかは`next`で確認してください。`session_kind=all`の場合は両方の種類の合計で、それぞれ100で打ち切られます。
                    example: 2
                  next:
                    type: string
                    format: uri
                    nullable: true
                    description: 次のページの絶対URL。最後のページでは`null`になります。
                    example: >-
                      https://verification.didit.me/v3/sessions/?limit=20&offset=20
                  previous:
                    type: string
                    format: uri
                    nullable: true
                    description: 前のページの絶対URL。最初のページでは`null`になります。
                    example: null
                  results:
                    type: array
                    description: >-
                      セッションの行（新しい順）。`session_kind=all`の場合、KYCの行が先に並び、その後にKYBの行が続きます。
                    items:
                      oneOf:
                        - $ref: '#/components/schemas/UserSessionListItem'
                        - $ref: '#/components/schemas/BusinessSessionListItem'
                      discriminator:
                        propertyName: session_kind
                        mapping:
                          user: '#/components/schemas/UserSessionListItem'
                          business: '#/components/schemas/BusinessSessionListItem'
              examples:
                KYC sessions (default):
                  summary: session_kind=user - 完了済みのセッション1件と未開始のセッション1件
                  value:
                    count: 2
                    next: null
                    previous: null
                    results:
                      - session_id: 5b3720ed-d429-42ef-b67f-37ea805f48ee
                        session_kind: user
                        session_number: 720
                        session_url: https://verify.didit.me/session/CuXoBYCYVO5Y
                        portrait_image: >-
                          https://<media-host>/portraits/5b3720ed.jpg?X-Amz-Expires=3600&X-Amz-Signature=...
                        document_type: Passport
                        full_name: Jane Marie Doe
                        country: ESP
                        status: Approved
                        vendor_data: your-user-id-123
                        didit_internal_id: d9e78474-6c8d-4f2a-bb90-6f5c2f3a1147
                        created_at: '2026-06-09T12:26:54.328364Z'
                        features:
                          - feature: ID_VERIFICATION
                            status: Approved
                          - feature: LIVENESS
                            status: Approved
                          - feature: FACE_MATCH
                            status: Approved
                          - feature: AML
                            status: Approved
                          - feature: IP_ANALYSIS
                            status: Approved
                        phone_number:
                          number: '+14155552671'
                          is_verified: true
                        email_address:
                          email: jane@example.com
                          is_verified: true
                        additional_details:
                          aml:
                            total_hits: 0
                            entity_type: person
                            is_adverse_media_fetched: false
                          liveness:
                            method: PASSIVE
                            score: 0.98
                          face_match:
                            score: 0.95
                      - session_id: 038ad62f-5ebd-46c2-afe9-4b2956bf687f
                        session_kind: user
                        session_number: 719
                        session_url: https://verify.didit.me/session/7RGKiO6ioGH6
                        portrait_image: null
                        document_type: null
                        full_name: null
                        country: null
                        status: Not Started
                        vendor_data: your-user-id-124
                        didit_internal_id: eb4e679d-ca4b-461f-9685-687bac29ebdb
                        created_at: '2026-06-09T08:02:23.343053Z'
                        features:
                          - feature: ID_VERIFICATION
                            status: Not Finished
                          - feature: LIVENESS
                            status: Not Finished
                          - feature: FACE_MATCH
                            status: Not Finished
                          - feature: AML
                            status: Not Finished
                          - feature: IP_ANALYSIS
                            status: Not Finished
                        phone_number: null
                        email_address: null
                        additional_details: null
                Mixed KYC + KYB (session_kind=all):
                  summary: session_kind=all - KYCの行の後にKYBの行が続く例
                  value:
                    count: 2
                    next: null
                    previous: null
                    results:
                      - session_id: 5b3720ed-d429-42ef-b67f-37ea805f48ee
                        session_kind: user
                        session_number: 720
                        session_url: https://verify.didit.me/session/CuXoBYCYVO5Y
                        portrait_image: null
                        document_type: Identity Card
                        full_name: Jane Marie Doe
                        country: ESP
                        status: In Review
                        vendor_data: your-user-id-123
                        didit_internal_id: d9e78474-6c8d-4f2a-bb90-6f5c2f3a1147
                        created_at: '2026-06-09T12:26:54.328364Z'
                        features:
                          - feature: ID_VERIFICATION
                            status: In Review
                          - feature: LIVENESS
                            status: Approved
                        phone_number: null
                        email_address: null
                        additional_details:
                          liveness:
                            method: PASSIVE
                            score: 0.98
                      - session_id: 8a1f63c2-1b9e-4f3a-9c41-2f6a1f0b7d52
                        session_kind: business
                        session_number: 42
                        status: Approved
                        vendor_data: your-company-id-77
                        created_at: '2026-06-08T09:14:02.118450Z'
                        workflow_id: 9f9b1234-aaaa-bbbb-cccc-1234567890ab
                        workflow_type: kyb
                        workflow_label: Standard KYB
                        company_name: Acme Holdings S.L.
                        registration_number: B12345678
                        country: ES
        '301':
          description: >-
            末尾にスラッシュが付いた正規URLへリダイレクトします。リクエストパスが`/v3/sessions`（末尾のスラッシュなし）の場合に返されます。`Location`ヘッダーはクエリ文字列を保持したまま`/v3/sessions/`を指します。GETクライアントは通常、自動的にリダイレクトに従います。
        '400':
          description: クエリパラメーターが無効です。ボディは、問題のあるパラメーターをキーとするオブジェクトです。
          content:
            application/json:
              examples:
                Invalid session_kind:
                  summary: session_kindがuser/business/allのいずれでもありません
                  value:
                    session_kind: Must be "user", "business", or "all".
                Invalid date:
                  summary: date_from/date_toの形式が不正です
                  value:
                    date_from:
                      - Enter a valid date.
                Invalid didit_internal_id:
                  summary: didit_internal_idがUUIDではありません
                  value:
                    didit_internal_id:
                      - Enter a valid UUID.
                Invalid api_service:
                  summary: api_serviceが許可された選択肢に含まれていません
                  value:
                    api_service:
                      - >-
                        Select a valid choice. FOO is not one of the available
                        choices.
        '403':
          description: >-
            APIキーがない、形式が不正、または失効しています。キーがない場合は`403`を返し、誤った、失効した、または期限切れのキーの場合は`401`を返します。


            **削除されたアプリケーション:**
            アプリケーションが削除されてから数分間は、そのアプリケーションのAPIキーを使ったリクエストに`{"detail": "This
            application was deleted.", "code":
            "application_deleted"}`が返されることがあります。再試行しないでください。アプリケーションとそのAPIキーはすでに存在しません。この数分が過ぎると、キーは他の無効なキーと同様に拒否されます。
          content:
            application/json:
              schema:
                type: object
                properties:
                  detail:
                    type: string
                    example: You do not have permission to perform this action.
                  code:
                    type: string
                    description: >-
                      機械可読な理由で、一部の失敗時にのみ含まれます。`application_deleted`：APIキーが削除済みのアプリケーションに属しています。
                    example: application_deleted
                required:
                  - detail
              examples:
                Forbidden:
                  summary: x-api-keyがないか無効です
                  value:
                    detail: You do not have permission to perform this action.
                ApplicationDeleted:
                  summary: 削除されたアプリケーションのAPIキー
                  value:
                    detail: This application was deleted.
                    code: application_deleted
      security:
        - ApiKeyAuth: []
      x-codeSamples:
        - lang: curl
          label: curl
          source: >-
            curl -s
            'https://verification.didit.me/v3/sessions/?status=Approved,In%20Review&date_from=2026-06-01&limit=20'
            \
              -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.sessions.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.sessions.list()) {
              console.log(item);
            }
        - lang: go
          label: Go
          source: "ctx := context.Background()\n// Reads DIDIT_API_KEY.\nclient := didit.NewClient()\n\niter := client.Sessions.ListAutoPaging(ctx, didit.SessionsListParams{})\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.sessions().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->sessions->list() as $item) {
                print_r($item);
            }
        - lang: ruby
          label: Ruby
          source: |-
            require "didit"

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

            didit.sessions.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.Sessions.ListAsync())
            {
                Console.WriteLine(JsonSerializer.Serialize(item));
            }
components:
  schemas:
    UserSessionListItem:
      title: 'KYC session row (session_kind: user)'
      type: object
      description: >-
        ユーザー認証（KYC）セッションの概要行。本人情報フィールド（`full_name`、`country`、`document_type`、`portrait_image`、連絡先フィールド）は、ユーザーが認証ステップを完了するにつれて順次入力され、該当するステップが完了するまでは`null`です。ワークフローのレスポンス属性設定で制限されたフィールドも`null`として返されます。
      required:
        - session_id
        - session_kind
        - session_number
        - session_url
        - portrait_image
        - document_type
        - full_name
        - country
        - status
        - vendor_data
        - didit_internal_id
        - created_at
        - features
        - phone_number
        - email_address
        - additional_details
      properties:
        session_id:
          type: string
          format: uuid
          description: >-
            認証セッションの一意の識別子。`GET
            /v3/session/{sessionId}/decision/`で使用して、判定ペイロード全体を取得します。
          example: 5b3720ed-d429-42ef-b67f-37ea805f48ee
        session_kind:
          type: string
          enum:
            - user
          description: 行の識別子。KYCの行では常に`"user"`です。法人確認 (KYB)の行は`"business"`で、構造が異なります。
          example: user
        session_number:
          type: integer
          description: アプリケーション内のセッションのわかりやすい連番。`search`パラメーターの照合対象にもなります。
          example: 720
        session_url:
          type: string
          nullable: true
          description: エンドユーザーがフローを完了するために開くホスト型検証URLです。セッションにホスト型URLがない場合は`null`です。
          example: https://verify.didit.me/session/CuXoBYCYVO5Y
        portrait_image:
          type: string
          nullable: true
          description: >-
            利用可能な最良の顔写真の有効期限付き（署名付き）URLです。NFCチップの写真があればそれを、なければ身分証明書類の顔写真を、それもなければライブネスの参照画像を使用します。いずれかが存在するまでは`null`です。リンクは期限切れになるため、速やかにダウンロードしてください。
          example: >-
            https://<media-host>/portraits/5b3720ed.jpg?X-Amz-Expires=3600&X-Amz-Signature=...
        document_type:
          type: string
          nullable: true
          enum:
            - Passport
            - Identity Card
            - Driver's License
            - Residence Permit
            - Health Insurance Card
            - Tax Card
          description: >-
            検証済みの本人確認書類の種類を示す、人が読める形式の値。書類の検証が完了する前は`null`で、完了後も検証済みのコードに表示用のマッピングがない場合（`SSC`、`WP`、`VISA`、`PSC`、`BC`、`OTHER`）は`null`になります。注:
            クエリパラメーター`document_type`は、これらの表示値ではなく短縮コード（`P`、`ID`、`DL`、`RP`、...）で絞り込みます。
          example: Passport
        full_name:
          type: string
          nullable: true
          description: >-
            セッションで利用可能な最適な氏名です。次の順序で解決されます。身分証明書類のOCR、AMLスクリーニング済みデータ、データベース検証のスクリーニング済みデータ、住所証明書類、最後にセッション作成時に指定された想定情報です。まだ利用できるものがない場合は`null`です。
          example: Jane Marie Doe
        country:
          type: string
          nullable: true
          description: >-
            セッションに関連付けられた国のISO 3166-1
            alpha-3コード。身分証明書類の発行国、データベース検証の発行国、住所証明の発行国、想定される詳細情報、認証済み電話番号の国の順に解決されます。国籍とは異なる場合があります。
          example: ESP
        status:
          type: string
          enum:
            - Not Started
            - In Progress
            - Approved
            - Declined
            - In Review
            - Expired
            - Abandoned
            - Kyc Expired
            - Resubmitted
            - Awaiting User
          description: >-
            セッション全体のステータス。ライフサイクルについては[認証ステータス](/ja/integration/verification-statuses)ページを参照してください。
          example: Approved
        vendor_data:
          type: string
          nullable: true
          description: エンドユーザーに対するお客様独自の識別子で、セッション作成時に送信した値がそのまま返されます。
          example: your-user-id-123
        didit_internal_id:
          type: string
          format: uuid
          nullable: true
          description: >-
            このセッションに紐づく認証済みユーザープロファイルのDidit内部識別子です。同じユーザーの複数のセッション間で変わらず、`didit_internal_id`クエリパラメーターでフィルターできます。
          example: d9e78474-6c8d-4f2a-bb90-6f5c2f3a1147
        created_at:
          type: string
          format: date-time
          description: セッションが作成されたUTCタイムスタンプ。
          example: '2026-06-09T12:26:54.328364Z'
        features:
          type: array
          description: セッションのワークフローに設定されたすべての検証ステップについての、機能ごとのステータス（ワークフロー順）。
          items:
            type: object
            required:
              - feature
              - status
            properties:
              feature:
                type: string
                enum:
                  - ID_VERIFICATION
                  - NFC
                  - LIVENESS
                  - FACE_MATCH
                  - POA
                  - QUESTIONNAIRE
                  - EMAIL_VERIFICATION
                  - PHONE
                  - AML
                  - IP_ANALYSIS
                  - AGE_ESTIMATION
                  - DATABASE_VALIDATION
                  - GEOLOCATION
                description: 認証機能の識別子。
                example: ID_VERIFICATION
              status:
                type: string
                enum:
                  - Not Finished
                  - Approved
                  - Declined
                  - In Review
                  - Resub Requested
                description: この機能のステータスです。ステップが完了するまでは`Not Finished`です。
                example: Approved
        phone_number:
          type: object
          nullable: true
          description: >-
            セッションに関連付けられた電話番号。電話番号検証が実行された場合は検証済みの電話番号、それ以外の場合はセッション作成時に指定された連絡先の電話番号です。どちらも存在しない場合は`null`です。
          required:
            - number
            - is_verified
          properties:
            number:
              type: string
              description: E.164形式の電話番号。
              example: '+14155552671'
            is_verified:
              type: boolean
              description: 電話番号検証機能がこの番号を承認した場合のみ`true`です。
              example: true
        email_address:
          type: object
          nullable: true
          description: >-
            セッションに関連付けられたメールアドレス：メールアドレス認証を実行した場合は認証済みのメールアドレス、それ以外の場合はセッション作成時に指定された連絡先メールアドレスです。いずれも存在しない場合は`null`。
          required:
            - email
            - is_verified
          properties:
            email:
              type: string
              format: email
              example: jane@example.com
            is_verified:
              type: boolean
              description: メールアドレス認証機能がこのアドレスを承認した場合のみ`true`です。
              example: true
        additional_details:
          type: object
          nullable: true
          description: >-
            機能ごとの簡潔な追加情報。データを生成した機能のみがキーとして含まれ、追加情報を生成した機能がない場合は`null`になります。ワークフローのレスポンス属性設定で除外されたフィールドは省略されます。
          properties:
            aml:
              type: object
              description: AMLスクリーニングが実行された場合に含まれます。
              properties:
                total_hits:
                  type: integer
                  description: AMLスクリーニングのヒット件数。
                  example: 0
                entity_type:
                  type: string
                  description: スクリーニング対象のエンティティタイプ。
                  example: person
                is_adverse_media_fetched:
                  type: boolean
                  example: false
                screened_data:
                  type: object
                  description: スクリーニングされたデータのサブセット。空でないキーのみが含まれます。
                  properties:
                    nationality:
                      type: string
                      example: ESP
                    document_number:
                      type: string
                      example: XX1234567
                    date_of_birth:
                      type: string
                      example: '1990-05-21'
            database_validation:
              type: object
              description: データベース検証が実行された場合に含まれます。
              properties:
                validation_type:
                  type: string
                  example: DOCUMENT_VALIDATION
                match_type:
                  type: string
                  example: FULL_MATCH
                identification_number:
                  type: string
                  description: 検証された納税者番号、個人番号、または書類番号(最初に利用可能なもの)。
                  example: 12345678Z
            poa:
              type: object
              description: 住所証明が実行された場合に含まれます。
              properties:
                document_type:
                  type: string
                  example: UTILITY_BILL
                issuer:
                  type: string
                  example: Energy Co
                address:
                  type: string
                  example: Calle Mayor 1, 28013 Madrid
                name_on_document:
                  type: string
                  example: Jane Marie Doe
            liveness:
              type: object
              description: ライブネスチェックが実行された場合に含まれます。
              properties:
                method:
                  type: string
                  example: PASSIVE
                score:
                  type: number
                  description: ライブネスの信頼度スコア（小数点以下2桁に丸め）。
                  example: 0.98
            face_match:
              type: object
              description: 顔照合が実行された場合に含まれます。
              properties:
                score:
                  type: number
                  description: 顔照合の類似度スコア（小数点以下2桁に丸め）。
                  example: 0.95
                source_image:
                  type: string
                  description: 照合元の顔画像の有効期限付き（署名付き）URLです。
                  example: https://<media-host>/faces/source.jpg?X-Amz-Expires=3600&...
                target_image:
                  type: string
                  description: 照合先の顔画像の有効期限付き（署名付き）URLです。
                  example: https://<media-host>/faces/target.jpg?X-Amz-Expires=3600&...
            phone_verification:
              type: object
              description: 電話番号検証が実行された場合に含まれます。
              properties:
                country_code:
                  type: string
                  description: 電話番号の国を示すISO 3166-1 alpha-2コード。
                  example: US
                is_temporary:
                  type: boolean
                  example: false
                is_ported:
                  type: boolean
                  example: false
                is_blocked:
                  type: boolean
                  example: false
            email_verification:
              type: object
              description: メールアドレス認証が実行された場合に含まれます。
              properties:
                is_breached:
                  type: boolean
                  example: false
                is_disposable:
                  type: boolean
                  example: false
                is_undeliverable:
                  type: boolean
                  example: false
                is_blocklisted:
                  type: boolean
                  example: false
        assignee:
          type: object
          nullable: true
          description: セッションが割り当てられているConsoleのレビュアー。誰も担当していない場合は`null`です。
          properties:
            email:
              type: string
              format: email
            assigned_at:
              type: string
              format: date-time
              nullable: true
        waiting_since:
          type: string
          format: date-time
          nullable: true
          description: セッションがレビュー待ちになった日時。セッションが`In Review`である場合を除き`null`です。
        sla_due_at:
          type: string
          format: date-time
          nullable: true
          description: >-
            レビューの期限。Consoleでアプリケーションに設定したレビュー期限に基づきます。セッションが`In
            Review`で、かつ期限が設定されている場合を除き`null`です。
        top_warnings:
          type: array
          description: 簡易なトリアージ用に、セッションの最も重要な警告を数件まで示します。完全なリストは判定に含まれます。
          items:
            type: object
            properties:
              risk:
                type: string
                description: '警告コード（例: `FACE_MATCH_LOW_SIMILARITY`）。'
              feature:
                type: string
                description: これを発生させた機能です。
              log_type:
                type: string
                nullable: true
                description: '`error`または`warning`。レガシーエントリーの場合は`null`。'
              short_description:
                type: string
        warnings_count:
          type: integer
          description: セッションの警告の数です。
    BusinessSessionListItem:
      title: 'KYB session row (session_kind: business)'
      type: object
      description: 法人確認（KYB）セッションの概要行。`session_kind`が`business`または`all`の場合にのみ返されます。
      required:
        - session_id
        - session_kind
        - session_number
        - status
        - vendor_data
        - created_at
        - workflow_id
        - workflow_type
        - workflow_label
        - company_name
        - registration_number
        - country
      properties:
        session_id:
          type: string
          format: uuid
          description: 法人確認セッションの一意の識別子。
          example: 8a1f63c2-1b9e-4f3a-9c41-2f6a1f0b7d52
        session_kind:
          type: string
          enum:
            - business
          description: 行の識別子。KYBの行では常に`"business"`です。
          example: business
        session_number:
          type: integer
          description: アプリケーション内の企業セッションのわかりやすい連番。KYCセッションとは別に採番されます。
          example: 42
        status:
          type: string
          enum:
            - Not Started
            - In Progress
            - Approved
            - Declined
            - In Review
            - Expired
            - Abandoned
            - Kyc Expired
            - Resubmitted
            - Awaiting User
          description: >-
            セッション全体のステータス。[認証ステータス](/ja/integration/verification-statuses)ページを参照してください。
          example: Approved
        vendor_data:
          type: string
          nullable: true
          description: 企業に対するお客様独自の識別子で、セッション作成時に送信した値がそのまま返されます。
          example: your-company-id-77
        created_at:
          type: string
          format: date-time
          description: セッションが作成されたUTCタイムスタンプ。
          example: '2026-06-08T09:14:02.118450Z'
        workflow_id:
          type: string
          format: uuid
          nullable: true
          description: このセッションの作成に使用されたワークフローの識別子。
          example: 9f9b1234-aaaa-bbbb-cccc-1234567890ab
        workflow_type:
          type: string
          nullable: true
          description: ワークフローの種類。企業向けワークフローでは`kyb`です。
          example: kyb
        workflow_label:
          type: string
          nullable: true
          description: ワークフローの表示名。
          example: Standard KYB
        company_name:
          type: string
          nullable: true
          description: 認証対象企業の名称。セッションに紐付けられた法人登記の企業から取得されます。企業が選択されるまでは`null`です。
          example: Acme Holdings S.L.
        registration_number:
          type: string
          nullable: true
          description: セッションに紐づく登記上の企業の登記番号。
          example: B12345678
        country:
          type: string
          nullable: true
          description: セッションに紐付けられた登記企業の国コード。
          example: ES
  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.