> ## 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.

# AML継続的モニタリングのオン・オフAPI（ユーザー一括）

> DiditのAPIで、複数ユーザーのAML継続的なモニタリングを1回の呼び出しでオン・オフできます。費用見積もりのドライラン、ポーリング可能なジョブ、ユーザーごとの結果に対応。



ユーザーのAMLモニタリング切り替えプロンプト
        プロンプトをクリップボードにコピー



      
      

\<pre>

\`Goal: Enable or disable ongoing AML monitoring for one or many Didit User entities in a single call, with the same semantics as the Business Console. Preview the cost first with estimate_only, then run the change and read the per-user outcome.

Endpoint: POST https://verification.didit.me/v3/users/aml-monitoring/
Auth header: x-api-key: <DIDIT_API_KEY>
Content-Type: application/json

Request body:
\- is_enabled: boolean (required) - true to enable monitoring, false to disable it.
\- estimate_only: boolean (default false) - when true, returns the cost preview and performs NO writes: no screening, no billing, no job.
\- vendor_data_list: string[] - your own identifiers, matched exactly as sent.
\- didit_internal_id_list: string[] (UUIDs) - the didit_internal_id returned by the create, get and list endpoints.
Provide at least one list; the two are OR'd. At most 1000 identifiers per request across both lists - split larger selections into several calls.

Semantics:
\- One monitored screening per user: a person who verified several times is monitored and billed once. Disabling turns monitoring off across all of the user's screenings.
\- Users without any AML screening are screened first (billed as a regular AML screening) when the profile has a full name, date of birth and country; otherwise the user is reported as skipped_no_identity_data.
\- Blocked users are skipped (skipped_blocked). Sandbox applications never create screenings (skipped_sandbox).
\- Enabling is refused with 403 when the organization balance does not cover the estimate; the response carries the estimate.

curl (estimate first):
curl -X POST 'https://verification.didit.me/v3/users/aml-monitoring/' \
-H 'x-api-key: YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{"is_enabled": true, "estimate_only": true, "vendor_data_list": ["user-123", "user-456"]}'

Response 200 (estimate_only):
\{
"users_total": 2, "already_enabled": 0, "with_existing_aml": 1, "needing_screening": 1,
"skipped_no_identity_data": 0, "skipped_blocked": 0,
"estimated_screening_cost_usd": 0.2, "estimated_annual_monitoring_cost_usd": 0.14,
"balance_sufficient": true, "unmatched": []
}

curl (enable):
curl -X POST 'https://verification.didit.me/v3/users/aml-monitoring/' \
-H 'x-api-key: YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{"is_enabled": true, "vendor_data_list": ["user-123", "user-456"]}'

Response 200 (20 users or fewer - processed inline, already COMPLETED) or 202 (more than 20 - running in the background):
\{
"job_id": "<uuid>", "status": "COMPLETED", "is_enabled": true, "target_type": "user",
"total": 2, "processed": 2,
"outcomes": {"enabled": 1, "screened_and_enabled": 1, "already_enabled": 0, "disabled": 0, "skipped_no_identity_data": 0, "skipped_blocked": 0, "skipped_sandbox": 0, "failed_provider": 0, "failed_insufficient_balance": 0},
"results": [
\{"didit_internal_id": "<uuid>", "vendor_data": "user-123", "outcome": "enabled"},
\{"didit_internal_id": "<uuid>", "vendor_data": "user-456", "outcome": "screened_and_enabled"}
],
"estimate": { ...same shape as above, without unmatched... },
"unmatched": [],
"error": null,                     // generic message when status is FAILED
"created_at": "<datetime>", "completed_at": "<datetime>"
}
On 202, poll GET /v3/aml-monitoring/jobs/{job_id}/ every couple of seconds until status is COMPLETED or FAILED; results fills in as users are processed.

Per-user outcome values: enabled, screened_and_enabled, already_enabled, disabled, skipped_no_identity_data, skipped_blocked, skipped_sandbox, failed_provider, failed_insufficient_balance.

Failure modes:
\- 400 - is_enabled missing, no selector, or more than 1000 identifiers across both lists.
A selection that matches nothing is NOT an error: the job completes with total 0 and every identifier is listed under unmatched (same convention as the batch delete endpoints).
\- 401 - missing/invalid x-api-key.
\- 403 - insufficient balance to enable monitoring for this selection (body: error + estimate).

Idempotency: re-sending an enable returns already_enabled for users that are already monitored, with no second screening and no second bill. Disabling an unmonitored user returns disabled and changes nothing.

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

\</pre>



      
      

貼り付け先

## 概要選択した[ユーザーエンティティ](https://docs.didit.me/ja/entities/users/overview.md)に対して[継続的なAMLモニタリング](https://docs.didit.me/ja/core-technology/aml-screening/continuous-monitoring-aml-screening.md)を有効化または無効化します。動作はBusiness Consoleの**AML Ongoing monitoring**アクションとまったく同じです。Consoleとこのエンドポイントは同じ処理を内部で実行するため、ルール、請求、結果はすべて同一です。まず`estimate_only: true`を指定して送信すると、選択されたユーザー数、新たにAMLスクリーニングが必要なユーザー数、1回限りのスクリーニング費用、年間のモニタリング費用を確認できます。このドライランでは何も書き込まれません。## 利用シーン- **プログラムによるオンボーディング**: インポートしたユーザーやAPIで作成したユーザーについて、手作業で再スクリーニングすることなくモニタリングを有効にします。
- **オフボーディング**: プラットフォームを離れたユーザーのモニタリングと、その年次更新を停止します。
- **コスト管理**: 選択内容を確定する前に、コストへの正確な影響をプレビューします。## 選択したユーザーの処理方法- **監視対象のスクリーニングはユーザーごとに1件**。複数回認証したユーザーでも、モニタリングと請求は1回だけです。無効化すると、そのユーザーのすべてのスクリーニングでモニタリングが停止されます。
- **AMLスクリーニングのないユーザーは先にスクリーニングされます**。Diditはそのユーザーに新しいAML検証を作成し(ユーザーの**Verifications**タブに表示されます)、通常のAMLスクリーニングとして請求したうえで、そのスクリーニングでモニタリングを有効にします。これにはユーザーの氏名、生年月日、国が必要です。いずれかが欠けているユーザーは、黙って除外されるのではなく`skipped_no_identity_data`として報告されます。
- **ブロックされたユーザーはスキップされます**(`skipped_blocked`)。サンドボックスのアプリケーションではスクリーニングは作成されません(`skipped_sandbox`)。
- **残高は事前に確認されます**。残高が見積額に満たない場合、有効化は`403`で拒否されます。レスポンスには見積額が含まれるため、チャージすべき金額がわかります。
- **年間更新**。新たにモニタリング対象となったユーザーには、次回の更新日に年間モニタリング料金が請求されます。この日付はConsoleの**Ongoing monitoring**列に表示される日付と同じです。無効化すると更新は停止しますが、すでに請求された期間の払い戻しは行われません。## 選択対象とバッチサイズユーザーは`vendor_data_list`、`didit_internal_id_list`、またはその両方で選択します。2つのリストはORで結合されます。1回のリクエストで受け付けられるのは、両リスト合わせて最大**1000件の識別子**です。アプリケーション内のどのユーザーにも一致しない識別子は、送信されたとおりの形で`unmatched`に返され、リクエストが失敗することはありません。何にも一致しない選択は空のジョブ(`total: 0`)として完了し、すべての識別子が一覧表示されます。これは一括削除エンドポイントと同じ仕様です。## インライン処理とバックグラウンド処理**20ユーザー以下**の選択はインラインで処理され、リクエストは完了したジョブとともに`200`を返します。それより多くのユーザーを含む選択では`PENDING`状態のジョブとともに`202`が返されます。`status`が`COMPLETED`または`FAILED`になるまで[AMLモニタリングジョブの取得](https://docs.didit.me/ja/management-api/aml-monitoring/get-job.md)をポーリングしてください。いずれの場合も、ジョブにはユーザーごとに1件の`results`エントリがあり、その`outcome`が含まれます。| `outcome` | 意味 |
| - | - |
| `enabled` | 既存のAMLスクリーニングでモニタリングが有効になりました。 |
| `screened_and_enabled` | 新しいAMLスクリーニングが作成され(請求対象)、そのスクリーニングでモニタリングが有効になりました。 |
| `already_enabled` | モニタリングはすでに有効でした。変更も請求もありません。 |
| `disabled` | ユーザーのすべてのスクリーニングでモニタリングが停止されました。 |
| `skipped_no_identity_data` | スクリーニングに必要な氏名、生年月日、国のいずれかがユーザーにありません。 |
| `skipped_blocked` | ユーザーはブロックされています。 |
| `skipped_sandbox` | サンドボックスのアプリケーションです。スクリーニングは作成されません。 |
| `failed_provider` | スクリーニングを完了できませんでした。後で再試行してください。 |
| `failed_insufficient_balance` | ジョブの実行中に残高が不足しました。 |## Webhookモニタリングの切り替え自体ではWebhookは送信されません。モニタリングが有効になると、再スクリーニングのたびに、[継続的なAMLモニタリング](https://docs.didit.me/ja/core-technology/aml-screening/continuous-monitoring-aml-screening.md)で説明している通常の`status.updated`および`data.updated`イベントが引き続き送信されます。## 権限アプリケーションの有効なAPIキーであれば、どれでもこのエンドポイントを呼び出せます。DiditのAPIキーは**役割単位ではなくアプリケーション単位**です。Consoleの[役割と権限](https://docs.didit.me/ja/console/roles-permissions.md)は、*人*がConsoleで何をできるかを決めるものであり、Management APIのトラフィックには適用されません。## 関連ページ- [AMLモニタリングジョブの取得](https://docs.didit.me/ja/management-api/aml-monitoring/get-job.md)
- [企業のAMLモニタリングの切り替え](https://docs.didit.me/ja/management-api/aml-monitoring/toggle-businesses.md)
- [継続的なAMLモニタリング](https://docs.didit.me/ja/core-technology/aml-screening/continuous-monitoring-aml-screening.md)
- [AMLスクリーニングAPI](https://docs.didit.me/ja/standalone-apis/aml-screening.md)
- [ユーザー一覧の取得](https://docs.didit.me/ja/management-api/users/list.md)


## OpenAPI

````yaml ja/openapi-25.json POST /v3/users/aml-monitoring/
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/users/aml-monitoring/:
    post:
      tags:
        - AML Ongoing Monitoring
      summary: ユーザーの継続的なAMLモニタリングを有効化または無効化する
      description: >-
        選択したユーザーの継続的なAMLモニタリングをオンまたはオフにします。動作はBusiness
        Consoleと同じです。モニタリング対象のAMLスクリーニングはユーザーごとに1件のみ保持されるため、複数回認証したプロファイルでもモニタリングと請求は1回分です。無効にすると、そのプロファイルのすべてのスクリーニングでモニタリングがオフになります。AMLスクリーニングが1件もないユーザーは、必要な氏名、生年月日、国がある場合、先にスクリーニングされます（通常のAMLスクリーニングとして請求されます）。ない場合は`skipped_no_identity_data`として報告されます。


        `estimate_only:
        true`を設定すると、何も書き込まずに件数と費用をプレビューできます。20件以下のプロファイルの選択はその場で処理され、完了したジョブとともに`200`を返します。それより多い選択は`202`を返してバックグラウンドで実行されます。返された`job_id`を使って[AMLモニタリングジョブの取得](#get-/v3/aml-monitoring/jobs/-job_id-/)をポーリングしてください。組織の残高が見積額に満たない場合、有効化は`403`で拒否されます。どれにも一致しない識別子は`unmatched`に列挙され、リクエストが失敗することはありません。何にも一致しない選択は空のジョブ（`total`が0）として完了します。これは一括削除エンドポイントと同じ規則です。
      operationId: toggle_users_aml_monitoring
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - is_enabled
              description: >-
                `vendor_data_list`、`didit_internal_id_list`、またはその両方でユーザーを選択します(2つのリストはORで結合されます)。1回のリクエストで指定できる識別子は、両方のリストを合わせて最大1000件です。
              properties:
                is_enabled:
                  type: boolean
                  description: モニタリングを有効にする場合はtrue、無効にする場合はfalseです。
                estimate_only:
                  type: boolean
                  default: false
                  description: trueの場合、費用の見積もりを返し、書き込みは一切行いません（スクリーニング、請求、ジョブのいずれも発生しません）。
                vendor_data_list:
                  type: array
                  items:
                    type: string
                  description: 切り替えるユーザーのお客様独自の識別子で、送信した値と完全一致で照合されます。
                didit_internal_id_list:
                  type: array
                  items:
                    type: string
                    format: uuid
                  description: >-
                    切り替えるユーザーのDidit内部IDです。作成、取得、一覧の各エンドポイントが返す`didit_internal_id`を指定します。
            examples:
              Estimate first:
                summary: 書き込みを行わずに費用をプレビューする
                value:
                  is_enabled: true
                  estimate_only: true
                  vendor_data_list:
                    - user-123
                    - user-456
              Enable:
                summary: 2人のユーザーのモニタリングを有効にする
                value:
                  is_enabled: true
                  vendor_data_list:
                    - user-123
                    - user-456
              Disable:
                summary: Diditの内部IDでモニタリングを無効化
                value:
                  is_enabled: false
                  didit_internal_id_list:
                    - 3f1c0d3e-8f0a-4c2e-9a3d-9b1f5f4a2c11
      responses:
        '200':
          description: '`estimate_only`がtrueの場合は見積もり、インラインで処理された選択の場合は完了したジョブです。'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AMLMonitoringToggleResult'
        '202':
          description: >-
            より大きな選択はバックグラウンドで実行されます。`job_id`を使用してジョブエンドポイントをポーリングしてください。プロファイルの処理が進むにつれて`results`に結果が追加されます。
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AMLMonitoringJob'
        '400':
          description: 'バリデーションエラー: `is_enabled`がない、セレクターがない、または両方のリストを合わせて識別子が1000件を超えています。'
        '401':
          description: APIキーがないか無効です。
        '403':
          description: >-
            この選択内容でモニタリングを有効にするには残高が不足しています。レスポンスには`estimate`が含まれるため、必要な金額をチャージできます。
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                  estimate:
                    type: object
                    description: 費用のプレビュー。estimate_onlyがtrueの場合に直接返されます(何も書き込まれません)。
                    properties:
                      users_total:
                        type: integer
                        description: 選択条件に一致したプロフィール。
                      already_enabled:
                        type: integer
                        description: すでにモニタリング中のプロフィール(有効化時には何も行われず、無効化するとこれらがオフになります)。
                      with_existing_aml:
                        type: integer
                        description: >-
                          既存のAMLスクリーニングがモニタリング対象に切り替えられるプロファイル（新たなスクリーニングは行われません）。
                      needing_screening:
                        type: integer
                        description: >-
                          AMLスクリーニングが一度も行われておらず、最初にスクリーニングが行われるプロファイル（通常のAMLスクリーニングとして請求されます）。
                      skipped_no_identity_data:
                        type: integer
                        description: 本人情報が不足しているためスクリーニングできないプロフィール。
                      skipped_blocked:
                        type: integer
                        description: スキップされるブロック済みユーザーの数（企業の場合は常に0）。
                      estimated_screening_cost_usd:
                        type: number
                        example: 0.2
                        description: 新しいスクリーニングの1回限りの費用です。
                      estimated_annual_monitoring_cost_usd:
                        type: number
                        example: 0.07
                        description: モニタリング対象となるプロファイルの年間モニタリング費用。
                      balance_sufficient:
                        type: boolean
                        description: 組織の残高でスクリーニングと初年度のモニタリングを賄えるかどうか。
      security:
        - ApiKeyAuth: []
      x-codeSamples:
        - lang: curl
          label: curl
          source: >-
            curl -X POST
            'https://verification.didit.me/v3/users/aml-monitoring/' \
              -H 'x-api-key: YOUR_API_KEY' \
              -H 'Content-Type: application/json' \
              -d '{"is_enabled": true, "vendor_data_list": ["user-123", "user-456"]}'
        - lang: python
          label: Python
          source: |-
            from didit import Didit

            # Reads DIDIT_API_KEY.
            client = Didit()

            result = client.users.set_aml_monitoring(
                is_enabled=True,
                estimate_only=True,
                vendor_data_list=["user-123", "user-456"],
            )
            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.users.setAmlMonitoring({
              is_enabled: true,
              estimate_only: true,
              vendor_data_list: ["user-123", "user-456"],
            });
            console.log(result);
        - lang: go
          label: Go
          source: "ctx := context.Background()\n// Reads DIDIT_API_KEY.\nclient := didit.NewClient()\n\nresult, err := client.Users.SetAMLMonitoring(ctx, didit.UsersSetAMLMonitoringParams{\n\tIsEnabled:      true,\n\tEstimateOnly:   didit.Bool(true),\n\tVendorDataList: didit.Some([]string{\"user-123\", \"user-456\"}),\n})\nif err != nil {\n\tlog.Fatal(err)\n}\nfmt.Printf(\"%+v\\n\", result)"
        - lang: java
          label: Java
          source: >-
            import java.util.List;

            import me.didit.Didit;

            import me.didit.types.UsersSetAmlMonitoringParams;


            // Reads DIDIT_API_KEY.

            Didit client = new Didit();


            var result =
            client.users().setAmlMonitoring(UsersSetAmlMonitoringParams.builder()
                    .isEnabled(true)
                    .estimateOnly(true)
                    .vendorDataList(List.of("user-123", "user-456"))
                    .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->users->setAmlMonitoring([
                'is_enabled' => true,
                'estimate_only' => true,
                'vendor_data_list' => ['user-123', 'user-456'],
            ]);
            print_r($result->toArray());
        - lang: ruby
          label: Ruby
          source: |-
            require "didit"

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

            result = didit.users.set_aml_monitoring(
              is_enabled: true,
              estimate_only: true,
              vendor_data_list: ["user-123", "user-456"]
            )
            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.Users.SetAmlMonitoringAsync(new
            UsersSetAmlMonitoringParams

            {
                IsEnabled = true,
                EstimateOnly = true,
                VendorDataList = new string[] { "user-123", "user-456" },
            });

            Console.WriteLine(JsonSerializer.Serialize(result));
components:
  schemas:
    AMLMonitoringToggleResult:
      oneOf:
        - type: object
          required:
            - users_total
            - already_enabled
            - with_existing_aml
            - needing_screening
            - skipped_no_identity_data
            - skipped_blocked
            - estimated_screening_cost_usd
            - estimated_annual_monitoring_cost_usd
            - balance_sufficient
            - unmatched
          description: 費用のプレビュー。estimate_onlyがtrueの場合に直接返されます(何も書き込まれません)。
          properties:
            users_total:
              type: integer
              description: 選択条件に一致したプロフィール。
            already_enabled:
              type: integer
              description: すでにモニタリング中のプロフィール(有効化時には何も行われず、無効化するとこれらがオフになります)。
            with_existing_aml:
              type: integer
              description: 既存のAMLスクリーニングがモニタリング対象に切り替えられるプロファイル（新たなスクリーニングは行われません）。
            needing_screening:
              type: integer
              description: >-
                AMLスクリーニングが一度も行われておらず、最初にスクリーニングが行われるプロファイル（通常のAMLスクリーニングとして請求されます）。
            skipped_no_identity_data:
              type: integer
              description: 本人情報が不足しているためスクリーニングできないプロフィール。
            skipped_blocked:
              type: integer
              description: スキップされるブロック済みユーザーの数（企業の場合は常に0）。
            estimated_screening_cost_usd:
              type: number
              example: 0.2
              description: 新しいスクリーニングの1回限りの費用です。
            estimated_annual_monitoring_cost_usd:
              type: number
              example: 0.07
              description: モニタリング対象となるプロファイルの年間モニタリング費用。
            balance_sufficient:
              type: boolean
              description: 組織の残高でスクリーニングと初年度のモニタリングを賄えるかどうか。
            unmatched:
              type: array
              items:
                type: string
              description: このアプリケーション内のどのプロフィールにも一致しなかったリクエストの識別子。送信されたとおりの値で返されます。
        - type: object
          required:
            - job_id
            - status
            - is_enabled
            - target_type
            - total
            - processed
            - outcomes
            - results
            - error
            - created_at
            - completed_at
            - estimate
            - unmatched
          properties:
            job_id:
              type: string
              format: uuid
            status:
              type: string
              enum:
                - PENDING
                - PROCESSING
                - COMPLETED
                - FAILED
            is_enabled:
              type: boolean
              description: ジョブがモニタリングを有効にする場合はtrue、無効にする場合はfalseです。
            target_type:
              type: string
              enum:
                - user
                - business
              description: ジョブが切り替えるプロファイルの種類。
            total:
              type: integer
              description: ジョブが処理するプロフィール。
            processed:
              type: integer
              description: これまでに処理されたプロフィール。
            outcomes:
              type: object
              description: >-
                レコードごとの結果カウンターです。選択された各プロフィールは必ずいずれか1つのカウンターに集計され、黙ってスキップされるものはありません。
              properties:
                enabled:
                  type: integer
                  description: 既存のAMLスクリーニングでモニタリングが有効化されました。
                screened_and_enabled:
                  type: integer
                  description: 新しいAMLスクリーニングが作成され（課金対象）、そのスクリーニングでモニタリングが有効になりました。
                already_enabled:
                  type: integer
                  description: モニタリングはすでに有効でした。何も変更されず、請求も発生していません。
                disabled:
                  type: integer
                  description: プロファイルのすべてのAMLスクリーニングでモニタリングがオフになりました。
                skipped_no_identity_data:
                  type: integer
                  description: >-
                    スキップ:
                    プロファイルに、スクリーニングに必要な氏名、生年月日、国(ユーザーの場合)または名称(企業の場合)がありません。
                skipped_blocked:
                  type: integer
                  description: 'スキップ: ユーザーがブロックされています。'
                skipped_sandbox:
                  type: integer
                  description: 'スキップ: サンドボックスアプリケーションのため、スクリーニングは作成されません。'
                failed_provider:
                  type: integer
                  description: スクリーニングを完了できませんでした。後で再試行してください。
                failed_insufficient_balance:
                  type: integer
                  description: ジョブの実行中に残高が不足しました。
            results:
              type: array
              description: >-
                処理されたプロファイルごとに処理順で1エントリー。ジョブの実行中に増えていき、ステータスがCOMPLETEDになった時点で完全になります。APIから開始したジョブについて記録されます。
              items:
                type: object
                properties:
                  didit_internal_id:
                    type: string
                    format: uuid
                    description: プロファイルのDidit内部IDです。
                  vendor_data:
                    type: string
                    nullable: true
                    description: プロファイルに対するお客様独自の識別子です。
                  outcome:
                    type: string
                    enum:
                      - enabled
                      - screened_and_enabled
                      - already_enabled
                      - disabled
                      - skipped_no_identity_data
                      - skipped_blocked
                      - skipped_sandbox
                      - failed_provider
                      - failed_insufficient_balance
            error:
              type: string
              nullable: true
              description: ステータスがFAILEDの場合の汎用的な失敗メッセージ。詳細な原因はプラットフォーム側で保持されます。
            created_at:
              type: string
              format: date-time
            completed_at:
              type: string
              format: date-time
              nullable: true
            estimate:
              type: object
              description: 費用のプレビュー。estimate_onlyがtrueの場合に直接返されます(何も書き込まれません)。
              properties:
                users_total:
                  type: integer
                  description: 選択条件に一致したプロフィール。
                already_enabled:
                  type: integer
                  description: すでにモニタリング中のプロフィール(有効化時には何も行われず、無効化するとこれらがオフになります)。
                with_existing_aml:
                  type: integer
                  description: 既存のAMLスクリーニングがモニタリング対象に切り替えられるプロファイル（新たなスクリーニングは行われません）。
                needing_screening:
                  type: integer
                  description: >-
                    AMLスクリーニングが一度も行われておらず、最初にスクリーニングが行われるプロファイル（通常のAMLスクリーニングとして請求されます）。
                skipped_no_identity_data:
                  type: integer
                  description: 本人情報が不足しているためスクリーニングできないプロフィール。
                skipped_blocked:
                  type: integer
                  description: スキップされるブロック済みユーザーの数（企業の場合は常に0）。
                estimated_screening_cost_usd:
                  type: number
                  example: 0.2
                  description: 新しいスクリーニングの1回限りの費用です。
                estimated_annual_monitoring_cost_usd:
                  type: number
                  example: 0.07
                  description: モニタリング対象となるプロファイルの年間モニタリング費用。
                balance_sufficient:
                  type: boolean
                  description: 組織の残高でスクリーニングと初年度のモニタリングを賄えるかどうか。
            unmatched:
              type: array
              items:
                type: string
              description: >-
                このアプリケーション内のどのプロフィールにも一致しなかったリクエストの識別子。送信されたとおりの値で返されます。これらはジョブに含まれません。
    AMLMonitoringJob:
      type: object
      properties:
        job_id:
          type: string
          format: uuid
        status:
          type: string
          enum:
            - PENDING
            - PROCESSING
            - COMPLETED
            - FAILED
        is_enabled:
          type: boolean
          description: ジョブがモニタリングを有効にする場合はtrue、無効にする場合はfalseです。
        target_type:
          type: string
          enum:
            - user
            - business
          description: ジョブが切り替えるプロファイルの種類。
        total:
          type: integer
          description: ジョブが処理するプロフィール。
        processed:
          type: integer
          description: これまでに処理されたプロフィール。
        outcomes:
          type: object
          description: >-
            レコードごとの結果カウンターです。選択された各プロフィールは必ずいずれか1つのカウンターに集計され、黙ってスキップされるものはありません。
          properties:
            enabled:
              type: integer
              description: 既存のAMLスクリーニングでモニタリングが有効化されました。
            screened_and_enabled:
              type: integer
              description: 新しいAMLスクリーニングが作成され（課金対象）、そのスクリーニングでモニタリングが有効になりました。
            already_enabled:
              type: integer
              description: モニタリングはすでに有効でした。何も変更されず、請求も発生していません。
            disabled:
              type: integer
              description: プロファイルのすべてのAMLスクリーニングでモニタリングがオフになりました。
            skipped_no_identity_data:
              type: integer
              description: 'スキップ: プロファイルに、スクリーニングに必要な氏名、生年月日、国(ユーザーの場合)または名称(企業の場合)がありません。'
            skipped_blocked:
              type: integer
              description: 'スキップ: ユーザーがブロックされています。'
            skipped_sandbox:
              type: integer
              description: 'スキップ: サンドボックスアプリケーションのため、スクリーニングは作成されません。'
            failed_provider:
              type: integer
              description: スクリーニングを完了できませんでした。後で再試行してください。
            failed_insufficient_balance:
              type: integer
              description: ジョブの実行中に残高が不足しました。
        results:
          type: array
          description: >-
            処理されたプロファイルごとに処理順で1エントリー。ジョブの実行中に増えていき、ステータスがCOMPLETEDになった時点で完全になります。APIから開始したジョブについて記録されます。
          items:
            type: object
            properties:
              didit_internal_id:
                type: string
                format: uuid
                description: プロファイルのDidit内部IDです。
              vendor_data:
                type: string
                nullable: true
                description: プロファイルに対するお客様独自の識別子です。
              outcome:
                type: string
                enum:
                  - enabled
                  - screened_and_enabled
                  - already_enabled
                  - disabled
                  - skipped_no_identity_data
                  - skipped_blocked
                  - skipped_sandbox
                  - failed_provider
                  - failed_insufficient_balance
        error:
          type: string
          nullable: true
          description: ステータスがFAILEDの場合の汎用的な失敗メッセージ。詳細な原因はプラットフォーム側で保持されます。
        created_at:
          type: string
          format: date-time
        completed_at:
          type: string
          format: date-time
          nullable: true
        estimate:
          type: object
          description: 費用のプレビュー。estimate_onlyがtrueの場合に直接返されます(何も書き込まれません)。
          properties:
            users_total:
              type: integer
              description: 選択条件に一致したプロフィール。
            already_enabled:
              type: integer
              description: すでにモニタリング中のプロフィール(有効化時には何も行われず、無効化するとこれらがオフになります)。
            with_existing_aml:
              type: integer
              description: 既存のAMLスクリーニングがモニタリング対象に切り替えられるプロファイル（新たなスクリーニングは行われません）。
            needing_screening:
              type: integer
              description: >-
                AMLスクリーニングが一度も行われておらず、最初にスクリーニングが行われるプロファイル（通常のAMLスクリーニングとして請求されます）。
            skipped_no_identity_data:
              type: integer
              description: 本人情報が不足しているためスクリーニングできないプロフィール。
            skipped_blocked:
              type: integer
              description: スキップされるブロック済みユーザーの数（企業の場合は常に0）。
            estimated_screening_cost_usd:
              type: number
              example: 0.2
              description: 新しいスクリーニングの1回限りの費用です。
            estimated_annual_monitoring_cost_usd:
              type: number
              example: 0.07
              description: モニタリング対象となるプロファイルの年間モニタリング費用。
            balance_sufficient:
              type: boolean
              description: 組織の残高でスクリーニングと初年度のモニタリングを賄えるかどうか。
        unmatched:
          type: array
          items:
            type: string
          description: >-
            このアプリケーション内のどのプロフィールにも一致しなかったリクエストの識別子。送信されたとおりの値で返されます。これらはジョブに含まれません。
  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.