{
    "schemes": [],
    "swagger": "2.0",
    "info": {
        "description": "SaaS API for Compliance AML",
        "title": "Compliance AML SaaS API",
        "contact": {},
        "version": "4.0"
    },
    "host": "",
    "basePath": "/",
    "paths": {
        "/healthz": {
            "get": {
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "system"
                ],
                "summary": "Health check",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/response.APIResponse"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/system.HealthResponse"
                                        }
                                    }
                                }
                            ]
                        }
                    }
                }
            }
        },
        "/ping": {
            "get": {
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "system"
                ],
                "summary": "Liveness ping",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/response.APIResponse"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/system.PingResponse"
                                        }
                                    }
                                }
                            ]
                        }
                    }
                }
            }
        },
        "/v4/kya/labels": {
            "get": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    },
                    {
                        "ApiSecretAuth": []
                    }
                ],
                "description": "Returns all labels associated with the specified blockchain address",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "v4/kya"
                ],
                "summary": "Get labels for a blockchain address",
                "parameters": [
                    {
                        "type": "string",
                        "default": "multi-chain",
                        "description": "Blockchain name (e.g., 'eth', 'btc')",
                        "name": "chain",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "Blockchain address to query",
                        "name": "address",
                        "in": "query",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/response.APIResponse"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/labels.Resp"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/response.APIResponse"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "string"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/response.APIResponse"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "string"
                                        }
                                    }
                                }
                            ]
                        }
                    }
                }
            }
        },
        "/v4/kya/risk": {
            "get": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    },
                    {
                        "ApiSecretAuth": []
                    }
                ],
                "description": "Returns risk assessment and associated labels for the specified blockchain address",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "v4/kya"
                ],
                "summary": "Get risk assessment for a blockchain address",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Blockchain name (e.g., 'eth', 'btc')",
                        "name": "chain",
                        "in": "query",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Blockchain address to assess risk for",
                        "name": "address",
                        "in": "query",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/response.APIResponse"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/types.SaaSRiskResp"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/response.APIResponse"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "string"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/response.APIResponse"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "string"
                                        }
                                    }
                                }
                            ]
                        }
                    }
                }
            }
        },
        "/v4/kya/screening": {
            "get": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    },
                    {
                        "ApiSecretAuth": []
                    }
                ],
                "description": "Retrieve all transactions involving risky counterparties for a given chain and address, including both token transfers and native–coin transfers.",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "v4/kya"
                ],
                "summary": "Get Address Screening Information",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Blockchain Name (e.g., eth, bsc)",
                        "name": "chain",
                        "in": "query",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Blockchain Address (e.g., 0x123...)",
                        "name": "address",
                        "in": "query",
                        "required": true
                    }
                ],
                "responses": {
                    "400": {
                        "description": "Bad Request - Invalid or missing parameters",
                        "schema": {
                            "$ref": "#/definitions/response.APIResponse"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error - Failed to process the request",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/response.APIResponse"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "string"
                                        }
                                    }
                                }
                            ]
                        }
                    }
                }
            }
        },
        "/v4/kya/screening/{task_id}": {
            "get": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    },
                    {
                        "ApiSecretAuth": []
                    }
                ],
                "description": "Retrieve the status or result of a previously submitted screening task by task ID",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "v4/kya"
                ],
                "summary": "Get Screening Task Status/Result",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Task ID of the screening job",
                        "name": "task_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Task completed successfully with results",
                        "schema": {
                            "$ref": "#/definitions/screening.TaskResp"
                        }
                    },
                    "202": {
                        "description": "Task is still processing",
                        "schema": {
                            "$ref": "#/definitions/screening.TaskResp"
                        }
                    },
                    "400": {
                        "description": "Bad Request - Invalid task ID",
                        "schema": {
                            "$ref": "#/definitions/response.APIResponse"
                        }
                    },
                    "403": {
                        "description": "Forbidden - Unauthorized to access this task",
                        "schema": {
                            "$ref": "#/definitions/response.APIResponse"
                        }
                    },
                    "404": {
                        "description": "Not Found - Task not found or expired",
                        "schema": {
                            "$ref": "#/definitions/response.APIResponse"
                        }
                    }
                }
            }
        },
        "/v4/kya/screening_v2": {
            "get": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    },
                    {
                        "ApiSecretAuth": []
                    }
                ],
                "description": "Supports both sync and async modes. In async mode (default), immediately returns a task ID. In sync mode, waits up to 15 seconds for the result; if not completed within this time, returns the task ID.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "v4/kya"
                ],
                "summary": "Submit screening result for a blockchain address",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Blockchain name (e.g., 'eth', 'btc')",
                        "name": "chain",
                        "in": "query",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Blockchain address to screen",
                        "name": "address",
                        "in": "query",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Rule set ID for screening ",
                        "name": "rule_set_id",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "Execution mode: async(default) or sync ",
                        "name": "mode",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/response.APIResponse"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/screening_task.ScreeningTask"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "202": {
                        "description": "Accepted",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/response.APIResponse"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/github_com_CertiKProject_skyinsights_neo_app_skyinsights_api_internal_httpserver_handlers_saas_v4_kya_screening.AsyncResponse"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/response.APIResponse"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "string"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/response.APIResponse"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "string"
                                        }
                                    }
                                }
                            ]
                        }
                    }
                }
            }
        },
        "/v4/kya/screening_v2/list": {
            "get": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    },
                    {
                        "ApiSecretAuth": []
                    }
                ],
                "description": "Get screening task list by scope (key or org)",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "v4/kya"
                ],
                "summary": "Get screening task list",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Query scope: key (for current api key) or org (for entire organization), default is key",
                        "name": "scope",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/response.APIResponse"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/definitions/screening_task.BaseTaskWithID"
                                            }
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/response.APIResponse"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "string"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/response.APIResponse"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "string"
                                        }
                                    }
                                }
                            ]
                        }
                    }
                }
            }
        },
        "/v4/kya/screening_v2/result": {
            "get": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    },
                    {
                        "ApiSecretAuth": []
                    }
                ],
                "description": "Retrieves the screening result for a given task ID",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "v4/kya"
                ],
                "summary": "Get screening result by task ID",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Screening task ID",
                        "name": "task_id",
                        "in": "query",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Maximum number of counterparties to return, default 100",
                        "name": "max_counterparties_count",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/response.APIResponse"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/screening_task.ScreeningTask"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/response.APIResponse"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "string"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/response.APIResponse"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "string"
                                        }
                                    }
                                }
                            ]
                        }
                    }
                }
            }
        },
        "/v4/kyt/risk": {
            "get": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    },
                    {
                        "ApiSecretAuth": []
                    }
                ],
                "description": "Returns risk assessment and associated labels for the specified blockchain transaction hash\nIncludes risk_raw_score (0-100), consistent with KYA lookup; risk_score retains the legacy scale.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "v4/kyt"
                ],
                "summary": "Get risk assessment for a blockchain transaction",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Blockchain name (e.g., 'eth', 'btc')",
                        "name": "chain",
                        "in": "query",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Blockchain transaction hash to assess risk for",
                        "name": "txn_hash",
                        "in": "query",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/response.APIResponse"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/types.SaaSTxRiskResp"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/response.APIResponse"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "string"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/response.APIResponse"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "string"
                                        }
                                    }
                                }
                            ]
                        }
                    }
                }
            }
        },
        "/v4/kyt/screening": {
            "get": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    },
                    {
                        "ApiSecretAuth": []
                    }
                ],
                "description": "Supports sync and async modes. Sync waits up to 15 seconds; if unfinished, the task ID is returned for polling.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "v4/kyt"
                ],
                "summary": "Submit screening for a blockchain transaction",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Blockchain name (e.g., 'eth', 'tron', 'btc')",
                        "name": "chain",
                        "in": "query",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Transaction hash to screen",
                        "name": "tx_hash",
                        "in": "query",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Rule set ID for screening",
                        "name": "rule_set_id",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "Execution mode: async(default) or sync",
                        "name": "mode",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/response.APIResponse"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/txscreening.Result"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "202": {
                        "description": "Accepted",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/response.APIResponse"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/github_com_CertiKProject_skyinsights_neo_app_skyinsights_api_internal_httpserver_handlers_saas_v4_kyt_screening.AsyncResponse"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/response.APIResponse"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "string"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/response.APIResponse"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "string"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/response.APIResponse"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "string"
                                        }
                                    }
                                }
                            ]
                        }
                    }
                }
            },
            "post": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    },
                    {
                        "ApiSecretAuth": []
                    }
                ],
                "description": "Screens non-contract key transfer participants, or BTC input/output participants. Transaction-level from/to addresses are not assessed separately. Supports EVM, TRON and BTC. Async mode returns a task ID immediately; sync mode waits up to 15 seconds, then returns the result or the same task ID.",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "v4/kyt"
                ],
                "summary": "Create a transaction screening",
                "parameters": [
                    {
                        "description": "Create transaction screening payload",
                        "name": "data",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/screening.CreateReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/response.APIResponse"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/txscreening.Result"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "202": {
                        "description": "Accepted",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/response.APIResponse"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/github_com_CertiKProject_skyinsights_neo_app_skyinsights_api_internal_httpserver_handlers_saas_v4_kyt_screening.AsyncResponse"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/response.APIResponse"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "string"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/response.APIResponse"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "string"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/response.APIResponse"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "string"
                                        }
                                    }
                                }
                            ]
                        }
                    }
                }
            }
        },
        "/v4/kyt/screening/list": {
            "get": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    },
                    {
                        "ApiSecretAuth": []
                    }
                ],
                "description": "Returns rule_name and rule_set_name resolved from the rule-set catalog for display.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "v4/kyt"
                ],
                "summary": "List transaction screenings",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Maximum number of records (1-100), default 20",
                        "name": "limit",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "description": "Number of records to skip, default 0",
                        "name": "offset",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/response.APIResponse"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/screening.ListResp"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/response.APIResponse"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "string"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/response.APIResponse"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "string"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/response.APIResponse"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "string"
                                        }
                                    }
                                }
                            ]
                        }
                    }
                }
            }
        },
        "/v4/kyt/screening/result": {
            "get": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    },
                    {
                        "ApiSecretAuth": []
                    }
                ],
                "description": "Returns rule_name and rule_set_name resolved from the rule-set catalog for display. Address risk factor triggers also include rule_name when resolvable.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "v4/kyt"
                ],
                "summary": "Get transaction screening result",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Screening task ID",
                        "name": "task_id",
                        "in": "query",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/response.APIResponse"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/txscreening.Result"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/response.APIResponse"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "string"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/response.APIResponse"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "string"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/response.APIResponse"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "string"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/response.APIResponse"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "string"
                                        }
                                    }
                                }
                            ]
                        }
                    }
                }
            }
        },
        "/v4/monitor/batch": {
            "post": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    },
                    {
                        "ApiSecretAuth": []
                    }
                ],
                "description": "Creates monitor tasks for up to 100 addresses on the same chain and returns per-address failure reasons for partial failures.",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "v4/monitor"
                ],
                "summary": "Batch create monitor tasks",
                "parameters": [
                    {
                        "description": "Batch create monitor request",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/monitor.CreateMonitorBatchRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/response.APIResponse"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/types.MonitorSaasBatchResponse"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/response.APIResponse"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "string"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/response.APIResponse"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "string"
                                        }
                                    }
                                }
                            ]
                        }
                    }
                }
            }
        },
        "/v4/monitor/create": {
            "post": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    },
                    {
                        "ApiSecretAuth": []
                    }
                ],
                "description": "Creates a new monitor task for the specified chain and address. If rule_set is omitted, the default fast mode rule set is used.",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "v4/monitor"
                ],
                "summary": "Create a monitor task",
                "parameters": [
                    {
                        "description": "Create monitor request",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/monitor.CreateMonitorRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/response.APIResponse"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "string"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/response.APIResponse"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "string"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/response.APIResponse"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "string"
                                        }
                                    }
                                }
                            ]
                        }
                    }
                }
            }
        },
        "/v4/monitor/delete/{monitor_id}": {
            "delete": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    },
                    {
                        "ApiSecretAuth": []
                    }
                ],
                "description": "Soft deletes the specified monitor task under the authenticated organization.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "v4/monitor"
                ],
                "summary": "Delete a monitor task",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Monitor ID",
                        "name": "monitor_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/response.APIResponse"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "string"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/response.APIResponse"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "string"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/response.APIResponse"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "string"
                                        }
                                    }
                                }
                            ]
                        }
                    }
                }
            }
        },
        "/v4/monitor/detail": {
            "get": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    },
                    {
                        "ApiSecretAuth": []
                    }
                ],
                "description": "Returns the base monitor information and paginated transaction results for the specified monitor_id.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "v4/monitor"
                ],
                "summary": "Get monitor detail",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Monitor ID",
                        "name": "monitor_id",
                        "in": "query",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "Page number",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "description": "Page size",
                        "name": "size",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/response.APIResponse"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/types.MonitorSaasResponse"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/response.APIResponse"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "string"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/response.APIResponse"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "string"
                                        }
                                    }
                                }
                            ]
                        }
                    }
                }
            }
        },
        "/v4/monitor/list": {
            "get": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    },
                    {
                        "ApiSecretAuth": []
                    }
                ],
                "description": "Returns all monitor tasks under the authenticated organization, ordered by monitor_id descending, with pagination support.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "v4/monitor"
                ],
                "summary": "List monitor tasks",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Page number",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "description": "Page size",
                        "name": "size",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/response.APIResponse"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/types.ListMonitorResponse"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/response.APIResponse"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "string"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/response.APIResponse"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "string"
                                        }
                                    }
                                }
                            ]
                        }
                    }
                }
            }
        },
        "/v4/monitor/update/{monitor_id}": {
            "put": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    },
                    {
                        "ApiSecretAuth": []
                    }
                ],
                "description": "Updates the specified monitor task to running or paused based on the request body.",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "v4/monitor"
                ],
                "summary": "Update monitor status",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Monitor ID",
                        "name": "monitor_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Update monitor status request",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/monitor.UpdateMonitorRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/response.APIResponse"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "string"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/response.APIResponse"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "string"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/response.APIResponse"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "string"
                                        }
                                    }
                                }
                            ]
                        }
                    }
                }
            }
        }
    },
    "definitions": {
        "entity.Entity": {
            "type": "object",
            "properties": {
                "country": {
                    "$ref": "#/definitions/entity.Localized"
                },
                "description": {
                    "$ref": "#/definitions/entity.Localized"
                },
                "entity_id": {
                    "type": "string"
                },
                "entity_name": {
                    "$ref": "#/definitions/entity.Localized"
                },
                "link": {
                    "type": "string"
                },
                "other_link": {
                    "type": "string"
                }
            }
        },
        "entity.Localized": {
            "type": "object",
            "properties": {
                "en": {
                    "type": "string"
                },
                "zh": {
                    "type": "string"
                }
            }
        },
        "github_com_CertiKProject_skyinsights_neo_app_skyinsights_api_internal_httpserver_handlers_saas_v4_kya_screening.AsyncResponse": {
            "type": "object",
            "properties": {
                "task_id": {
                    "type": "string"
                }
            }
        },
        "github_com_CertiKProject_skyinsights_neo_app_skyinsights_api_internal_httpserver_handlers_saas_v4_kyt_screening.AsyncResponse": {
            "type": "object",
            "properties": {
                "screening_id": {
                    "type": "string"
                },
                "status": {
                    "type": "string"
                },
                "task_id": {
                    "type": "string"
                }
            }
        },
        "label.Labels": {
            "type": "object",
            "properties": {
                "address": {
                    "type": "string"
                },
                "category": {
                    "type": "string"
                },
                "chain": {
                    "type": "string"
                },
                "label": {
                    "type": "string"
                },
                "source": {
                    "type": "string"
                },
                "sub_category": {
                    "type": "string"
                },
                "ts": {
                    "type": "integer"
                }
            }
        },
        "labels.Resp": {
            "type": "object",
            "properties": {
                "address": {
                    "type": "string"
                },
                "chain": {
                    "type": "string"
                },
                "entities": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/entity.Entity"
                    }
                },
                "entity": {
                    "$ref": "#/definitions/entity.Entity"
                },
                "entity_id": {
                    "type": "string"
                },
                "entity_ids": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "labels": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/label.Labels"
                    }
                }
            }
        },
        "monitor.CreateMonitorBatchRequest": {
            "type": "object",
            "properties": {
                "addresses": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "chain": {
                    "type": "string"
                }
            }
        },
        "monitor.CreateMonitorRequest": {
            "type": "object",
            "properties": {
                "address": {
                    "type": "string"
                },
                "chain": {
                    "type": "string"
                }
            }
        },
        "monitor.UpdateMonitorRequest": {
            "type": "object",
            "properties": {
                "status": {
                    "type": "boolean"
                }
            }
        },
        "response.APIResponse": {
            "type": "object",
            "properties": {
                "code": {
                    "type": "integer"
                },
                "data": {
                    "x-nullable": true
                },
                "message": {
                    "type": "string"
                }
            }
        },
        "risk.Category": {
            "type": "string",
            "enum": [
                "",
                "Sanctioned",
                "TerroristFinancing",
                "ChildAbuse",
                "Hack",
                "Scam",
                "Ransomware",
                "Darkweb",
                "Mixing",
                "Laundering",
                "NoKYCExchange",
                "Gambling",
                "Blocked",
                "Blacklisted",
                "UnregisteredVASP",
                "RiskyEscrow",
                "HumanTrafficking",
                "PoliticalFigure",
                "Unknown",
                "Guarantee"
            ],
            "x-enum-comments": {
                "CategoryGuarantee": "for old data"
            },
            "x-enum-descriptions": [
                "",
                "",
                "",
                "",
                "",
                "",
                "",
                "",
                "",
                "",
                "",
                "",
                "",
                "",
                "",
                "",
                "",
                "",
                "",
                "for old data"
            ],
            "x-enum-varnames": [
                "CategoryEmpty",
                "CategorySanctioned",
                "CategoryTerroristFin",
                "CategoryChildAbuse",
                "CategoryHack",
                "CategoryScam",
                "CategoryRansomware",
                "CategoryDarkweb",
                "CategoryMixing",
                "CategoryLaundering",
                "CategoryNoKYCExchange",
                "CategoryGambling",
                "CategoryBlocked",
                "CategoryBlacklisted",
                "CategoryUNREGISTEREDVASP",
                "CategoryRiskyEscrow",
                "CategoryHumanTrafficking",
                "CategoryPoliticalFigure",
                "CategoryUnknown",
                "CategoryGuarantee"
            ]
        },
        "risk.Direction": {
            "type": "string",
            "enum": [
                "inflow",
                "outflow",
                "both"
            ],
            "x-enum-varnames": [
                "DirectionInflow",
                "DirectionOutflow",
                "DirectionBoth"
            ]
        },
        "risk.ExposureContextForDB": {
            "type": "object",
            "properties": {
                "amount": {
                    "type": "number"
                },
                "amount_usd": {
                    "type": "number"
                },
                "counterparty_address": {
                    "type": "string"
                },
                "direction": {
                    "type": "string"
                },
                "hop_count": {
                    "type": "integer"
                },
                "path_count": {
                    "type": "integer"
                },
                "paths": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/risk.ExposurePathForDB"
                    }
                },
                "paths_aggregated": {
                    "type": "boolean"
                },
                "share": {
                    "type": "number"
                },
                "tx_count": {
                    "type": "integer"
                }
            }
        },
        "risk.ExposureHopForDB": {
            "type": "object",
            "properties": {
                "address": {
                    "type": "string"
                },
                "amount": {
                    "type": "number"
                },
                "amount_usd": {
                    "type": "number"
                },
                "chain": {
                    "type": "string"
                },
                "direction": {
                    "type": "string"
                },
                "timestamp": {
                    "type": "integer"
                },
                "token_symbol": {
                    "type": "string"
                },
                "tx_hash": {
                    "type": "string"
                }
            }
        },
        "risk.ExposurePathForDB": {
            "type": "object",
            "properties": {
                "amount": {
                    "type": "number"
                },
                "amount_usd": {
                    "type": "number"
                },
                "hops": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/risk.ExposureHopForDB"
                    }
                },
                "share": {
                    "type": "number"
                }
            }
        },
        "risk.Level": {
            "type": "string",
            "enum": [
                "None",
                "Low",
                "Medium",
                "High"
            ],
            "x-enum-varnames": [
                "LevelNone",
                "LevelLow",
                "LevelMedium",
                "LevelHigh"
            ]
        },
        "risk.Origin": {
            "type": "string",
            "enum": [
                "self",
                "counterparty"
            ],
            "x-enum-varnames": [
                "OriginSelf",
                "OriginCounterparty"
            ]
        },
        "risk.RiskFactor": {
            "type": "object",
            "properties": {
                "category": {
                    "$ref": "#/definitions/risk.Category"
                },
                "chain": {
                    "type": "string"
                },
                "description": {
                    "description": "Evidence    map[string]any `json:\"evidence,omitempty\"`",
                    "type": "string"
                },
                "direction": {
                    "$ref": "#/definitions/risk.Direction"
                },
                "exposure": {
                    "$ref": "#/definitions/risk.ExposureContextForDB"
                },
                "id": {
                    "type": "string"
                },
                "level": {
                    "description": "Strength *float64 `json:\"strength,omitempty\"`",
                    "allOf": [
                        {
                            "$ref": "#/definitions/risk.Level"
                        }
                    ]
                },
                "observed_at": {
                    "type": "string"
                },
                "origin": {
                    "description": "self or counterparty",
                    "allOf": [
                        {
                            "$ref": "#/definitions/risk.Origin"
                        }
                    ]
                },
                "rule_id": {
                    "type": "string"
                },
                "sub_origin": {
                    "$ref": "#/definitions/risk.SubOrigin"
                },
                "trigger": {
                    "description": "neo",
                    "allOf": [
                        {
                            "$ref": "#/definitions/risk.TriggerContextForDB"
                        }
                    ]
                },
                "weight": {
                    "type": "number"
                }
            }
        },
        "risk.SaaSRiskFactor": {
            "type": "object",
            "properties": {
                "category": {
                    "$ref": "#/definitions/risk.Category"
                },
                "exposure": {
                    "$ref": "#/definitions/risk.ExposureContextForDB"
                },
                "level": {
                    "$ref": "#/definitions/risk.Level"
                },
                "origin": {
                    "description": "self or counterparty",
                    "allOf": [
                        {
                            "$ref": "#/definitions/risk.Origin"
                        }
                    ]
                },
                "sub_origin": {
                    "$ref": "#/definitions/risk.SubOrigin"
                },
                "trigger": {
                    "$ref": "#/definitions/risk.TriggerContextForDB"
                }
            }
        },
        "risk.SubOrigin": {
            "type": "string",
            "enum": [
                "",
                "label",
                "entity",
                "behavior",
                "structural",
                "user_blacklist",
                "address_set",
                "direct",
                "indirect",
                "concentration"
            ],
            "x-enum-varnames": [
                "SubOriginEmpty",
                "SubOriginSelfLabel",
                "SubOriginSelfEntity",
                "SubOriginSelfBehavior",
                "SubOriginSelfStructural",
                "SubOriginSelfUserBlacklist",
                "SubOriginSelfAddressSet",
                "SubOriginCPDirect",
                "SubOriginCPIndirect",
                "SubOriginCPConcentration"
            ]
        },
        "risk.TriggerContextForDB": {
            "type": "object",
            "properties": {
                "rule_id": {
                    "type": "string"
                },
                "rule_name": {
                    "description": "Resolved on read, never stored — see screening.TriggerContext.RuleName.",
                    "type": "string"
                },
                "trigger_id": {
                    "type": "string"
                }
            }
        },
        "screening.CreateReq": {
            "type": "object",
            "properties": {
                "chain": {
                    "type": "string"
                },
                "mode": {
                    "type": "string"
                },
                "rule_set_id": {
                    "type": "string"
                },
                "tx_hash": {
                    "type": "string"
                }
            }
        },
        "screening.ExposureContext": {
            "type": "object",
            "properties": {
                "amount": {
                    "type": "number"
                },
                "amount_usd": {
                    "type": "number"
                },
                "counterparty_address": {
                    "type": "string"
                },
                "direction": {
                    "description": "enum: INCOMING, OUTGOING",
                    "type": "string"
                },
                "hop_count": {
                    "type": "integer"
                },
                "path_count": {
                    "type": "integer"
                },
                "paths": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/screening.ExposurePath"
                    }
                },
                "paths_aggregated": {
                    "type": "boolean"
                },
                "share": {
                    "type": "number"
                },
                "tx_count": {
                    "type": "string",
                    "example": "0"
                }
            }
        },
        "screening.ExposureHop": {
            "type": "object",
            "properties": {
                "address": {
                    "type": "string"
                },
                "amount": {
                    "type": "number"
                },
                "amount_usd": {
                    "type": "number"
                },
                "chain": {
                    "type": "string"
                },
                "direction": {
                    "type": "string"
                },
                "timestamp": {
                    "type": "integer"
                },
                "token_symbol": {
                    "type": "string"
                },
                "tx_hash": {
                    "type": "string"
                }
            }
        },
        "screening.ExposurePath": {
            "type": "object",
            "properties": {
                "amount": {
                    "type": "number"
                },
                "amount_usd": {
                    "type": "number"
                },
                "hops": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/screening.ExposureHop"
                    }
                },
                "share": {
                    "type": "number"
                }
            }
        },
        "screening.ListResp": {
            "type": "object",
            "properties": {
                "limit": {
                    "type": "integer"
                },
                "list": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/txscreening.Result"
                    }
                },
                "offset": {
                    "type": "integer"
                }
            }
        },
        "screening.MatchedEntity": {
            "type": "object",
            "properties": {
                "entity_id": {
                    "type": "string"
                },
                "entity_name": {
                    "type": "string"
                }
            }
        },
        "screening.RiskFactor": {
            "type": "object",
            "properties": {
                "category": {
                    "type": "string"
                },
                "exposure": {
                    "$ref": "#/definitions/screening.ExposureContext"
                },
                "level": {
                    "type": "string"
                },
                "origin": {
                    "type": "string"
                },
                "sub_origin": {
                    "type": "string"
                },
                "trigger": {
                    "$ref": "#/definitions/screening.TriggerContext"
                },
                "weight": {
                    "type": "number"
                }
            }
        },
        "screening.TaskResp": {
            "type": "object",
            "properties": {
                "apiKey": {
                    "type": "string"
                },
                "query": {
                    "type": "string"
                },
                "result": {
                    "type": "string"
                },
                "status": {
                    "type": "string"
                },
                "task_id": {
                    "type": "string"
                },
                "ts": {
                    "type": "string"
                }
            }
        },
        "screening.TopCounterParty": {
            "type": "object",
            "properties": {
                "address": {
                    "type": "string"
                },
                "chain": {
                    "type": "string"
                },
                "direction": {
                    "type": "string"
                },
                "entity_name": {
                    "type": "string"
                },
                "entity_type": {
                    "type": "string"
                },
                "labels": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/label.Labels"
                    },
                    "x-nullable": true
                },
                "last_interaction": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "ratio": {
                    "type": "number"
                },
                "risk_level": {
                    "type": "string"
                },
                "tx_count": {
                    "type": "string",
                    "example": "0"
                },
                "volume_usd": {
                    "type": "number"
                }
            }
        },
        "screening.TriggerContext": {
            "type": "object",
            "properties": {
                "matched_entities": {
                    "description": "MatchedEntities names the entities an entity-rule hit was actually about. Also resolved on\nread: the engine reports only that the rule matched, so this is the intersection of the\nentities the rule selected with the ones the subject address belongs to. Empty for every\nother kind of rule.",
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/screening.MatchedEntity"
                    }
                },
                "rule_id": {
                    "type": "string"
                },
                "rule_name": {
                    "description": "RuleName is resolved from the rule catalog when a screening is read, never stored\n(`bson:\"-\"`). Denormalizing it would mean a rule rename silently disagreeing with every\nscreening that ran before it, and a backfill for the screenings already on disk. Empty when\nthe rule can no longer be resolved, which the frontend falls back to the id for.",
                    "type": "string"
                },
                "trigger_id": {
                    "type": "string"
                }
            }
        },
        "screening.TxCounterpartyAnalysis": {
            "type": "object",
            "properties": {
                "active_counter_party": {
                    "type": "integer"
                },
                "current_balance_usd": {
                    "type": "number"
                },
                "first_seen": {
                    "type": "string"
                },
                "label_coverage": {
                    "type": "number"
                },
                "last_seen": {
                    "type": "string"
                },
                "net_flow_usd": {
                    "type": "number"
                },
                "risky_inflow_ratio": {
                    "type": "number"
                },
                "risky_outflow_ratio": {
                    "type": "number"
                },
                "time_windows": {
                    "type": "string"
                },
                "total_inflow_usd": {
                    "type": "number"
                },
                "total_outflow_usd": {
                    "type": "number"
                },
                "tx_count": {
                    "type": "integer"
                },
                "velocity": {
                    "type": "number"
                }
            }
        },
        "screening_task.BaseTaskWithID": {
            "type": "object",
            "properties": {
                "address": {
                    "type": "string"
                },
                "api_key": {
                    "type": "string"
                },
                "chain": {
                    "type": "string"
                },
                "created_at": {
                    "type": "string"
                },
                "error": {
                    "type": "string"
                },
                "finished_at": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                },
                "org_id": {
                    "type": "string"
                },
                "retry_count": {
                    "type": "integer"
                },
                "rule_set_id": {
                    "type": "string"
                },
                "started_at": {
                    "type": "string"
                },
                "status": {
                    "type": "string"
                },
                "updated_at": {
                    "type": "string"
                }
            }
        },
        "screening_task.Counterparty": {
            "type": "object",
            "properties": {
                "counterparty": {
                    "type": "string"
                },
                "risk_factors": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "array",
                        "items": {
                            "$ref": "#/definitions/risk.SaaSRiskFactor"
                        }
                    }
                },
                "transactions": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/screening_task.Transaction"
                    }
                }
            }
        },
        "screening_task.ScreeningResult": {
            "type": "object",
            "properties": {
                "counterparties": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/definitions/screening_task.Counterparty"
                    }
                },
                "entities": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/entity.Entity"
                    }
                },
                "labels": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/label.Labels"
                    }
                },
                "risk_results": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "array",
                        "items": {
                            "$ref": "#/definitions/risk.SaaSRiskFactor"
                        }
                    }
                }
            }
        },
        "screening_task.ScreeningTask": {
            "type": "object",
            "properties": {
                "address": {
                    "type": "string"
                },
                "api_key": {
                    "type": "string"
                },
                "chain": {
                    "type": "string"
                },
                "created_at": {
                    "type": "string"
                },
                "error": {
                    "type": "string"
                },
                "finished_at": {
                    "type": "string"
                },
                "org_id": {
                    "type": "string"
                },
                "result": {
                    "$ref": "#/definitions/screening_task.ScreeningResult"
                },
                "retry_count": {
                    "type": "integer"
                },
                "rule_set_id": {
                    "type": "string"
                },
                "started_at": {
                    "type": "string"
                },
                "status": {
                    "type": "string"
                },
                "updated_at": {
                    "type": "string"
                }
            }
        },
        "screening_task.Transaction": {
            "type": "object",
            "properties": {
                "amount": {
                    "type": "string"
                },
                "block_number": {
                    "type": "integer"
                },
                "chain": {
                    "type": "string"
                },
                "from": {
                    "type": "string"
                },
                "hash": {
                    "type": "string"
                },
                "timestamp": {
                    "type": "integer"
                },
                "to": {
                    "type": "string"
                },
                "token_address": {
                    "type": "string"
                },
                "token_decimals": {
                    "type": "integer"
                },
                "token_name": {
                    "type": "string"
                },
                "token_price": {
                    "type": "number"
                },
                "token_symbol": {
                    "type": "string"
                },
                "type": {
                    "type": "string"
                },
                "usd_value": {
                    "type": "number"
                },
                "vins": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/screening_task.Vin"
                    }
                },
                "vouts": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/screening_task.Vout"
                    }
                }
            }
        },
        "screening_task.Vin": {
            "type": "object",
            "properties": {
                "address": {
                    "type": "string"
                },
                "amount": {
                    "type": "string"
                }
            }
        },
        "screening_task.Vout": {
            "type": "object",
            "properties": {
                "address": {
                    "type": "string"
                },
                "amount": {
                    "type": "string"
                }
            }
        },
        "system.HealthResponse": {
            "type": "object",
            "properties": {
                "service": {
                    "type": "string"
                },
                "status": {
                    "type": "string"
                },
                "timestamp": {
                    "description": "UptimeS   int    `json:\"uptime_s\"`",
                    "type": "string"
                },
                "version": {
                    "type": "string"
                }
            }
        },
        "system.PingResponse": {
            "type": "object",
            "properties": {
                "message": {
                    "type": "string"
                }
            }
        },
        "txscreening.AddressAssessment": {
            "type": "object",
            "properties": {
                "assessed_at": {
                    "type": "string"
                },
                "completeness": {
                    "description": "Completeness is partial when a requested history analysis was unavailable. Empty in legacy results means complete.",
                    "type": "string"
                },
                "counterparty": {
                    "allOf": [
                        {
                            "$ref": "#/definitions/screening.TxCounterpartyAnalysis"
                        }
                    ],
                    "x-nullable": true
                },
                "entity": {
                    "type": "string"
                },
                "entity_name": {
                    "type": "string"
                },
                "fund_flow": {
                    "$ref": "#/definitions/types.FundFlow"
                },
                "issues": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/txscreening.Issue"
                    }
                },
                "labels": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/label.Labels"
                    },
                    "x-nullable": true
                },
                "mode": {
                    "description": "Mode is the actual evaluation scope; self_only may be a fallback from requested full mode.",
                    "type": "string"
                },
                "risk_factors": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/txscreening.AddressRiskFactor"
                    },
                    "x-nullable": true
                },
                "summary": {
                    "$ref": "#/definitions/txscreening.Summary"
                },
                "top_counterparty": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/screening.TopCounterParty"
                    },
                    "x-nullable": true
                },
                "triggered_rules": {
                    "description": "Unscored rule hits remain available; Factors only contains effective scoring evidence.",
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/screening.RiskFactor"
                    },
                    "x-nullable": true
                }
            }
        },
        "txscreening.AddressInfo": {
            "type": "object",
            "properties": {
                "address": {
                    "type": "string"
                },
                "chain": {
                    "type": "string"
                },
                "entity": {
                    "type": "string"
                },
                "entity_name": {
                    "type": "string"
                },
                "labels": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/label.Labels"
                    },
                    "x-nullable": true
                },
                "labels_status": {
                    "type": "string"
                },
                "type": {
                    "description": "Type is non_contract, delegated_eoa (EIP-7702), contract, or unknown.",
                    "type": "string"
                }
            }
        },
        "txscreening.AddressRiskFactor": {
            "type": "object",
            "properties": {
                "effective_raw_score": {
                    "type": "number"
                },
                "factor": {
                    "$ref": "#/definitions/risk.RiskFactor"
                }
            }
        },
        "txscreening.AddressScreening": {
            "type": "object",
            "properties": {
                "error": {
                    "type": "string"
                },
                "mode": {
                    "type": "string"
                },
                "result": {
                    "$ref": "#/definitions/txscreening.AddressAssessment"
                },
                "roles": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "x-nullable": true
                },
                "status": {
                    "type": "string"
                },
                "transfer_ids": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "x-nullable": true
                }
            }
        },
        "txscreening.Aggregate": {
            "type": "object",
            "properties": {
                "categories": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/risk.Category"
                    },
                    "x-nullable": true
                },
                "completeness": {
                    "type": "string"
                },
                "findings": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/txscreening.Finding"
                    },
                    "x-nullable": true
                },
                "raw_score": {
                    "type": "integer"
                },
                "risk_level": {
                    "type": "string"
                },
                "risk_score": {
                    "type": "integer"
                }
            }
        },
        "txscreening.FactorRef": {
            "type": "object",
            "properties": {
                "factor_id": {
                    "type": "string"
                },
                "screened_address": {
                    "type": "string"
                },
                "transfer_ids": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "x-nullable": true
                }
            }
        },
        "txscreening.Finding": {
            "type": "object",
            "properties": {
                "category": {
                    "$ref": "#/definitions/risk.Category"
                },
                "evidence": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/txscreening.FactorRef"
                    },
                    "x-nullable": true
                },
                "kind": {
                    "type": "string"
                },
                "raw_score": {
                    "type": "integer"
                },
                "risk_level": {
                    "type": "string"
                },
                "source_address": {
                    "type": "string"
                }
            }
        },
        "txscreening.Issue": {
            "type": "object",
            "properties": {
                "address_key": {
                    "type": "string"
                },
                "code": {
                    "type": "string"
                },
                "message": {
                    "type": "string"
                }
            }
        },
        "txscreening.Overview": {
            "type": "object",
            "properties": {
                "candidate_count": {
                    "type": "integer"
                },
                "categories": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/risk.Category"
                    },
                    "x-nullable": true
                },
                "completeness": {
                    "type": "string"
                },
                "failed_address_count": {
                    "type": "integer"
                },
                "findings": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/txscreening.Finding"
                    },
                    "x-nullable": true
                },
                "key_transfer_count": {
                    "type": "integer"
                },
                "raw_score": {
                    "type": "integer"
                },
                "risk_level": {
                    "type": "string"
                },
                "risk_score": {
                    "type": "integer"
                },
                "screened_address_count": {
                    "type": "integer"
                }
            }
        },
        "txscreening.Policy": {
            "type": "object",
            "properties": {
                "max_key_transfers": {
                    "type": "integer"
                },
                "max_screened_addresses": {
                    "description": "MaxScreenedAddresses bounds BTC participant assessments independently of movement count.",
                    "type": "integer"
                },
                "version": {
                    "type": "string"
                }
            }
        },
        "txscreening.Result": {
            "type": "object",
            "properties": {
                "address_info": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/definitions/txscreening.AddressInfo"
                    },
                    "x-nullable": true
                },
                "address_order": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "x-nullable": true
                },
                "address_screenings": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/definitions/txscreening.AddressScreening"
                    },
                    "x-nullable": true
                },
                "completeness": {
                    "type": "string"
                },
                "created_at": {
                    "type": "string"
                },
                "error": {
                    "type": "string"
                },
                "issues": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/txscreening.Issue"
                    },
                    "x-nullable": true
                },
                "overview": {
                    "$ref": "#/definitions/txscreening.Overview"
                },
                "rule_name": {
                    "description": "Display names are resolved on read so historical tasks reflect catalog renames.",
                    "type": "string"
                },
                "rule_set_id": {
                    "type": "string"
                },
                "rule_set_name": {
                    "type": "string"
                },
                "screening_id": {
                    "type": "string"
                },
                "selection_policy": {
                    "$ref": "#/definitions/txscreening.Policy"
                },
                "status": {
                    "type": "string"
                },
                "transaction": {
                    "$ref": "#/definitions/txscreening.TransactionInfo"
                },
                "transfers": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/txscreening.Transfer"
                    },
                    "x-nullable": true
                },
                "updated_at": {
                    "type": "string"
                }
            }
        },
        "txscreening.Selection": {
            "type": "object",
            "properties": {
                "reasons": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "x-nullable": true
                },
                "status": {
                    "type": "string"
                }
            }
        },
        "txscreening.Summary": {
            "type": "object",
            "properties": {
                "categories": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/risk.Category"
                    },
                    "x-nullable": true
                },
                "raw_score": {
                    "type": "integer"
                },
                "risk_level": {
                    "type": "string"
                },
                "risk_score": {
                    "type": "integer"
                }
            }
        },
        "txscreening.TransactionInfo": {
            "type": "object",
            "properties": {
                "block_hash": {
                    "type": "string"
                },
                "block_number": {
                    "type": "integer"
                },
                "chain": {
                    "type": "string"
                },
                "from": {
                    "description": "From is the transaction initiator; omitted for UTXO transactions.",
                    "type": "string"
                },
                "hash": {
                    "type": "string"
                },
                "model": {
                    "description": "Model distinguishes account-based transfers from future UTXO adapters.",
                    "type": "string"
                },
                "status": {
                    "type": "string"
                },
                "timestamp": {
                    "type": "string"
                },
                "to": {
                    "type": "string"
                }
            }
        },
        "txscreening.Transfer": {
            "type": "object",
            "properties": {
                "amount": {
                    "type": "string"
                },
                "applied": {
                    "type": "boolean"
                },
                "decimals": {
                    "type": "integer"
                },
                "from": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                },
                "log_index": {
                    "type": "integer"
                },
                "participant_addresses": {
                    "description": "BTC supplies all screenable input/output addresses. Account chains use From/To.",
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "x-nullable": true
                },
                "raw_amount": {
                    "type": "string"
                },
                "risk": {
                    "$ref": "#/definitions/txscreening.Aggregate"
                },
                "selection": {
                    "$ref": "#/definitions/txscreening.Selection"
                },
                "to": {
                    "type": "string"
                },
                "token_address": {
                    "type": "string"
                },
                "token_symbol": {
                    "type": "string"
                },
                "trace_address": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    },
                    "x-nullable": true
                },
                "type": {
                    "type": "string"
                },
                "usd_value": {
                    "type": "number"
                },
                "utxo": {
                    "$ref": "#/definitions/txscreening.UTXOMovement"
                }
            }
        },
        "txscreening.UTXOInput": {
            "type": "object",
            "properties": {
                "addresses": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "amount": {
                    "type": "string"
                },
                "coinbase": {
                    "type": "boolean"
                },
                "index": {
                    "type": "integer"
                },
                "output_index": {
                    "type": "integer"
                },
                "raw_amount": {
                    "type": "string"
                },
                "script_pubkey": {
                    "type": "string"
                },
                "script_type": {
                    "type": "string"
                },
                "tx_hash": {
                    "type": "string"
                },
                "usd_value": {
                    "description": "USDValue uses the screening-time BTC reference price; absent when amount or price is unavailable.",
                    "type": "number"
                }
            }
        },
        "txscreening.UTXOMovement": {
            "type": "object",
            "properties": {
                "inputs": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/txscreening.UTXOInput"
                    }
                },
                "outputs": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/txscreening.UTXOOutput"
                    }
                }
            }
        },
        "txscreening.UTXOOutput": {
            "type": "object",
            "properties": {
                "addresses": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "amount": {
                    "type": "string"
                },
                "index": {
                    "type": "integer"
                },
                "raw_amount": {
                    "type": "string"
                },
                "script_pubkey": {
                    "type": "string"
                },
                "script_type": {
                    "type": "string"
                },
                "usd_value": {
                    "description": "USDValue uses the same BTC reference price as all inputs and the enclosing transfer.",
                    "type": "number"
                }
            }
        },
        "types.CountAndRatio": {
            "type": "object",
            "properties": {
                "count": {
                    "type": "integer"
                },
                "ratio": {
                    "type": "number"
                }
            }
        },
        "types.FundFlow": {
            "type": "object",
            "properties": {
                "address": {
                    "type": "string"
                },
                "address_categories": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    }
                },
                "address_risk": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/definitions/types.RiskResp"
                    }
                },
                "chain": {
                    "type": "string"
                },
                "transactions": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/types.FundFlowTx"
                    },
                    "x-nullable": true
                }
            }
        },
        "types.FundFlowTx": {
            "type": "object",
            "properties": {
                "amount": {
                    "type": "string"
                },
                "chain": {
                    "type": "string"
                },
                "from": {
                    "type": "string"
                },
                "hash": {
                    "type": "string"
                },
                "timestamp": {
                    "type": "integer"
                },
                "to": {
                    "type": "string"
                },
                "token_symbol": {
                    "type": "string"
                },
                "usd_value": {
                    "type": "number"
                }
            }
        },
        "types.ListMonitor": {
            "type": "object",
            "properties": {
                "address": {
                    "type": "string"
                },
                "alert_count": {
                    "type": "integer"
                },
                "chain": {
                    "type": "string"
                },
                "create_time": {
                    "type": "string"
                },
                "entity": {
                    "type": "string"
                },
                "entity_name": {
                    "type": "string"
                },
                "event_count": {
                    "type": "integer"
                },
                "labels": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/label.Labels"
                    },
                    "x-nullable": true
                },
                "last_alert": {
                    "type": "string"
                },
                "last_event": {
                    "type": "string"
                },
                "monitor_id": {
                    "type": "string"
                },
                "risk_factor": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/risk.RiskFactor"
                    },
                    "x-nullable": true
                },
                "risk_level": {
                    "$ref": "#/definitions/risk.Level"
                },
                "rule_set": {
                    "type": "string"
                },
                "status": {
                    "type": "string"
                },
                "summary": {
                    "allOf": [
                        {
                            "$ref": "#/definitions/types.SummaryMonitor"
                        }
                    ],
                    "x-nullable": true
                }
            }
        },
        "types.ListMonitorResponse": {
            "type": "object",
            "properties": {
                "list": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/types.ListMonitor"
                    },
                    "x-nullable": true
                },
                "pagination": {
                    "$ref": "#/definitions/types.Pagination"
                }
            }
        },
        "types.MonitorSaasBatchResponse": {
            "type": "object",
            "properties": {
                "failed": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    }
                },
                "success": {
                    "type": "integer"
                },
                "total": {
                    "type": "integer"
                }
            }
        },
        "types.MonitorSaasResponse": {
            "type": "object",
            "properties": {
                "base_info": {
                    "$ref": "#/definitions/types.ListMonitor"
                },
                "pagination": {
                    "$ref": "#/definitions/types.Pagination"
                },
                "txs": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/types.QueryMonitor"
                    }
                }
            }
        },
        "types.Pagination": {
            "type": "object",
            "properties": {
                "has_next": {
                    "type": "boolean"
                },
                "has_prev": {
                    "type": "boolean"
                },
                "page": {
                    "type": "integer"
                },
                "size": {
                    "type": "integer"
                },
                "total": {
                    "type": "integer"
                },
                "total_pages": {
                    "type": "integer"
                }
            }
        },
        "types.QueryMonitor": {
            "type": "object",
            "properties": {
                "address": {
                    "type": "string"
                },
                "amount": {
                    "type": "number"
                },
                "chain": {
                    "type": "string"
                },
                "counterparty": {
                    "type": "string"
                },
                "direction": {
                    "type": "string"
                },
                "is_alert": {
                    "type": "boolean"
                },
                "labels": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/label.Labels"
                    },
                    "x-nullable": true
                },
                "risk_factor": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/risk.RiskFactor"
                    },
                    "x-nullable": true
                },
                "risk_level": {
                    "$ref": "#/definitions/risk.Level"
                },
                "risk_query_message": {
                    "type": "string"
                },
                "timestamp": {
                    "type": "integer"
                },
                "token_address": {
                    "type": "string"
                },
                "token_decimals": {
                    "type": "integer"
                },
                "token_symbol": {
                    "type": "string"
                },
                "tx_type": {
                    "type": "string"
                },
                "txhash": {
                    "type": "string"
                },
                "usd_value": {
                    "type": "number"
                }
            }
        },
        "types.Risk7dCountRatio": {
            "type": "object",
            "properties": {
                "alert_count": {
                    "type": "integer"
                },
                "high_count": {
                    "$ref": "#/definitions/types.CountAndRatio"
                },
                "low_count": {
                    "$ref": "#/definitions/types.CountAndRatio"
                },
                "medium_count": {
                    "$ref": "#/definitions/types.CountAndRatio"
                },
                "none_count": {
                    "$ref": "#/definitions/types.CountAndRatio"
                },
                "tx_count": {
                    "type": "integer"
                }
            }
        },
        "types.RiskFactorCount": {
            "type": "object",
            "properties": {
                "category": {
                    "$ref": "#/definitions/risk.Category"
                },
                "count": {
                    "type": "integer"
                }
            }
        },
        "types.RiskResp": {
            "type": "object",
            "properties": {
                "address": {
                    "type": "string"
                },
                "chain": {
                    "type": "string"
                },
                "entities": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/entity.Entity"
                    },
                    "x-nullable": true
                },
                "entity": {
                    "allOf": [
                        {
                            "$ref": "#/definitions/entity.Entity"
                        }
                    ],
                    "x-nullable": true
                },
                "entity_ids": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "x-nullable": true
                },
                "labels": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/label.Labels"
                    },
                    "x-nullable": true
                },
                "raw_score": {
                    "description": "RawScore is the rounded v2 percentage score consistent with screening: the\nbest (worst) label factor's category base, since label-only factors carry\nno fund-flow evidence and score as assertions.",
                    "type": "integer"
                },
                "risk_factors": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/risk.RiskFactor"
                    },
                    "x-nullable": true
                },
                "risk_level": {
                    "$ref": "#/definitions/risk.Level"
                },
                "risk_reasons": {
                    "description": "Deprecated: This field will be removed in the future.",
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "x-nullable": true
                },
                "risk_score": {
                    "type": "integer"
                }
            }
        },
        "types.RiskTransfers": {
            "type": "object",
            "properties": {
                "tx_list": {}
            }
        },
        "types.SaaSRiskResp": {
            "type": "object",
            "properties": {
                "address": {
                    "type": "string"
                },
                "chain": {
                    "type": "string"
                },
                "entities": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/entity.Entity"
                    }
                },
                "entity": {
                    "$ref": "#/definitions/entity.Entity"
                },
                "entity_ids": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "labels": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/label.Labels"
                    }
                },
                "risk_factors": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "array",
                        "items": {
                            "$ref": "#/definitions/risk.SaaSRiskFactor"
                        }
                    }
                },
                "risk_level": {
                    "$ref": "#/definitions/risk.Level"
                },
                "risk_raw_score": {
                    "type": "integer"
                },
                "risk_reasons": {
                    "description": "Deprecated: This field will be removed in the future.",
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "risk_score": {
                    "type": "integer"
                }
            }
        },
        "types.SaaSTxRiskResp": {
            "type": "object",
            "properties": {
                "chain": {
                    "type": "string"
                },
                "risk_factors": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "array",
                        "items": {
                            "$ref": "#/definitions/risk.SaaSRiskFactor"
                        }
                    }
                },
                "risk_level": {
                    "$ref": "#/definitions/risk.Level"
                },
                "risk_raw_score": {
                    "type": "integer"
                },
                "risk_reasons": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "risk_score": {
                    "type": "integer"
                },
                "status": {
                    "type": "string"
                },
                "timestamp": {
                    "type": "string"
                },
                "tokens": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "total_usd": {
                    "type": "number"
                },
                "transfer": {
                    "$ref": "#/definitions/types.RiskTransfers"
                },
                "txn_hash": {
                    "type": "string"
                }
            }
        },
        "types.Statistics": {
            "type": "object",
            "properties": {
                "ratio": {
                    "type": "number"
                },
                "ratio_count": {
                    "type": "number"
                },
                "total": {
                    "type": "number"
                }
            }
        },
        "types.SummaryMonitor": {
            "type": "object",
            "properties": {
                "high_risk_count": {
                    "$ref": "#/definitions/types.Statistics"
                },
                "low_risk_count": {
                    "$ref": "#/definitions/types.Statistics"
                },
                "medium_count": {
                    "$ref": "#/definitions/types.Statistics"
                },
                "none_risk_count": {
                    "$ref": "#/definitions/types.Statistics"
                },
                "risk_7d_count": {
                    "$ref": "#/definitions/types.Risk7dCountRatio"
                },
                "risk_counterparty": {
                    "$ref": "#/definitions/types.Statistics"
                },
                "risk_usd_exposure": {
                    "$ref": "#/definitions/types.Statistics"
                },
                "top_5_counterparty": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/types.TopCounterPartyInfo"
                    },
                    "x-nullable": true
                },
                "top_counterparty": {
                    "$ref": "#/definitions/types.Statistics"
                },
                "top_risk_factor": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/types.RiskFactorCount"
                    },
                    "x-nullable": true
                },
                "trigger_alert": {
                    "$ref": "#/definitions/types.Statistics"
                }
            }
        },
        "types.TopCounterPartyInfo": {
            "type": "object",
            "properties": {
                "address": {
                    "type": "string"
                },
                "entity": {
                    "type": "string"
                },
                "labels": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/label.Labels"
                    },
                    "x-nullable": true
                },
                "ratio": {
                    "type": "number"
                },
                "risk_level": {
                    "$ref": "#/definitions/risk.Level"
                },
                "tx_count": {
                    "type": "integer"
                }
            }
        }
    },
    "securityDefinitions": {
        "ApiKeyAuth": {
            "description": "API key for authentication",
            "type": "apiKey",
            "name": "X-API-Key",
            "in": "header"
        },
        "ApiSecretAuth": {
            "description": "API secret for authentication",
            "type": "apiKey",
            "name": "X-API-Secret",
            "in": "header"
        }
    }
}