{
  "ReviewItem": {
    "$defs": {
      "Account": {
        "additionalProperties": false,
        "properties": {
          "account_id": {
            "title": "Account Id",
            "type": "string"
          },
          "account_type": {
            "enum": [
              "individual",
              "entity",
              "broker_dealer"
            ],
            "title": "Account Type",
            "type": "string"
          },
          "role": {
            "enum": [
              "seller",
              "buyer",
              "both"
            ],
            "title": "Role",
            "type": "string"
          },
          "age_days": {
            "minimum": 0,
            "title": "Age Days",
            "type": "integer"
          },
          "country": {
            "title": "Country",
            "type": "string"
          },
          "id_verified": {
            "title": "Id Verified",
            "type": "boolean"
          },
          "accreditation": {
            "enum": [
              "none",
              "self_declared",
              "third_party_verified"
            ],
            "title": "Accreditation",
            "type": "string"
          },
          "says_relationship": {
            "enum": [
              "employee",
              "former_employee",
              "founder",
              "investor",
              "other",
              "none"
            ],
            "title": "Says Relationship",
            "type": "string"
          },
          "ownership_proof": {
            "enum": [
              "none",
              "uploaded",
              "verified"
            ],
            "title": "Ownership Proof",
            "type": "string"
          },
          "entity_info": {
            "anyOf": [
              {
                "$ref": "#/$defs/EntityInfo"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "account_id",
          "account_type",
          "role",
          "age_days",
          "country",
          "id_verified",
          "accreditation",
          "says_relationship",
          "ownership_proof",
          "entity_info"
        ],
        "title": "Account",
        "type": "object"
      },
      "Company": {
        "additionalProperties": false,
        "properties": {
          "company_id": {
            "title": "Company Id",
            "type": "string"
          },
          "last_round_valuation_usd": {
            "exclusiveMinimum": 0,
            "title": "Last Round Valuation Usd",
            "type": "integer"
          },
          "transfer_policy": {
            "enum": [
              "open",
              "approval_required",
              "blocked"
            ],
            "title": "Transfer Policy",
            "type": "string"
          },
          "has_rofr": {
            "title": "Has Rofr",
            "type": "boolean"
          },
          "typical_employee_holding": {
            "items": {
              "type": "integer"
            },
            "maxItems": 2,
            "minItems": 2,
            "title": "Typical Employee Holding",
            "type": "array"
          },
          "last_trade_price": {
            "exclusiveMinimum": 0,
            "title": "Last Trade Price",
            "type": "number"
          },
          "days_since_last_trade": {
            "minimum": 0,
            "title": "Days Since Last Trade",
            "type": "integer"
          }
        },
        "required": [
          "company_id",
          "last_round_valuation_usd",
          "transfer_policy",
          "has_rofr",
          "typical_employee_holding",
          "last_trade_price",
          "days_since_last_trade"
        ],
        "title": "Company",
        "type": "object"
      },
      "EntityInfo": {
        "additionalProperties": false,
        "properties": {
          "beneficial_owners": {
            "minimum": 1,
            "title": "Beneficial Owners",
            "type": "integer"
          },
          "owners_changed_after_id_check": {
            "title": "Owners Changed After Id Check",
            "type": "boolean"
          }
        },
        "required": [
          "beneficial_owners",
          "owners_changed_after_id_check"
        ],
        "title": "EntityInfo",
        "type": "object"
      },
      "Event": {
        "additionalProperties": false,
        "properties": {
          "event_type": {
            "enum": [
              "account_created",
              "id_check_passed",
              "id_check_failed",
              "accreditation_submitted",
              "login",
              "password_reset",
              "bank_account_changed",
              "email_or_phone_changed",
              "document_uploaded",
              "listing_created",
              "listing_edited",
              "listing_cancelled",
              "bid_placed",
              "bid_edited",
              "bid_cancelled",
              "offer_sent",
              "offer_accepted",
              "deal_signed",
              "deal_cancelled",
              "funds_received",
              "payout_sent",
              "entity_owner_changed",
              "message_sent",
              "message_received",
              "company_news"
            ],
            "title": "Event Type",
            "type": "string"
          },
          "minutes_ago": {
            "minimum": 0,
            "title": "Minutes Ago",
            "type": "integer"
          },
          "details": {
            "additionalProperties": true,
            "title": "Details",
            "type": "object"
          }
        },
        "required": [
          "event_type",
          "minutes_ago"
        ],
        "title": "Event",
        "type": "object"
      },
      "Links": {
        "additionalProperties": false,
        "properties": {
          "accounts_sharing_bank": {
            "minimum": 0,
            "title": "Accounts Sharing Bank",
            "type": "integer"
          },
          "accounts_sharing_device": {
            "minimum": 0,
            "title": "Accounts Sharing Device",
            "type": "integer"
          },
          "accounts_sharing_ip": {
            "minimum": 0,
            "title": "Accounts Sharing Ip",
            "type": "integer"
          },
          "accounts_sharing_address": {
            "minimum": 0,
            "title": "Accounts Sharing Address",
            "type": "integer"
          },
          "linked_accounts_traded_with": {
            "minimum": 0,
            "title": "Linked Accounts Traded With",
            "type": "integer"
          }
        },
        "required": [
          "accounts_sharing_bank",
          "accounts_sharing_device",
          "accounts_sharing_ip",
          "accounts_sharing_address",
          "linked_accounts_traded_with"
        ],
        "title": "Links",
        "type": "object"
      },
      "Message": {
        "additionalProperties": false,
        "properties": {
          "minutes_ago": {
            "minimum": 0,
            "title": "Minutes Ago",
            "type": "integer"
          },
          "direction": {
            "enum": [
              "in",
              "out"
            ],
            "title": "Direction",
            "type": "string"
          },
          "text": {
            "title": "Text",
            "type": "string"
          }
        },
        "required": [
          "minutes_ago",
          "direction",
          "text"
        ],
        "title": "Message",
        "type": "object"
      },
      "Summaries": {
        "additionalProperties": false,
        "properties": {
          "listing_vs_typical_holding": {
            "minimum": 0,
            "title": "Listing Vs Typical Holding",
            "type": "number"
          },
          "price_vs_last_trade_pct": {
            "title": "Price Vs Last Trade Pct",
            "type": "number"
          },
          "orders_last_24h": {
            "minimum": 0,
            "title": "Orders Last 24H",
            "type": "integer"
          },
          "orders_cancelled_last_24h": {
            "minimum": 0,
            "title": "Orders Cancelled Last 24H",
            "type": "integer"
          },
          "failed_logins_last_24h": {
            "minimum": 0,
            "title": "Failed Logins Last 24H",
            "type": "integer"
          },
          "bank_changed_within_24h": {
            "title": "Bank Changed Within 24H",
            "type": "boolean"
          },
          "new_device_within_24h": {
            "title": "New Device Within 24H",
            "type": "boolean"
          },
          "high_risk_country": {
            "title": "High Risk Country",
            "type": "boolean"
          }
        },
        "required": [
          "listing_vs_typical_holding",
          "price_vs_last_trade_pct",
          "orders_last_24h",
          "orders_cancelled_last_24h",
          "failed_logins_last_24h",
          "bank_changed_within_24h",
          "new_device_within_24h",
          "high_risk_country"
        ],
        "title": "Summaries",
        "type": "object"
      },
      "Texts": {
        "additionalProperties": false,
        "properties": {
          "listing_note": {
            "title": "Listing Note",
            "type": "string"
          },
          "messages": {
            "items": {
              "$ref": "#/$defs/Message"
            },
            "title": "Messages",
            "type": "array"
          },
          "document_text": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Document Text"
          }
        },
        "required": [
          "listing_note",
          "messages",
          "document_text"
        ],
        "title": "Texts",
        "type": "object"
      }
    },
    "additionalProperties": false,
    "properties": {
      "case_id": {
        "title": "Case Id",
        "type": "string"
      },
      "review_target": {
        "$ref": "#/$defs/Event"
      },
      "account": {
        "$ref": "#/$defs/Account"
      },
      "company": {
        "$ref": "#/$defs/Company"
      },
      "recent_events": {
        "items": {
          "$ref": "#/$defs/Event"
        },
        "title": "Recent Events",
        "type": "array"
      },
      "links": {
        "$ref": "#/$defs/Links"
      },
      "summaries": {
        "$ref": "#/$defs/Summaries"
      },
      "texts": {
        "$ref": "#/$defs/Texts"
      }
    },
    "required": [
      "case_id",
      "review_target",
      "account",
      "company",
      "recent_events",
      "links",
      "summaries",
      "texts"
    ],
    "title": "ReviewItem",
    "type": "object"
  },
  "Verdict": {
    "additionalProperties": false,
    "properties": {
      "risk_level": {
        "maximum": 5,
        "minimum": 1,
        "title": "Risk Level",
        "type": "integer"
      },
      "reasons": {
        "items": {
          "enum": [
            "NO_OWNERSHIP_PROOF",
            "LISTING_ABOVE_TYPICAL_HOLDING",
            "CLAIMED_ROLE_MISMATCH",
            "DOCUMENT_NAME_MISMATCH",
            "SHARES_ALREADY_COMMITTED",
            "TRANSFER_BLOCKED_BY_COMPANY",
            "NEW_DEVICE_OR_LOCATION",
            "FAILED_LOGINS_THEN_SUCCESS",
            "PASSWORD_RESET_RECENT",
            "BANK_CHANGED_RECENTLY",
            "CONTACT_INFO_CHANGED",
            "KNOWN_ATTACK_IP",
            "NEW_ACCOUNT_LARGE_ORDER",
            "ID_CHECK_ISSUES",
            "SHARED_BANK",
            "SHARED_DEVICE_OR_IP",
            "TRADES_WITH_LINKED_ACCOUNT",
            "CIRCULAR_FLOW",
            "MANY_TO_ONE_FLOW",
            "PRICE_FAR_FROM_LAST_TRADE",
            "RAPID_PLACE_AND_CANCEL",
            "REPEATED_TRADES_SAME_PARTIES",
            "OWNERS_CHANGED_AFTER_ID_CHECK",
            "HIGH_RISK_COUNTRY",
            "ACCREDITATION_INCONSISTENT",
            "FUNDS_FROM_THIRD_PARTY",
            "TRADE_BEFORE_COMPANY_NEWS",
            "OFF_PLATFORM_REQUEST",
            "PHISHING_LANGUAGE",
            "PRESSURE_TO_RUSH",
            "NO_CONCERN"
          ],
          "type": "string"
        },
        "minItems": 1,
        "title": "Reasons",
        "type": "array"
      }
    },
    "required": [
      "risk_level",
      "reasons"
    ],
    "title": "Verdict",
    "type": "object"
  }
}
