{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/daon/main/json-schema/daon-user-data-response-schema.json",
  "title": "UserDataResponse",
  "x-generated": "2026-10-18",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/daon-trustx-openapi.yml#/components/schemas/UserDataResponse",
  "type": "object",
  "properties": {
    "documents": {
      "type": "object",
      "additionalProperties": {
        "$ref": "#/$defs/Document"
      },
      "description": "Documents which were captured during the execution of the process instance."
    },
    "additionalDocuments": {
      "$ref": "#/$defs/AdditionalDocumentResponse",
      "description": "AdditionalDocuments which were captured during the execution of the process instance."
    },
    "faces": {
      "type": "object",
      "additionalProperties": {
        "$ref": "#/$defs/Face"
      },
      "description": "Faces which were captured during the execution of the process instance."
    },
    "cloudFunctions": {
      "$ref": "#/$defs/CloudFunctions",
      "description": "The results of any cloud function executions as part of the execution of the process instance."
    },
    "customDataforms": {
      "type": "object",
      "additionalProperties": {
        "$ref": "#/$defs/CustomFormDatas"
      },
      "description": "The contents CustomFormDatas which were captured during the execution of the process instance."
    },
    "customPages": {
      "type": "object",
      "additionalProperties": {
        "$ref": "#/$defs/CustomPageData"
      },
      "description": "The results of any CustomPages which were displayed during the execution of the process instance."
    },
    "review": {
      "$ref": "#/$defs/ReviewResponse"
    },
    "keyedAdditionalDocuments": {
      "type": "object",
      "additionalProperties": {
        "$ref": "#/$defs/AdditionalDocumentResponse"
      },
      "description": "Keyed AdditionalDocuments which were captured during the execution of the process instance.",
      "properties": {
        "empty": {
          "type": "boolean"
        }
      }
    },
    "watchlists": {
      "type": "array",
      "description": "If any face watchlist matches were performed the results are available as part of `watchlists`.",
      "items": {
        "$ref": "#/$defs/WatchlistResponse"
      }
    },
    "error": {
      "$ref": "#/$defs/Error",
      "description": "An error object containing details of any incidents that may occurred during the process execution that would have prevented execution from completing."
    },
    "signals": {
      "$ref": "#/$defs/Signals",
      "description": "Signals captured during the execution of the process instance."
    },
    "watchlistV2": {
      "type": "object",
      "additionalProperties": {
        "oneOf": [
          {
            "$ref": "#/$defs/DocumentNumberWatchlistCard"
          },
          {
            "$ref": "#/$defs/EmailWatchlistCard"
          },
          {
            "$ref": "#/$defs/FaceV6WatchlistCard"
          },
          {
            "$ref": "#/$defs/IPv4AddressWatchlistCard"
          },
          {
            "$ref": "#/$defs/PhoneNumberWatchlistCard"
          },
          {
            "$ref": "#/$defs/VisitorIDWatchlistCard"
          }
        ]
      },
      "description": "Watchlist (version 2) matching results captured during the execution of the process instance."
    },
    "initParams": {
      "type": "object",
      "additionalProperties": {},
      "description": "The merged initialization parameters passed when the process instance was created."
    },
    "trendChecks": {
      "type": "object",
      "additionalProperties": {
        "oneOf": [
          {
            "$ref": "#/$defs/DocumentNumberTrendCard"
          },
          {
            "$ref": "#/$defs/EmailTrendCard"
          },
          {
            "$ref": "#/$defs/IPv4AddressTrendCard"
          },
          {
            "$ref": "#/$defs/PhoneNumberTrendCard"
          },
          {
            "$ref": "#/$defs/VisitorIDTrendCard"
          }
        ]
      },
      "description": "Trend check results captured during the execution of the process instance."
    },
    "calls": {
      "type": "object",
      "additionalProperties": {
        "$ref": "#/$defs/Call"
      },
      "description": "Calls which were captured during the execution of the process instance."
    }
  },
  "$defs": {
    "AbstractReports": {},
    "AbstractWatchlistQueryDto": {
      "type": "object",
      "description": "Base class for watchlist query requests with type-specific matching parameters",
      "properties": {
        "type": {
          "type": "string",
          "description": "Type of query (must match the watchlist type)",
          "enum": [
            "documentNumber",
            "ipv4Address",
            "visitorID",
            "facev6",
            "email",
            "phoneNumber"
          ]
        }
      },
      "required": [
        "type"
      ]
    },
    "AdditionalDocument": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "lastModified": {
          "type": "string",
          "format": "date-time"
        },
        "title": {
          "$ref": "#/$defs/ValuesHolder"
        },
        "captures": {
          "type": "object",
          "additionalProperties": {
            "type": "object",
            "additionalProperties": {
              "$ref": "#/$defs/ImageHref"
            }
          }
        }
      }
    },
    "AdditionalDocumentResponse": {
      "type": "object",
      "properties": {
        "version": {
          "type": "integer",
          "format": "int32"
        },
        "documents": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/$defs/AdditionalDocument"
          }
        }
      }
    },
    "BiographicData": {
      "type": "object",
      "properties": {
        "label": {
          "type": "string"
        },
        "fieldId": {
          "type": "string"
        },
        "fieldName": {
          "type": "string"
        },
        "values": {
          "$ref": "#/$defs/BiographicDataValues"
        }
      }
    },
    "BiographicDataValues": {
      "type": "object",
      "properties": {
        "visualZoneValue": {
          "type": "string"
        },
        "barcodeValue": {
          "type": "string"
        },
        "mrzValue": {
          "type": "string"
        },
        "nfcValue": {
          "type": "string"
        }
      }
    },
    "Botd": {
      "type": "object",
      "description": "Contains all the information from Bot Detection product",
      "properties": {
        "bot": {
          "$ref": "#/$defs/BotdBot"
        },
        "meta": {
          "type": "object",
          "additionalProperties": {},
          "description": "A customer-provided value or an object that was sent with identification request."
        },
        "linkedId": {
          "type": "string",
          "description": "A customer-provided id that was sent with the request."
        },
        "url": {
          "type": "string",
          "description": "Page URL from which the request was sent."
        },
        "ip": {
          "type": "string",
          "description": "IP address of the requesting browser or bot."
        },
        "time": {
          "type": "string",
          "format": "date-time",
          "description": "Time in UTC when the request from the JS agent was made. We recommend to treat requests that are older than 2 minutes as malicious. Otherwise, request replay attacks are possible."
        },
        "userAgent": {
          "type": "string"
        },
        "requestId": {
          "type": "string",
          "description": "Unique identifier of the user's request."
        }
      },
      "required": [
        "bot",
        "ip",
        "requestId",
        "time",
        "url",
        "userAgent"
      ]
    },
    "BotdBot": {
      "type": "object",
      "description": "Stores bot detection result",
      "properties": {
        "result": {
          "type": "string",
          "enum": [
            "notDetected",
            "good",
            "bad"
          ]
        },
        "type": {
          "type": "string"
        }
      },
      "required": [
        "result"
      ]
    },
    "BrowserDetails": {
      "type": "object",
      "properties": {
        "browserName": {
          "type": "string"
        },
        "browserMajorVersion": {
          "type": "string"
        },
        "browserFullVersion": {
          "type": "string"
        },
        "os": {
          "type": "string"
        },
        "osVersion": {
          "type": "string"
        },
        "device": {
          "type": "string"
        },
        "userAgent": {
          "type": "string"
        }
      },
      "required": [
        "browserFullVersion",
        "browserMajorVersion",
        "browserName",
        "device",
        "os",
        "osVersion",
        "userAgent"
      ]
    },
    "Call": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "agentId": {
          "type": "string"
        },
        "audioSourceName": {
          "type": "string"
        },
        "audioFileHash": {
          "type": "string"
        },
        "status": {
          "type": "string"
        },
        "errorCode": {
          "type": "integer",
          "format": "int32"
        },
        "errorMessage": {
          "type": "string"
        },
        "metadata": {
          "type": "object",
          "additionalProperties": {}
        },
        "callActions": {
          "type": "object",
          "additionalProperties": {
            "type": "array",
            "items": {
              "$ref": "#/$defs/CallAction"
            }
          }
        }
      }
    },
    "CallAction": {
      "type": "object",
      "properties": {
        "operationId": {
          "type": "string"
        },
        "executionKey": {
          "type": "string"
        },
        "startDtm": {
          "type": "string",
          "format": "date-time"
        },
        "endDtm": {
          "type": "string",
          "format": "date-time"
        },
        "completeReason": {
          "type": "string"
        },
        "errorCode": {
          "type": "integer",
          "format": "int32"
        },
        "errorMessage": {
          "type": "string"
        }
      }
    },
    "ClonedApp": {
      "type": "object",
      "properties": {
        "result": {
          "type": "boolean",
          "description": "Android specific cloned application detection. There are 2 values:    * `true` - Presence of app cloners work detected (e.g. fully cloned application found or launch of it inside of a not main working profile detected).   * `false` - No signs of cloned application detected or the client is not Android. "
        }
      },
      "required": [
        "result"
      ]
    },
    "CloudFunctions": {
      "type": "object",
      "properties": {
        "reports": {
          "$ref": "#/$defs/AbstractReports"
        }
      }
    },
    "CustomFormDatas": {
      "type": "object",
      "properties": {
        "formDataName": {
          "type": "string"
        },
        "formDataValues": {
          "type": "array",
          "items": {}
        }
      }
    },
    "CustomPageData": {
      "type": "object",
      "properties": {
        "customPageId": {
          "type": "string"
        },
        "customPageName": {
          "type": "string"
        },
        "customPageVersion": {
          "type": "integer",
          "format": "int32"
        },
        "parameters": {
          "type": "object",
          "additionalProperties": {}
        }
      }
    },
    "DecisionOutcome": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        },
        "description": {
          "type": "string"
        },
        "id": {
          "type": "string"
        }
      }
    },
    "DeprecatedGeolocation": {
      "type": "object",
      "description": "This field is **deprecated** and will not return a result for **applications created after January 23rd, 2024**.  Please use the [IP Geolocation Smart signal](https://dev.fingerprint.com/docs/smart-signals-overview#ip-geolocation) for geolocation information.",
      "properties": {
        "accuracyRadius": {
          "type": "integer",
          "format": "int32",
          "description": "The IP address is likely to be within this radius (in km) of the specified location."
        },
        "latitude": {
          "type": "number",
          "format": "double"
        },
        "longitude": {
          "type": "number",
          "format": "double"
        },
        "postalCode": {
          "type": "string"
        },
        "timezone": {
          "type": "string"
        },
        "city": {
          "$ref": "#/$defs/GeolocationCity"
        },
        "country": {
          "$ref": "#/$defs/GeolocationCountry"
        },
        "continent": {
          "$ref": "#/$defs/GeolocationContinent"
        },
        "subdivisions": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/GeolocationSubdivision"
          }
        }
      }
    },
    "DeveloperTools": {
      "type": "object",
      "properties": {
        "result": {
          "type": "boolean",
          "description": "`true` if the browser is Chrome with DevTools open or Firefox with Developer Tools open, `false` otherwise. "
        }
      },
      "required": [
        "result"
      ]
    },
    "DeviceIntegritySignals": {
      "type": "object",
      "properties": {
        "v3": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/$defs/EventsGetResponse"
          }
        }
      }
    },
    "Document": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "type": {
          "type": "string"
        },
        "classification": {
          "type": "string"
        },
        "lastModified": {
          "type": "string",
          "format": "date-time"
        },
        "captures": {
          "type": "object",
          "additionalProperties": {
            "type": "object",
            "additionalProperties": {
              "$ref": "#/$defs/ImageHref"
            }
          }
        },
        "upload": {
          "$ref": "#/$defs/UserDataDocumentUpload"
        },
        "segmentedImages": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/$defs/SegmentedImage"
          }
        },
        "keyBiographicData": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/$defs/KeyBiographicData"
          }
        },
        "biographicData": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/BiographicData"
          }
        },
        "portraitImage": {
          "$ref": "#/$defs/PortraitImage"
        },
        "reports": {
          "$ref": "#/$defs/AbstractReports"
        }
      }
    },
    "DocumentNumberTrendCard": {
      "allOf": [
        {
          "$ref": "#/$defs/TrendCheckCard"
        },
        {
          "type": "object",
          "properties": {
            "documentNumber": {
              "type": "string",
              "description": "The document number that was searched in the trend records"
            },
            "documentType": {
              "type": "string",
              "description": "The document type that was used as a filter for the search"
            }
          }
        }
      ],
      "description": "Watchlist check result for document number searches. Contains document number, document type, and matching algorithm information.",
      "required": [
        "checkOutcome",
        "documentNumber",
        "recordCount",
        "trendGroup",
        "trendType"
      ]
    },
    "DocumentNumberWatchlistCard": {
      "allOf": [
        {
          "$ref": "#/$defs/WatchlistCard"
        },
        {
          "type": "object",
          "properties": {
            "documentNumber": {
              "type": "string",
              "description": "The document number that was searched in the watchlist"
            },
            "documentType": {
              "type": "string",
              "description": "The document type that was used as a filter for the search"
            },
            "matchAlgorithm": {
              "type": "string",
              "description": "The matching algorithm used for the search",
              "enum": [
                "EXACT",
                "LEVENSHTEIN"
              ]
            }
          }
        }
      ],
      "description": "Watchlist check result for document number searches. Contains document number, document type, and matching algorithm information.",
      "required": [
        "checkOutcome",
        "documentNumber",
        "matchCount",
        "watchlistId",
        "watchlistName",
        "watchlistType"
      ]
    },
    "EmailTrendCard": {
      "allOf": [
        {
          "$ref": "#/$defs/TrendCheckCard"
        },
        {
          "type": "object",
          "properties": {
            "email": {
              "type": "string",
              "description": "The email address that was searched against the trend records."
            }
          }
        }
      ],
      "description": "Email trend check result. Contains the email address that was searched against trend records.",
      "required": [
        "checkOutcome",
        "email",
        "recordCount",
        "trendGroup",
        "trendType"
      ]
    },
    "EmailWatchlistCard": {
      "allOf": [
        {
          "$ref": "#/$defs/WatchlistCard"
        },
        {
          "type": "object",
          "properties": {
            "emailAddress": {
              "type": "string",
              "description": "The email address that was searched in the watchlist"
            }
          }
        }
      ],
      "description": "Watchlist check result for email address searches. Contains the email address that was searched in the watchlist.",
      "required": [
        "checkOutcome",
        "emailAddress",
        "matchCount",
        "watchlistId",
        "watchlistName",
        "watchlistType"
      ]
    },
    "Emulator": {
      "type": "object",
      "properties": {
        "result": {
          "type": "boolean",
          "description": "Android specific emulator detection. There are 2 values:    * `true` - Emulated environment detected (e.g. launch inside of AVD).    * `false` - No signs of emulated environment detected or the client is not Android. "
        }
      },
      "required": [
        "result"
      ]
    },
    "Error": {
      "type": "object",
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "RequestCannotBeParsed",
            "TokenRequired",
            "TokenNotFound",
            "SubscriptionNotActive",
            "WrongRegion",
            "FeatureNotEnabled",
            "RequestNotFound",
            "VisitorNotFound",
            "TooManyRequests",
            "429 Too Many Requests",
            "StateNotReady",
            "Failed"
          ]
        },
        "message": {
          "type": "string"
        }
      },
      "required": [
        "code",
        "message"
      ]
    },
    "EventsGetResponse": {
      "type": "object",
      "description": "Contains results from all activated products - Fingerprint Pro, Bot Detection, and others.",
      "properties": {
        "products": {
          "$ref": "#/$defs/Products"
        }
      },
      "required": [
        "products"
      ]
    },
    "Face": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "external": {
          "type": "boolean"
        },
        "lastModified": {
          "type": "string",
          "format": "date-time"
        },
        "capture": {
          "$ref": "#/$defs/ImageHref"
        },
        "reports": {
          "$ref": "#/$defs/AbstractReports"
        }
      }
    },
    "FaceV6WatchlistCard": {
      "allOf": [
        {
          "$ref": "#/$defs/WatchlistCard"
        },
        {
          "type": "object",
          "properties": {
            "matchThreshold": {
              "type": "number",
              "format": "double",
              "description": "Match threshold used for face recognition. Values range from 0.0 to 1.0, where higher values indicate stricter matching requirements."
            },
            "templateUsed": {
              "type": "boolean",
              "description": "Indicates whether a face template was used for searching (true) or a raw image was used (false)"
            },
            "faceKey": {
              "type": "string",
              "description": "Unique identifier (key) of the face image used for the search"
            },
            "faceHref": {
              "type": "string",
              "description": "URL or path to the face image that was used for the search"
            }
          }
        }
      ],
      "description": "Watchlist check result for face recognition searches. Contains face matching threshold, template usage, and face image information.",
      "required": [
        "checkOutcome",
        "matchCount",
        "watchlistId",
        "watchlistName",
        "watchlistType"
      ]
    },
    "FactoryReset": {
      "type": "object",
      "properties": {
        "time": {
          "type": "string",
          "format": "date-time",
          "description": "Indicates the time (in UTC) of the most recent factory reset that happened on the **mobile device**.  When a factory reset cannot be detected on the mobile device or when the request is initiated from a browser,  this field will correspond to the *epoch* time (i.e 1 Jan 1970 UTC). See [Factory Reset Detection](https://dev.fingerprint.com/docs/smart-signals-overview#factory-reset-detection) to learn more about this Smart Signal. "
        },
        "timestamp": {
          "type": "integer",
          "format": "int64",
          "description": "This field is just another representation of the value in the `time` field. The time of the most recent factory reset that happened on the **mobile device** is expressed as Unix epoch time.        "
        }
      },
      "required": [
        "time",
        "timestamp"
      ]
    },
    "Frida": {
      "type": "object",
      "properties": {
        "result": {
          "type": "boolean",
          "description": "[Frida](https://frida.re/docs/) detection for Android and iOS devices. There are 2 values:   * `true` - Frida detected   * `false` - No signs of Frida or the client is not a mobile device. "
        }
      },
      "required": [
        "result"
      ]
    },
    "Geolocation": {
      "type": "object",
      "properties": {
        "accuracyRadius": {
          "type": "integer",
          "format": "int32",
          "description": "The IP address is likely to be within this radius (in km) of the specified location."
        },
        "latitude": {
          "type": "number",
          "format": "double"
        },
        "longitude": {
          "type": "number",
          "format": "double"
        },
        "postalCode": {
          "type": "string"
        },
        "timezone": {
          "type": "string"
        },
        "city": {
          "$ref": "#/$defs/GeolocationCity"
        },
        "country": {
          "$ref": "#/$defs/GeolocationCountry"
        },
        "continent": {
          "$ref": "#/$defs/GeolocationContinent"
        },
        "subdivisions": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/GeolocationSubdivision"
          }
        }
      }
    },
    "GeolocationCity": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        }
      },
      "required": [
        "name"
      ]
    },
    "GeolocationContinent": {
      "type": "object",
      "properties": {
        "code": {
          "type": "string"
        },
        "name": {
          "type": "string"
        }
      },
      "required": [
        "code",
        "name"
      ]
    },
    "GeolocationCountry": {
      "type": "object",
      "properties": {
        "code": {
          "type": "string"
        },
        "name": {
          "type": "string"
        }
      },
      "required": [
        "code",
        "name"
      ]
    },
    "GeolocationSubdivision": {
      "type": "object",
      "properties": {
        "isoCode": {
          "type": "string"
        },
        "name": {
          "type": "string"
        }
      },
      "required": [
        "isoCode",
        "name"
      ]
    },
    "HighActivity": {
      "type": "object",
      "properties": {
        "result": {
          "type": "boolean",
          "description": "Flag indicating if the request came from a high-activity visitor."
        },
        "dailyRequests": {
          "type": "integer",
          "format": "int64",
          "description": "Number of requests from the same visitor in the previous day."
        }
      },
      "required": [
        "result"
      ]
    },
    "IPBlocklist": {
      "type": "object",
      "properties": {
        "result": {
          "type": "boolean",
          "description": "`true` if request IP address is part of any database that we use to search for known malicious actors, `false` otherwise. "
        },
        "details": {
          "$ref": "#/$defs/IPBlocklistDetails"
        }
      },
      "required": [
        "details",
        "result"
      ]
    },
    "IPBlocklistDetails": {
      "type": "object",
      "properties": {
        "emailSpam": {
          "type": "boolean",
          "description": "IP address was part of a known email spam attack (SMTP)."
        },
        "attackSource": {
          "type": "boolean",
          "description": "IP address was part of a known network attack (SSH/HTTPS)."
        }
      },
      "required": [
        "attackSource",
        "emailSpam"
      ]
    },
    "IPInfo": {
      "type": "object",
      "description": "Details about the request IP address. Has separate fields for v4 and v6 IP address versions.",
      "properties": {
        "v4": {
          "$ref": "#/$defs/IPInfoV4"
        },
        "v6": {
          "$ref": "#/$defs/IPInfoV6"
        }
      }
    },
    "IPInfoASN": {
      "type": "object",
      "properties": {
        "asn": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "network": {
          "type": "string"
        }
      },
      "required": [
        "asn",
        "name",
        "network"
      ]
    },
    "IPInfoDataCenter": {
      "type": "object",
      "properties": {
        "result": {
          "type": "boolean"
        },
        "name": {
          "type": "string"
        }
      },
      "required": [
        "name",
        "result"
      ]
    },
    "IPInfoV4": {
      "type": "object",
      "properties": {
        "address": {
          "type": "string"
        },
        "geolocation": {
          "$ref": "#/$defs/Geolocation"
        },
        "asn": {
          "$ref": "#/$defs/IPInfoASN"
        },
        "datacenter": {
          "$ref": "#/$defs/IPInfoDataCenter"
        }
      },
      "required": [
        "address",
        "geolocation"
      ]
    },
    "IPInfoV6": {
      "type": "object",
      "properties": {
        "address": {
          "type": "string"
        },
        "geolocation": {
          "$ref": "#/$defs/Geolocation"
        },
        "asn": {
          "$ref": "#/$defs/IPInfoASN"
        },
        "datacenter": {
          "$ref": "#/$defs/IPInfoDataCenter"
        }
      },
      "required": [
        "address",
        "geolocation"
      ]
    },
    "IPV4Record": {
      "type": "object",
      "properties": {
        "ipv4": {
          "type": "string"
        },
        "city": {
          "type": "string"
        },
        "country": {
          "type": "string"
        },
        "region": {
          "type": "string"
        },
        "capturedDtm": {
          "type": "string",
          "format": "date-time"
        },
        "location": {
          "$ref": "#/$defs/Location"
        }
      }
    },
    "IPv4AddressTrendCard": {
      "allOf": [
        {
          "$ref": "#/$defs/TrendCheckCard"
        },
        {
          "type": "object",
          "properties": {
            "ipAddress": {
              "type": "string",
              "description": "The IPv4 address that was searched against the trend records."
            }
          }
        }
      ],
      "description": "Watchlist check result for IPv4 address searches. Contains the IPv4 address that was searched in the watchlist.",
      "required": [
        "checkOutcome",
        "ipAddress",
        "recordCount",
        "trendGroup",
        "trendType"
      ]
    },
    "IPv4AddressWatchlistCard": {
      "allOf": [
        {
          "$ref": "#/$defs/WatchlistCard"
        },
        {
          "type": "object",
          "properties": {
            "ipAddress": {
              "type": "string",
              "description": "The IPv4 address that was searched in the watchlist. Can be a single address or part of a range."
            }
          }
        }
      ],
      "description": "Watchlist check result for IPv4 address searches. Contains the IPv4 address that was searched in the watchlist.",
      "required": [
        "checkOutcome",
        "ipAddress",
        "matchCount",
        "watchlistId",
        "watchlistName",
        "watchlistType"
      ]
    },
    "Identification": {
      "type": "object",
      "properties": {
        "visitorId": {
          "type": "string",
          "description": "String of 20 characters that uniquely identifies the visitor's browser or mobile device."
        },
        "requestId": {
          "type": "string",
          "description": "Unique identifier of the user's request."
        },
        "browserDetails": {
          "$ref": "#/$defs/BrowserDetails"
        },
        "incognito": {
          "type": "boolean",
          "description": "Flag if user used incognito session."
        },
        "ip": {
          "type": "string",
          "description": "IP address of the requesting browser or bot."
        },
        "ipLocation": {
          "$ref": "#/$defs/DeprecatedGeolocation",
          "deprecated": true
        },
        "linkedId": {
          "type": "string",
          "description": "A customer-provided id that was sent with the request."
        },
        "suspect": {
          "type": "boolean",
          "description": "Field is `true` if you have previously set the `suspect` flag for this event using the [Server API Update event endpoint](https://dev.fingerprint.com/reference/updateevent)."
        },
        "timestamp": {
          "type": "integer",
          "format": "int64",
          "description": "Timestamp of the event with millisecond precision in Unix time."
        },
        "time": {
          "type": "string",
          "format": "date-time",
          "description": "Time expressed according to ISO 8601 in UTC format, when the request from the JS agent was made. We recommend to treat requests that are older than 2 minutes as malicious. Otherwise, request replay attacks are possible."
        },
        "url": {
          "type": "string",
          "description": "Page URL from which the request was sent."
        },
        "tag": {
          "type": "object",
          "additionalProperties": {},
          "description": "A customer-provided value or an object that was sent with identification request."
        },
        "confidence": {
          "$ref": "#/$defs/IdentificationConfidence"
        },
        "visitorFound": {
          "type": "boolean",
          "description": "Attribute represents if a visitor had been identified before."
        },
        "firstSeenAt": {
          "$ref": "#/$defs/IdentificationSeenAt"
        },
        "lastSeenAt": {
          "$ref": "#/$defs/IdentificationSeenAt"
        },
        "components": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/$defs/RawDeviceAttribute"
          },
          "description": "It includes 35+ raw browser identification attributes to provide Fingerprint users with even more information than our standard visitor ID provides. This enables Fingerprint users to not have to run our open-source product in conjunction with Fingerprint Pro Plus and Enterprise to get those additional attributes. Warning: The raw signals data can change at any moment as we improve the product. We cannot guarantee the internal shape of raw device attributes to be stable, so typical semantic versioning rules do not apply here. Use this data with caution without assuming a specific structure beyond the generic type provided here. "
        },
        "replayed": {
          "type": "boolean",
          "description": "`true` if we determined that this payload was replayed, `false` otherwise. "
        },
        "sdk": {
          "$ref": "#/$defs/SDK"
        },
        "environmentId": {
          "type": "string",
          "description": "Environment ID associated with the event"
        }
      },
      "required": [
        "browserDetails",
        "firstSeenAt",
        "incognito",
        "ip",
        "lastSeenAt",
        "replayed",
        "requestId",
        "tag",
        "time",
        "timestamp",
        "url",
        "visitorFound",
        "visitorId"
      ]
    },
    "IdentificationConfidence": {
      "type": "object",
      "properties": {
        "score": {
          "type": "number",
          "format": "double",
          "description": "The confidence score is a floating-point number between 0 and 1 that represents the probability of accurate identification."
        },
        "revision": {
          "type": "string",
          "description": "The revision name of the method used to calculate the Confidence score. This field is only present for customers who opted in to an alternative calculation method."
        },
        "comment": {
          "type": "string"
        }
      },
      "required": [
        "score"
      ]
    },
    "IdentificationSeenAt": {
      "type": "object",
      "properties": {
        "global": {
          "type": "string",
          "format": "date-time"
        },
        "subscription": {
          "type": "string",
          "format": "date-time"
        }
      },
      "required": [
        "global",
        "subscription"
      ]
    },
    "ImageHref": {
      "type": "object",
      "properties": {
        "imageHref": {
          "type": "string",
          "readOnly": true
        },
        "contentType": {
          "type": "string",
          "readOnly": true
        },
        "data": {
          "type": "string",
          "format": "binary",
          "readOnly": true
        }
      }
    },
    "Incognito": {
      "type": "object",
      "properties": {
        "result": {
          "type": "boolean",
          "description": "`true` if we detected incognito mode used in the browser, `false` otherwise. "
        }
      },
      "required": [
        "result"
      ]
    },
    "Jailbroken": {
      "type": "object",
      "properties": {
        "result": {
          "type": "boolean",
          "description": "iOS specific jailbreak detection. There are 2 values:    * `true` - Jailbreak detected.   * `false` - No signs of jailbreak or the client is not iOS. "
        }
      },
      "required": [
        "result"
      ]
    },
    "KeyBiographicData": {
      "type": "object",
      "properties": {
        "label": {
          "type": "string"
        },
        "value": {
          "type": "string"
        },
        "fieldName": {
          "type": "string"
        },
        "fieldId": {
          "type": "string"
        },
        "source": {
          "type": "string"
        }
      }
    },
    "Location": {
      "type": "object",
      "properties": {
        "lat": {
          "type": "number",
          "format": "float"
        },
        "lng": {
          "type": "number",
          "format": "float"
        }
      }
    },
    "LocationSpoofing": {
      "type": "object",
      "properties": {
        "result": {
          "type": "boolean",
          "description": "Flag indicating whether the request came from a mobile device with location spoofing enabled."
        }
      },
      "required": [
        "result"
      ]
    },
    "MitMAttack": {
      "type": "object",
      "properties": {
        "result": {
          "type": "boolean",
          "description": "* `true` - When requests made from your users' mobile devices to Fingerprint servers have been intercepted and potentially modified.  * `false` - Otherwise or when the request originated from a browser. See [MitM Attack Detection](https://dev.fingerprint.com/docs/smart-signals-reference#mitm-attack-detection) to learn more about this Smart Signal. "
        }
      },
      "required": [
        "result"
      ]
    },
    "PageableObject": {
      "type": "object",
      "properties": {
        "sort": {
          "$ref": "#/$defs/SortObject"
        },
        "pageSize": {
          "type": "integer",
          "format": "int32"
        },
        "pageNumber": {
          "type": "integer",
          "format": "int32"
        },
        "paged": {
          "type": "boolean"
        },
        "unpaged": {
          "type": "boolean"
        },
        "offset": {
          "type": "integer",
          "format": "int64"
        }
      }
    },
    "PhoneNumberTrendCard": {
      "allOf": [
        {
          "$ref": "#/$defs/TrendCheckCard"
        },
        {
          "type": "object",
          "properties": {
            "phoneNumber": {
              "type": "string",
              "description": "The phone number that was searched against the trend records."
            }
          }
        }
      ],
      "description": "Phone number trend check result. Contains the phone number that was searched against trend records.",
      "required": [
        "checkOutcome",
        "phoneNumber",
        "recordCount",
        "trendGroup",
        "trendType"
      ]
    },
    "PhoneNumberWatchlistCard": {
      "allOf": [
        {
          "$ref": "#/$defs/WatchlistCard"
        },
        {
          "type": "object",
          "properties": {
            "phoneNumber": {
              "type": "string",
              "description": "The phone number that was searched in the watchlist"
            }
          }
        }
      ],
      "description": "Watchlist check result for phone number searches. Contains the phone number that was searched in the watchlist.",
      "required": [
        "checkOutcome",
        "matchCount",
        "phoneNumber",
        "watchlistId",
        "watchlistName",
        "watchlistType"
      ]
    },
    "PortraitImage": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "lastModified": {
          "type": "string",
          "format": "date-time"
        },
        "capture": {
          "$ref": "#/$defs/ImageHref"
        }
      }
    },
    "PrivacySettings": {
      "type": "object",
      "properties": {
        "result": {
          "type": "boolean",
          "description": "`true` if the request is from a privacy aware browser (e.g. Tor) or from a browser in which fingerprinting is blocked. Otherwise `false`. "
        }
      },
      "required": [
        "result"
      ]
    },
    "ProcessInfo": {
      "type": "object",
      "properties": {
        "processDefnId": {
          "type": "string"
        },
        "processDefnName": {
          "type": "string"
        },
        "processDefnVersion": {
          "type": "integer",
          "format": "int32"
        },
        "processInstanceId": {
          "type": "string"
        }
      }
    },
    "ProductBotd": {
      "type": "object",
      "properties": {
        "data": {
          "$ref": "#/$defs/Botd"
        },
        "error": {
          "$ref": "#/$defs/Error"
        }
      }
    },
    "ProductClonedApp": {
      "type": "object",
      "properties": {
        "data": {
          "$ref": "#/$defs/ClonedApp"
        },
        "error": {
          "$ref": "#/$defs/Error"
        }
      }
    },
    "ProductDeveloperTools": {
      "type": "object",
      "properties": {
        "data": {
          "$ref": "#/$defs/DeveloperTools"
        },
        "error": {
          "$ref": "#/$defs/Error"
        }
      }
    },
    "ProductEmulator": {
      "type": "object",
      "properties": {
        "data": {
          "$ref": "#/$defs/Emulator"
        },
        "error": {
          "$ref": "#/$defs/Error"
        }
      }
    },
    "ProductFactoryReset": {
      "type": "object",
      "properties": {
        "data": {
          "$ref": "#/$defs/FactoryReset"
        },
        "error": {
          "$ref": "#/$defs/Error"
        }
      }
    },
    "ProductFrida": {
      "type": "object",
      "properties": {
        "data": {
          "$ref": "#/$defs/Frida"
        },
        "error": {
          "$ref": "#/$defs/Error"
        }
      }
    },
    "ProductHighActivity": {
      "type": "object",
      "properties": {
        "data": {
          "$ref": "#/$defs/HighActivity"
        },
        "error": {
          "$ref": "#/$defs/Error"
        }
      }
    },
    "ProductIPBlocklist": {
      "type": "object",
      "properties": {
        "data": {
          "$ref": "#/$defs/IPBlocklist"
        },
        "error": {
          "$ref": "#/$defs/Error"
        }
      }
    },
    "ProductIPInfo": {
      "type": "object",
      "properties": {
        "data": {
          "$ref": "#/$defs/IPInfo"
        },
        "error": {
          "$ref": "#/$defs/Error"
        }
      }
    },
    "ProductIdentification": {
      "type": "object",
      "properties": {
        "data": {
          "$ref": "#/$defs/Identification"
        },
        "error": {
          "$ref": "#/$defs/Error"
        }
      }
    },
    "ProductIncognito": {
      "type": "object",
      "properties": {
        "data": {
          "$ref": "#/$defs/Incognito"
        },
        "error": {
          "$ref": "#/$defs/Error"
        }
      }
    },
    "ProductJailbroken": {
      "type": "object",
      "properties": {
        "data": {
          "$ref": "#/$defs/Jailbroken"
        },
        "error": {
          "$ref": "#/$defs/Error"
        }
      }
    },
    "ProductLocationSpoofing": {
      "type": "object",
      "properties": {
        "data": {
          "$ref": "#/$defs/LocationSpoofing"
        },
        "error": {
          "$ref": "#/$defs/Error"
        }
      }
    },
    "ProductMitMAttack": {
      "type": "object",
      "properties": {
        "data": {
          "$ref": "#/$defs/MitMAttack"
        },
        "error": {
          "$ref": "#/$defs/Error"
        }
      }
    },
    "ProductPrivacySettings": {
      "type": "object",
      "properties": {
        "data": {
          "$ref": "#/$defs/PrivacySettings"
        },
        "error": {
          "$ref": "#/$defs/Error"
        }
      }
    },
    "ProductProximity": {
      "type": "object",
      "properties": {
        "data": {
          "$ref": "#/$defs/Proximity"
        },
        "error": {
          "$ref": "#/$defs/Error"
        }
      }
    },
    "ProductProxy": {
      "type": "object",
      "properties": {
        "data": {
          "$ref": "#/$defs/Proxy"
        },
        "error": {
          "$ref": "#/$defs/Error"
        }
      }
    },
    "ProductRawDeviceAttributes": {
      "type": "object",
      "properties": {
        "data": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/$defs/RawDeviceAttribute"
          },
          "description": "It includes 35+ raw browser identification attributes to provide Fingerprint users with even more information than our standard visitor ID provides. This enables Fingerprint users to not have to run our open-source product in conjunction with Fingerprint Pro Plus and Enterprise to get those additional attributes. Warning: The raw signals data can change at any moment as we improve the product. We cannot guarantee the internal shape of raw device attributes to be stable, so typical semantic versioning rules do not apply here. Use this data with caution without assuming a specific structure beyond the generic type provided here. "
        },
        "error": {
          "$ref": "#/$defs/Error"
        }
      }
    },
    "ProductRemoteControl": {
      "type": "object",
      "description": "This product is deprecated. ",
      "properties": {
        "data": {
          "$ref": "#/$defs/RemoteControl",
          "deprecated": true
        },
        "error": {
          "$ref": "#/$defs/Error"
        }
      }
    },
    "ProductRootApps": {
      "type": "object",
      "properties": {
        "data": {
          "$ref": "#/$defs/RootApps"
        },
        "error": {
          "$ref": "#/$defs/Error"
        }
      }
    },
    "ProductSuspectScore": {
      "type": "object",
      "properties": {
        "data": {
          "$ref": "#/$defs/SuspectScore"
        },
        "error": {
          "$ref": "#/$defs/Error"
        }
      }
    },
    "ProductTampering": {
      "type": "object",
      "properties": {
        "data": {
          "$ref": "#/$defs/Tampering"
        },
        "error": {
          "$ref": "#/$defs/Error"
        }
      }
    },
    "ProductTor": {
      "type": "object",
      "properties": {
        "data": {
          "$ref": "#/$defs/Tor"
        },
        "error": {
          "$ref": "#/$defs/Error"
        }
      }
    },
    "ProductVPN": {
      "type": "object",
      "properties": {
        "data": {
          "$ref": "#/$defs/VPN"
        },
        "error": {
          "$ref": "#/$defs/Error"
        }
      }
    },
    "ProductVelocity": {
      "type": "object",
      "properties": {
        "data": {
          "$ref": "#/$defs/Velocity"
        },
        "error": {
          "$ref": "#/$defs/Error"
        }
      }
    },
    "ProductVirtualMachine": {
      "type": "object",
      "properties": {
        "data": {
          "$ref": "#/$defs/VirtualMachine"
        },
        "error": {
          "$ref": "#/$defs/Error"
        }
      }
    },
    "Products": {
      "type": "object",
      "description": "Contains all information about the request identified by `requestId`, depending on the pricing plan (Pro, Pro Plus, Enterprise)",
      "properties": {
        "identification": {
          "$ref": "#/$defs/ProductIdentification"
        },
        "botd": {
          "$ref": "#/$defs/ProductBotd"
        },
        "rootApps": {
          "$ref": "#/$defs/ProductRootApps"
        },
        "emulator": {
          "$ref": "#/$defs/ProductEmulator"
        },
        "ipInfo": {
          "$ref": "#/$defs/ProductIPInfo"
        },
        "ipBlocklist": {
          "$ref": "#/$defs/ProductIPBlocklist"
        },
        "tor": {
          "$ref": "#/$defs/ProductTor"
        },
        "vpn": {
          "$ref": "#/$defs/ProductVPN"
        },
        "proxy": {
          "$ref": "#/$defs/ProductProxy"
        },
        "incognito": {
          "$ref": "#/$defs/ProductIncognito"
        },
        "tampering": {
          "$ref": "#/$defs/ProductTampering"
        },
        "clonedApp": {
          "$ref": "#/$defs/ProductClonedApp"
        },
        "factoryReset": {
          "$ref": "#/$defs/ProductFactoryReset"
        },
        "jailbroken": {
          "$ref": "#/$defs/ProductJailbroken"
        },
        "frida": {
          "$ref": "#/$defs/ProductFrida"
        },
        "privacySettings": {
          "$ref": "#/$defs/ProductPrivacySettings"
        },
        "virtualMachine": {
          "$ref": "#/$defs/ProductVirtualMachine"
        },
        "rawDeviceAttributes": {
          "$ref": "#/$defs/ProductRawDeviceAttributes"
        },
        "highActivity": {
          "$ref": "#/$defs/ProductHighActivity"
        },
        "locationSpoofing": {
          "$ref": "#/$defs/ProductLocationSpoofing"
        },
        "suspectScore": {
          "$ref": "#/$defs/ProductSuspectScore"
        },
        "remoteControl": {
          "$ref": "#/$defs/ProductRemoteControl",
          "deprecated": true
        },
        "velocity": {
          "$ref": "#/$defs/ProductVelocity"
        },
        "developerTools": {
          "$ref": "#/$defs/ProductDeveloperTools"
        },
        "mitmAttack": {
          "$ref": "#/$defs/ProductMitMAttack"
        },
        "proximity": {
          "$ref": "#/$defs/ProductProximity"
        }
      }
    },
    "Proximity": {
      "type": "object",
      "description": "Proximity ID represents a fixed geographical zone in a discrete global grid within which the device is observed. ",
      "properties": {
        "id": {
          "type": "string",
          "description": "A stable privacy-preserving identifier for a given proximity zone. "
        },
        "precisionRadius": {
          "type": "integer",
          "format": "int32",
          "description": "The radius of the proximity zone?s precision level, in meters. ",
          "enum": [
            10,
            25,
            65,
            175,
            450,
            1200,
            3300,
            8500,
            22500
          ]
        },
        "confidence": {
          "type": "number",
          "format": "float",
          "description": "A value between `0` and `1` representing the likelihood that the true device location lies within the mapped proximity zone.   * Scores closer to `1` indicate high confidence that the location is inside the mapped proximity zone.   * Scores closer to `0` indicate lower confidence, suggesting the true location may fall in an adjacent zone. "
        }
      },
      "required": [
        "confidence",
        "id",
        "precisionRadius"
      ]
    },
    "Proxy": {
      "type": "object",
      "properties": {
        "result": {
          "type": "boolean",
          "description": "IP address was used by a public proxy provider or belonged to a known recent residential proxy "
        },
        "confidence": {
          "type": "string",
          "enum": [
            "low",
            "medium",
            "high"
          ]
        },
        "details": {
          "$ref": "#/$defs/ProxyDetails"
        }
      },
      "required": [
        "confidence",
        "result"
      ]
    },
    "ProxyDetails": {
      "type": "object",
      "description": "Proxy detection details (present if proxy is detected)",
      "properties": {
        "proxyType": {
          "type": "string",
          "description": "Residential proxies use real user IP addresses to appear as legitimate traffic,  while data center proxies are public proxies hosted in data centers ",
          "enum": [
            "residential",
            "data_center"
          ]
        },
        "lastSeenAt": {
          "type": "string",
          "format": "date-time",
          "description": "ISO 8601 formatted timestamp in UTC with hourly resolution of when this IP was last seen as a proxy when available. "
        }
      },
      "required": [
        "proxyType"
      ]
    },
    "RawDeviceAttribute": {
      "type": "object",
      "properties": {
        "value": {},
        "error": {
          "$ref": "#/$defs/RawDeviceAttributeError"
        }
      }
    },
    "RawDeviceAttributeError": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        },
        "message": {
          "type": "string"
        }
      }
    },
    "RemoteControl": {
      "type": "object",
      "description": "This signal is deprecated. ",
      "properties": {
        "result": {
          "type": "boolean",
          "description": "`true` if the request came from a machine being remotely controlled (e.g. TeamViewer), `false` otherwise. "
        }
      },
      "required": [
        "result"
      ]
    },
    "ReviewResponse": {
      "type": "object",
      "properties": {
        "url": {
          "type": "string"
        },
        "status": {
          "type": "string"
        },
        "comment": {
          "type": "string"
        },
        "reviewer": {
          "type": "string"
        },
        "email": {
          "type": "string"
        },
        "reasons": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/DecisionOutcome"
          }
        }
      }
    },
    "RootApps": {
      "type": "object",
      "properties": {
        "result": {
          "type": "boolean",
          "description": "Android specific root management apps detection. There are 2 values:    * `true` - Root Management Apps detected (e.g. Magisk).   * `false` - No Root Management Apps detected or the client isn't Android. "
        }
      },
      "required": [
        "result"
      ]
    },
    "SDK": {
      "type": "object",
      "description": "Contains information about the SDK used to perform the request.",
      "properties": {
        "platform": {
          "type": "string",
          "description": "Platform of the SDK."
        },
        "version": {
          "type": "string",
          "description": "SDK version string."
        }
      },
      "required": [
        "platform",
        "version"
      ]
    },
    "SegmentedImage": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "lastModified": {
          "type": "string",
          "format": "date-time"
        },
        "capture": {
          "$ref": "#/$defs/ImageHref"
        }
      }
    },
    "Signals": {
      "type": "object",
      "properties": {
        "ipv4s": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/$defs/IPV4Record"
          }
        },
        "deviceIntegritySignals": {
          "$ref": "#/$defs/DeviceIntegritySignals"
        }
      }
    },
    "SortObject": {
      "type": "object",
      "properties": {
        "sorted": {
          "type": "boolean"
        },
        "unsorted": {
          "type": "boolean"
        },
        "empty": {
          "type": "boolean"
        }
      }
    },
    "SuspectScore": {
      "type": "object",
      "properties": {
        "result": {
          "type": "integer",
          "format": "int32",
          "description": "Suspect Score is an easy way to integrate Smart Signals into your fraud protection work flow.  It is a weighted representation of all Smart Signals present in the payload that helps identify suspicious activity. The value range is [0; S] where S is sum of all Smart Signals weights.  See more details here: https://dev.fingerprint.com/docs/suspect-score "
        }
      },
      "required": [
        "result"
      ]
    },
    "Tampering": {
      "type": "object",
      "properties": {
        "result": {
          "type": "boolean",
          "description": "Indicates if an identification request from a browser or an Android SDK has been tampered with. Not supported in the iOS SDK, is always `false` for iOS requests.   * `true` - If the request meets either of the following conditions:     * Contains anomalous browser or device attributes that could not have been legitimately produced by the JavaScript agent or the Android SDK (see `anomalyScore`).     * Originated from an anti-detect browser like Incognition (see `antiDetectBrowser`).   * `false` - If the request is considered genuine or was generated by the iOS SDK. "
        },
        "anomalyScore": {
          "type": "number",
          "format": "double",
          "description": "A score that indicates the extent of anomalous data in the request. This field applies to requests originating from **both** browsers and Android SDKs.    * Values above `0.5` indicate that the request has been tampered with.   * Values below `0.5` indicate that the request is genuine. "
        },
        "antiDetectBrowser": {
          "type": "boolean",
          "description": "Anti-detect browsers try to evade identification by masking or manipulating their fingerprint to imitate legitimate browser configurations. This field does not apply to requests originating from mobile SDKs.   * `true` - The browser resembles a known anti-detect browser, for example, Incognition.   * `false` - The browser does not resemble an anti-detect browser or the request originates from a mobile SDK. "
        }
      },
      "required": [
        "anomalyScore",
        "antiDetectBrowser",
        "result"
      ]
    },
    "Tor": {
      "type": "object",
      "properties": {
        "result": {
          "type": "boolean",
          "description": "`true` if the request IP address is a known tor exit node, `false` otherwise. "
        }
      },
      "required": [
        "result"
      ]
    },
    "TrendCheckCard": {
      "type": "object",
      "description": "Base class for trend check results. Contains common fields for all trend types (document number, IPv4 address, visitor ID, email, and phone number).",
      "properties": {
        "trendGroup": {
          "type": "string",
          "description": "Optional trend group that was searched"
        },
        "trendType": {
          "type": "string",
          "description": "Type of trend check performed",
          "enum": [
            "documentNumber",
            "ipv4Address",
            "visitorID",
            "email",
            "phoneNumber"
          ]
        },
        "recordCount": {
          "type": "integer",
          "format": "int32",
          "description": "Number of records that matched against the trend"
        },
        "checkOutcome": {
          "type": "string",
          "description": "Overall outcome of the trend check",
          "enum": [
            "PASS",
            "FAIL",
            "NA",
            "REVIEW"
          ]
        },
        "query": {
          "$ref": "#/$defs/TrendQueryDto",
          "description": "The original query request that was used to search the trend records"
        },
        "queryResponse": {
          "$ref": "#/$defs/UserDataTrendRecordsListResponseDto",
          "description": "Detailed response from the trend query, including matching records"
        }
      },
      "required": [
        "checkOutcome",
        "recordCount",
        "trendGroup",
        "trendType"
      ]
    },
    "TrendQueryDto": {
      "type": "object",
      "properties": {
        "type": {
          "type": "string"
        },
        "value": {
          "type": "string"
        },
        "documentType": {
          "type": "string"
        },
        "startDateTime": {
          "type": "string",
          "format": "date-time"
        },
        "endDateTime": {
          "type": "string",
          "format": "date-time"
        },
        "limit": {
          "type": "integer",
          "format": "int32"
        },
        "offset": {
          "type": "integer",
          "format": "int32"
        },
        "trendGroup": {
          "type": "string"
        },
        "region": {
          "type": "string"
        },
        "normalize": {
          "type": "boolean"
        }
      }
    },
    "UseDataFaceV6WatchlistQueryResponseDto": {
      "allOf": [
        {
          "$ref": "#/$defs/UserDataAbstractWatchlistQueryResponseDto"
        },
        {
          "type": "object",
          "properties": {
            "matchThreshold": {
              "type": "number",
              "format": "double",
              "description": "Match threshold used for face recognition"
            },
            "maxMatchResultsPerQuery": {
              "type": "integer",
              "format": "int32",
              "description": "Maximum number of match results requested per query"
            }
          }
        }
      ],
      "description": "Response for FaceV6 watchlist queries with biometric matching support",
      "required": [
        "queries",
        "type"
      ]
    },
    "UserDataAbstractTrendRecordDto": {
      "type": "object",
      "description": "Base class for trend record DTOs with common fields for all trend types",
      "properties": {
        "id": {
          "type": "string"
        },
        "type": {
          "type": "string"
        },
        "value": {
          "type": "string"
        },
        "recordedDtm": {
          "type": "string",
          "format": "date-time"
        },
        "processInfo": {
          "$ref": "#/$defs/ProcessInfo"
        },
        "trendGroup": {
          "type": "string"
        },
        "expiresAfterDays": {
          "type": "integer",
          "format": "int32"
        },
        "expiresAfter": {
          "type": "string",
          "format": "date-time"
        },
        "attributes": {
          "type": "object",
          "additionalProperties": {}
        },
        "get_links": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/$defs/UserDataLinkDto"
          },
          "description": "Navigation links for this trend record. Example relation: self -> /trends/{id}"
        }
      }
    },
    "UserDataAbstractWatchlistQueryResponseDto": {
      "type": "object",
      "description": "Base class for watchlist query responses with type-specific matching results",
      "properties": {
        "type": {
          "type": "string",
          "description": "Type of query response (matches the watchlist type)",
          "enum": [
            "documentNumber",
            "ipv4Address",
            "visitorID",
            "facev6",
            "email",
            "phoneNumber"
          ]
        },
        "value": {
          "type": "string",
          "description": "Original query value that was searched"
        },
        "queries": {
          "type": "array",
          "description": "Array of query results, one for each value in the original query",
          "items": {
            "$ref": "#/$defs/UserDataQueryResultDto"
          }
        }
      },
      "required": [
        "queries",
        "type"
      ]
    },
    "UserDataDocumentNumberTrendRecordDto": {
      "allOf": [
        {
          "$ref": "#/$defs/UserDataAbstractTrendRecordDto"
        },
        {
          "type": "object",
          "properties": {
            "documentType": {
              "type": "string"
            }
          }
        }
      ],
      "description": "Trend record for document number trends, including document type information"
    },
    "UserDataDocumentNumberWatchlistQueryDto": {
      "allOf": [
        {
          "$ref": "#/$defs/AbstractWatchlistQueryDto"
        },
        {
          "type": "object",
          "properties": {
            "value": {
              "type": "string",
              "description": "Document number(s) to search for. Can be a comma-separated list of document numbers.",
              "minLength": 1
            },
            "documentType": {
              "type": "string",
              "description": "Optional document type filter (e.g., 'Austria - Id Card (2021)', 'Serbia - Id Card (2009-2014) #1'). If omitted, the query searches across all document types."
            },
            "algorithm": {
              "$ref": "#/$defs/UserDataQueryAlgorithmDto",
              "description": "Matching algorithm configuration"
            },
            "maxMatchResultsPerQuery": {
              "type": "integer",
              "format": "int32",
              "default": 10,
              "description": "Maximum number of matches per query to return. If not specified, defaults to 10. Capped at 100.",
              "maximum": 100,
              "minimum": 1
            }
          }
        }
      ],
      "description": "Query for document number watchlists with fuzzy matching capabilities",
      "required": [
        "type",
        "value"
      ]
    },
    "UserDataDocumentNumberWatchlistQueryResponseDto": {
      "allOf": [
        {
          "$ref": "#/$defs/UserDataAbstractWatchlistQueryResponseDto"
        },
        {
          "type": "object",
          "properties": {
            "documentType": {
              "type": "string",
              "description": "Document type that was searched"
            },
            "maxMatchResultsPerQuery": {
              "type": "integer",
              "format": "int32",
              "description": "Maximum number of match results requested per query"
            },
            "algorithm": {
              "$ref": "#/$defs/UserDataQueryResponseAlgorithmDto",
              "description": "Algorithm used for matching (if fuzzy matching was requested)"
            }
          }
        }
      ],
      "description": "Response for document number watchlist queries with fuzzy matching support",
      "required": [
        "queries",
        "type"
      ]
    },
    "UserDataDocumentUpload": {
      "type": "object",
      "properties": {
        "href": {
          "type": "string"
        }
      }
    },
    "UserDataEmailTrendRecordDto": {
      "allOf": [
        {
          "$ref": "#/$defs/UserDataAbstractTrendRecordDto"
        }
      ],
      "description": "Trend record for email trends, representing occurrences of specific email addresses in user data"
    },
    "UserDataEmailWatchlistQueryDto": {
      "allOf": [
        {
          "$ref": "#/$defs/AbstractWatchlistQueryDto"
        },
        {
          "type": "object",
          "properties": {
            "value": {
              "type": "string",
              "description": "Email address(es) to search for. Can be a comma-separated list.",
              "minLength": 1
            },
            "maxMatchResultsPerQuery": {
              "type": "integer",
              "format": "int32",
              "default": 10,
              "description": "Maximum number of matches per query to return. If not specified, defaults to 10. Capped at 100.",
              "maximum": 100,
              "minimum": 1
            }
          }
        }
      ],
      "description": "Query for email address watchlists",
      "required": [
        "type",
        "value"
      ]
    },
    "UserDataEmailWatchlistQueryResponseDto": {
      "allOf": [
        {
          "$ref": "#/$defs/UserDataAbstractWatchlistQueryResponseDto"
        },
        {
          "type": "object",
          "properties": {
            "maxMatchResultsPerQuery": {
              "type": "integer",
              "format": "int32",
              "description": "Maximum number of match results requested per query"
            }
          }
        }
      ],
      "description": "Response for email address watchlist queries",
      "required": [
        "queries",
        "type"
      ]
    },
    "UserDataFaceV6WatchlistQueryDto": {
      "allOf": [
        {
          "$ref": "#/$defs/AbstractWatchlistQueryDto"
        },
        {
          "type": "object",
          "properties": {
            "value": {
              "type": "string",
              "format": "byte",
              "description": "Face image to search for (base64 in JSON)"
            },
            "template": {
              "type": "string",
              "format": "byte",
              "description": "Face template to search for (base64 in JSON)"
            },
            "matchThreshold": {
              "type": "number",
              "format": "double",
              "default": "0.205245",
              "description": "Score based matches threshold for matches (0.0 to 1.0)"
            },
            "maxMatchResultsPerQuery": {
              "type": "integer",
              "format": "int32",
              "default": 10,
              "description": "Maximum number of matches per query to return. If not specified, defaults to 10. Capped at 100.",
              "maximum": 100,
              "minimum": 1
            }
          }
        }
      ],
      "description": "Query for face recognition watchlists with similarity matching",
      "required": [
        "type"
      ]
    },
    "UserDataIPv4AddressWatchlistQueryDto": {
      "allOf": [
        {
          "$ref": "#/$defs/AbstractWatchlistQueryDto"
        },
        {
          "type": "object",
          "properties": {
            "value": {
              "type": "string",
              "description": "IPv4 address(es) to search for (will match against ranges and individual addresses). Can be a comma-separated list of IPv4 addresses.",
              "minLength": 1
            },
            "maxMatchResultsPerQuery": {
              "type": "integer",
              "format": "int32",
              "default": 10,
              "description": "Maximum number of matches per query to return. If not specified, defaults to 10. Capped at 100.",
              "maximum": 100,
              "minimum": 1
            }
          }
        }
      ],
      "description": "Query for IPv4 address watchlists with range matching capabilities",
      "required": [
        "type",
        "value"
      ]
    },
    "UserDataIPv4AddressWatchlistQueryResponseDto": {
      "allOf": [
        {
          "$ref": "#/$defs/UserDataAbstractWatchlistQueryResponseDto"
        },
        {
          "type": "object",
          "properties": {
            "maxMatchResultsPerQuery": {
              "type": "integer",
              "format": "int32",
              "description": "Maximum number of match results requested per query"
            }
          }
        }
      ],
      "description": "Response for IPv4 address watchlist queries with range matching support",
      "required": [
        "queries",
        "type"
      ]
    },
    "UserDataIpv4AddressTrendRecordDto": {
      "allOf": [
        {
          "$ref": "#/$defs/UserDataAbstractTrendRecordDto"
        }
      ],
      "description": "Trend record for IPv4 address trends, representing occurrences of specific IPv4 addresses in user data"
    },
    "UserDataLinkDto": {
      "type": "object",
      "description": "Navigation link to a related resource",
      "properties": {
        "href": {
          "type": "string",
          "description": "URL to the related resource"
        }
      }
    },
    "UserDataMatchDto": {
      "type": "object",
      "description": "A single match found in the watchlist",
      "properties": {
        "entryId": {
          "type": "string",
          "description": "Unique identifier of the matching entry"
        },
        "value": {
          "type": "string",
          "description": "The value of the matching entry"
        },
        "fullName": {
          "type": "string",
          "description": "Full name associated with the matching entry (FaceV6 queries only)"
        },
        "score": {
          "type": "number",
          "format": "double",
          "description": "Match score for fuzzy matching algorithms (0.0 to 1.0)"
        },
        "get_links": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/$defs/UserDataLinkDto"
          },
          "description": "Navigation links for related resources"
        }
      }
    },
    "UserDataPhoneNumberTrendRecordDto": {
      "allOf": [
        {
          "$ref": "#/$defs/UserDataAbstractTrendRecordDto"
        },
        {
          "type": "object",
          "properties": {
            "region": {
              "type": "string"
            }
          }
        }
      ],
      "description": "Trend record for phone number trends, representing occurrences of specific phone numbers in user data, with optional region information"
    },
    "UserDataPhoneNumberWatchlistQueryDto": {
      "allOf": [
        {
          "$ref": "#/$defs/AbstractWatchlistQueryDto"
        },
        {
          "type": "object",
          "properties": {
            "value": {
              "type": "string",
              "description": "Phone number(s) to search for. Can be a comma-separated list.",
              "minLength": 1
            },
            "maxMatchResultsPerQuery": {
              "type": "integer",
              "format": "int32",
              "default": 10,
              "description": "Maximum number of matches per query to return. If not specified, defaults to 10. Capped at 100.",
              "maximum": 100,
              "minimum": 1
            }
          }
        }
      ],
      "description": "Query for phone number watchlists",
      "required": [
        "type",
        "value"
      ]
    },
    "UserDataPhoneNumberWatchlistQueryResponseDto": {
      "allOf": [
        {
          "$ref": "#/$defs/UserDataAbstractWatchlistQueryResponseDto"
        },
        {
          "type": "object",
          "properties": {
            "maxMatchResultsPerQuery": {
              "type": "integer",
              "format": "int32",
              "description": "Maximum number of match results requested per query"
            }
          }
        }
      ],
      "description": "Response for phone number watchlist queries",
      "required": [
        "queries",
        "type"
      ]
    },
    "UserDataQueryAlgorithmDto": {
      "type": "object",
      "description": "Algorithm configuration for document number matching",
      "properties": {
        "type": {
          "type": "string",
          "description": "Type of matching algorithm",
          "enum": [
            "exactMatch",
            "levenshteinDistance"
          ]
        },
        "parameters": {
          "$ref": "#/$defs/UserDataQueryParametersDto",
          "description": "Algorithm-specific parameters"
        }
      }
    },
    "UserDataQueryParametersDto": {
      "type": "object",
      "description": "Parameters for the matching algorithm",
      "properties": {
        "maxDistance": {
          "type": "integer",
          "format": "int32",
          "description": "Maximum Levenshtein distance for fuzzy matching (0 = exact match)",
          "maximum": 5
        }
      }
    },
    "UserDataQueryResponseAlgorithmDto": {
      "type": "object",
      "description": "Algorithm configuration for fuzzy matching",
      "properties": {
        "type": {
          "type": "string",
          "description": "Type of algorithm used"
        },
        "parameters": {
          "$ref": "#/$defs/UserDataQueryResponseParametersDto",
          "description": "Algorithm-specific parameters"
        }
      }
    },
    "UserDataQueryResponseParametersDto": {
      "type": "object",
      "description": "Algorithm parameters for fuzzy matching",
      "properties": {
        "maxDistance": {
          "type": "integer",
          "format": "int32",
          "description": "Maximum Levenshtein distance allowed for matches"
        }
      }
    },
    "UserDataQueryResultDto": {
      "type": "object",
      "description": "Result of a single query within the overall query request",
      "properties": {
        "query": {
          "type": "string",
          "description": "The specific value that was queried"
        },
        "matches": {
          "type": "array",
          "description": "Array of matching entries found for this query",
          "items": {
            "$ref": "#/$defs/UserDataMatchDto"
          }
        }
      },
      "required": [
        "matches"
      ]
    },
    "UserDataSliceAbstractTrendRecordDto": {
      "type": "object",
      "description": "Paginated slice of trend records, containing metadata about pagination and sorting",
      "properties": {
        "first": {
          "type": "boolean"
        },
        "last": {
          "type": "boolean"
        },
        "size": {
          "type": "integer",
          "format": "int32"
        },
        "number": {
          "type": "integer",
          "format": "int32"
        },
        "numberOfElements": {
          "type": "integer",
          "format": "int32"
        },
        "empty": {
          "type": "boolean"
        },
        "content": {
          "type": "array",
          "items": {
            "oneOf": [
              {
                "$ref": "#/$defs/UserDataDocumentNumberTrendRecordDto"
              },
              {
                "$ref": "#/$defs/UserDataEmailTrendRecordDto"
              },
              {
                "$ref": "#/$defs/UserDataIpv4AddressTrendRecordDto"
              },
              {
                "$ref": "#/$defs/UserDataPhoneNumberTrendRecordDto"
              },
              {
                "$ref": "#/$defs/UserDataVisitorIdTrendRecordDto"
              }
            ]
          }
        },
        "sort": {
          "$ref": "#/$defs/SortObject"
        },
        "pageable": {
          "$ref": "#/$defs/PageableObject"
        }
      }
    },
    "UserDataTrendRecordsListResponseDto": {
      "type": "object",
      "description": "Response DTO for a list of trend records, including pagination and the query value used",
      "properties": {
        "records": {
          "$ref": "#/$defs/UserDataSliceAbstractTrendRecordDto"
        },
        "queryValue": {
          "type": "string"
        }
      }
    },
    "UserDataVisitorIdTrendRecordDto": {
      "allOf": [
        {
          "$ref": "#/$defs/UserDataAbstractTrendRecordDto"
        }
      ],
      "description": "Trend record for visitor ID trends, representing occurrences of specific visitor IDs in user data"
    },
    "UserDataVisitorIdWatchlistQueryDto": {
      "allOf": [
        {
          "$ref": "#/$defs/AbstractWatchlistQueryDto"
        },
        {
          "type": "object",
          "properties": {
            "value": {
              "type": "string",
              "description": "Visitor ID(s) to search for. Can be a comma-separated list of visitor IDs.",
              "minLength": 1,
              "readOnly": true
            },
            "maxMatchResultsPerQuery": {
              "type": "integer",
              "format": "int32",
              "default": 1,
              "description": "Maximum number of matches per query to return. If not specified, defaults to 1. Capped at 100.",
              "maximum": 100,
              "minimum": 1
            }
          }
        }
      ],
      "description": "Query for visitor ID watchlists with exact matching",
      "required": [
        "type",
        "value"
      ]
    },
    "UserDataVisitorIdWatchlistQueryResponseDto": {
      "allOf": [
        {
          "$ref": "#/$defs/UserDataAbstractWatchlistQueryResponseDto"
        }
      ],
      "description": "Response for visitor ID watchlist queries with exact matching",
      "required": [
        "queries",
        "type"
      ]
    },
    "VPN": {
      "type": "object",
      "properties": {
        "result": {
          "type": "boolean",
          "description": "VPN or other anonymizing service has been used when sending the request."
        },
        "confidence": {
          "type": "string",
          "enum": [
            "low",
            "medium",
            "high"
          ]
        },
        "originTimezone": {
          "type": "string",
          "description": "Local timezone which is used in timezoneMismatch method."
        },
        "originCountry": {
          "type": "string",
          "description": "Country of the request (only for Android SDK version >= 2.4.0, ISO 3166 format or unknown)."
        },
        "methods": {
          "$ref": "#/$defs/VPNMethods"
        }
      },
      "required": [
        "confidence",
        "methods",
        "originCountry",
        "originTimezone",
        "result"
      ]
    },
    "VPNMethods": {
      "type": "object",
      "properties": {
        "timezoneMismatch": {
          "type": "boolean",
          "description": "The browser timezone doesn't match the timezone inferred from the request IP address."
        },
        "publicVPN": {
          "type": "boolean",
          "description": "Request IP address is owned and used by a public VPN service provider."
        },
        "auxiliaryMobile": {
          "type": "boolean",
          "description": "This method applies to mobile devices only. Indicates the result of additional methods used to detect a VPN in mobile devices."
        },
        "osMismatch": {
          "type": "boolean",
          "description": "The browser runs on a different operating system than the operating system inferred from the request network signature."
        },
        "relay": {
          "type": "boolean",
          "description": "Request IP address belongs to a relay service provider, indicating the use of relay services like [Apple Private relay](https://support.apple.com/en-us/102602) or [Cloudflare Warp](https://developers.cloudflare.com/warp-client/).   * Like VPNs, relay services anonymize the visitor's true IP address. * Unlike traditional VPNs, relay services don't let visitors spoof their location by choosing an exit node in a different country.  This field allows you to differentiate VPN users and relay service users in your fraud prevention logic. "
        }
      },
      "required": [
        "auxiliaryMobile",
        "osMismatch",
        "publicVPN",
        "relay",
        "timezoneMismatch"
      ]
    },
    "ValuesHolder": {
      "type": "object",
      "properties": {
        "values": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          }
        }
      }
    },
    "Velocity": {
      "type": "object",
      "description": "Sums key data points for a specific `visitorId`, `ipAddress` and `linkedId` at three distinct time intervals: 5 minutes, 1 hour, and 24 hours as follows:   - Number of distinct IP addresses associated to the visitor ID. - Number of distinct linked IDs associated with the visitor ID. - Number of distinct countries associated with the visitor ID. - Number of identification events associated with the visitor ID. - Number of identification events associated with the detected IP address. - Number of distinct IP addresses associated with the provided linked ID. - Number of distinct visitor IDs associated with the provided linked ID.  The `24h` interval of `distinctIp`, `distinctLinkedId`, `distinctCountry`, `distinctIpByLinkedId` and `distinctVisitorIdByLinkedId` will be omitted  if the number of `events` for the visitor ID in the last 24 hours (`events.intervals.['24h']`) is higher than 20.000. ",
      "properties": {
        "distinctIp": {
          "$ref": "#/$defs/VelocityData"
        },
        "distinctLinkedId": {
          "$ref": "#/$defs/VelocityData"
        },
        "distinctCountry": {
          "$ref": "#/$defs/VelocityData"
        },
        "events": {
          "$ref": "#/$defs/VelocityData"
        },
        "ipEvents": {
          "$ref": "#/$defs/VelocityData"
        },
        "distinctIpByLinkedId": {
          "$ref": "#/$defs/VelocityData"
        },
        "distinctVisitorIdByLinkedId": {
          "$ref": "#/$defs/VelocityData"
        }
      },
      "required": [
        "distinctCountry",
        "distinctIp",
        "distinctIpByLinkedId",
        "distinctLinkedId",
        "distinctVisitorIdByLinkedId",
        "events",
        "ipEvents"
      ]
    },
    "VelocityData": {
      "type": "object",
      "properties": {
        "intervals": {
          "$ref": "#/$defs/VelocityIntervals"
        }
      }
    },
    "VelocityIntervals": {
      "type": "object",
      "description": "Is absent if the velocity data could not be generated for the visitor ID. ",
      "properties": {
        "5m": {
          "type": "integer",
          "format": "int32"
        },
        "1h": {
          "type": "integer",
          "format": "int32"
        },
        "24h": {
          "type": "integer",
          "format": "int32",
          "description": "The `24h` interval of `distinctIp`, `distinctLinkedId`, `distinctCountry`, `distinctIpByLinkedId` and `distinctVisitorIdByLinkedId` will be omitted if the number of `events`` for the visitor ID in the last 24 hours (`events.intervals.['24h']`) is higher than 20.000. "
        }
      },
      "required": [
        "1h",
        "5m"
      ]
    },
    "VirtualMachine": {
      "type": "object",
      "properties": {
        "result": {
          "type": "boolean",
          "description": "`true` if the request came from a browser running inside a virtual machine (e.g. VMWare), `false` otherwise. "
        }
      },
      "required": [
        "result"
      ]
    },
    "VisitorIDTrendCard": {
      "allOf": [
        {
          "$ref": "#/$defs/TrendCheckCard"
        },
        {
          "type": "object",
          "properties": {
            "visitorId": {
              "type": "string",
              "description": "The visitor ID that was searched against the trend records"
            }
          }
        }
      ],
      "description": "Trend check result for visitor ID searches against trends.",
      "required": [
        "checkOutcome",
        "recordCount",
        "trendGroup",
        "trendType",
        "visitorId"
      ]
    },
    "VisitorIDWatchlistCard": {
      "allOf": [
        {
          "$ref": "#/$defs/WatchlistCard"
        },
        {
          "type": "object",
          "properties": {
            "visitorId": {
              "type": "string",
              "description": "The visitor ID that was searched against the trend records"
            }
          }
        }
      ],
      "description": "Watchlist check result for visitor ID searches. Contains the visitor ID (device/browser fingerprint) that was searched in the watchlist.",
      "required": [
        "checkOutcome",
        "matchCount",
        "visitorId",
        "watchlistId",
        "watchlistName",
        "watchlistType"
      ]
    },
    "WatchlistCard": {
      "type": "object",
      "description": "Base class for watchlist check results. Contains common fields for all watchlist types (face, document number, IPv4 address, and visitor ID).",
      "properties": {
        "watchlistName": {
          "type": "string",
          "description": "Name of the watchlist that was searched"
        },
        "watchlistType": {
          "type": "string",
          "description": "Type of watchlist check performed",
          "enum": [
            "facev6",
            "documentNumber",
            "ipv4Address",
            "visitorID",
            "email",
            "phoneNumber"
          ]
        },
        "watchlistId": {
          "type": "string",
          "description": "Unique identifier of the watchlist"
        },
        "matchCount": {
          "type": "integer",
          "format": "int32",
          "description": "Number of matches found in the watchlist"
        },
        "searchBehavior": {
          "type": "string",
          "description": "Search behavior configuration that determines how matches are handled",
          "enum": [
            "BLOCK",
            "ALLOW",
            "BLOCK_REVIEW",
            "ALLOW_REVIEW"
          ]
        },
        "checkOutcome": {
          "type": "string",
          "description": "Overall outcome of the watchlist check",
          "enum": [
            "PASS",
            "FAIL",
            "NA",
            "REVIEW"
          ]
        },
        "query": {
          "description": "The original query request that was used to search the watchlist",
          "oneOf": [
            {
              "$ref": "#/$defs/UserDataDocumentNumberWatchlistQueryDto"
            },
            {
              "$ref": "#/$defs/UserDataEmailWatchlistQueryDto"
            },
            {
              "$ref": "#/$defs/UserDataFaceV6WatchlistQueryDto"
            },
            {
              "$ref": "#/$defs/UserDataIPv4AddressWatchlistQueryDto"
            },
            {
              "$ref": "#/$defs/UserDataPhoneNumberWatchlistQueryDto"
            },
            {
              "$ref": "#/$defs/UserDataVisitorIdWatchlistQueryDto"
            }
          ]
        },
        "queryResponse": {
          "description": "Detailed response from the watchlist query, including match results",
          "oneOf": [
            {
              "$ref": "#/$defs/UseDataFaceV6WatchlistQueryResponseDto"
            },
            {
              "$ref": "#/$defs/UserDataDocumentNumberWatchlistQueryResponseDto"
            },
            {
              "$ref": "#/$defs/UserDataEmailWatchlistQueryResponseDto"
            },
            {
              "$ref": "#/$defs/UserDataIPv4AddressWatchlistQueryResponseDto"
            },
            {
              "$ref": "#/$defs/UserDataPhoneNumberWatchlistQueryResponseDto"
            },
            {
              "$ref": "#/$defs/UserDataVisitorIdWatchlistQueryResponseDto"
            }
          ]
        }
      },
      "required": [
        "checkOutcome",
        "matchCount",
        "watchlistId",
        "watchlistName",
        "watchlistType"
      ]
    },
    "WatchlistMemberCandidate": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "image": {
          "type": "string"
        },
        "score": {
          "type": "number",
          "format": "double"
        }
      }
    },
    "WatchlistResponse": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "description": {
          "type": "string"
        },
        "hits": {
          "type": "integer",
          "format": "int32"
        },
        "candidates": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/WatchlistMemberCandidate"
          }
        },
        "liveFaceKey": {
          "type": "string"
        },
        "liveFaceImageHref": {
          "type": "string"
        }
      }
    }
  }
}