> ## 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：到達性と情報漏洩のシグナル

> DiditのメールリスクAPIは、OTPを送信せずにメールアドレスのリスクをスコアリングします。到達性、使い捨てドメイン、情報漏洩、不正のシグナルを1回のサーバー間呼び出しで取得できます。

ユーザーにワンタイムコードの入力を求めずにメールアドレスに関する情報を取得したい場合は、`POST /v3/email/risk/`を使用します。

このエンドポイントはメールを送信しません。APIセッションを作成し、アドレスの情報を補完し、メールリスクのルールを適用したうえで、メールアドレス認証で使われるものと同じ正規化済みのメールブロックを1回の同期レスポンスで返します。

リクエストが保存されると、Diditはスコアリング済みのメールアドレスを**Networks**の集約エビデンスとしても利用できます。ネットワークグラフでは、共有されたメールシグナルについて、高リスクのメールインテリジェンス、漏洩に関するコンテキスト、ソーシャルプロフィールのカバレッジが表示される場合がありますが、メールアドレスそのものが他の組織に開示されることはありません。

## レスポンスの解釈

* `status`は、このAPIセッションの最終判定です。通常は`Approved`ですが、リスク評価の結果`In Review`または`Declined`になることがあります。
* `email.is_breached`、`email.is_disposable`、`email.is_undeliverable`は、アプリケーションロジックで使える安定した「はい/いいえ」のシグナルです。
* `email.breaches`は、カバレッジがある場合に、そのアドレスを含む既知の漏洩のうち最新のものを、漏洩日と流出したデータの種類とともに一覧で示します。
* `email.email_intelligence.score`は0から100のリスクスケールで、数値が大きいほどリスクが高いことを示します。`breach_risk_level`（`Low`、`Medium`、`High`）と`no_of_breaches`は、そこから派生した値です。
* `email.email_intelligence.reason_codes`は、どの正規化済みシグナルが結果に寄与したかを示します。値は今後増える可能性があるため、未知のコードを拒否しないでください。
* `email.email_intelligence`と`email.enrichment`は、同じ正規化済みオブジェクトを持つ互換性のためのエイリアスです。新しい連携では`email.enrichment`を参照できます。
* `email.matches`は、同じアドレスが別のユーザーによって使用された、お使いのアプリケーションの他のセッションを一覧で示します。重複アカウントの検出に使用してください。
* `request_id`はAPIセッションIDです。後続のWebhookやコンソール上のアクティビティと結果を関連付ける必要がある場合は、`vendor_data`とともに保存してください。

> [!WARNING]
>
> `email.email_intelligence`と`email.enrichment`はベストエフォートのフィールドです。そのアドレス、ドメイン、またはプランについて利用可能なインテリジェンスデータが返されなかった場合、照会が完了していても両方が省略されることがあります。ルールはまず`is_breached`、`is_disposable`、`is_undeliverable`に基づいて構築し、インテリジェンスが欠落している場合は「安全」ではなく「不明」として扱ってください。

## ソーシャルフットプリントアドオン

`enable_social`を`true`に設定すると、レスポンスの`email`の下に`email_social`ブロックが追加されます。このブロックには、このメールアドレスが登録されているオンラインプラットフォームがカテゴリ別に含まれ、集計数と、データパートナーが返すプロフィール詳細も含まれます。

* `email.email_social.profiles_registered`と`email.email_social.profiles_checked`が主要な数値で、評価したプラットフォームのうち、メールアドレスの登録が確認されたプラットフォームの数を示します。
* `email.email_social.registered_platforms`と`email.email_social.not_registered_platforms`は、各プラットフォームをその`category`と`scope`（`global`、または地域固有のプラットフォームの場合は`local`）とともに一覧で示します。
* `email.email_social.categories`はカテゴリごとの登録数と比率を示し、`email.email_social.profiles`は、プラットフォームが公開している場合にプラットフォームごとのプロフィール詳細（名前、写真URL、自己紹介文、プライバシー設定、ビジネスアカウントのフラグ）を保持します。
* サマリー指標（`digital_footprint_diversity`、`digital_sophistication_index`、`engagement_depth_index`、`subscription_affordability_index`）は0から10の複合指標です。チェックでデータが返されなかった場合、各カウントは`null`になることがあります。

`profiles_registered: 0`は失敗ではなく、実際の結果です。プラットフォームはチェックされたものの、どのプラットフォームでもメールアドレスが見つからなかったことを意味し、合成IDによく見られるシグナルです。このエンドポイント自体はこの結果に基づいて何も処理しません。ワークフローで`email_no_social_presence_action`を使用すると、レビューまたは却下の判定に変換できます。

`enable_social`が設定されていない場合、このブロックは含まれません。また、ソーシャルチェックを完了できなかった場合も含まれず、その場合は請求されません。

## サンドボックスでの動作

サンドボックスのキーはリクエストを検証し、決定論的な承認済みデータを返します。メールの送信、クレジットの消費、セッションの作成、ネットワークには寄与しません。`enable_social`を設定した場合は、決定論的な`email_social`ブロックも返します。

## 請求

Email Risk APIの呼び出しは定価で\$0.04です。メールを送信しないため、完全なメールアドレス認証よりも安価です。本番環境のリクエストは、一部のベストエフォートフィールドが利用できない場合でも、照会が開始された時点で課金対象になります。

ソーシャルフットプリントアドオンは別途請求されます。チェックが完了するたびに、Email Risk APIの料金に加えてリクエスト1件につき`email_social`1単位が請求されます。照会前のクレジットチェックは両方を対象とします。


## OpenAPI

````yaml ja/openapi-25.json POST /v3/email/risk/
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/email/risk/:
    post:
      tags:
        - Standalone APIs
      summary: メールアドレスのリスクをスコアリングする
      description: >-
        OTPを送信せずに、到達可能性、使い捨てアドレス、情報漏えい、セッション横断の一致、正規化されたリスクインテリジェンスのシグナルを返します。このエンドポイントはAPIセッションを作成し、そのIDを`request_id`として返します。


        **判定。**
        最上位の`status`は`email.status`と同じ値になります。通常は`Approved`ですが、リスク評価によって`In
        Review`または`Declined`になる場合があります。


        **互換性のためのエイリアス。**
        本番環境のレスポンスでは、正規化されたインテリジェンスオブジェクトが`email.email_intelligence`と`email.enrichment`の両方で公開されます。値は同一です。新規の連携では`email.enrichment`を読み取ることができます。利用可能なインテリジェンスデータが返されなかった場合、どちらのキーも存在しません。


        **請求。** 本番環境での呼び出しにはEmail Risk
        APIの料金が適用されます。一部のベストエフォートのフィールドが取得できない場合でも、照会が開始された時点でリクエストは課金対象になります。


        **サンドボックス。**
        サンドボックスのキーはリクエストを検証し、メールの送信、クレジットの消費、セッションの作成、Networksへの寄与を行わずに、決定論的な承認済みデータを返します。


        **認証。**
        アプリケーションのAPIキーを`x-api-key`で送信してください。認証情報がない場合や無効な場合は`403`が返されます。このAPIが`401`を返すことはありません。


        **レート制限。**
        すべてのPOST/PATCH/DELETEエンドポイントで共有される書き込み枠として、APIキーごとに1分あたり300リクエストです。


        **ソーシャルフットプリント。**
        `enable_social`を`true`に設定すると、`email_social`ブロックが追加されます。このブロックには、このアドレスが登録されているオンラインプラットフォーム、カテゴリーごとの件数、取得可能なプロフィール詳細が含まれます。`profiles_registered:
        0`は、プラットフォームを確認した結果、どのプラットフォームでもこのアドレスが見つからなかったことを意味し、有効かつ課金対象の回答です。アドオンがリクエストされなかった場合やチェックを完了できなかった場合、このブロックは存在せず、その場合は課金されません。請求では、このエンドポイント自体の料金に加えて、リクエストごとに`email_social`が1単位加算されます。
      operationId: post_v3email_risk
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EmailRiskRequest'
            examples:
              Minimal:
                summary: デフォルト設定で住所をスコアリング
                value:
                  email: alice@example.com
              Full context:
                summary: シグナル、国のヒント、相関IDを指定してスコアリング
                value:
                  email: alice@example.com
                  country_code: US
                  signals:
                    ip: 192.0.2.1
                    device_id: 8F0B8FDD-C2CB-4387-B20A-56E9B2E5A0D2
                    device_platform: web
                    os_version: '14.4'
                    app_version: 1.2.34
                    user_agent: >-
                      Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7)
                      AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.4
                      Safari/605.1.15
                  vendor_data: lead-123
                  metadata:
                    source: signup_prescreen
      responses:
        '200':
          description: リスク評価が完了しました。判定は`status`で確認してください。完了したルックアップでは、HTTPは常に`200`です。
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EmailRiskResponse'
              examples:
                Clean address:
                  summary: データ侵害での露出がない配信可能なアドレス
                  value:
                    request_id: 82397be9-5921-4970-a979-2d5b43e08b33
                    status: Approved
                    email:
                      status: Approved
                      email: alice@example.com
                      is_breached: false
                      breaches: []
                      is_disposable: false
                      is_undeliverable: false
                      verification_attempts: 0
                      verified_at: null
                      warnings: []
                      lifecycle: []
                      matches: []
                      email_intelligence:
                        score: 4
                        deliverable: high
                        breach_risk_level: Low
                        breach_risk_index: 4
                        is_recent_breach: false
                        is_frequent_breached: false
                        is_disposable: false
                        is_free_domain: false
                        is_breached: false
                        no_of_breaches: 0
                        reason_codes: []
                      enrichment:
                        score: 4
                        deliverable: high
                        breach_risk_level: Low
                        breach_risk_index: 4
                        is_recent_breach: false
                        is_frequent_breached: false
                        is_disposable: false
                        is_free_domain: false
                        is_breached: false
                        no_of_breaches: 0
                        reason_codes: []
                    vendor_data: lead-123
                    metadata:
                      source: signup_prescreen
                    created_at: '2026-09-01T10:30:00.123456+00:00'
                Breached address:
                  summary: アドレスが既知の情報漏えいで見つかりました
                  value:
                    request_id: d1e5c2a8-6f30-4c1a-8b2d-3e4f5a6b7c8d
                    status: In Review
                    email:
                      status: In Review
                      email: bob@example.org
                      is_breached: true
                      breaches:
                        - name: ExampleBreach2023
                          domain: example.org
                          breach_date: '2023-06-01'
                          breach_emails_count: 1200000
                          description: A data breach affecting example.org accounts.
                          logo_path: https://logos.example.org/example.png
                          data_classes:
                            - email_addresses
                            - passwords
                          is_verified: true
                      is_disposable: false
                      is_undeliverable: false
                      verification_attempts: 0
                      verified_at: null
                      warnings: []
                      lifecycle: []
                      matches: []
                      email_intelligence:
                        score: 58
                        deliverable: high
                        breach_risk_level: High
                        breach_risk_index: 72
                        is_recent_breach: true
                        is_frequent_breached: true
                        is_disposable: false
                        is_free_domain: true
                        is_breached: true
                        no_of_breaches: 4
                        reason_codes:
                          - code: IR-F784B630
                            direction: risk
                            message: Email's digital footprint diversity is Very Low
                            impact_level: low
                      enrichment:
                        score: 58
                        deliverable: high
                        breach_risk_level: High
                        breach_risk_index: 72
                        is_recent_breach: true
                        is_frequent_breached: true
                        is_disposable: false
                        is_free_domain: true
                        is_breached: true
                        no_of_breaches: 4
                        reason_codes:
                          - code: IR-F784B630
                            direction: risk
                            message: Email's digital footprint diversity is Very Low
                            impact_level: low
                    vendor_data: lead-125
                    metadata: null
                    created_at: '2026-09-01T10:30:00.123456+00:00'
        '400':
          $ref: '#/components/responses/EmailRiskValidationError'
        '403':
          $ref: '#/components/responses/RiskPermissionDenied'
        '429':
          $ref: '#/components/responses/RateLimitedWrite'
      security:
        - ApiKeyAuth: []
      x-codeSamples:
        - lang: curl
          label: curl
          source: |-
            curl -X POST https://verification.didit.me/v3/email/risk/ \
              -H 'x-api-key: YOUR_API_KEY' \
              -H 'Content-Type: application/json' \
              -d '{
                "email": "alice@example.com",
                "country_code": "US",
                "vendor_data": "lead-123",
                "metadata": {"source": "signup_prescreen"}
              }'
        - lang: python
          label: Python
          source: |-
            from didit import Didit

            # Reads DIDIT_API_KEY.
            client = Didit()

            result = client.email.assess_risk(
                email="alice@example.com",
            )
            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.email.assessRisk({
              email: "alice@example.com",
            });
            console.log(result);
        - lang: go
          label: Go
          source: "ctx := context.Background()\n// Reads DIDIT_API_KEY.\nclient := didit.NewClient()\n\nresult, err := client.Email.AssessRisk(ctx, didit.EmailRiskRequest{\n\tEmail: \"alice@example.com\",\n})\nif err != nil {\n\tlog.Fatal(err)\n}\nfmt.Printf(\"%+v\\n\", result)"
        - lang: java
          label: Java
          source: |-
            import me.didit.Didit;
            import me.didit.types.EmailRiskRequest;

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

            var result = client.email().assessRisk(EmailRiskRequest.builder()
                    .email("alice@example.com")
                    .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->email->assessRisk([
                'email' => 'alice@example.com',
            ]);
            print_r($result->toArray());
        - lang: ruby
          label: Ruby
          source: |-
            require "didit"

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

            result = didit.email.assess_risk(email: "alice@example.com")
            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.Email.AssessRiskAsync(new EmailRiskRequest
            {
                Email = "alice@example.com",
            });
            Console.WriteLine(JsonSerializer.Serialize(result));
components:
  schemas:
    EmailRiskRequest:
      type: object
      required:
        - email
      properties:
        email:
          type: string
          format: email
          description: スコアリングするメールアドレス。
          example: alice@example.com
        country_code:
          type: string
          maxLength: 3
          description: インテリジェンスのカバレッジ向けの任意のISO 3166-1 alpha-2またはalpha-3の国ヒントです。
          example: US
        signals:
          $ref: '#/components/schemas/RiskSignals'
        vendor_data:
          type: string
          description: このリクエストに対する固定の参照値です。APIセッションに保存され、レスポンスでそのまま返されます。
        metadata:
          type: object
          nullable: true
          additionalProperties: true
          description: 機密性のないJSONメタデータです。APIセッションに保存され、レスポンスでそのまま返されます。
        enable_social:
          type: boolean
          default: false
          description: >-
            trueの場合、アドレスのソーシャルフットプリント（そのアドレスが登録されているメール、ソーシャル、ビジネス、EC、エンターテインメントの各プラットフォーム）も検索します。このエンドポイント自体の料金に加えて、リクエスト1件ごとに`email_social`1ユニット分が請求されます。
          example: true
    EmailRiskResponse:
      type: object
      required:
        - request_id
        - status
        - created_at
      properties:
        request_id:
          type: string
          format: uuid
          description: >-
            このリクエストで作成されたAPIセッションのID。結果を後続のWebhookやコンソール上のアクティビティと関連付ける必要がある場合は、`vendor_data`とともに保存してください。
        status:
          type: string
          enum:
            - Approved
            - In Review
            - Declined
          description: >-
            このAPIセッションの最終判定です。通常は`Approved`ですが、リスク評価によって`In
            Review`または`Declined`になる場合があります。
        vendor_data:
          type: string
          nullable: true
          description: 送信した`vendor_data`のエコー。送信しなかった場合は`null`です。
        metadata:
          type: object
          nullable: true
          additionalProperties: true
          description: 送信した`metadata`のエコー。送信しなかった場合は`null`です。
        created_at:
          type: string
          format: date-time
          description: このレスポンスの日時。
        email:
          type: object
          description: 正規化されたメールレポート。メールアドレス認証のレスポンスで使われるものと同じブロックです。
          required:
            - status
            - email
            - is_breached
            - breaches
            - is_disposable
            - is_undeliverable
          properties:
            status:
              type: string
              enum:
                - Approved
                - In Review
                - Declined
              description: このメールアドレスの判定。トップレベルの`status`と同じ値です。
            email:
              type: string
              description: スコアリングされたアドレスです。
              example: alice@example.com
            is_breached:
              type: boolean
              description: そのアドレスが既知の認証情報漏えいに含まれているかどうか。
            breaches:
              type: array
              description: >-
                このメールアドレスを含む既知の漏洩のうち、最新のものを最大5件返します。`is_breached`が`false`の場合は空配列です。
              items:
                type: object
                properties:
                  name:
                    type: string
                    description: データ侵害の識別子。
                  domain:
                    type: string
                    description: 漏洩したサービスのドメインです。
                  breach_date:
                    type: string
                    format: date
                    description: データ侵害が発生した日付。
                  breach_emails_count:
                    type: integer
                    description: 侵害で流出したアカウントの総数。
                  description:
                    type: string
                    description: 情報漏えいの内容を人が読める形で説明したもの（HTMLマークアップを含む場合があります）。
                  logo_path:
                    type: string
                    description: 漏洩したサービスのロゴのURL。
                  data_classes:
                    type: array
                    items:
                      type: string
                    description: >-
                      漏洩したデータのカテゴリ。snake_caseで表されます（例:
                      `email_addresses`、`passwords`）。
                  is_verified:
                    type: boolean
                    description: 漏えいが正当なものとして検証済みかどうか。
            is_disposable:
              type: boolean
              description: ドメインが使い捨てメールのプロバイダーに属しているかどうか。
            is_undeliverable:
              type: boolean
              description: そのアドレスが配信不能と判定されたかどうか。
            verification_attempts:
              type: integer
              description: このメールアドレスへのOTP送信回数。リスク照会の場合は`0`です。
            verified_at:
              type: string
              format: date-time
              nullable: true
              description: アドレスがOTPで最後に検証された日時。リスク照会の場合は`null`。
            warnings:
              type: array
              description: このリクエストで記録されたリスク警告。該当がない場合は空の配列です。
              items:
                $ref: '#/components/schemas/RiskWarning'
            lifecycle:
              type: array
              description: リクエストの時系列の監査証跡。送信のないリスク照会では空の配列です。
              items:
                $ref: '#/components/schemas/RiskLifecycleEvent'
            matches:
              type: array
              description: >-
                同じメールアドレスが別のユーザー（異なる`vendor_data`）によって使用された、アプリケーション内の他のセッション。最大5件です。一致がない場合は空の配列です。
              items:
                $ref: '#/components/schemas/EmailMatchItem'
            email_intelligence:
              $ref: '#/components/schemas/EmailIntelligence'
            enrichment:
              $ref: '#/components/schemas/EmailIntelligence'
            email_social:
              $ref: '#/components/schemas/EmailSocialFootprint'
    RiskSignals:
      type: object
      description: >-
        アプリケーションが観測したデバイスおよびネットワークのコンテキストで、任意指定です。すべてのフィールドは任意です。これらを渡すと、Networksにおけるセッション横断の一致検出に活用されます。
      properties:
        ip:
          type: string
          format: ip
          description: エンドユーザーについて観測されたIPv4またはIPv6アドレス。
          example: 192.0.2.1
        device_id:
          type: string
          maxLength: 255
          description: >-
            アプリケーションが収集する不変のデバイス識別子(Androidの`ANDROID_ID`、iOSの`identifierForVendor`)。
        device_platform:
          type: string
          enum:
            - android
            - ios
            - ipados
            - tvos
            - web
          description: エンドユーザーのデバイスのプラットフォーム。
        device_model:
          type: string
          maxLength: 255
          description: アプリケーションが報告したデバイスモデルです。
        os_version:
          type: string
          maxLength: 64
          description: オペレーティングシステムのバージョンです。
        app_version:
          type: string
          maxLength: 64
          description: アプリケーションのバージョン。
        user_agent:
          type: string
          maxLength: 512
          description: ブラウザまたはアプリのユーザーエージェント。
    RiskWarning:
      type: object
      required:
        - feature
        - risk
        - log_type
        - short_description
        - long_description
      properties:
        feature:
          type: string
          description: 警告を生成した機能。
        risk:
          type: string
          description: 機械可読なリスクコードです。今後、新しい値が追加される場合があります。
        additional_data:
          type: object
          nullable: true
          additionalProperties: true
          description: リスク固有のコンテキスト、または`null`。
        log_type:
          type: string
          enum:
            - error
            - warning
            - information
          description: 判定ルールで使用される重大度。
        short_description:
          type: string
          description: 人が読める形式の1行の概要。
        long_description:
          type: string
          description: 人が読める説明文。
    RiskLifecycleEvent:
      type: object
      required:
        - type
        - timestamp
        - details
        - fee
      properties:
        type:
          type: string
          description: 機械可読なイベントタイプ。今後新しい値が追加される場合があります。
        timestamp:
          type: string
          format: date-time
          description: イベントが発生した日時。
        details:
          type: object
          nullable: true
          additionalProperties: true
          description: イベント固有のペイロード、または`null`です。
        fee:
          type: number
          description: このイベントで請求されたUSD金額。
    EmailMatchItem:
      type: object
      description: 同じメールアドレスを異なる`vendor_data`で使用した、お使いのアプリケーションの別のセッション。
      properties:
        session_id:
          type: string
          format: uuid
          description: このメールアドレスを使用した他の認証のセッションID。
        session_number:
          type: integer
          description: そのセッションのわかりやすい連番。
        vendor_data:
          type: string
          nullable: true
          description: そのセッションの`vendor_data`です。
        verification_date:
          type: string
          description: そのセッションが作成された日時（`YYYY-MM-DDTHH:MM:SSZ`）。
        email:
          type: string
          description: 一致したメールアドレスです。
        status:
          type: string
          description: そのセッションのステータス（例：`Approved`、`Declined`、`In Progress`）。
        is_blocklisted:
          type: boolean
          description: メールアドレスがアプリケーションのブロックリストに登録されているかどうか。
        api_service:
          type: string
          nullable: true
          description: APIタイプのセッションの場合、そのセッションを作成したスタンドアロンAPI。通常の認証セッションでは`null`です。
        source:
          type: string
          description: >-
            一致が見つかった場所です。通常は`session`です。組織のリストエントリ経由のブロックリスト一致では`list_entry`が使われます。
    EmailIntelligence:
      type: object
      description: >-
        正規化されたメールインテリジェンスブロック。このメールアドレスに対してインテリジェンスアドオンが実行された場合にのみ存在します。存在する場合は、同一の値を持つ`enrichment`エイリアスとしても公開されます。
      properties:
        score:
          type: number
          nullable: true
          description: 0-100に正規化されたリスクスコア。値が高いほどリスクが高くなります。
        deliverable:
          type: string
          nullable: true
          description: 配信可能性の区分(例:`high`)。
        breach_risk_level:
          type: string
          nullable: true
          description: '`Low`、`Medium`、`High`のいずれかです。'
        breach_risk_index:
          type: number
          nullable: true
          description: 情報漏えいリスクの数値指標です。
        is_recent_breach:
          type: boolean
          nullable: true
          description: このアドレスが最近の情報漏えいに含まれている場合は`true`です。
        is_frequent_breached:
          type: boolean
          nullable: true
          description: このアドレスが多数の情報漏えいに含まれている場合は`true`です。
        is_disposable:
          type: boolean
          nullable: true
          description: ドメインが使い捨てメールプロバイダーである場合は`true`です。
        is_free_domain:
          type: boolean
          nullable: true
          description: ドメインがフリーメールプロバイダーである場合は`true`です。
        is_breached:
          type: boolean
          nullable: true
          description: このアドレスが既知の情報漏えいに含まれている場合は`true`です。
        no_of_breaches:
          type: number
          nullable: true
          description: このメールアドレスを含む既知のデータ侵害の数。
        reason_codes:
          type: array
          items:
            type: object
            properties:
              code:
                type: string
                description: >-
                  シグナルの不変のDidit識別子。例:
                  `IR-5AC67A32`。不透明な値のため、グループ化やフィルターには使用できますが、解析はしないでください。
              value:
                nullable: true
                description: >-
                  リスクフラグ（例：`voip`、`leaked`、`disposable`、`spam_trap`）の場合、その値です：真偽値、レベル、または日付。スコア付きの理由コードではnullです。
              direction:
                type: string
                enum:
                  - risk
                  - trust
                description: シグナルがリスクを高めたか、信頼を加えたか。
              message:
                type: string
                description: シグナルを人が読める形で説明したもの（英語）。
              impact_level:
                type: string
                nullable: true
                description: シグナルがスコアに与えた影響の強さ。例：`low`、`medium`、`high`。
          description: >-
            スコアの根拠となるシグナル。それぞれに安定したDiditコード、方向、メッセージ、影響度があります。新しいコードが今後追加される可能性があるため、未知のコードを拒否しないでください。
    EmailSocialFootprint:
      type: object
      nullable: true
      description: >-
        メールアドレスのソーシャルフットプリント:
        そのメールアドレスが登録されているオンラインプラットフォームです。`enable_social`が設定され、チェックが完了した場合にのみ含まれます。データが返されなかった項目の件数は、いずれもnullになる場合があります。`profiles_registered:
        0`は、プラットフォームがチェックされ、そのいずれにもメールアドレスが見つからなかったことを意味します。これは有効かつ課金対象の結果であり、合成IDによく見られる兆候です。
      properties:
        profiles_registered:
          type: integer
          nullable: true
          description: メールアドレスの登録が確認されたプラットフォーム。
          example: 5
        profiles_checked:
          type: integer
          nullable: true
          description: 登録状況を評価したプラットフォーム。
          example: 14
        names_found:
          type: integer
          nullable: true
          description: 関連付けられた名前を返したプラットフォーム。
          example: 0
        photos_found:
          type: integer
          nullable: true
          description: プロフィール写真を返したプラットフォーム。
          example: 0
        communication_breadth:
          type: integer
          nullable: true
          description: 存在が検出されたコミュニケーションプラットフォーム。
          example: 2
        digital_footprint_diversity:
          type: integer
          nullable: true
          description: 存在が検出された個別のプラットフォームカテゴリ。
          example: 5
        digital_sophistication_index:
          type: integer
          nullable: true
          description: デジタル成熟度の総合指標（0-10）。
          example: 5
        engagement_depth_index:
          type: integer
          nullable: true
          description: プロフィールの充実度を示す指標(0-10)。
          example: 3
        subscription_affordability_index:
          type: integer
          nullable: true
          description: 無料プラットフォームと有料プラットフォームの構成比（0-10）。
          example: 2
        free_platforms:
          type: integer
          nullable: true
          description: 無料プラットフォームでの登録。
          example: 4
        full_paid_platforms:
          type: integer
          nullable: true
          description: 完全有料プラットフォームでの登録。
          example: 0
        partial_paid_platforms:
          type: integer
          nullable: true
          description: フリーミアムプラットフォームでの登録。
          example: 1
        whatsapp_profile_completeness:
          type: string
          nullable: true
          enum:
            - Basic
            - Partial
            - Complete
            - Not Present
            - null
          description: WhatsAppプロフィールの充実度。電話番号のみ対象で、メールアドレスの場合はnullです。
          example: Partial
        registered_platforms:
          type: array
          description: 登録が確認されたプラットフォーム。
          items:
            $ref: '#/components/schemas/SocialFootprintPlatform'
        not_registered_platforms:
          type: array
          description: 確認の結果、否定的な結果となったプラットフォーム。
          items:
            $ref: '#/components/schemas/SocialFootprintPlatform'
        categories:
          type: object
          description: プラットフォームカテゴリごとの登録数と割合。
          additionalProperties:
            $ref: '#/components/schemas/SocialFootprintCategorySummary'
        profiles:
          type: object
          description: プラットフォームが公開している場合の、プラットフォームごとのプロフィール詳細です。プラットフォームをキーとします。
          additionalProperties:
            $ref: '#/components/schemas/SocialFootprintProfile'
    SocialFootprintPlatform:
      type: object
      properties:
        platform:
          type: string
          description: プラットフォーム識別子。
          example: whatsapp
        category:
          type: string
          description: >-
            プラットフォームのカテゴリー。例:
            MESSAGING、SOCIAL_MEDIA、ECOMMERCE、PROFESSIONAL、EMAIL_PROVIDER。
          example: MESSAGING
        scope:
          type: string
          enum:
            - global
            - local
          description: グローバルなプラットフォームの場合は`global`、地域限定のプラットフォームの場合は`local`。
          example: global
    SocialFootprintCategorySummary:
      type: object
      properties:
        registered:
          type: integer
          nullable: true
          description: このカテゴリーのうち、登録が確認されたプラットフォーム。
          example: 2
        ratio:
          type: number
          format: float
          nullable: true
          description: そのカテゴリでチェックしたプラットフォームのうち、登録があるものの割合（0.0〜1.0）。
          example: 0.6667
    SocialFootprintProfile:
      type: object
      properties:
        name:
          type: string
          nullable: true
          description: プロフィール名。プラットフォームが公開している場合に返されます。
        photo:
          type: string
          nullable: true
          description: プロフィール写真のURL。プラットフォームが公開している場合に返されます。
        about:
          type: string
          nullable: true
          description: プロフィールの自己紹介文。プラットフォームが公開している場合に返されます。
        privacy_status:
          type: string
          nullable: true
          enum:
            - PUBLIC
            - PRIVATE
            - null
          description: プロフィールの公開設定。プラットフォームが公開している場合に返されます。
        business_account:
          type: boolean
          nullable: true
          description: プラットフォームが公開している場合、プロフィールがビジネスアカウントかどうか。
  responses:
    EmailRiskValidationError:
      description: リクエストのバリデーションに失敗しました。
      content:
        application/json:
          examples:
            Missing email:
              summary: メールアドレスがありません
              value:
                email:
                  - This field is required.
            Invalid email:
              summary: メールアドレスが無効です
              value:
                email:
                  - Enter a valid email address.
            Invalid country hint:
              summary: 国のヒントが無効です
              value:
                country_code:
                  - Ensure this field has no more than 3 characters.
    RiskPermissionDenied:
      description: APIキーがないか無効である、または組織がライブ照会の費用を賄えません。このAPIが`401`を返すことはありません。
      content:
        application/json:
          examples:
            Missing or invalid API key:
              summary: '`x-api-key`ヘッダーがないか、キーが無効または失効しています'
              value:
                detail: You do not have permission to perform this action.
            Not enough credits:
              summary: 組織の残高で照会料金を賄えません
              value:
                error: You don't have enough credits to perform this request.
    RateLimitedWrite:
      description: APIキーあたり毎分300リクエストの共有書き込み制限を超えました。再試行する前に`Retry-After`に従ってください。
      content:
        application/json:
          schema:
            type: object
            required:
              - detail
            properties:
              detail:
                type: string
          example:
            detail: >-
              Write request rate limit exceeded. You can make up to 300 requests
              per minute.
  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.