Verify Request and Response Schemas

The Verify request and response schemas follow the JSON Schema standard. See JSON Schema for more information about the standard.

When making a Verify request using POST (and only when using POST), you can include an optional email_address field with a String value. For information about how to send an email address and how Arkose uses it, see the Knowledge Base (support login required) here and here. Do not use the email_address field until you have read its documentation and/or spoken to your Arkose rep about it.

{
    "type": "object",
    "properties": {
        "private_key": {
            "description": "The private key associated with EC that served this session",
            "type": "string"
        },
        "session_token": {
            "description": "The session token which identifies the session to verify",
            "type": "string"
        },
        "log_data": {
            "description": "A field to allow a free form piece of string data",
            "type": "string"
        }
    },
    "required": [
        "private_key",
        "session_token"
    ]
}
{
  "oneOf": [
    {
      "description": "error response",
      "type": "object",
      "properties": {
        "error": {
          "type": "string"
        },
        "verified": {
          "type": "string",
          "format": "date-time"
        }
      },
      "required": [
        "error",
        "verified"
      ]
    },
    {
      "description": "simple mode",
      "type": "integer",
      "default": 0
    },
    {
      "type": "object",
      "properties": {
        "session_details": {
          "type": "object",
          "properties": {
            "solved": {
              "type": "boolean",
              "default": false
            },
            "session": {
              "type": [
                "string"
              ],
              "pattern": "^[0-9A-Fa-f]+\\.[0-9]{10}$",
              "default": ""
            },
            "session_created": {
              "type": [
                "string",
                "null"
              ],
              "format": "date-time",
              "default": null
            },
            "check_answer": {
              "type": [
                "string",
                "null"
              ],
              "format": "date-time",
              "default": null
            },
            "verified": {
              "type": "string",
              "format": "date-time"
            },
            "attempted": {
              "type": "boolean",
              "default": false
            },
            "security_level": {
              "type": "integer",
              "minimum": 0,
              "maximum": 500,
              "default": 0
            },
            "session_is_legit": {
              "type": "boolean",
              "default": false
            },
            "previously_verified": {
              "type": "boolean",
              "default": false
            },
            "session_timed_out": {
              "type": "boolean",
              "default": false
            },
            "suppress_limited": {
              "type": "boolean",
              "default": false
            },
            "theme_arg_invalid": {
              "type": "boolean",
              "default": false
            },
            "suppressed": {
              "type": "boolean",
              "default": false
            },
            "punishable_actioned": {
              "type": "boolean",
              "default": false
            },
            "telltale_user": {
              "type": [
                "string",
                "null"
              ],
              "minLength": 0,
              "maxLength": 128,
              "default": null
            },
            "telltale_origin": {
              "type": [
                "string",
                "null"
              ],
              "minLength": 0,
              "maxLength": 128,
              "default": null
            },
            "failed_low_sec_validation": {
              "type": "boolean",
              "default": false
            },
            "lowsec_error": {
              "type": [
                "string",
                "null"
              ],
              "enum": [
                "user_credits",
                "rate_limit_local",
                "validation_checks",
                "rate_limit_global",
                null
              ],
              "default": null
            },
            "lowsec_level_denied": {
              "type": [
                "integer",
                "null"
              ],
              "minimum": 0,
              "maximum": 500,
              "default": null
            },
            "ua": {
              "type": [
                "string",
                "null"
              ],
              "default": null
            },
            "ip_rep_list": {
              "type": [
                "null"
              ],
              "enum": null,
              "default": null
            },
            "optional": {
              "type": [
                "object",
                "null"
              ],
              "default": null
            },
            "game_number_limit_reached": {
              "description": "Whether the maximum number of game retries (if set) is reached",
              "type": "boolean",
              "default": false
            },
            "user_language_shown": {
              "description": "Shows the language code of the language in which the challenge was presented to the user",
              "type": [
                "string",
                "null"
              ],
              "minLength": 0,
              "maxLength": 10,
              "default": null
            },
            "device_id": {
              "description": "Device id returned from detection hub",
              "type": [
                "string",
                "null"
              ],
              "default": null
            },
            "telltale_list": {
              "description": "The list of telltales that were identified as possible candidates during a session",
              "type": [
                "array",
                "null"
              ],
              "items": {
                "type": "string",
                "minLength": 0,
                "maxLength": 128
              },
              "default": null
            },
            "challenge_type": {
              "description": "The type of challenge that the end-user solved",
              "type": [
                "string",
                "null"
              ],
              "enum": [
                "audio",
                "transparent",
                "visual",
                null
              ],
              "default": null
            }
          },
          "required": [
            "solved",
            "session",
            "session_created",
            "check_answer",
            "verified",
            "previously_verified",
            "session_timed_out",
            "suppress_limited",
            "theme_arg_invalid",
            "suppressed",
            "attempted",
            "punishable_actioned",
            "telltale_user",
            "session_is_legit",
            "failed_low_sec_validation",
            "lowsec_error",
            "lowsec_level_denied",
            "ip_rep_list",
            "security_level",
            "ua",
            "optional",
            "game_number_limit_reached",
            "user_language_shown",
            "telltale_list",
            "challenge_type"
          ]
        },
        "fingerprint": {
          "type": "object",
          "properties": {
            "browser_characteristics": {
              "type": "object",
              "properties": {
                "browser_name": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "default": null
                },
                "browser_version": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "default": null
                },
                "color_depth": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "default": null
                },
                "session_storage": {
                  "type": "boolean",
                  "default": false
                },
                "indexed_database": {
                  "type": "boolean",
                  "default": false
                },
                "canvas_fingerprint": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "default": null
                }
              },
              "default": {
                "browser_name": null,
                "browser_version": null,
                "color_depth": null,
                "session_storage": false,
                "indexed_database": false,
                "canvas_fingerprint": null
              },
              "required": [
                "browser_name",
                "browser_version",
                "color_depth",
                "session_storage",
                "indexed_database",
                "canvas_fingerprint"
              ]
            },
            "device_characteristics": {
              "type": "object",
              "properties": {
                "operating_system": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "default": null,
                  "examples": [
                    "Windows",
                    "OS X"
                  ]
                },
                "operating_system_version": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "default": null,
                  "examples": [
                    "10",
                    "Mojave"
                  ]
                },
                "screen_resolution": {
                  "type": [
                    "array",
                    "null"
                  ],
                  "items": {
                    "type": "integer"
                  },
                  "default": null,
                  "examples": [
                    [
                      1920,
                      1080
                    ]
                  ]
                },
                "max_resolution_supported": {
                  "type": [
                    "array",
                    "null"
                  ],
                  "items": {
                    "type": "integer"
                  },
                  "default": null,
                  "examples": [
                    [
                      1280,
                      720
                    ]
                  ]
                },
                "behavior": {
                  "type": "boolean",
                  "default": false
                },
                "cpu_class": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "default": null,
                  "examples": [
                    "x86",
                    "ARM"
                  ]
                },
                "platform": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "default": null,
                  "examples": [
                    "MacIntel",
                    "Win32"
                  ]
                },
                "touch_support": {
                  "type": "boolean",
                  "default": false
                },
                "hardware_concurrency": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "default": null
                }
              },
              "default": {
                "operating_system": null,
                "operating_system_version": null,
                "screen_resolution": null,
                "max_resolution_supported": null,
                "behavior": false,
                "cpu_class": null,
                "platform": null,
                "touch_support": false,
                "hardware_concurrency": null
              },
              "required": [
                "operating_system",
                "operating_system_version",
                "screen_resolution",
                "max_resolution_supported",
                "behavior",
                "cpu_class",
                "platform",
                "touch_support",
                "hardware_concurrency"
              ]
            },
            "user_preferences": {
              "type": "object",
              "properties": {
                "timezone_offset": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "default": null,
                  "examples": [
                    1000,
                    -800,
                    0
                  ]
                }
              },
              "default": {
                "timezone_offset": null
              },
              "required": [
                "timezone_offset"
              ]
            }
          },
          "required": [
            "browser_characteristics",
            "device_characteristics",
            "user_preferences"
          ]
        },
        "ip_intelligence": {
          "type": "object",
          "properties": {
            "user_ip": {
              "oneOf": [
                {
                  "type": "string",
                  "format": "ipv4"
                },
                {
                  "type": "string",
                  "format": "ipv6"
                },
                {
                  "type": "null"
                }
              ],
              "default": null
            },
            "is_tor": {
              "type": "boolean",
              "default": false
            },
            "is_vpn": {
              "type": "boolean",
              "default": false
            },
            "is_proxy": {
              "type": "boolean",
              "default": false
            },
            "country": {
              "type": [
                "string",
                "null"
              ],
              "default": null
            },
            "region": {
              "type": [
                "string",
                "null"
              ],
              "default": null
            },
            "city": {
              "type": [
                "string",
                "null"
              ],
              "default": null
            },
            "isp": {
              "type": [
                "string",
                "null"
              ],
              "default": null
            },
            "public_access_point": {
              "type": "boolean",
              "default": false
            },
            "connection_type": {
              "type": [
                "string",
                "null"
              ],
              "default": null
            },
            "latitude": {
              "type": [
                "string",
                "null"
              ],
              "default": null
            },
            "longitude": {
              "type": [
                "string",
                "null"
              ],
              "default": null
            },
            "timezone": {
              "type": [
                "string",
                "null"
              ],
              "default": null
            }
          },
          "required": [
            "user_ip",
            "is_tor",
            "is_vpn",
            "is_proxy",
            "country",
            "region",
            "city",
            "isp",
            "public_access_point",
            "connection_type",
            "latitude",
            "longitude",
            "timezone"
          ]
        },
        "session_risk": {
          "type": "object",
          "properties": {
            "global": {
              "type": "object",
              "properties": {
                "score": {
                  "type": "number"
                },
                "telltales": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "name": {
                        "type": [
                          "string",
                          "null"
                        ],
                        "default": null
                      },
                      "weight": {
                        "type": [
                          "number",
                          "null"
                        ],
                        "default": null
                      }
                    },
                    "required": [
                      "name",
                      "weight"
                    ]
                  }
                }
              },
              "required": [
                "score",
                "telltales"
              ]
            },
            "custom": {
              "type": "object",
              "properties": {
                "score": {
                  "type": "number"
                },
                "telltales": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "name": {
                        "type": [
                          "string",
                          "null"
                        ],
                        "default": null
                      },
                      "weight": {
                        "type": [
                          "number",
                          "null"
                        ],
                        "default": null
                      }
                    },
                    "required": [
                      "name",
                      "weight"
                    ]
                  }
                }
              },
              "required": [
                "score",
                "telltales"
              ]
            },
            "risk_category": {
              "type": "string"
            },
            "risk_band": {
              "type": "string"
            }
          },
          "required": [
            "global",
            "custom",
            "risk_band"
          ]
        },
        "aggregations": {
          "type": "object",
          "properties": {
            "error": {
              "type": [
                "string",
                "null"
              ]
            },
            "ip": {
              "type": "object",
              "properties": {
                "short_term": {
                  "type": "object",
                  "properties": {
                    "interval_minutes": {
                      "type": [
                        "integer"
                      ],
                      "default": 0
                    },
                    "count": {
                      "type": [
                        "integer"
                      ],
                      "default": 0
                    },
                    "threshold": {
                      "type": [
                        "integer"
                      ],
                      "default": 0
                    }
                  }
                },
                "long_term": {
                  "type": "object",
                  "properties": {
                    "interval_minutes": {
                      "type": [
                        "integer"
                      ],
                      "default": 0
                    },
                    "count": {
                      "type": [
                        "integer"
                      ],
                      "default": 0
                    },
                    "threshold": {
                      "type": [
                        "integer"
                      ],
                      "default": 0
                    }
                  }
                }
              }
            }
          }
        },
        "required": [
          "session_details"
        ]
      }
    }
  ]
}