> ## 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のこのエンドポイントは、複数企業のAML継続的なモニタリングを1回の呼び出しで一括オン/オフします。費用見積もりのドライラン、ポーリング可能なジョブ、企業ごとの結果に対応しています。



企業向けAMLモニタリング切り替えプロンプト
        プロンプトをクリップボードにコピー



      
      

\<pre>

\`Goal: Enable or disable ongoing AML monitoring for one or many Didit Business (KYB) 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-business outcome.

Endpoint: POST https://verification.didit.me/v3/businesses/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 business: a company that verified several times is monitored and billed once. Disabling turns monitoring off across all of the business's screenings.
\- Businesses without any AML screening are screened first (billed as a regular AML screening) using their legal name (or display name) and country; a business with no name is reported as skipped_no_identity_data.
\- 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/businesses/aml-monitoring/' \
-H 'x-api-key: YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{"is_enabled": true, "estimate_only": true, "vendor_data_list": ["company-123", "company-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": []
}
(users_total counts the selected businesses; the estimate shape is shared with the users endpoint.)

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

Response 200 (20 businesses 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": "business",
"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": "company-123", "outcome": "enabled"},
\{"didit_internal_id": "<uuid>", "vendor_data": "company-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 businesses are processed.

Per-business outcome values: enabled, screened_and_enabled, already_enabled, disabled, skipped_no_identity_data, skipped_sandbox, failed_provider, failed_insufficient_balance (skipped_blocked is always 0 for businesses).

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 businesses that are already monitored, with no second screening and no second bill. Disabling an unmonitored business 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/businesses/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回限りのスクリーニング費用、年間のモニタリング費用を確認できます。ドライランでは何も書き込まれません。見積もりはユーザーエンドポイントと同じフィールド名を使用するため、`users_total`は選択された企業の数を表します。## 選択内容の処理方法- **モニタリング対象のスクリーニングは企業1社につき1件です。** 複数回認証を行った企業でも、モニタリングと請求は1回のみです。無効化すると、その企業のすべてのスクリーニングでモニタリングがオフになります。
- **AMLスクリーニングがない企業は、先にスクリーニングされます。** Diditはその企業用に新しいAML検証を作成し（企業の**Verifications**タブに表示されます）、通常のAMLスクリーニングとして請求したうえで、そのスクリーニングのモニタリングを有効にします。スクリーニングには企業の法人名（または表示名）と国が使用されます。名前がまったくない企業は、何も通知されずに除外されるのではなく、`skipped_no_identity_data`として報告されます。
- **サンドボックスのアプリケーションではスクリーニングは作成されません**（`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)をポーリングしてください。いずれの場合も、ジョブには企業ごとに`outcome`を含む`results`エントリが1件ずつ含まれます。| `outcome` | 意味 |
| - | - |
| `enabled` | 既存のAMLスクリーニングでモニタリングが有効になりました。 |
| `screened_and_enabled` | 新しいAMLスクリーニングが作成され（請求対象）、そのスクリーニングでモニタリングが有効になりました。 |
| `already_enabled` | モニタリングはすでに有効でした。変更はなく、請求も発生していません。 |
| `disabled` | その企業のすべてのスクリーニングでモニタリングがオフになりました。 |
| `skipped_no_identity_data` | その企業にはスクリーニングに使用できる法人名や表示名がありません。 |
| `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-users.md)
- [継続的なAMLモニタリング](https://docs.didit.me/ja/core-technology/aml-screening/continuous-monitoring-aml-screening.md)
- [企業のAMLスクリーニング](https://docs.didit.me/ja/business-verification/aml.md)
- [企業の一覧取得](https://docs.didit.me/ja/management-api/businesses/list.md)


## OpenAPI

````yaml ja/openapi-25.json POST /v3/businesses/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/businesses/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_businesses_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:
                    - company-123
                    - company-456
              Enable:
                summary: 2つの企業のモニタリングを有効にする
                value:
                  is_enabled: true
                  vendor_data_list:
                    - company-123
                    - company-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/businesses/aml-monitoring/' \
              -H 'x-api-key: YOUR_API_KEY' \
              -H 'Content-Type: application/json' \
              -d '{"is_enabled": true, "vendor_data_list": ["company-123", "company-456"]}'
        - lang: python
          label: Python
          source: |-
            from didit import Didit

            # Reads DIDIT_API_KEY.
            client = Didit()

            result = client.businesses.set_aml_monitoring(
                is_enabled=True,
                estimate_only=True,
                vendor_data_list=["company-123", "company-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.businesses.setAmlMonitoring({
              is_enabled: true,
              estimate_only: true,
              vendor_data_list: ["company-123", "company-456"],
            });
            console.log(result);
        - lang: go
          label: Go
          source: "ctx := context.Background()\n// Reads DIDIT_API_KEY.\nclient := didit.NewClient()\n\nresult, err := client.Businesses.SetAMLMonitoring(ctx, didit.BusinessesSetAMLMonitoringParams{\n\tIsEnabled:      true,\n\tEstimateOnly:   didit.Bool(true),\n\tVendorDataList: didit.Some([]string{\"company-123\", \"company-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.BusinessesSetAmlMonitoringParams;


            // Reads DIDIT_API_KEY.

            Didit client = new Didit();


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

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

            result = didit.businesses.set_aml_monitoring(
              is_enabled: true,
              estimate_only: true,
              vendor_data_list: ["company-123", "company-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.Businesses.SetAmlMonitoringAsync(new
            BusinessesSetAmlMonitoringParams

            {
                IsEnabled = true,
                EstimateOnly = true,
                VendorDataList = new string[] { "company-123", "company-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.