Skip to content

API Version 1

See the following links for information on:

NEW! Check Out ArkVision

What is ArkVision?

ArkVision is a scoring and alerts system that shines a different perspective on ArkOwl data. This new view of ArkOwl data will make training and API implementations easier as well as help communicate new data features going forward.

Check out the documentation for ArkVision below!

Combined Query

The best endpoint to use to perform an ArkOwl query is the combined endpoint. This allows you to send multiple data points in one request. Another advantage is we are able to add some additional correlation data between the data points (if available).

Combined Endpoint

https://api.arkowl.com/v1/combined

Combined Request Parameters

All query endpoints support GET and POST requests. These are the available parameters:

Key Type Description
email string (Required*) Email address to query.
phone string (Required*) Phone number to query. If sending international phone numbers, it is recommended that you use the E.164 international phone number format with the proceeding + followed by the international country code (example: for France, you would send +33 and the remaining digits of the number).
ip string (Optional) IP address to query. Both IPv4 and IPv6 are supported. It must be a single IP address without a subnet mask or CIDR block (example: 77.7.777.175 is allowed but 123.123.123.100/32 is not).
address_name string (Optional) Address name to query.
address_line_1 string (Optional) Address first line to query.
address_line_2 string (Optional) Address second line (this is less common)
address_locality string (Optional) Address locality to query. For many addresses, this corresponds to the city.
address_region string (Optional) Address region to query. For many addresses, this corresponds to the state or providence.
address_postal_code string (Optional) Address postal code to query.
address_country_code string (Optional) Address country code to query. This can be either the ISO2 or ISO3 code for the specific country (example: for the United States of America you could use US or USA)
strict string (Optional) For email: If 'true', requires a correctly-formatted email address with no extra characters, if 'false', it will strip whitespace as well as the following characters prior to query: <>[]{}"'. Default behavior is 'false'.

For phone: If 'false', it will use the default region of 'US'. If 'true', it will not assume a default region. Note: if a fully qualified E.164 phone number is passed in, this setting with have no effect.

* For combined queries, at least one of the following is required: email or phone. A query will be rejected if missing both of these inputs.

Sending Parameters

Whether using GET or POST, all parameters need to be sent in the query parameters. A couple notes:

  1. The email address may need to be url-encoded if it contains unsafe characters such as %,/,#, or ?, however these are uncommon in email addresses. See the strict option for more information
  2. If passing a phone number with the + symbol in the query parameters, you will need to url-encoded the parameters. The reason is because query parameters interpret + as a blank space character. By encoding the parameters first, the + is converted to the URL encoded value of %2B.

Example parameters and request:

{
  "email": "john.doe@example.com",
  "phone": "+1-612-555-3333",
  "ip": "77.7.777.175",
  "address_name": "Prime BBQ",
  "address_line_1": "403 Knightdale Station Run",
  "address_line_2": "Suite 4",
  "address_locality": "Knightdale",
  "address_region": "NC",
  "address_postal_code": "27545",
  "address_country_code": "US"
}
$ curl https://api.arkowl.com/v1/combined?email=john.doe%40example.com&phone=%2B1-612-555-3333&ip=77.7.777.175&address_name=Prime%BBQ&address_line_1=403%Knightdale%20Station%20Run&address_line_2=Suitet%204&address_locality=Knightdale&address_region=NC&address_postal_code=27545&address_country_code=US \
    -u YOUR_API_KEY:

Combined Example Response

Here is an example API response for version 1:

{
  "email_phone_connection": true,
  "deeplink": "https://arkowl.com/query?email=john.doe%40example.com&phone=%2B1-612-555-3333&ip=77.7.777.175&address_name=Prime%20BBQ&address_line_1=403%20Knightdale%20Station%20Run&address_line_2=&address_country_code=US&address_postal_code=27545&address_region=NC&address_locality=Knightdale",
  "email_data": {
    "handle": "test.example",
    "query": "test.example@gmail.com",
    "id": "test.example@gmail.com",
    "exists": "yes",
    "registrar": "google",
    "no_data": false,
    "known_aliases": [
      "testexample@gmail.com"
    ],
    "created": null,
    "created_after": null,
    "created_before": 1481436000,
    "days_old": null,
    "first_seen_anywhere": 1331154455,
    "first_seen": 1331154455,
    "last_seen": 1697839287,
    "times_seen": 70,
    "email_handle_to_email_name_match": 15.47,
    "email_handle_to_email_name__char_match": false,
    "data_breaches": [
      {
        "name": "Data Enrichment Exposure From PDL Customer",
        "domain": "",
        "breach_date": 1571202000,
        "description": "In October 2019, <a href=\"https://www.troyhunt.com/data-enrichment-people-data-labs-and-another-622m-email-addresses\" target=\"_blank\" rel=\"noopener\">security researchers Vinny Troia and Bob Diachenko identified an unprotected Elasticsearch server holding 1.2 billion records of personal data</a>. The exposed data included an index indicating it was sourced from data enrichment company People Data Labs (PDL) and contained 622 million unique email addresses. The server was not owned by PDL and it's believed a customer failed to properly secure the database. Exposed information included email addresses, phone numbers, social media profiles and job history data.",
        "data_classes": [
          "email addresses",
          "employers",
          "geographic locations",
          "job titles",
          "names",
          "phone numbers",
          "social media profiles"
        ]
      },
      {
        "name": "Gravatar",
        "domain": "gravatar.com",
        "breach_date": 1601701200,
        "description": "In October 2020, <a href=\"https://www.bleepingcomputer.com/news/security/online-avatar-service-gravatar-allows-mass-collection-of-user-info/\" target=\"_blank\" rel=\"noopener\">a security researcher published a technique for scraping large volumes of data from Gravatar, the service for providing globally unique avatars </a>. 167 million names, usernames and MD5 hashes of email addresses used to reference users' avatars were subsequently scraped and distributed within the hacking community. 114 million of the MD5 hashes were cracked and distributed alongside the source hash, thus disclosing the original email address and accompanying data. Following the impacted email addresses being searchable in HIBP, <a href=\"https://en.gravatar.com/support/data-privacy\" target=\"_blank\" rel=\"noopener\">Gravatar release an FAQ detailing the incident</a>.",
        "data_classes": [
          "email addresses",
          "names",
          "usernames"
        ]
      }
    ],
    "data_breaches_error": false,
    "accounts": {
      "google": {
        "status": "registered",
        "metadata": {
          "parsed": "testexample@gmail.com",
          "handle": "test.example@gmail.com",
          "account_id": "113779123123123123123123",
          "profile_img": "https://lh3.googleusercontent.com/a-/ALV-UjVo7DrW0ifpvf5stsX998AHFSaIHoyravSKaGjc",
          "full_name": "Johnny Doe",
          "first_known_activity": 1481436000
        }
      },
      "gravatar": {
        "status": "registered",
        "metadata": {
          "profile_img": "https://www.gravatar.com/avatar/975810eefdf6a23b36f5b1c7a327a59c?r=r&s=280&d=404"
        }
      },
      "microsoft": {
        "status": "unregistered",
        "metadata": {}
      },
      "skype": {
        "status": "registered",
        "metadata": {
          "full_name": "John Doe",
          "profile_img": "https://avatar.skype.com/v1/avatars/johndoe/public",
          "city": null,
          "state": null,
          "country": "United States",
          "country_code": "US",
          "language": null,
          "onedrive_exists": true,
          "onedrive_created": 1399146370
        }
      },
      "spotify": {
        "status": "registered",
        "metadata": {}
      },
      "twitter": {
        "status": "unregistered",
        "metadata": {}
      },
      "yahoo": {
        "status": "registered",
        "metadata": {
          "temporary_email": false
        }
      }
    },
    "domain_registrations": {
      "error": false,
      "intelligence": {
        "domains_registered": [
          "some-example-domain.com"
        ],
        "unique_domains_registered": 1,
        "earliest_domain_registration": 1435276800,
        "days_since_earliest_domain_registration": 3692,
        "unique_phones_connected": 1,
        "known_names": [
          "John Doe"
        ]
      }
    },
    "domain": {
      "id": "gmail.com",
      "suffix": "com",
      "valid": true,
      "exists": true,
      "registrar": "MarkMonitor Inc.",
      "registered": 808203600,
      "updated": 1689051600,
      "expires": 1723352400,
      "first_seen": 1335853690,
      "last_seen": 1702302316,
      "known_disposable_email_provider": false,
      "isp_provided_email": false,
      "free_email_provide": false,
      "parent_company": null,
      "domain_description": null,
      "favicon": "https://t0.gstatic.com/faviconV2?client=SOCIAL&type=FAVICON&fallback_opts=TYPE,SIZE,URL&url=https://arkowl.com&size=64",
      "registrant": {
        "name": null,
        "organization": "Google LLC",
        "street1": null,
        "street2": null,
        "street3": null,
        "city": null,
        "state": "CA",
        "postal_code": null,
        "country": "UNITED STATES",
        "email": "abusecomplaints@markmonitor.com",
        "phone": null,
        "fax": null
      },
      "registration_history": [
        {
          "registered_date": "2013-10-08T00:00:00.000Z",
          "registrar_name": "MarkMonitor, Inc.",
          "registrar_website": "http://www.markmonitor.com",
          "registrant_name": null,
          "registrant_company": "Google LLC",
          "registrant_email": "select request email form at https://domains.markmonitor.com/whois/gmail.com",
          "registrant_address": null,
          "registrant_city": null,
          "registrant_state": "CA",
          "registrant_country": "US",
          "registrant_zip": null
        },
        {
          "registered_date": "2010-08-12T00:00:00.000Z",
          "registrar_name": "MarkMonitor, Inc.",
          "registrar_website": "http://www.markmonitor.com",
          "registrant_name": null,
          "registrant_company": "Google LLC",
          "registrant_email": null,
          "registrant_address": null,
          "registrant_city": null,
          "registrant_state": "CA",
          "registrant_country": "US",
          "registrant_zip": null
        }
      ],
      "contacts": [
        {
          "type": "Technical",
          "name": null,
          "organization": "Google LLC",
          "street1": null,
          "street2": null,
          "street3": null,
          "city": null,
          "state": "CA",
          "postal_code": null,
          "country": "UNITED STATES",
          "email": null,
          "phone": null,
          "fax": null
        },
        {
          "type": "Administrative",
          "name": null,
          "organization": "Google LLC",
          "street1": null,
          "street2": null,
          "street3": null,
          "city": null,
          "state": "CA",
          "postal_code": null,
          "country": "UNITED STATES",
          "email": null,
          "phone": null,
          "fax": null
        }
      ],
      "mail_servers": [
        "05 gmail-smtp-in.l.google.com",
        "10 alt1.gmail-smtp-in.l.google.com",
        "20 alt2.gmail-smtp-in.l.google.com",
        "30 alt3.gmail-smtp-in.l.google.com",
        "40 alt4.gmail-smtp-in.l.google.com"
      ],
      "name_servers": [
        "ns1.google.com",
        "ns2.google.com",
        "ns3.google.com",
        "ns4.google.com"
      ],
      "bad_activity": {
        "total_reports": 123,
        "reports_last_24h": 3,
        "reports_last_7d": 12,
        "reports_last_30d": 40,
        "first_report": 1336176000,
        "last_report": 1715806831,
        "seen_domains": [
          "gmail.com",
          "mail.gmail.com"
        ],
        "unique_handles": 57,
        "excluded": false,
        "error": false
      }
    },
    "bad_activity": {
      "disposable_email": false,
      "blacklisted": true,
      "reports": 11,
      "reports_last_24h": 0,
      "reports_last_7d": 2,
      "reports_last_30d": 5,
      "first_report": 1715806831,
      "last_report": 1715806831,
      "error": false
    }
  },
  "phone_data": {
    "query": "16125553333",
    "id": "+16125553333",
    "formatted": "+1 612-555-3333",
    "valid": true,
    "exists": "unverified",
    "first_seen_anywhere": 1570646136,
    "first_seen": 1570646136,
    "last_seen": 1697839288,
    "times_seen": 33,
    "name": "JOHN DOE",
    "region": "US",
    "carrier": "Cingular Wireless/2",
    "linetype": "mobile",
    "geo_location": "Minnesota",
    "timezone": "America/Chicago",
    "coordinates": "44.9708,-93.32084",
    "data_breaches": [],
    "data_breaches_error": false,
    "accounts": {
      "skype": {
        "status": "registered",
        "metadata": {
          "full_name": "Johnny Carlson",
          "profile_img": "https://avatar.skype.com/v1/avatars/johnnycarlson/public",
          "city": null,
          "state": null,
          "country": "United States",
          "country_code": "US",
          "language": null
        }
      }
    },
    "domain_registrations": {
      "error": false,
      "intelligence": {
        "domains_registered": [
          "some-example-domain.com",
          "another-example-domain.com"
        ],
        "unique_domains_registered": 2,
        "earliest_domain_registration": 1435276800,
        "days_since_earliest_domain_registration": 3692,
        "unique_emails_connected": 2,
        "emails_connected": [
          "test.example@gmail.com",
          "another.test@gmail.com"
        ],
        "known_names": [
          "John Doe",
          "Jonathan Doe"
        ]
      }
    }
  },
  "ip_data": {
    "query": "77.7.777.175",
    "id": "77.7.777.175",
    "valid": true,
    "ipv6": false,
    "private": false,
    "reserved": false,
    "organization": "Comcast Cable",
    "network": "77.7.777.175/32",
    "country": "United States",
    "country_code": "US",
    "city": "Brooklyn Center",
    "state": "MN",
    "postal_code": "55429",
    "timezone": "America/Chicago",
    "location": "Brooklyn Center, Minnesota, United States",
    "coordinates": "45.052,-93.336",
    "accuracy_radius": 5,
    "first_seen": 1665035754,
    "last_seen": 1697839288,
    "times_seen": 3
  },
  "address_data": {
    "query": {
      "formatted": "Prime Champ, 403 Knightdale Station Run, Knightdale, NC, 27545, US",
      "name": "Prime CHAMP",
      "line_1": "403 KNIGHTDALE STATION RUN",
      "line_2": "Suite 4",
      "locality": "KNIGHTDALE",
      "region": "NC",
      "postal_code": "27545",
      "country_code": "US"
    },
    "name": "Prime CHAMP",
    "line_1": "403 Knightdale Station Run",
    "line_2": null,
    "locality": "Knightdale",
    "region": "NC",
    "postal_code": "27545",
    "country": "United States of America (the)",
    "country_code": "USA",
    "coordinates": "35.7968,-78.4713",
    "place_id": "5150c293552a9e53c0124abee54140f00102f901ca58951c00000000c00203",
    "place_name": null,
    "place_category": null,
    "county": "Wake County",
    "result_type": "building",
    "match_type": "full_match",
    "confidence": 1,
    "confidence_city_level": 1,
    "confidence_street_level": 1,
    "popularity": 2.4415236216901155,
    "importance": 0.00000999999999995449,
    "formatted": "403 Knightdale Station Run, Knightdale, NC 27545, United States of America",
    "timezone": "America/New_York",
    "timezone_alt": null
  },
  "meta_data": {
    "email_phone_connection": true,
    "email_phone_queried_together_first_seen": 1648265438,
    "email_phone_queried_together_last_seen": 1681481490,
    "email_phone_queried_together_times_seen": 8,
    "email_phone_name_match": 76.92,
    "email_handle_to_email_name_match": 15.47,
    "email_handle_to_phone_name_match": 12.03,
    "email_handle_to_email_name__char_match": false,
    "email_handle_to_phone_name__char_match": false,
    "address_email_name_match": 100,
    "address_phone_name_match": 76.92,
    "email_phone_social_match": true,
    "email_phone_number_of_social_matches": 1,
    "email_phone_full_mfa_match": null,
    "email_phone_partial_mfa_match": true,
    "email_phone_number_of_mfa_matches": 1,
    "email_ip_country_match": true,
    "email_phone_country_match": true,
    "address_email_country_match": true,
    "phone_ip_country_match": true,
    "address_phone_country_match": true,
    "address_ip_country_match": true,
    "email_phone_timezone_match": true,
    "email_ip_timezone_match": true,
    "address_email_timezone_match": null,
    "phone_ip_timezone_match": true,
    "address_phone_timezone_match": null,
    "address_ip_timezone_match": null,
    "distances": {
      "address_min_dist_to_email": 4.03,
      "address_dist_to_ip": 12.01,
      "address_dist_to_phone": 8.94,
      "ip_min_dist_to_email": 9.63,
      "ip_dist_to_phone": 5.66,
      "phone_min_dist_to_email": 8.6,
      "avg_distances": 8.145
    }
  },
  "arkvision": {
    "score": 35,
    "min_possible": -64,
    "max_possible": 160,
    "rule_set_id": "8",
    "rule_set_name": "ArkOwl's Base Ruleset",
    "alert": "yellow",
    "highest_triggered_rule_alert_message": "Potential bad actor using a disposable email",
    "threshold_crossed": null,
    "green_score_threshold": 65,
    "yellow_score_threshold": 46,
    "red_score_threshold": 36,
    "green_score_message": "Low Risk",
    "yellow_score_message": "Above Average Risk",
    "red_score_message": "Super Risky!",
    "scoring_rules": [
      {
        "rule_passed": false,
        "output": "correlations.email__phone.name_match_percent",
        "comparison": "gt",
        "target_value": 90,
        "actual_value": null,
        "score_effect": 2,
        "alert_color": "",
        "alert_message": "",
        "group_id": null,
        "description": "Email and Phone Connection match via character matching of the name - 90% namematch or higher",
        "output_title": "correlations.email__phone.name_match_percent",
        "logic_description": "correlations.email__phone.name_match_percent > 90"
      },
      {
        "rule_passed": true,
        "output": "phone.accounts.teams.registered",
        "comparison": "equal",
        "target_value": true,
        "actual_value": true,
        "score_effect": 1,
        "alert_color": "",
        "alert_message": "",
        "group_id": null,
        "description": "Phone Number is associated with a Microsoft Teams account",
        "output_title": "Phone Accounts Teams Registered",
        "logic_description": "Phone Accounts Teams Registered = True"
      },
      {
        "rule_passed": false,
        "output": "email.domain.exists",
        "comparison": "equal",
        "target_value": false,
        "actual_value": true,
        "score_effect": -10,
        "alert_color": "yellow",
        "alert_message": "Domain does not exist, high likelihood for bad actor",
        "group_id": null,
        "description": "Email domain does not exist.",
        "output_title": "Email Domain Exists",
        "logic_description": "Email Domain Exists = False"
      },
      {
        "rule_passed": true,
        "output": "email.data_breaches.earliest",
        "comparison": "gt",
        "target_value": 720,
        "actual_value": 1000,
        "score_effect": -4,
        "alert_color": "",
        "alert_message": "",
        "group_id": "12345",
        "description": "Email was first seen in a data breach more than 2 years ago",
        "output_title": "email.data_breaches.earliest",
        "logic_description": "email.data_breaches.earliest > 720 Days"
      },
      {
        "rule_passed": true,
        "output": "email.domain.disposable",
        "comparison": "equal",
        "target_value": true,
        "actual_value": true,
        "score_effect": -10,
        "alert_color": "yellow",
        "alert_message": "Potential bad actor using a disposable email",
        "group_id": "12345",
        "description": "Email domain issues disposable emails",
        "output_title": "Disposable Email",
        "logic_description": "email.domain.disposable = True"
      },
      ...
    ]
  }
}

See Response Fields for details on this object.

Email Query

Note: it is recommended that the /combined endpoint be used over this endpoint.

Email Endpoint

https://api.arkowl.com/v1/email/{emailAddressToQuery}

Email Request Parameters

All query endpoints support GET and POST requests. These are the available parameters:

Key Type Description
emailAddressToQuery string (Required) Email address to query.

Email Example Response

Here is a partial example of an API response for version 1 email only endpoint. The fields will be the exact same as the nested email_data object in the /combined endpoint response:

{
  "id": "test@example.com",
  "query": "TEST@example.com",
  ...
}

See Email Response Fields for details on this object.

Phone Number Query

Note: it is recommended that the /combined endpoint be used over this endpoint.

Phone Number Endpoint

https://api.arkowl.com/v1/phone/{phoneNumberToQuery}

Phone Number Request Parameters

All query endpoints support GET and POST requests. These are the available parameters:

Key Type Description
phoneNumberToQuery string (Required*) Phone number to query. If sending international phone numbers, it is recommended that you use the E.164 international phone number format with the proceeding + followed by the international country code (example: for France, you would send +33 and the remaining digits of the number).

Example Phone Number Response

Here is a partial example of an API response for version 1 phone only endpoint. The fields will be the exact same as the nested phone_data object in the /combined endpoint response:

{
  "query": "+1-612-220-3333",
  "id": "+16125553333",
  "formatted": "+1 612-220-3333"
  ...
}

See Phone Number Response Fields for details on this object.

Response Fields

Below are all response fields, their types, and a short description of each field.

Combined Response Fields

Field Type Description
email_phone_connection boolean or null If a connection between the provided email and phone was found. (This is the same value found in the Metadata Response)
deeplink string or null This is an URL reference to perform the same query in the ArkOwl UI. It can be very helpful when integrating the API into a custom user interface.
email_data object or null Object containing all the data found for the provided email. See the Email Response Fields for more details. null will be returned if no email address was provided in the query.
phone_data object or null Object containing all the data found for the provided phone. See the Phone Number Response Fields for more details. null will be returned if no phone number was provided in the query.
ip_data object or null Object containing all the data found for the provided ip. See the IP Address Response Fields for more details. null will be returned if no IP address was provided in the query.
address_data object Object containing all the data found for the provided address_* fields. See the Address Response Fields for more details. null will be returned if no address data was provided in the query.
metadata_data object or null Object containing all the metadata fields. See the Metadata Response Fields for more details.
arkvision object or null Object containing all the ArkVision fields. See the ArkVision for more details. null will be returned if ArkVision is not turned on or if there is not an active Rule Set selected for your account.

Email Response Fields

Field Type Description
handle string The unique part of an email address that comes before the @ symbol after normalization.
query string The raw email as queried
id string The email after sanitization
exists string Does the email exist with the email provider. Available values are: 'yes', 'no', and 'unverified'
no_data boolean or null A boolean of true is returned if ArkOwl did not find any significant data on this given email (either from external or internal data). false is returned if there was at least one meaningful piece of data found. null is usually returned in the case of external errors where ArkOwl was unable to definitively determine if there is meaningful data for this email.
registrar string The authoritative account provider for this email address which allows us to infer exists. This is the account for which this email originates (e.g. google for gmail.com addresses or yahoo for rocketmail.com addresses). This will only be set if a corresponding account.{name} object is present.
known_aliases string[] List of any known variants for this email address (emails addresses which correspond to the same inbox).
created integer or null An integer Unix timestamp for the creation time of this email address or null if unknown
created_after integer or null An integer Unix timestamp for the earliest possible time this email could have existed. Often this is deduced from the time that the domain name was registered, or the date at which an email service was first known to offer account registration. If an exact created timestamp is known, then created, created_after, and created_before will be identical.
created_before integer or null An integer Unix timestamp for the earliest known use of this email address or null if unknown. If an exact created timestamp is known, then created, created_after, and created_before will be identical.
days_old integer or null (Deprecated) This will always be null
first_seen_anywhere integer or null An integer Unix timestamp for the first time this email address was seen based on our data sources (null if it cannot be determined).
first_seen integer or null An integer Unix timestamp for the first time this email address was checked by ArkOwl by any user (null if never seen before).
last_seen integer or null An integer Unix timestamp for the most recent time this email address was checked by ArkOwl prior to this query (null if never seen before).
times_seen integer The number of times this email address has been seen by an ArkOwl query (not including the present query)
email_handle_to_email_name_match float or null Percent that the email name(s) match the email handle (note: this will be between 0-100; example 76.44 equals 76.44%).
email_handle_to_email_name_char_match boolean or null If any 5-character chunk from the email handle appears exactly within the normalized or reversed email name.
data_breaches_error boolean Indicator if there was an error loading the data breaches
data_breaches object[] An array of objects corresponding to known data breaches that this email address was a part of. For instance, when dropbox.com was hacked and tens of millions of customer email addresses and password hashes were leaked.
data_breaches[].name string Name of the data breach
data_breaches[].domain string Domain that was breached
data_breaches[].breach_date integer or null An integer Unix timestamp of when the breach occured
data_breaches[].description string Description of the breach (Note: this often contains HTML)
data_breaches[].data_classes string[] Array listing the kind of data that was exposed (names, passwords, website activity, etc)
accounts object Object containing all the social checks and any found metadata associated with them (see note on social account checks for additional information)
accounts.google object Object containing Google check data
accounts.google.status string Registration status with Google (see information on account statuses)
accounts.google.metadata object Object containing any Google data found (note: this will be an empty object if google.status !== "registered")
accounts.google.metadata.parsed string or null The email address parsed by Google
accounts.google.metadata.handle string or null The email address handle returned from Google
accounts.google.metadata.account_id string or null The Google ID for this email address.
accounts.google.metadata.profile_img string or null URL to the user’s Google profile image.
accounts.google.metadata.full_name string or null The user’s full name as it appears on their Google profile.
accounts.google.metadata.first_known_activity integer or null An integer Unix timestamp for the first known activity seen for this user’s Google account (if able to be determined from received data, otherwise it will be null).
accounts.google.metadata.profile_url null (Deprecated) Google no longer provides this information. It will always be null
accounts.google.metadata.tagline null (Deprecated) Google no longer provides this information. It will always be null
accounts.google.metadata.circles null (Deprecated) Google no longer provides this information. It will always be null
accounts.gravatar object Object containing Gravatar check data
accounts.gravatar.status string Registration status with Gravatar (see information on account statuses)
accounts.gravatar.metadata object Object containing any Gravatar data found (note: this will be an empty object if gravatar.status !== "registered")
accounts.gravatar.metadata.profile_img string or null URL to the user’s Gravatar profile image.
accounts.microsoft object Object containing Microsoft check data
accounts.microsoft.status string Registration status with Microsoft (see information on account statuses)
accounts.microsoft.metadata object There is no additional information provided from the Microsoft check. This will always be an empty object.
accounts.skype object Object containing Skype check data
accounts.skype.status string Registration status with Skype (see information on account statuses)
accounts.skype.metadata object Object containing any Skype data found (note: this will be an empty object if skype.status !== "registered")
accounts.skype.metadata.full_name string or null The user’s full name as it appears on their Skype profile.
accounts.skype.metadata.profile_img string or null URL to the user’s Skype profile image.
accounts.skype.metadata.city string or null The user’s city listed in their Skype profile.
accounts.skype.metadata.state string or null The user’s state listed in their Skype profile.
accounts.skype.metadata.country string or null The user’s country listed in their Skype profile.
accounts.skype.metadata.country_code string or null The user’s country ISO code listed in their Skype profile.
accounts.skype.metadata.language string or null The user’s preferred language listed in their Skype profile.
accounts.skype.metadata.onedrive_exists boolean or null Indicator if the user has created an OneDrive account. null is returned if unknown.
accounts.skype.metadata.onedrive_created integer or null An integer Unix timestamp for the creation time of this email address or null if unknown
accounts.skype.metadata.gender null (Deprecated) Skype no longer provides this information. It will always be null
accounts.skype.metadata.about null (Deprecated) Skype no longer provides this information. It will always be null
accounts.skype.metadata.age null (Deprecated) Skype no longer provides this information. It will always be null.
accounts.spotify object Object containing Spotify check data
accounts.spotify.status string Registration status with Spotify (see information on account statuses)
accounts.spotify.metadata object There is no additional information provided from the Spotify check. This will always be an empty object.
accounts.twitter object Object containing Twitter (now known as “X”) check data
accounts.twitter.status string Registration status with Twitter (see information on account statuses)
accounts.twitter.metadata object There is no additional information provided from the Twitter check. This will always be an empty object.
accounts.apple object Object containing Apple check data
accounts.apple.status string Registration status with Apple (see information on account statuses)
accounts.apple.metadata object There is no additional information provided from the Apple check. This will always be an empty object.
accounts.yahoo object Object containing Yahoo check data
accounts.yahoo.status string Registration status with Yahoo (see information on account statuses)
accounts.yahoo.metadata object Object containing any Yahoo data found (note: this will be an empty object if yahoo.status !== "registered")
accounts.yahoo.metadata.temporary_email boolean or null Indicator for whether this email address is a temporary email. Yahoo provides users with the ability to create multiple temporary email handles. This allows users the ability to keep their original email address hidden.
accounts.yahoo.metadata.account_id null (Deprecated) Yahoo no longer provides this information. It will always be null
accounts.yahoo.metadata.member_since null (Deprecated) Yahoo no longer provides this information. It will always be null
accounts.yahoo.metadata.nickname null (Deprecated) Yahoo no longer provides this information. It will always be null
accounts.yahoo.metadata.gender null (Deprecated) Yahoo no longer provides this information. It will always be null
accounts.yahoo.metadata.language null (Deprecated) Yahoo no longer provides this information. It will always be null
accounts.yahoo.metadata.profile_img null (Deprecated) Yahoo no longer provides this information. It will always be null
domain_registrations object Object containing historical registration information about domains that have been registered using this email.
domain_registrations.error boolean Indicator if there was an error loading the historical domain registrations.
domain_registrations.intelligence object Object containing the historical information about the domains found for this email.
domain_registrations.intelligence.domains_registered string[] An array of domains that have ties to the queried email at some point in the past.
domain_registrations.intelligence.known_names string[] An array of known names that have been associated with this email and domain registrations.
domain_registrations.intelligence.unique_domains_registered integer An integer count of the unique domains registered with this email.
domain_registrations.intelligence.earliest_domain_registration integer An integer Unix timestamp for earliest domain registration date.
domain_registrations.intelligence.days_since_earliest_domain_registration integer An integer of the number of days since the earliest domain registration (relative to today).
domain_registrations.intelligence.unique_phones_connected integer An integer count of the unique phone numbers associated with all domain registrations with this email.
domain object Object containing information about the domain host of the email address.
domain.id string The full domain for the email address. This is the domain used to determine all the following information.
domain.suffix string The top-level domain for the email domain (e.g. .com or .co.uk)
domain.valid boolean Whether the top-level domain exists (e.g. domain.issuperawesome is not currently valid)
domain.exists boolean Whether this domain name exists.
domain.registrar string or null The name of the organization that manages this domain name’s registration.
domain.registered integer or null A Unix timestamp for the registration date of this domain name (accurate to within 48 hours due to time zone differences).
domain.updated integer or null A Unix timestamp for the date this domain name’s registry data was last updated (accurate to within 48 hours due to time zone differences).
domain.expires integer or null A Unix timestamp for the date this domain name’s registry data will expire (accurate to within 48 hours due to time zone differences).
domain.first_seen integer or null An integer Unix timestamp for the first time this domain was checked by ArkOwl by any user (null if never seen before).
domain.last_seen integer or null An integer Unix timestamp for the most recent time this domain was checked by ArkOwl prior to this query (null if never seen before).
domain.known_disposable_email_provider boolean or null true if the provided domain has been flagged as an email provider that is known for using disposable email addresses.
domain.isp_provided_email boolean or null true if the provided domain has been flagged as an email provider that is known for providing email addresses with an internet service subscription, using the ISP’s domain name.
domain.free_email_provider boolean or null true if the provided domain has been flagged as an email provider that is known for offering a web-based or app-based email address at no cost.
domain.domain_description string or null A short summary of the domain’s service, features, and distinguishing characteristics.
domain.parent_company string or null The company or organization that owns or operates the domain.
domain.favicon string or null URL of the domain’s favicon.
domain.registrant object Object containing the contact information for the individual or organization who registered this domain.
domain.registrant.name string or null Name of the individual who registered this domain.
domain.registrant.organization string or null Name of the organization who registered this domain.
domain.registrant.street1 string or null Address of the individual or organization that registered this domain.
domain.registrant.street2 string or null Second line of the address of the individual or organization that registered this domain.
domain.registrant.street3 string or null Second line of the address of the individual or organization that registered this domain.
domain.registrant.city string or null City of the individual or organization that registered this domain.
domain.registrant.state string or null State of the individual or organization that registered this domain.
domain.registrant.postal_code string or null Postal code of the individual or organization that registered this domain.
domain.registrant.country string or null Country of the individual or organization that registered this domain (note: this is the full country. ie. "Unitied States")
domain.registrant.email string or null Email address of the individual or organization that registered this domain.
domain.registrant.phone string or null Phone number of the individual or organization that registered this domain.
domain.registrant.fax string or null Fax number of the individual or organization that registered this domain.
domain.registration_history object[] An array of objects containing historical registration information for the given domain.
domain.registration_history[].registrar_name string or null The name of the registrar (if known).
domain.registration_history[].registered_date string or null An ISO date string for the registration date for this historical record.
domain.registration_history[].registrar_website string or null The website of the registrar (if known).
domain.registration_history[].registrant_company string or null The company name of the registrar (if known).
domain.registration_history[].registrant_email string or null The email of the registrar (if known).
domain.registration_history[].registrant_address string or null The address of the registrar (if known).
domain.registration_history[].registrant_city string or null The city of the registrar (if known).
domain.registration_history[].registrar_state string or null The state of the registrar (if known).
domain.registration_history[].registrar_country string or null The country of the registrar (if known).
domain.registration_history[].registrar_zip string or null The zip of the registrar (if known).
domain.registrant.contacts[] object[] An array of objects with auxiliary contacts for this domain. The nested contact objects have the exact same fields as the domain.registrant object with the addition of a type property that will indicate which kind of contact it is (example could be "Technical" or "Administrative").
domain.mail_servers string[] An array of strings, each corresponds to the mail server MX records of the domain (usually a number followed by a URL, e.g. 01 mta5.am.yahoodns.net). The number signifies priority.
domain.name_servers string[] An array of strings, each corresponds to an domain name server host for this domain. These are the authorities used when converting a domain like yahoo.com into an network IP address.
domain.bad_activity object Object containing bad activity rolled up across every email address seen at this domain.
domain.bad_activity.total_reports integer or null Number of times email addresses at this domain have been reported as bad actors.
domain.bad_activity.reports_last_24h integer or null Number of times email addresses at this domain have been reported as bad actors in the last 24 hours.
domain.bad_activity.reports_last_7d integer or null Number of times email addresses at this domain have been reported as bad actors in the last 7 days.
domain.bad_activity.reports_last_30d integer or null Number of times email addresses at this domain have been reported as bad actors in the last 30 days.
domain.bad_activity.first_report integer or null An integer Unix timestamp for the first time an email address at this domain was reported.
domain.bad_activity.last_report integer or null An integer Unix timestamp for the last time the bad activity for this domain was updated.
domain.bad_activity.seen_domains string[] Every domain (including subdomains) seen under this root domain in reported email addresses.
domain.bad_activity.unique_handles integer or null Number of distinct email addresses ever seen under this root domain in reported activity.
domain.bad_activity.excluded boolean or null Indicator if this root domain is on our exclude lists (consumer mailbox providers, ISP domains, and free email services).
domain.bad_activity.error boolean or null Indicator if there was an error loading the domain bad activity check.
bad_activity object Object containing data that has been flagged as “bad activity” for the given email. Bad activity can be very useful for flagging potential Account Take Overs (ATOs) and other potentially fraudulent activity. This data represents a combined effort from multiple sources to identify bad actor email addresses.
bad_activity.disposable_email boolean or null true if this email address is a disposable email.
bad_activity.blacklisted boolean or null true if this email address shows up on the blacklist of bad actor emails.
bad_activity.reports integer Number of times this email address has been reported as a bad actor.
bad_activity.reports_last_24h integer Number of times this email address has been reported as a bad actor in the last 24 hours.
bad_activity.reports_last_7d integer or null Number of times this email address has been reported as a bad actor in the last 7 days.
bad_activity.reports_last_30d integer or null Number of times this email address has been reported as a bad actor in the last 30 days.
bad_activity.first_report integer or null An integer Unix timestamp for the first time this email has been reported (Note: that an email may have an first_report date but not be flagged as a blacklisted email).
bad_activity.last_report integer or null An integer Unix timestamp for the last time this email has been reported.
bad_activity.error boolean Indicator if there was an error loading the bad activity check.

Phone Number Response Fields

Field Type Description
query string The verbatim phone number provided in the query.
id string The normalized phone number formatted in the E.164 international standard (e.g. +18005550000).
formatted string The phone number formatted in a more readable way (e.g. +1 800-555-0000).
error boolean true if the phone number provided is invalid or formatted incorrectly
valid boolean true if the phone number is valid, false otherwise
exists string Whether the phone number exists. One of "yes", "no", or "unverified"
first_seen_anywhere integer or null An integer Unix timestamp for the first time this phoen number was seen based on our data sources (null if it cannot be determined).
first_seen integer or null An integer Unix timestamp for the first time this phone number was checked by ArkOwl by any user (null if never seen before).
last_seen integer or null An integer Unix timestamp for the most recent time this phone number was checked by ArkOwl prior to this query (null if never seen before).
times_seen integer or null The number of times this phone number has been seen by an ArkOwl query (not including the present query)
name string The name of the holder of this phone number (caller ID or Skype profile name)
region string The phone number region (e.g. "US")
carrier string The phone number’s carrier (e.g. "T-Mobile")
linetype string The type of line of this phone number (e.g. "landline", "mobile", "VoIP", "unknown")
geo_location string Location of the phone number (e.g. the area code, state, or other geo-location identifier).
timezone string Timezone of the phone number’s registered location (e.g. "America/New_York")
carrier_original null (Deprecated) This data is no longer available and will always be null
carrier_ported null (Deprecated) This data is no longer available and will always be null
data_breaches_error boolean Indicator if there was an error loading the data breaches
data_breaches object[] An array of objects corresponding to known data breaches that this phone number was a part of.
data_breaches[].name string Name of the data breach
data_breaches[].domain string Domain that was breached
data_breaches[].breach_date integer or null An integer Unix timestamp of when the breach occured
data_breaches[].description string Description of the breach (Note: this often contains HTML)
data_breaches[].data_classes string[] Array listing the kind of data that was exposed (names, passwords, website activity, etc)
accounts object Object containing all the social checks and any found metadata associated with them (see note on social account checks for additional information)
accounts.twitter object Object containing Twitter (now known as “X”) check data
accounts.twitter.status string Registration status with Twitter (see information on account statuses)
accounts.twitter.metadata object There is no additional information provided from the Twitter check. This will always be an empty object.
accounts.skype object Object containing Skype check data
accounts.skype.status string Registration status with Skype (see information on account statuses)
accounts.skype.metadata object Object containing any Skype data found (note: this will be an empty object if skype.status !== "registered")
accounts.skype.metadata.full_name string or null The user’s full name as it appears on their Skype profile.
accounts.skype.metadata.profile_img string or null URL to the user’s Skype profile image.
accounts.skype.metadata.city string or null The user’s city listed in their Skype profile.
accounts.skype.metadata.state string or null The user’s state listed in their Skype profile.
accounts.skype.metadata.country string or null The user’s country listed in their Skype profile.
accounts.skype.metadata.country_code string or null The user’s country ISO code listed in their Skype profile.
accounts.skype.metadata.language string or null The user’s preferred language listed in their Skype profile.
accounts.skype.metadata.gender null (Deprecated) Skype no longer provides this information. It will always be null
accounts.skype.metadata.about null (Deprecated) Skype no longer provides this information. It will always be null
accounts.skype.metadata.age null (Deprecated) Skype no longer provides this information. It will always be null.
domain_registrations object Object containing historical registration information about domains that have been registered using this phone number.
domain_registrations.error boolean Indicator if there was an error loading the historical domain registrations.
domain_registrations.intelligence object Object containing the historical information about the domains found for this phone number.
domain_registrations.intelligence.domains_registered string[] An array of domains that have ties to the queried phone number at some point in the past.
domain_registrations.intelligence.known_names string[] An array of known names that have been associated with this phone number and domain registrations.
domain_registrations.intelligence.unique_domains_registered integer An integer count of the unique domains registered with this phone number.
domain_registrations.intelligence.earliest_domain_registration integer An integer Unix timestamp for earliest domain registration date.
domain_registrations.intelligence.days_since_earliest_domain_registration integer An integer of the number of days since the earliest domain registration (relative to today).
domain_registrations.intelligence.unique_emails_connected integer An integer count of the unique phone numbers associated with all domain registrations with this phone number.
domain_registrations.intelligence.emails_connected string[] An integer count of the unique phone numbers associated with all domain registrations with this phone number.

IP Address Response Fields

Field Type Description
query string The verbatim IP address provided in the query.
id string The IP address as a sanitized string representation.
valid boolean true if the IP address is valid, false otherwise
ipv6 boolean true if the IP address is an IPv6 address.
private boolean true if the IP address is a private address
reserved boolean true if the IP address is a reserved address
first_seen integer or null An integer Unix timestamp for the first time this IP address was checked by ArkOwl by any user (null if never seen before).
last_seen integer or null An integer Unix timestamp for the most recent time this IP address was checked by ArkOwl prior to this query (null if never seen before).
times_seen integer or null The number of times this IP address has been seen by an ArkOwl query (not including the present query)
organization string or null Organization that owns and/or manages this IP address
network string or null CIDR block this IP address belongs to
country string or null Country of this IP address
country_code string or null Country code of this IP address (e.g. "US")
city string or null City of this IP address
state string or null State or region of this IP address
postal_code string or null Postal code of this IP address
timezone string or null TimeZone of this IP address (e.g. "America/New_York")
location string or null String representation of the city, state, and country of this IP address (e.g. "Brooklyn Center, Minnesota, United States")
coordinates string or null The combined latitude and longitude of where the device using this IP address resideds (e.g. "45.052,-93.336". See location for more information).
accuracy_radius string or null The approximate accuracy radius in kilometers around the latitude and longitude for the IP address. There is a 67% confidence that the device the IP address resides within the circle centered at the latitude and longitude with the provided radius.

Address Response Fields

Field Type Description
query object Object containing the original address queried.
query.formatted string This is a combined string of all the address pieces used in the query
query.name string or null The queried name.
query.line_1 string or null The queried first line of the address.
query.line_2 string or null The queried second line of the address.
query.locality string or null The queried locality of the address. (This is usually the city).
query.region string or null The queried region of the address. (This is usually the state).
query.postal_code string or null The queried postal code of the address.
query.country_code string or null The queried country code of the address.
formatted string or null This is the formatted string of the address. If place_id is present, this will be a standardize string from the advanced lookup. Otherwise, it will appear very similar to the formatted string for query
name string or null The name provided in the address query.
line_1 string or null The first line of the address. If the advanced lookup succeed, this will be the standardized address line 1, otherwise it will be the line 1 provided in the query.
line_2 string or null The second line of the address. If the advanced lookup succeed, this will be the standardized address line 2, otherwise it will be the line 2 provided in the query.
locality string or null The locality of the address. If the advanced lookup succeed, this will be the standardized locality, otherwise it will be the locality provided in the query. For many addresses, this corresponds to the city.
region string or null The region of the address. If the advanced lookup succeed, this will be the standardized region, otherwise it will be the region provided in the query. For many addresses, this corresponds to the state or providence.
postal_code string or null The postal code of the address. If the advanced lookup succeed, this will be the standardized postal code, otherwise it will be the postal code provided in the query.
country string or null The full country name determined by the provided country code provided in the query (e.g. "United States of America (the)")
country_code string or null The ISO country of the address. If the advanced lookup succeed, this will be the standardized code, otherwise it will be the code provided in the query. Due to variants, this could be the ISO-2 or ISO-3 country code (e.g. "USA" or "US").
county string or null The county of the address. If the advanced lookup succeed, this will be the standardized county (if any), otherwise it will be null.
coordinates string or null The combined latitude and longitude of the address deteremined by the provided postal code (e.g. "45.052,-93.336").
place_id string or null A unique ID for this address. This will only be present if the advanced lookup functionality succeed and found a matching address.
place_name string or null A possible name associated with the given address.
place_category string or null A category for the given address.
result_type string or null The type of result for the given address (this is usually "building").
match_type string or null The match type for the advanced address lookup. This will usually be "full_match" or null (meaning advanced lookup did not succeed).
confidence float or null The confidence level of the advanced lookup for the entire given address. Ranges from 0 to 1
confidence_city_level float or null The confidence level of the advanced lookup for the entire given city. Ranges from 0 to 1
confidence_street_level float or null The confidence level of the advanced lookup for the entire given street. Ranges from 0 to 1
confidence float or null The confidence level of the advanced lookup for the entire given address. Ranges from 0 to 1
popularity float or null The popularity of the given address. This number can exceed 1
importance float or null The importance of the given address. Ranges from 0 to 1
timezone string or null The timezone associated with this address (ie. "America/New_York").
timezone_alt string or null The alternate name for the timezone associated with this address if one exists.

Metadata Response Fields

  • Check out this reference for null data types
  • Address data is only available when using the /combined endpoint. This response object will be nested at the top level address_data. See the Combined Response Fields for more details.
  • null will be returned if there is not enough information to determine a match.
Field Type Description
email_phone_connection boolean or null If a connection between the provided email and phone was found.
email_phone_queried_together_first_seen integer or null An integer Unix timestamp for the first time this email address and phone number was checked by ArkOwl in the same query by any user (null if the combination has never been seen before).
email_phone_queried_together_last_seen integer or null An integer Unix timestamp for the most recent time this email address and phone number was checked by ArkOwl in the same query by any user (null if the combination has never been seen before).
email_phone_queried_together_times_seen integer The number of times this email address and phone number have been seen by an ArkOwl query (not including the present query).
email_phone_number_social_match boolean or null If a connection between the provided email and phone was found through social accounts.
email_phone_number_of_social_matches number Number of connections found between the provided email and phone through social accounts.
email_phone_full_mfa_match boolean or null If a connection between the provided email and phone was found through the same multi-factor authentication (MFA) account.
email_phone_partial_mfa_match boolean or null If a connection between the provided email and phone was indicated by MFA-related data, such as matching phone number fragments or associated identifiers.
email_phone_number_of_mfa_matches number Number of connections found between the provided email and phone through Multi-factor authentication (MFA).
email_phone_name_match float or null Percent that the email name(s) match the phone name(s) (note: this will be between 0-100; example 76.44 equals 76.44%).
email_handle_to_email_name_match float or null Percent that the email name(s) match the email handle (note: this will be between 0-100; example 76.44 equals 76.44%).
email_handle_to_phone_name_match float or null Percent that the phone name(s) match the email handle (note: this will be between 0-100; example 76.44 equals 76.44%).
email_handle_to_email_name_char_match boolean or null If any 5-character chunk from the email handle appears exactly within the normalized or reversed email name.
email_handle_to_phone_name_char_match boolean or null If any 5-character chunk from the email handle appears exactly within the normalized or reversed phone name.
address_email_name_match float or null Percent that the address name matches the email name(s) (note: this will be between 0-100; example 76.44 equals 76.44%).
address_phone_name_match float or null Percent that the address name matches the phone name(s) (note: this will be between 0-100; example 76.44 equals 76.44%).
email_phone_country_match boolean or null true if the email address and phone number have a same country match.
ip_hostname_match boolean or null true if the email domain name and internet service provider (ISP) match.
ip_phonecarrier_match boolean or null true if the phone carrier name and internet service provider (ISP) match.
email_ip_country_match boolean or null true if the email address and IP address have a same country match.
address_email_country_match boolean or null true if the email address and physical address have a same country match.
phone_ip_country_match boolean or null true if the phone number and IP address have a same country match.
address_phone_country_match boolean or null true if the phone number and physical address have a same country match.
address_ip_country_match boolean or null true if the IP address and physical address have a same country match.
address_hostname_match boolean or null true if the email domain name and address name (usually a business name) match.
email_phone_timezone_match boolean or null true if the email address and phone number have a same TimeZone match.
email_ip_timezone_match boolean or null true if the email address and IP address have a same TimeZone match.
address_email_timezone_match boolean or null true if the email address and physical address have a same TimeZone match.
phone_ip_timezone_match boolean or null true if the phone number and IP address have a same TimeZone match.
address_phone_timezone_match boolean or null true if the phone number and physical address have a same TimeZone match.
address_ip_timezone_match boolean or null true if the IP address and physical address have a same TimeZone match.
distances object Object containing distance correlations between provided data points.
distances.address_min_dist_to_email float or null Minimum distance in miles found between the email address and physical address.
distances.address_dist_to_ip float or null Minimum distance in miles found between the email address and IP address.
distances.address_dist_to_phone float or null Minimum distance in miles found between the phone number and physcial address.
distances.ip_min_dist_to_email float or null Minimum distance in miles found between the email address and IP address.
distances.ip_dist_to_phone float or null Minimum distance in miles found between the phone number and IP address.
distances.phone_min_dist_to_email float or null Minimum distance in miles found between the phone number and email address.
distances.avg_distances float or null Average of the minimum distances in miles found between the all the other minimum distances.

ArkVision

ArkVision is a scoring and alerts system that shines a different perspective on ArkOwl data. This new view of ArkOwl data will make training and API implementations easier as well as help communicate new data features going forward.

  • ArkVision is only available when using the /combined endpoint. This response object will be nested at the top level arkvision. See the Combined Response Fields for more details.

The top level "arkvision": {...} object will only appear in the query response if the feature is enabled for your account.

If the feature is enabled, but the manager of the account has turned if off or does not have a selected ArkVision Rule Set, then it will return as null. Example:

{
  "email_data": {...},
  "phone_data": {...},
  "ip_data": {...},
  "address_data": {...},
  "meta_data": {...},
  "arkvision": null
}

When the ArkVision is present, it will have the following object schema:

Field Type Description
score number or null The calculated ArkVision score for this query.
min_possible number The minimum possible score for this Rule Set (which is calculated by the sum of all the negative score effect rules).
max_possible number The maximum possible score for this Rule Set (which is calculated by the sum of all the positive score effect rules).
rule_set_id string or null The unique id for this Rule Set. null if no active Rule Set in use.
rule_set_name string or null The name of the ArkVision Rule Set used. null if no active Rule Set in use.
alert 'green', 'yellow', 'red', or null The color of the alert triggered for this query. null if no alert was trigger.
highest_triggered_rule_alert_message string or null This will be the alert_message for the Rule triggered with the highest level alert.
threshold_crossed 'green', 'yellow', 'red', or null The color of the score threshold crossed for this query. null if no threshold was crossed.
green_score_threshold number or null The scoring threshold for a green score. null if no threshold is set.
yellow_score_threshold number or null The scoring threshold for a yellow score. null if no threshold is set.
red_score_threshold number or null The scoring threshold for a red score. null if no threshold is set.
green_score_message string or null The Rule Set message for when a green threshold is crossed or a green alert is triggered.
yellow_score_message string or null The Rule Set message for when a yellow threshold is crossed or a yellow alert is triggered.
red_score_message string or null The Rule Set message for when a red threshold is crossed or a red alert is triggered.
scoring_rules object[] An array of ArkVision rules from the Rule Set that apply to this query.
scoring_rules[].rule_passed boolean true if this rule passed and was used in the ArkVision score calculation. The Rule should be ignored in most implementations if it did not pass.
scoring_rules[].output string A unique string identifier primary key for this Rule.
scoring_rules[].comparison string The comparison type used for logic for this Rule. These types may change overtime. Current values are: 'equal', 'not_equal', 'contains', 'contains_list', 'not_contains', 'not_contains_list', 'gt', 'gte', 'lt', 'lte'.
scoring_rules[].target_value boolean, number, string, string[], Date, null, undefined The desired value to check for this Rule.
scoring_rules[].actual_value boolean, number, string, string[], Date, null, undefined The computed value from the query used to check against the target_value from this Rule.
scoring_rules[].score_effect number The score effect for this Rule if the Rule passes.
scoring_rules[].alert_color 'green', 'yellow', 'red', or null The alert level for this Rule.
scoring_rules[].alert_message string or null The alert message for this Rule to be used if this Rule passes.
scoring_rules[].group_id string or null If this rule is a part of a combination rule (ie. a rule with multiple rules tied together with AND logic), then it will share the same group_id with the other rule(s) in the group. If a rule is in a group, they will also all share the same values for rule_passed, score_effect, alert_color, alert_message, and description.
scoring_rules[].description string or null The description for this Rule. This is controlled by the manager inside the ArkVision Rule Set configuration. It will be the primary text to present to analysts for ArkVision results on the query page. If no description is configured, logic_description will be used as a fallback.
scoring_rules[].output_title string The ArkVision field name for this Rule (ex. “Email Google Registered”). This corresponds to the “Field” dropdown in the ArkVision manager’s Rule Set view. It is subject to change and should only be used for presentation purposes. Use output for a unique identifier.
scoring_rules[].logic_description string or null The string representation of the logic for this rule. If there is no description configured for this Rule, the logic_description will be the fallback text presented to analysts for ArkVision results on the query page.

Feedback

Let us know if you have any questions or comments about the documentation!