
## Headers

The `Content-Type` for a successful response varies based on the service as
outlined below:



<div class="table">
  <table>
    <thead>
      <tr>
        <th>Service</th>
        <th>Content-Type</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td>Score</td>
        <td>
          `application/vnd.maxmind.com-minfraud-score+json; charset=UTF-8;
          version=2.0`
        </td>
      </tr>
      <tr>
        <td>Insights</td>
        <td>
          `application/vnd.maxmind.com-minfraud-insights+json; charset=UTF-8;
          version=2.0`
        </td>
      </tr>
      <tr>
        <td>Factors</td>
        <td>
          `application/vnd.maxmind.com-minfraud-factors+json; charset=UTF-8;
          version=2.0`
        </td>
      </tr>
    </tbody>
  </table>
</div>


Errors may be returned with the `Content-Type` set to
`application/vnd.maxmind.com-error+json; charset=UTF-8; version=2.0`. If this is
the case, then the body of the response contains a JSON document with two keys,
`code` and `error`. See the
[Errors](/minfraud/api-documentation/responses/#errors) section for more
details.

A `Content-Length` header will be provided.

## Errors

When the server returns an error (`4xx` or `5xx`), the response may include a
JSON document in the body. This document is a single object with the keys `code`
and `error`. The `code` field is a static error code for machine use. The value
of any given code will never change, though codes can be added or removed. The
`error` field is a human-readable description of the error and may change at any
time.

Not all errors include a JSON body. Some `4xx` errors, such as a `403` for a
plain HTTP request, and many `5xx` errors, which typically happen outside of our
web service request handling code, do not include one. You
should check the `Content-Type` header of an error response before attempting
to decode the body as JSON.

In addition to the errors documented below, client code should also be prepared
to handle any valid HTTP `4xx` or `5xx` status code.



<div class="table">
  <table>
    <thead>
      <tr>
        <th>Code</th>
        <th>HTTP Status</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><code>JSON_INVALID</code></td>
        <td>400 Bad Request</td>
        <td>We cannot decode the body as a JSON object.</td>
      </tr>
      <tr>
        <td><code>REQUEST_INVALID</code></td>
        <td>400 Bad Request</td>
        <td>
          The request body is valid JSON but contains no valid input values.
        </td>
      </tr>
      <tr>
        <td><code>BAD_REQUEST</code></td>
        <td>400 Bad Request</td>
        <td>There was a problem reading or decoding the request.</td>
      </tr>
      <tr>
        <td><code>REQUEST_TOO_BIG</code></td>
        <td>400 Bad Request</td>
        <td>
          The request body is too large. Keep the request body at 20,000 bytes
          or less to avoid both this error and the <code>413</code> response.
        </td>
      </tr>
      <tr>
        <td><code>AUTHORIZATION_INVALID</code></td>
        <td>401 Unauthorized</td>
        <td>
          You have supplied an invalid
          <a href="https://www.maxmind.com/en/accounts/current/license-key"
            >MaxMind account ID and/or license key</a
          >
          in the
          <a
            href="/minfraud/api-documentation/requests#authorization-and-security"
            >Authorization</a
          >
          header.
        </td>
      </tr>
      <tr>
        <td><code>LICENSE_KEY_REQUIRED</code></td>
        <td>401 Unauthorized</td>
        <td>
          You have not supplied a
          <a href="https://www.maxmind.com/en/accounts/current/license-key"
            >MaxMind license key</a
          >
          in the
          <a
            href="/minfraud/api-documentation/requests#authorization-and-security"
            >Authorization</a
          >
          header.
        </td>
      </tr>
      <tr>
        <td><code>ACCOUNT_ID_REQUIRED</code></td>
        <td>401 Unauthorized</td>
        <td>
          You have not supplied a
          <a
            href="https://support.maxmind.com/knowledge-base/articles/find-your-maxmind-account-id"
            >MaxMind account ID</a
          >
          in the
          <a
            href="/minfraud/api-documentation/requests#authorization-and-security"
            >Authorization</a
          >
          header.
        </td>
      </tr>
      <tr>
        <td><code>INSUFFICIENT_FUNDS</code></td>
        <td>402 Payment Required</td>
        <td>
          The license key you have provided does not have sufficient funds to
          use this service. Please
          <a
            href="https://www.maxmind.com/en/solutions/fraud-prevention/overview#buy-now"
            >purchase more service credits</a
          >.
        </td>
      </tr>
      <tr>
        <td><code>PERMISSION_REQUIRED</code></td>
        <td>403 Forbidden</td>
        <td>
          You do not have permission to use the service. Please
          <a href="https://support.maxmind.com/knowledge-base"
            >contact our support team</a
          >
          for more information.
        </td>
      </tr>
      <tr>
        <td>(none)</td>
        <td>413 Content Too Large</td>
        <td>
          This status is returned when the request body is larger than 20,000
          bytes. The response does not have a JSON body.
        </td>
      </tr>
      <tr>
        <td>(none)</td>
        <td>429 Too Many Requests</td>
        <td>
          Your request has been denied due to rate-limiting imposed by MaxMind.
          This is likely due to excessive previous requests resulting in error
          responses.
        </td>
      </tr>
      <tr>
        <td><code>SERVER_ERROR</code></td>
        <td>500 Internal Server Error</td>
        <td>There was an error when processing this request.</td>
      </tr>
      <tr>
        <td>(none)</td>
        <td>503 Service Unavailable</td>
        <td>
          There is a problem with the web service server. You can try this
          request again later.
        </td>
      </tr>
    </tbody>
  </table>
</div>


### Rate-limiting

If customer requests result in excessive errors, MaxMind may impose rate limits
for a period of time.

## Response Body

All services return data as a JSON document. The document that is returned
always consists of an object (aka map or hash).

Keys with undefined or empty values will not be included in the returned
document.

The data returned in the document will be in UTF-8 encoding.

Note that a given key and value may be omitted from the response entirely if
there is no relevant information to include. For example, if you do not pass any
information about the credit card in your request, then the response will not
contain a `credit_card` key or value.

For full examples of response bodies, select one of the following:

- [minFraud Score Body Example](#minfraud-score-body-example)
- [minFraud Insights Body Example](#minfraud-insights-body-example)
- [minFraud Factors Body Example](#minfraud-factors-body-example)
- [Error Body Example](#error-body-example)

### Top-Level Fields



```json
{
  "id": "5bc5d6c2-b2c8-40af-87f4-6d61af86b6ae",
  "risk_score": 0.01,
  "funds_remaining": 25,
  "queries_remaining": 5000,
  "ip_address": {...},
  "credit_card": {...},
  "device": {...},
  "email": {...},
  "shipping_address": {...},
  "shipping_phone": {...},
  "billing_address": {...},
  "billing_phone": {...},
  "disposition": {...},
  "risk_score_reasons": [...],
  "warnings": [...]
}
```

<!-- prettier-ignore-start -->

<table>
  <thead>
    <tr>
      <th>Key</th>
      <th>Value Type</th>
      <th>Description</th>
    </tr>
  </thead>
  <tbody>

  <tr>
  <td>
    <code>id</code>
  </td>
  <td>
    string
  </td>
  <td>
    This is the minFraud ID, a [UUID](https://en.wikipedia.org/wiki/Universally%5Funique%5Fidentifier) that identifies the minFraud response. Use this ID to [search your minFraud logs](https://www.maxmind.com/en/accounts/current/query-usage-report) or when making support requests to MaxMind.
    
      <p>
        <em>format: UUID</em>
      </p>
    
    
      <div>
        <span>✓ minFraud Score</span>
        <span>✓ minFraud Insights</span>
        <span>✓ minFraud Factors</span>
      </div>
    
  </td>
</tr>


  <tr>
  <td>
    <code>risk_score</code>
  </td>
  <td>
    decimal
  </td>
  <td>
    <p>This field contains the overall risk score, from 0.01 to 99. A higher score indicates a higher risk of fraud. For example, a score of 20 indicates a 20% chance that a transaction is fraudulent. We never return a risk score of 0, since all transactions have the possibility of being fraudulent. Likewise, we never return a risk score of 100.</p>
<p>[Learn more about the overall risk score on our Knowledge Base.](https://support.maxmind.com/knowledge-base/articles/overall-risk-score-minfraud-maxmind)</p>

    
      <p>
        <em>min: 0.01, max: 99</em>
      </p>
    
    
      <div>
        <span>✓ minFraud Score</span>
        <span>✓ minFraud Insights</span>
        <span>✓ minFraud Factors</span>
      </div>
    
  </td>
</tr>


  <tr>
  <td>
    <code>funds_remaining</code>
  </td>
  <td>
    decimal
  </td>
  <td>
    The approximate US dollar value of the funds remaining on your MaxMind account.
    
      <p>
        <em>min: 0</em>
      </p>
    
    
      <div>
        <span>✓ minFraud Score</span>
        <span>✓ minFraud Insights</span>
        <span>✓ minFraud Factors</span>
      </div>
    
  </td>
</tr>


  <tr>
  <td>
    <code>queries_remaining</code>
  </td>
  <td>
    integer
  </td>
  <td>
    The approximate number of queries remaining for the service before your account runs out of funds.
    
      <p>
        <em>min: 0</em>
      </p>
    
    
      <div>
        <span>✓ minFraud Score</span>
        <span>✓ minFraud Insights</span>
        <span>✓ minFraud Factors</span>
      </div>
    
  </td>
</tr>


  <tr>
  <td>
    <code>ip_address</code>
  </td>
  <td>
    object
  </td>
  <td>
    This object contains IP intelligence data.
[See more](#ip-address).
    
    
      <div>
        <span>✓ minFraud Score</span>
        <span>✓ minFraud Insights</span>
        <span>✓ minFraud Factors</span>
      </div>
    
  </td>
</tr>


  <tr>
  <td>
    <code>credit_card</code>
  </td>
  <td>
    object
  </td>
  <td>
    This object contains information related to the credit card.
[See more](#credit-card).
    
    
      <div>
        <span>✗ minFraud Score</span>
        <span>✓ minFraud Insights</span>
        <span>✓ minFraud Factors</span>
      </div>
    
  </td>
</tr>


  <tr>
  <td>
    <code>device</code>
  </td>
  <td>
    object
  </td>
  <td>
    This object contains information about the device that MaxMind believes is associated with the IP address passed in the request.
[See more](#device).
    
    
      <div>
        <span>✗ minFraud Score</span>
        <span>✓ minFraud Insights</span>
        <span>✓ minFraud Factors</span>
      </div>
    
  </td>
</tr>


  <tr>
  <td>
    <code>email</code>
  </td>
  <td>
    object
  </td>
  <td>
    This object contains email intelligence data.
[See more](#email).
    
    
      <div>
        <span>✗ minFraud Score</span>
        <span>✓ minFraud Insights</span>
        <span>✓ minFraud Factors</span>
      </div>
    
  </td>
</tr>


  <tr>
  <td>
    <code>shipping_address</code>
  </td>
  <td>
    object
  </td>
  <td>
    This object contains information related to the shipping address.
[See more](#shipping-address).
    
    
      <div>
        <span>✗ minFraud Score</span>
        <span>✓ minFraud Insights</span>
        <span>✓ minFraud Factors</span>
      </div>
    
  </td>
</tr>


  <tr>
  <td>
    <code>shipping_phone</code>
  </td>
  <td>
    object
  </td>
  <td>
    This object contains information related to the shipping phone number.
[See more](#shipping-phone).
    
    
      <div>
        <span>✗ minFraud Score</span>
        <span>✓ minFraud Insights</span>
        <span>✓ minFraud Factors</span>
      </div>
    
  </td>
</tr>


  <tr>
  <td>
    <code>billing_address</code>
  </td>
  <td>
    object
  </td>
  <td>
    This object contains information related to the billing address.
[See more](#billing-address).
    
    
      <div>
        <span>✗ minFraud Score</span>
        <span>✓ minFraud Insights</span>
        <span>✓ minFraud Factors</span>
      </div>
    
  </td>
</tr>


  <tr>
  <td>
    <code>billing_phone</code>
  </td>
  <td>
    object
  </td>
  <td>
    This object contains information related to the billing phone number.
[See more](#billing-phone).
    
    
      <div>
        <span>✗ minFraud Score</span>
        <span>✓ minFraud Insights</span>
        <span>✓ minFraud Factors</span>
      </div>
    
  </td>
</tr>


  <tr>
  <td>
    <code>disposition</code>
  </td>
  <td>
    object
  </td>
  <td>
    This object contains information about how a request was handled by the custom rules that you have defined.
[See more](#disposition).
    
    
      <div>
        <span>✓ minFraud Score</span>
        <span>✓ minFraud Insights</span>
        <span>✓ minFraud Factors</span>
      </div>
    
  </td>
</tr>


  <tr>
  <td>
    <code>risk_score_reasons</code>
  </td>
  <td>
    array
  </td>
  <td>
    This array contains risk score reason objects.
[See more](#risk-score-reasons).
    
    
      <div>
        <span>✗ minFraud Score</span>
        <span>✗ minFraud Insights</span>
        <span>✓ minFraud Factors</span>
      </div>
    
  </td>
</tr>


  <tr>
  <td>
    <code>warnings</code>
  </td>
  <td>
    array
  </td>
  <td>
    This array contains warning objects detailing issues with the request that was sent, such as invalid or unknown inputs.
[See more](#warnings).
    
    
      <div>
        <span>✓ minFraud Score</span>
        <span>✓ minFraud Insights</span>
        <span>✓ minFraud Factors</span>
      </div>
    
  </td>
</tr>


</tbody>
</table>

<!-- prettier-ignore-end -->

### IP Address



For minFraud Score, this object only contains the `risk` for the IP address. For
minFraud Insights and Factors, the object is the
[GeoIP Insights response body](/geoip/docs/web-services/responses/#geoip-insights-body-example)
with five modifications:

1. `risk` has been added directly to the `ip_address` object.
2. `risk_reasons` has been added directly to the `ip_address` object.
3. `is_high_risk` has been added to the `country` sub-object. This field is
   deprecated.
4. `local_time` has been added to the `location` sub-object.
5. The `maxmind` object is not present.

See below for descriptions of the added fields.

minFraud Insights and Factors return anonymous IP outputs in the
[`anonymizer` object](/geoip/docs/web-services/responses/#anonymizer):

- `confidence`
- `is_anonymous`
- `is_anonymous_vpn`
- `is_hosting_provider`
- `is_public_proxy`
- `is_residential_proxy`
- `is_tor_exit_node`
- `network_last_seen`
- `provider_name`
- `residential`

The six `is_*` outputs above are also returned in the `traits` object for
backwards compatibility, but they are deprecated there. Use the `anonymizer`
object instead.

```json
{
  "risk": 0.01,
  "anonymizer": {
    "confidence": 99,
    "is_anonymous": true,
    "is_anonymous_vpn": true,
    "is_hosting_provider": true,
    "is_public_proxy": true,
    "is_residential_proxy": true,
    "is_tor_exit_node": true,
    "network_last_seen": "2025-01-15",
    "provider_name": "nordvpn",
    "residential": {
      "confidence": 82,
      "network_last_seen": "2026-05-11",
      "provider_name": "quickshift"
    }
  },
  "city": {
    "confidence": 25,
    "geoname_id": 54321,
    "names": {
      "de": "Los Angeles",
      "en": "Los Angeles",
      "es": "Los Ángeles",
      "fr": "Los Angeles",
      "ja": "ロサンゼルス市",
      "pt-BR": "Los Angeles",
      "ru": "Лос-Анджелес",
      "zh-CN": "洛杉矶"
    }
  },
  "continent": {
    "code": "NA",
    "geoname_id": 123456,
    "names": {
      "de": "Nordamerika",
      "en": "North America",
      "es": "América del Norte",
      "fr": "Amérique du Nord",
      "ja": "北アメリカ",
      "pt-BR": "América do Norte",
      "ru": "Северная Америка",
      "zh-CN": "北美洲"
    }
  },
  "country": {
    "confidence": 75,
    "geoname_id": 6252001,
    "is_in_european_union": true,
    "iso_code": "US",
    "names": {
      "de": "USA",
      "en": "United States",
      "es": "Estados Unidos",
      "fr": "États-Unis",
      "ja": "アメリカ合衆国",
      "pt-BR": "Estados Unidos",
      "ru": "США",
      "zh-CN": "美国"
    }
  },
  "location": {
    "accuracy_radius": 20,
    "average_income": 50321,
    "latitude": 37.6293,
    "local_time": "2015-04-26T01:37:17-08:00",
    "longitude": -122.1163,
    "metro_code": 807,
    "population_density": 7122,
    "time_zone": "America/Los_Angeles"
  },
  "postal": {
    "code": "90001",
    "confidence": 10
  },
  "registered_country": {
    "geoname_id": 6252001,
    "is_in_european_union": true,
    "iso_code": "US",
    "names": {
      "de": "USA",
      "en": "United States",
      "es": "Estados Unidos",
      "fr": "États-Unis",
      "ja": "アメリカ合衆国",
      "pt-BR": "Estados Unidos",
      "ru": "США",
      "zh-CN": "美国"
    }
  },
  "represented_country": {
    "geoname_id": 6252001,
    "is_in_european_union": true,
    "iso_code": "US",
    "names": {
      "de": "USA",
      "en": "United States",
      "es": "Estados Unidos",
      "fr": "États-Unis",
      "ja": "アメリカ合衆国",
      "pt-BR": "Estados Unidos",
      "ru": "США",
      "zh-CN": "美国"
    },
    "type": "military"
  },
  "risk_reasons": [
    {
      "code": "ANONYMOUS_IP",
      "reason": "The IP address belongs to an anonymous network."
    },
    {
      "code": "MINFRAUD_NETWORK_ACTIVITY",
      "reason": "Suspicious activity has been seen on this IP address across minFraud customers."
    }
  ],
  "subdivisions": [
    {
      "confidence": 50,
      "geoname_id": 5332921,
      "iso_code": "CA",
      "names": {
        "de": "Kalifornien",
        "en": "California",
        "es": "California",
        "fr": "Californie",
        "ja": "カリフォルニア",
        "ru": "Калифорния",
        "zh-CN": "加州"
      }
    }
  ],
  "traits": {
    "autonomous_system_number": 1239,
    "autonomous_system_organization": "Linkem IR WiMax Network",
    "connection_type": "Cable/DSL",
    "domain": "example.com",
    "ip_address": "1.2.3.4",
    "ip_risk_snapshot": 45.5,
    "is_anonymous": true,
    "is_anonymous_vpn": true,
    "is_anycast": true,
    "is_hosting_provider": true,
    "is_public_proxy": true,
    "is_residential_proxy": true,
    "is_tor_exit_node": true,
    "isp": "Linkem spa",
    "mobile_country_code": "310",
    "mobile_network_code": "004",
    "network": "1.2.3.0/24",
    "organization": "Linkem IR WiMax Network",
    "static_ip_score": 1.5,
    "user_count": 1,
    "user_type": "traveler"
  }
}
```

<!-- prettier-ignore-start -->

<table>
  <thead>
    <tr>
      <th>Key</th>
      <th>Value Type</th>
      <th>Description</th>
    </tr>
  </thead>
  <tbody>

  <tr>
  <td>
    <code>risk</code>
  </td>
  <td>
    decimal
  </td>
  <td>
    <p>This field contains the risk associated with the IP address. The value ranges from 0.01 to 99. A higher score indicates a higher risk.</p>
<p>[Learn more about the IP risk score on our Knowledge Base.](https://support.maxmind.com/knowledge-base/articles/minfraud-ip-risk-score)</p>

    
      <p>
        <em>min: 0.01, max: 99</em>
      </p>
    
    
      <div>
        <span>✓ minFraud Score</span>
        <span>✓ minFraud Insights</span>
        <span>✓ minFraud Factors</span>
      </div>
    
  </td>
</tr>


  <tr>
  <td>
    <code>country</code>
  </td>
  <td>
    object
  </td>
  <td>
    This object contains country-level geolocation data for the IP address associated with the event.
    
    
      <div>
        <span>✗ minFraud Score</span>
        <span>✓ minFraud Insights</span>
        <span>✓ minFraud Factors</span>
      </div>
    
  </td>
</tr>


  <tr>
  <td>
    <code>location</code>
  </td>
  <td>
    object
  </td>
  <td>
    This object contains city-level geolocation data for the IP address associated with the event.
    
    
      <div>
        <span>✗ minFraud Score</span>
        <span>✓ minFraud Insights</span>
        <span>✓ minFraud Factors</span>
      </div>
    
  </td>
</tr>


  <tr>
  <td>
    <code>risk_reasons</code>
  </td>
  <td>
    array
  </td>
  <td>
    <p>This array contains IP Address Risk Reason objects identifying the reasons why the IP address received the associated risk.</p>
<p>[Learn how to use IP risk reasons for risk analysis on our Knowledge Base.](https://support.maxmind.com/knowledge-base/articles/minfraud-ip-risk-reasons-maxmind)</p>

    
    
      <div>
        <span>✗ minFraud Score</span>
        <span>✓ minFraud Insights</span>
        <span>✓ minFraud Factors</span>
      </div>
    
  </td>
</tr>


</tbody>
</table>

<!-- prettier-ignore-end -->

### IP Address > Country



This object contains country-level geolocation data for the IP address
associated with the event.

[See the GeoIP Insights response body](/geoip/docs/web-services/responses/#country)
for more information.

```json
{
  "confidence": 75,
  "geoname_id": 6252001,
  "is_in_european_union": true,
  "iso_code": "US",
  "names": {
    "de": "USA",
    "en": "United States",
    "es": "Estados Unidos",
    "fr": "États-Unis",
    "ja": "アメリカ合衆国",
    "pt-BR": "Estados Unidos",
    "ru": "США",
    "zh-CN": "美国"
  }
}
```

### IP Address > Location



This object contains city-level geolocation data for the IP address associated
with the event.

[See the GeoIP Insights response body](/geoip/docs/web-services/responses/#location)
for more information.

```json
{
  "accuracy_radius": 20,
  "average_income": 50321,
  "latitude": 37.6293,
  "local_time": "2015-04-26T01:37:17-08:00",
  "longitude": -122.1163,
  "metro_code": 807,
  "population_density": 7122,
  "time_zone": "America/Los_Angeles"
}
```

<!-- prettier-ignore-start -->

<table>
  <thead>
    <tr>
      <th>Key</th>
      <th>Value Type</th>
      <th>Description</th>
    </tr>
  </thead>
  <tbody>

  <tr>
  <td>
    <code>local_time</code>
  </td>
  <td>
    string
  </td>
  <td>
    The date and time of the transaction in the time zone associated with the IP address. The value is formatted according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339). For instance, the local time in Boston might be returned as <code>2015-04-27T19:17:24-04:00</code>.
    
      <p>
        <em>max length: 255</em>
      </p>
    
    
      <div>
        <span>✗ minFraud Score</span>
        <span>✓ minFraud Insights</span>
        <span>✓ minFraud Factors</span>
      </div>
    
  </td>
</tr>


</tbody>
</table>

<!-- prettier-ignore-end -->

### IP Address > Risk Reasons



This array contains IP Address Risk Reason objects identifying the reasons why
the IP address received the associated risk.

```json
[
  {
    "code": "ANONYMOUS_IP",
    "reason": "The IP address belongs to an anonymous network."
  },
  {
    "code": "MINFRAUD_NETWORK_ACTIVITY",
    "reason": "Suspicious activity has been seen on this IP address across minFraud customers."
  }
]
```

<!-- prettier-ignore-start -->

<table>
  <thead>
    <tr>
      <th>Key</th>
      <th>Value Type</th>
      <th>Description</th>
    </tr>
  </thead>
  <tbody>

  <tr>
  <td>
    <code>code</code>
  </td>
  <td>
    string
  </td>
  <td>
    <p>This value is a machine-readable code identifying the reason. Although more codes may be added in the future, the current codes are:</p>
<table>
	<thead>
			<tr>
					<th>Code</th>
					<th>Explanation</th>
			</tr>
	</thead>
	<tbody>
			<tr>
					<td><code>ANONYMOUS_IP</code></td>
					<td>The IP address belongs to an anonymous network.</td>
			</tr>
			<tr>
					<td><code>BILLING_POSTAL_VELOCITY</code></td>
					<td>Many different billing postal codes have been seen on this IP address.</td>
			</tr>
			<tr>
					<td><code>EMAIL_VELOCITY</code></td>
					<td>Many different email addresses have been seen on this IP address.</td>
			</tr>
			<tr>
					<td><code>HIGH_RISK_DEVICE</code></td>
					<td>A high risk device was seen on this IP address.</td>
			</tr>
			<tr>
					<td><code>HIGH_RISK_EMAIL</code></td>
					<td>A high risk email address was seen on this IP address in your past transactions.</td>
			</tr>
			<tr>
					<td><code>ISSUER_ID_NUMBER_VELOCITY</code></td>
					<td>Many different issuer ID numbers have been seen on this IP address.</td>
			</tr>
			<tr>
					<td><code>MINFRAUD_NETWORK_ACTIVITY</code></td>
					<td>Suspicious activity has been seen on this IP address across minFraud customers.</td>
			</tr>
	</tbody>
</table>
<p>[Learn how to use IP risk reasons for risk analysis on our Knowledge Base.](https://support.maxmind.com/knowledge-base/articles/minfraud-ip-risk-reasons-maxmind)</p>

    
      <p>
        <em>format: enum, max length: 255</em>
      </p>
    
    
      <div>
        <span>✗ minFraud Score</span>
        <span>✓ minFraud Insights</span>
        <span>✓ minFraud Factors</span>
      </div>
    
  </td>
</tr>


  <tr>
  <td>
    <code>reason</code>
  </td>
  <td>
    string
  </td>
  <td>
    <p>This field provides an explanation of the reason, as seen in the table above. The explanation text may change at any time and should not be matched against.</p>
<p>[Learn how to use IP risk reasons for risk analysis on our Knowledge Base.](https://support.maxmind.com/knowledge-base/articles/minfraud-ip-risk-reasons-maxmind)</p>

    
    
      <div>
        <span>✗ minFraud Score</span>
        <span>✓ minFraud Insights</span>
        <span>✓ minFraud Factors</span>
      </div>
    
  </td>
</tr>


</tbody>
</table>

<!-- prettier-ignore-end -->

### Credit Card



This object contains minFraud information related to the credit card. If an
issuer ID number (IIN) was not provided in the request, this object will not be
present in the response.

```json
{
  "brand": "Visa",
  "country": "US",
  "is_business": true,
  "is_issued_in_billing_address_country": true,
  "is_prepaid": true,
  "is_virtual": true,
  "issuer": {
    "matches_provided_name": true,
    "matches_provided_phone_number": true,
    "name": "Bank of America",
    "phone_number": "800-732-9194"
  },
  "type": "credit"
}
```

<!-- prettier-ignore-start -->

<table>
  <thead>
    <tr>
      <th>Key</th>
      <th>Value Type</th>
      <th>Description</th>
    </tr>
  </thead>
  <tbody>

  <tr>
  <td>
    <code>issuer</code>
  </td>
  <td>
    object
  </td>
  <td>
    This field contains a JSON object with information relating to the credit card issuer.
    
    
      <div>
        <span>✗ minFraud Score</span>
        <span>✓ minFraud Insights</span>
        <span>✓ minFraud Factors</span>
      </div>
    
  </td>
</tr>


  <tr>
  <td>
    <code>brand</code>
  </td>
  <td>
    string
  </td>
  <td>
    <p>The card brand, such as &ldquo;Visa&rdquo;, &ldquo;Discover&rdquo;, &ldquo;American Express&rdquo;, etc.</p>
<p>[Learn how to use the credit card brand data for risk analysis on our Knowledge Base.](https://support.maxmind.com/knowledge-base/articles/credit-card-risk-data-minfraud#cc-brand-name)</p>

    
      <p>
        <em>max length: 255</em>
      </p>
    
    
      <div>
        <span>✗ minFraud Score</span>
        <span>✓ minFraud Insights</span>
        <span>✓ minFraud Factors</span>
      </div>
    
  </td>
</tr>


  <tr>
  <td>
    <code>country</code>
  </td>
  <td>
    string
  </td>
  <td>
    <p>The two-letter [ISO 3166-1 alpha-2 country code](https://en.wikipedia.org/wiki/ISO%5F3166-1%5Falpha-2) associated with the location of the majority of customers using this credit card as determined by their billing address. In cases where the location of customers is highly mixed, this defaults to the country of the bank issuing the card.</p>
<p>[Learn how to use the credit card country data for risk analysis on our Knowledge Base.](https://support.maxmind.com/knowledge-base/articles/credit-card-risk-data-minfraud#cc-country)</p>

    
      <p>
        <em>max length: 2</em>
      </p>
    
    
      <div>
        <span>✗ minFraud Score</span>
        <span>✓ minFraud Insights</span>
        <span>✓ minFraud Factors</span>
      </div>
    
  </td>
</tr>


  <tr>
  <td>
    <code>is_business</code>
  </td>
  <td>
    boolean
  </td>
  <td>
    This field is <code>true</code> if the issuer ID number is for a business card. It is <code>false</code> if the issuer ID number is for a non-business card. The key is only present when a valid issuer ID number has been provided.
    
    
      <div>
        <span>✗ minFraud Score</span>
        <span>✓ minFraud Insights</span>
        <span>✓ minFraud Factors</span>
      </div>
    
  </td>
</tr>


  <tr>
  <td>
    <code>is_issued_in_billing_address_country</code>
  </td>
  <td>
    boolean
  </td>
  <td>
    <p>This field is <code>true</code> if the country of the billing address matches the country of the majority of customers using that IIN. It is <code>false</code> if both countries are available but do not match. If one or both of the countries are missing, the key will not be present. In cases where the location of customers is highly mixed, the match is to the country of the bank issuing the card.</p>
<p>[Learn how to use the billing address to credit card country matching for risk analysis on our Knowledge Base.](https://support.maxmind.com/knowledge-base/articles/billing-and-shipping-address-risk-data-minfraud#billing-cc-match)</p>

    
    
      <div>
        <span>✗ minFraud Score</span>
        <span>✓ minFraud Insights</span>
        <span>✓ minFraud Factors</span>
      </div>
    
  </td>
</tr>


  <tr>
  <td>
    <code>is_prepaid</code>
  </td>
  <td>
    boolean
  </td>
  <td>
    <p>This field is <code>true</code> if the issuer ID number is for a prepaid card. It is <code>false</code> if the issuer ID number is for a non-prepaid card. The key is only present when a valid issuer ID number has been provided.</p>
<p>[Learn how to use prepaid card detection for risk analysis on our Knowledge Base.](https://support.maxmind.com/knowledge-base/articles/credit-card-risk-data-minfraud#detection-prepaid-virtual)</p>

    
    
      <div>
        <span>✗ minFraud Score</span>
        <span>✓ minFraud Insights</span>
        <span>✓ minFraud Factors</span>
      </div>
    
  </td>
</tr>


  <tr>
  <td>
    <code>is_virtual</code>
  </td>
  <td>
    boolean
  </td>
  <td>
    <p>This field is <code>true</code> if the issuer ID number is for a virtual card. It is <code>false</code> if the issuer ID number is for a non-virtual card. The key is only present when a valid issuer ID number has been provided.</p>
<p>[Learn how to use virtual card detection for risk analysis on our Knowledge Base.](https://support.maxmind.com/knowledge-base/articles/credit-card-risk-data-minfraud#detection-prepaid-virtual)</p>

    
    
      <div>
        <span>✗ minFraud Score</span>
        <span>✓ minFraud Insights</span>
        <span>✓ minFraud Factors</span>
      </div>
    
  </td>
</tr>


  <tr>
  <td>
    <code>type</code>
  </td>
  <td>
    string
  </td>
  <td>
    <p>The card’s type. The valid values are:</p>
<ul>
<li><code>charge</code> – See [Wikipedia](https://en.wikipedia.org/wiki/Charge%5Fcard) for an explanation of the difference between charge and credit cards.</li>
<li><code>credit</code></li>
<li><code>debit</code></li>
</ul>
    
      <p>
        <em>format: enum</em>
      </p>
    
    
      <div>
        <span>✗ minFraud Score</span>
        <span>✓ minFraud Insights</span>
        <span>✓ minFraud Factors</span>
      </div>
    
  </td>
</tr>


</tbody>
</table>

<!-- prettier-ignore-end -->

### Credit Card > Issuer



This is a sub-object of `credit_card` that contains information related to the
issuer of the card.

```json
{
  "matches_provided_name": true,
  "matches_provided_phone_number": true,
  "name": "Bank of America",
  "phone_number": "800-732-9194"
}
```

<!-- prettier-ignore-start -->

<table>
  <thead>
    <tr>
      <th>Key</th>
      <th>Value Type</th>
      <th>Description</th>
    </tr>
  </thead>
  <tbody>

  <tr>
  <td>
    <code>name</code>
  </td>
  <td>
    string
  </td>
  <td>
    <p>The name of the issuing bank.</p>
<p>[Learn how to use the credit card issuer name for risk analysis on our Knowledge Base.](https://support.maxmind.com/knowledge-base/articles/credit-card-risk-data-minfraud#cc-brand-name)</p>

    
      <p>
        <em>max length: 255</em>
      </p>
    
    
      <div>
        <span>✗ minFraud Score</span>
        <span>✓ minFraud Insights</span>
        <span>✓ minFraud Factors</span>
      </div>
    
  </td>
</tr>


  <tr>
  <td>
    <code>matches_provided_name</code>
  </td>
  <td>
    boolean
  </td>
  <td>
    This field is <code>true</code> if the name matches the name provided in the request for the card issuer. It is <code>false</code> if the name does not match. The field is not included if either no name or issuer ID number (IIN) is provided in the request or if MaxMind does not have a name associated with the IIN.
    
    
      <div>
        <span>✗ minFraud Score</span>
        <span>✓ minFraud Insights</span>
        <span>✓ minFraud Factors</span>
      </div>
    
  </td>
</tr>


  <tr>
  <td>
    <code>phone_number</code>
  </td>
  <td>
    string
  </td>
  <td>
    The phone number of the bank which issued the credit card. In some cases, the phone number we return may be out of date.
    
      <p>
        <em>max length: 255</em>
      </p>
    
    
      <div>
        <span>✗ minFraud Score</span>
        <span>✓ minFraud Insights</span>
        <span>✓ minFraud Factors</span>
      </div>
    
  </td>
</tr>


  <tr>
  <td>
    <code>matches_provided_phone_number</code>
  </td>
  <td>
    boolean
  </td>
  <td>
    This field is <code>true</code> if the phone number matches the number provided in the request for the card issuer. It is <code>false</code> if the number does not match. The field is not included if either no phone number or issuer ID number (IIN) is provided in the request or if MaxMind does not have a phone number associated with the IIN.
    
    
      <div>
        <span>✗ minFraud Score</span>
        <span>✓ minFraud Insights</span>
        <span>✓ minFraud Factors</span>
      </div>
    
  </td>
</tr>


</tbody>
</table>

<!-- prettier-ignore-end -->

### Device



This object contains information about the device that MaxMind believes is
associated with the IP address passed in the request.

```json
{
  "confidence": 99,
  "id": "7835b099-d385-4e5b-969e-7df26181d73b",
  "last_seen": "2016-06-08T14:16:38Z",
  "local_time": "2018-01-02T10:40:11-08:00"
}
```

<!-- prettier-ignore-start -->

<table>
  <thead>
    <tr>
      <th>Key</th>
      <th>Value Type</th>
      <th>Description</th>
    </tr>
  </thead>
  <tbody>

  <tr>
  <td>
    <code>confidence</code>
  </td>
  <td>
    decimal
  </td>
  <td>
    <p>A number from 0.01 to 99 representing the confidence that the <code>/device/id</code> refers to a unique device as opposed to a cluster of similar devices. A confidence of 0.01 indicates very low confidence that the device is unique, whereas 99 indicates very high confidence.</p>
<p>[Learn how to use device confidence for risk analysis on our Knowledge Base.](https://support.maxmind.com/knowledge-base/articles/device-risk-data-minfraud#device-confidence)</p>

    
      <p>
        <em>min: 0.01, max: 99</em>
      </p>
    
    
      <div>
        <span>✗ minFraud Score</span>
        <span>✓ minFraud Insights</span>
        <span>✓ minFraud Factors</span>
      </div>
    
  </td>
</tr>


  <tr>
  <td>
    <code>id</code>
  </td>
  <td>
    string
  </td>
  <td>
    A UUID that MaxMind uses for the device associated with this IP address. This is only available if you are using the [Device Tracking Add-On](/minfraud/api-documentation#device-tracking-add-on).
    
      <p>
        <em>format: UUID</em>
      </p>
    
    
      <div>
        <span>✗ minFraud Score</span>
        <span>✓ minFraud Insights</span>
        <span>✓ minFraud Factors</span>
      </div>
    
  </td>
</tr>


  <tr>
  <td>
    <code>last_seen</code>
  </td>
  <td>
    string
  </td>
  <td>
    <p>The date and time of the last sighting of the device. The value is formatted according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339).</p>
<p>[Learn how to use the last sighting data for risk analysis on our Knowledge Base.](https://support.maxmind.com/knowledge-base/articles/device-risk-data-minfraud#device-last-seen)</p>

    
      <p>
        <em>max length: 255</em>
      </p>
    
    
      <div>
        <span>✗ minFraud Score</span>
        <span>✓ minFraud Insights</span>
        <span>✓ minFraud Factors</span>
      </div>
    
  </td>
</tr>


  <tr>
  <td>
    <code>local_time</code>
  </td>
  <td>
    string
  </td>
  <td>
    <p>The local date and time of the transaction in the time zone of the device. This is determined by using the UTC offset associated with the device. The value is formatted according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339).</p>
<p>[Learn how to use local time data for risk analysis on our Knowledge Base.](https://support.maxmind.com/knowledge-base/articles/device-risk-data-minfraud#device-local-time)</p>

    
      <p>
        <em>max length: 255</em>
      </p>
    
    
      <div>
        <span>✗ minFraud Score</span>
        <span>✓ minFraud Insights</span>
        <span>✓ minFraud Factors</span>
      </div>
    
  </td>
</tr>


</tbody>
</table>

<!-- prettier-ignore-end -->

### Email



```json
{
  "domain": {
    "classification": "business",
    "first_seen": "2019-01-20",
    "risk": 1.23,
    "visit": {
      "has_redirect": true,
      "last_visited_on": "2025-11-15",
      "status": "live"
    },
    "volume": 6.5
  },
  "first_seen": "2016-02-03",
  "is_disposable": false,
  "is_free": false,
  "is_high_risk": true
}
```

<!-- prettier-ignore-start -->

<table>
  <thead>
    <tr>
      <th>Key</th>
      <th>Value Type</th>
      <th>Description</th>
    </tr>
  </thead>
  <tbody>

  <tr>
  <td>
    <code>domain</code>
  </td>
  <td>
    object
  </td>
  <td>
    This field contains a JSON object with information relating to the domain.
    
    
      <div>
        <span>✗ minFraud Score</span>
        <span>✓ minFraud Insights</span>
        <span>✓ minFraud Factors</span>
      </div>
    
  </td>
</tr>


  <tr>
  <td>
    <code>first_seen</code>
  </td>
  <td>
    string
  </td>
  <td>
    <p>A date string (e.g. 2017-04-24) to identify the date an email address was first seen by MaxMind. This is expressed using the ISO 8601 date format <code>YYYY-MM-DD</code>. The earliest date that may be returned is January 1, 2008.</p>
<p>[Learn how to use email first seen data for risk analysis on our Knowledge Base.](https://support.maxmind.com/knowledge-base/articles/minfraud-email-risk-data#email-first-seen)</p>

    
      <p>
        <em>format: YYYY-MM-DD, max length: 10</em>
      </p>
    
    
      <div>
        <span>✗ minFraud Score</span>
        <span>✓ minFraud Insights</span>
        <span>✓ minFraud Factors</span>
      </div>
    
  </td>
</tr>


  <tr>
  <td>
    <code>is_disposable</code>
  </td>
  <td>
    boolean
  </td>
  <td>
    <p>This field is <code>true</code> if MaxMind believes that the email address is from a disposable email provider. It is <code>false</code> if the address is not from a known disposable email provider. The key will only be present if a valid email address or email domain is provided.</p>
<p>[Learn how to use disposable email detection for risk analysis on our Knowledge Base.](https://support.maxmind.com/knowledge-base/articles/minfraud-email-risk-data#free-disposible-flags)</p>

    
    
      <div>
        <span>✗ minFraud Score</span>
        <span>✓ minFraud Insights</span>
        <span>✓ minFraud Factors</span>
      </div>
    
  </td>
</tr>


  <tr>
  <td>
    <code>is_free</code>
  </td>
  <td>
    boolean
  </td>
  <td>
    <p>This field is <code>true</code> if MaxMind believes that this email domain is for a free email provider such as Gmail or Yahoo! Mail. It is <code>false</code> if the domain is not for a known free email provider. The key will only be present if a valid email address or email domain is provided.</p>
<p>[Learn how to use free email detection for risk analysis on our Knowledge Base.](https://support.maxmind.com/knowledge-base/articles/minfraud-email-risk-data#free-disposible-flags)</p>

    
    
      <div>
        <span>✗ minFraud Score</span>
        <span>✓ minFraud Insights</span>
        <span>✓ minFraud Factors</span>
      </div>
    
  </td>
</tr>


  <tr>
  <td>
    <code>is_high_risk</code>
  </td>
  <td>
    boolean
  </td>
  <td>
    <p>This field is <code>true</code> if MaxMind believes that this email address is likely to be used for fraud. It is <code>false</code> if MaxMind does not believe the address is used for fraud. The key will only be present if a valid email address or email address hash is provided. Note that this is also factored into the overall <code>risk_score</code> in the response as well.</p>
<p>[Learn how to use our high risk email flag for risk analysis on our Knowledge Base.](https://support.maxmind.com/knowledge-base/articles/minfraud-email-risk-data#email-reputation-flagging)</p>

    
    
      <div>
        <span>✗ minFraud Score</span>
        <span>✓ minFraud Insights</span>
        <span>✓ minFraud Factors</span>
      </div>
    
  </td>
</tr>


</tbody>
</table>

<!-- prettier-ignore-end -->

### Email > Domain



This is a sub-object of `email` that contains information related to the domain.

```json
{
  "classification": "business",
  "first_seen": "2019-01-20",
  "risk": 1.23,
  "visit": {
    "has_redirect": true,
    "last_visited_on": "2025-11-15",
    "status": "live"
  },
  "volume": 6.5
}
```

<!-- prettier-ignore-start -->

<table>
  <thead>
    <tr>
      <th>Key</th>
      <th>Value Type</th>
      <th>Description</th>
    </tr>
  </thead>
  <tbody>

  <tr>
  <td>
    <code>classification</code>
  </td>
  <td>
    string
  </td>
  <td>
    <p>A classification of the domain. One of the following values. Additional values may be added in the future.</p>
<ul>
<li><code>business</code></li>
<li><code>education</code></li>
<li><code>government</code></li>
<li><code>isp_email</code></li>
</ul>
<p>[Learn more about the domain classification on our Knowledge Base.](https://support.maxmind.com/knowledge-base/minfraud-domain-risk-data#domain-classification)</p>

    
    
      <div>
        <span>✗ minFraud Score</span>
        <span>✓ minFraud Insights</span>
        <span>✓ minFraud Factors</span>
      </div>
    
  </td>
</tr>


  <tr>
  <td>
    <code>first_seen</code>
  </td>
  <td>
    string
  </td>
  <td>
    <p>A date string (e.g. 2019-01-01) to identify the date an email address domain was first seen by MaxMind. This is expressed using the ISO 8601 date format <code>YYYY-MM-DD</code>. The earliest date that may be returned is January 1, 2019.</p>
<p>[Learn how to use email first seen data for risk analysis on our Knowledge Base.](https://support.maxmind.com/knowledge-base/articles/minfraud-email-risk-data#email-first-seen)</p>

    
      <p>
        <em>format: YYYY-MM-DD, max length: 10</em>
      </p>
    
    
      <div>
        <span>✗ minFraud Score</span>
        <span>✓ minFraud Insights</span>
        <span>✓ minFraud Factors</span>
      </div>
    
  </td>
</tr>


  <tr>
  <td>
    <code>risk</code>
  </td>
  <td>
    decimal
  </td>
  <td>
    <p>This field contains the risk associated with the domain. The value ranges from 0.01 to 99. A higher score indicates higher risk.</p>
<p>[Learn more about the email domain risk score on our Knowledge Base.](https://support.maxmind.com/knowledge-base/minfraud-domain-risk-data#domain-reputation-score)</p>

    
      <p>
        <em>min: 0.01, max: 99</em>
      </p>
    
    
      <div>
        <span>✗ minFraud Score</span>
        <span>✓ minFraud Insights</span>
        <span>✓ minFraud Factors</span>
      </div>
    
  </td>
</tr>


  <tr>
  <td>
    <code>visit</code>
  </td>
  <td>
    object
  </td>
  <td>
    An object containing information about an automated visit to the email domain. See the [Email &gt; Domain &gt; Visit](#email--domain--visit) section for details about this object.
    
    
      <div>
        <span>✗ minFraud Score</span>
        <span>✓ minFraud Insights</span>
        <span>✓ minFraud Factors</span>
      </div>
    
  </td>
</tr>


  <tr>
  <td>
    <code>volume</code>
  </td>
  <td>
    decimal
  </td>
  <td>
    <p>This field indicates how much activity we see on an email domain across the minFraud network, expressed in sightings per million.</p>
<p>The value is rounded to 2 significant figures. Example domain sightings per million requests:</p>
<ul>
<li>Consumer email domains: gmail.com (630,000), icloud.com (37,000)</li>
<li>Business domains: microsoft.com (6)</li>
</ul>
<p>Note: These are point-in-time examples to provide a relative sense of the values. They will change based on email usage patterns.</p>
<p>[Learn more about email domain volume on our Knowledge Base.](https://support.maxmind.com/knowledge-base/minfraud-domain-risk-data#domain-volume)</p>

    
      <p>
        <em>min: 0.001, max: 1000000</em>
      </p>
    
    
      <div>
        <span>✗ minFraud Score</span>
        <span>✓ minFraud Insights</span>
        <span>✓ minFraud Factors</span>
      </div>
    
  </td>
</tr>


</tbody>
</table>

<!-- prettier-ignore-end -->

### Email > Domain > Visit



This is a sub-object of `email/domain` that contains information about an
automated visit to the email domain.

Domain visits are performed by an automated agent, so for newly-sighted domains
on the minFraud network, it can take a few minutes for these outputs to be
populated on later requests on the same domain. Domain visits are also limited
to those with low volume on the network. High volume domains such as those for
email providers and large businesses will not have domain visit outputs in the
minFraud response.

```json
{
  "has_redirect": true,
  "last_visited_on": "2025-11-15",
  "status": "live"
}
```

<!-- prettier-ignore-start -->

<table>
  <thead>
    <tr>
      <th>Key</th>
      <th>Value Type</th>
      <th>Description</th>
    </tr>
  </thead>
  <tbody>

  <tr>
  <td>
    <code>has_redirect</code>
  </td>
  <td>
    boolean
  </td>
  <td>
    <p>This is <code>true</code> if the domain in the request has redirects (configured to automatically send visitors to another URL). Otherwise, the key is not included in the <code>/email/domain/visit</code> object.</p>
<p>If <code>true</code>, the <code>/email/domain/visit/status</code> field corresponds to the last domain visited after redirecting.</p>
<p>[Learn more about the email domain visit redirect flag on our Knowledge Base.](https://support.maxmind.com/knowledge-base/minfraud-domain-risk-data#domain-visit)</p>

    
    
      <div>
        <span>✗ minFraud Score</span>
        <span>✓ minFraud Insights</span>
        <span>✓ minFraud Factors</span>
      </div>
    
  </td>
</tr>


  <tr>
  <td>
    <code>last_visited_on</code>
  </td>
  <td>
    string
  </td>
  <td>
    <p>A date string that corresponds to when the automated visit was completed. This is expressed using the ISO 8601 date format <code>YYYY-MM-DD</code>.</p>
<p>Pair with the <code>/email/domain/visit/status</code> and <code>/email/domain/visit/has_redirect</code> fields to determine the recency of those values.</p>

    
      <p>
        <em>format: YYYY-MM-DD</em>
      </p>
    
    
      <div>
        <span>✗ minFraud Score</span>
        <span>✓ minFraud Insights</span>
        <span>✓ minFraud Factors</span>
      </div>
    
  </td>
</tr>


  <tr>
  <td>
    <code>status</code>
  </td>
  <td>
    string
  </td>
  <td>
    <p>A classification of the status of the domain (or the last domain visited after following redirects, if these are present and can be followed) based on an automated visit at a previous point in time. This field may be initially unavailable for a newly-sighted domain and populated at a future time after a visit is conducted. Pair with the <code>/email/domain/visit/last_visited_on</code> to determine the recency of the visit. One of the following values. Additional values may be added in the future.</p>
<table>
	<thead>
			<tr>
					<th>Status</th>
					<th>Description</th>
			</tr>
	</thead>
	<tbody>
			<tr>
					<td><code>live</code></td>
					<td>The domain is reachable and serving content normally.</td>
			</tr>
			<tr>
					<td><code>dns_error</code></td>
					<td>The domain is missing, expired, or DNS is misconfigured.</td>
			</tr>
			<tr>
					<td><code>network_error</code></td>
					<td>The domain is offline, blocked, or unreachable.</td>
			</tr>
			<tr>
					<td><code>http_error</code></td>
					<td>The domain is reachable but the web application had a problem or denied the request.</td>
			</tr>
			<tr>
					<td><code>parked</code></td>
					<td>The domain is live and is in a parked state.</td>
			</tr>
			<tr>
					<td><code>pre_development</code></td>
					<td>The domain is live and is in a pre-development state.</td>
			</tr>
	</tbody>
</table>
<p>[Learn more about the email domain visit status on our Knowledge Base.](https://support.maxmind.com/knowledge-base/minfraud-domain-risk-data#domain-visit)</p>

    
    
      <div>
        <span>✗ minFraud Score</span>
        <span>✓ minFraud Insights</span>
        <span>✓ minFraud Factors</span>
      </div>
    
  </td>
</tr>


</tbody>
</table>

<!-- prettier-ignore-end -->

### Shipping Address



```json
{
  "distance_to_billing_address": 22,
  "distance_to_ip_location": 15,
  "is_high_risk": true,
  "is_in_ip_country": true,
  "is_postal_in_city": true,
  "latitude": 37.632,
  "longitude": -122.313
}
```

<!-- prettier-ignore-start -->

<table>
  <thead>
    <tr>
      <th>Key</th>
      <th>Value Type</th>
      <th>Description</th>
    </tr>
  </thead>
  <tbody>

  <tr>
  <td>
    <code>is_high_risk</code>
  </td>
  <td>
    boolean
  </td>
  <td>
    <p>This field is <code>true</code> if the shipping address is an address associated with fraudulent transactions. The field is <code>false</code> when the address is not associated with increased risk. The key will only be present when a shipping address is provided.</p>
<p>[Learn more about the flag for high risk shipping addresses on our Knowledge Base.](https://support.maxmind.com/knowledge-base/articles/billing-and-shipping-address-risk-data-minfraud#high-risk-flag)</p>

    
    
      <div>
        <span>✗ minFraud Score</span>
        <span>✓ minFraud Insights</span>
        <span>✓ minFraud Factors</span>
      </div>
    
  </td>
</tr>


  <tr>
  <td>
    <code>is_postal_in_city</code>
  </td>
  <td>
    boolean
  </td>
  <td>
    <p>This field is <code>true</code> if the postal code provided with the address is in the city for the address. The field is <code>false</code> when the postal code is not in the city. The key will only be present when a shipping postal code, city, and country have been provided.</p>
<p>We use [GeoNames data](https://www.geonames.org/postal-codes/postal-codes-us.html) for the postal-city match, which uses the [preferred place name](https://en.wikipedia.org/wiki/ZIP_Code) for a US ZIP code. [Alternative place names](https://en.wikipedia.org/wiki/ZIP_Code) for US ZIP codes may not trigger a match for this field.</p>
<p>[Learn how to use the postal to city check for risk analysis on our Knowledge Base.](https://support.maxmind.com/knowledge-base/articles/billing-and-shipping-address-risk-data-minfraud#postal-city-match)</p>

    
    
      <div>
        <span>✗ minFraud Score</span>
        <span>✓ minFraud Insights</span>
        <span>✓ minFraud Factors</span>
      </div>
    
  </td>
</tr>


  <tr>
  <td>
    <code>latitude</code>
  </td>
  <td>
    decimal
  </td>
  <td>
    <p>The approximate [WGS84](https://en.wikipedia.org/wiki/World%5FGeodetic%5FSystem) latitude associated with the address.</p>
<p><strong>Latitude and longitude are not precise and should not be used to identify a particular street address or household.</strong></p>

    
    
      <div>
        <span>✗ minFraud Score</span>
        <span>✓ minFraud Insights</span>
        <span>✓ minFraud Factors</span>
      </div>
    
  </td>
</tr>


  <tr>
  <td>
    <code>longitude</code>
  </td>
  <td>
    decimal
  </td>
  <td>
    <p>The approximate [WGS84](https://en.wikipedia.org/wiki/World%5FGeodetic%5FSystem) longitude associated with the address.</p>
<p><strong>Latitude and longitude are not precise and should not be used to identify a particular street address or household.</strong></p>

    
    
      <div>
        <span>✗ minFraud Score</span>
        <span>✓ minFraud Insights</span>
        <span>✓ minFraud Factors</span>
      </div>
    
  </td>
</tr>


  <tr>
  <td>
    <code>distance_to_ip_location</code>
  </td>
  <td>
    integer
  </td>
  <td>
    <p>The distance in kilometers from the address to the IP location. When we cannot locate the address or the IP address more precisely, we use country or subdivision coordinates, which may lead to inaccurate distance calculations.</p>
<p>[Learn how to use the IP geolocation to address distance for risk analysis on our Knowledge Base.](https://support.maxmind.com/knowledge-base/articles/billing-and-shipping-address-risk-data-minfraud#ip-geo-to-address-match)</p>

    
    
      <div>
        <span>✗ minFraud Score</span>
        <span>✓ minFraud Insights</span>
        <span>✓ minFraud Factors</span>
      </div>
    
  </td>
</tr>


  <tr>
  <td>
    <code>distance_to_billing_address</code>
  </td>
  <td>
    integer
  </td>
  <td>
    <p>The distance in kilometers from the shipping address to the billing address. When we cannot locate an address more precisely, we use country or subdivision coordinates, which may lead to inaccurate distance calculations.</p>
<p>[Learn how to use the shipping to billing address distance for risk analysis on our Knowledge Base.](https://support.maxmind.com/knowledge-base/articles/billing-and-shipping-address-risk-data-minfraud#distance)</p>

    
    
      <div>
        <span>✗ minFraud Score</span>
        <span>✓ minFraud Insights</span>
        <span>✓ minFraud Factors</span>
      </div>
    
  </td>
</tr>


  <tr>
  <td>
    <code>is_in_ip_country</code>
  </td>
  <td>
    boolean
  </td>
  <td>
    <p>This field is <code>true</code> if the address is in the IP country. The field is <code>false</code> when the address is not in the IP country. If the IP address could not be geolocated or no shipping address was provided, the field will not be included in the response.</p>
<p>[Learn how to use the IP location to country check for risk analysis on our Knowledge Base.](https://support.maxmind.com/knowledge-base/articles/billing-and-shipping-address-risk-data-minfraud#ip-geo-to-address-match)</p>

    
    
      <div>
        <span>✗ minFraud Score</span>
        <span>✓ minFraud Insights</span>
        <span>✓ minFraud Factors</span>
      </div>
    
  </td>
</tr>


</tbody>
</table>

<!-- prettier-ignore-end -->

### Shipping Phone



```json
{
  "country": "CA",
  "is_voip": true,
  "matches_postal": true,
  "network_operator": "Telus Mobility-SVR/2",
  "number_type": "mobile"
}
```

<!-- prettier-ignore-start -->

<table>
  <thead>
    <tr>
      <th>Key</th>
      <th>Value Type</th>
      <th>Description</th>
    </tr>
  </thead>
  <tbody>

  <tr>
  <td>
    <code>country</code>
  </td>
  <td>
    string
  </td>
  <td>
    A two-character [ISO 3166-1](https://en.wikipedia.org/wiki/ISO%5F3166-1) country code for the country associated with the shipping phone number.
    
    
      <div>
        <span>✗ minFraud Score</span>
        <span>✓ minFraud Insights</span>
        <span>✓ minFraud Factors</span>
      </div>
    
  </td>
</tr>


  <tr>
  <td>
    <code>network_operator</code>
  </td>
  <td>
    string
  </td>
  <td>
    The name of the original network operator associated with the shipping phone number. This field does not reflect phone numbers that have been ported from the original operator to another, nor does it identify [mobile virtual network operators](https://en.wikipedia.org/wiki/Mobile%5Fvirtual%5Fnetwork%5Foperator).
    
    
      <div>
        <span>✗ minFraud Score</span>
        <span>✓ minFraud Insights</span>
        <span>✓ minFraud Factors</span>
      </div>
    
  </td>
</tr>


  <tr>
  <td>
    <code>number_type</code>
  </td>
  <td>
    string
  </td>
  <td>
    One of the following values: <code>fixed</code> or <code>mobile</code>. Additional values may be added in the future.
    
    
      <div>
        <span>✗ minFraud Score</span>
        <span>✓ minFraud Insights</span>
        <span>✓ minFraud Factors</span>
      </div>
    
  </td>
</tr>


  <tr>
  <td>
    <code>is_voip</code>
  </td>
  <td>
    boolean
  </td>
  <td>
    This is <code>true</code> if the shipping phone number is a Voice over Internet Protocol (VoIP) number allocated by a regulator. It is <code>false</code> if the shipping phone number is not a VoIP number allocated by a regulator. The key is only present when a valid shipping phone number has been provided and we have data for it.
    
    
      <div>
        <span>✗ minFraud Score</span>
        <span>✓ minFraud Insights</span>
        <span>✓ minFraud Factors</span>
      </div>
    
  </td>
</tr>


  <tr>
  <td>
    <code>matches_postal</code>
  </td>
  <td>
    boolean
  </td>
  <td>
    This field is <code>true</code> if the phone number&rsquo;s prefix is commonly associated with the shipping postal code. It is <code>false</code> if the prefix is not associated with the postal code. This key is only present when the phone number is in the US, the number prefix is in our database, and the postal code and country are provided in the request.
    
    
      <div>
        <span>✗ minFraud Score</span>
        <span>✓ minFraud Insights</span>
        <span>✓ minFraud Factors</span>
      </div>
    
  </td>
</tr>


</tbody>
</table>

<!-- prettier-ignore-end -->

### Billing Address



```json
{
  "distance_to_ip_location": 100,
  "is_in_ip_country": true,
  "is_postal_in_city": true,
  "latitude": 37.545,
  "longitude": -122.421
}
```

<!-- prettier-ignore-start -->

<table>
  <thead>
    <tr>
      <th>Key</th>
      <th>Value Type</th>
      <th>Description</th>
    </tr>
  </thead>
  <tbody>

  <tr>
  <td>
    <code>is_postal_in_city</code>
  </td>
  <td>
    boolean
  </td>
  <td>
    <p>This field is <code>true</code> if the postal code provided with the address is in the city for the address. The field is <code>false</code> when the postal code is not in the city. The key will only be present when a billing postal code, city, and country have been provided.</p>
<p>We use [GeoNames data](https://www.geonames.org/postal-codes/postal-codes-us.html) for the postal-city match, which uses the [preferred place name](https://en.wikipedia.org/wiki/ZIP_Code) for a US ZIP code. [Alternative place names](https://en.wikipedia.org/wiki/ZIP_Code) for US ZIP codes may not trigger a match for this field.</p>
<p>[Learn how to use the postal to city check for risk analysis on our Knowledge Base.](https://support.maxmind.com/knowledge-base/articles/billing-and-shipping-address-risk-data-minfraud#postal-city-match)</p>

    
    
      <div>
        <span>✗ minFraud Score</span>
        <span>✓ minFraud Insights</span>
        <span>✓ minFraud Factors</span>
      </div>
    
  </td>
</tr>


  <tr>
  <td>
    <code>latitude</code>
  </td>
  <td>
    decimal
  </td>
  <td>
    <p>The approximate [WGS84](https://en.wikipedia.org/wiki/World%5FGeodetic%5FSystem) latitude associated with the address.</p>
<p><strong>Latitude and longitude are not precise and should not be used to identify a particular street address or household.</strong></p>

    
    
      <div>
        <span>✗ minFraud Score</span>
        <span>✓ minFraud Insights</span>
        <span>✓ minFraud Factors</span>
      </div>
    
  </td>
</tr>


  <tr>
  <td>
    <code>longitude</code>
  </td>
  <td>
    decimal
  </td>
  <td>
    <p>The approximate [WGS84](https://en.wikipedia.org/wiki/World%5FGeodetic%5FSystem) longitude associated with the address.</p>
<p><strong>Latitude and longitude are not precise and should not be used to identify a particular street address or household.</strong></p>

    
    
      <div>
        <span>✗ minFraud Score</span>
        <span>✓ minFraud Insights</span>
        <span>✓ minFraud Factors</span>
      </div>
    
  </td>
</tr>


  <tr>
  <td>
    <code>distance_to_ip_location</code>
  </td>
  <td>
    integer
  </td>
  <td>
    <p>The distance in kilometers from the address to the IP location. When we cannot locate the address or the IP address more precisely, we use country or subdivision coordinates, which may lead to inaccurate distance calculations.</p>
<p>[Learn how to use the IP geolocation to address distance for risk analysis on our Knowledge Base.](https://support.maxmind.com/knowledge-base/articles/billing-and-shipping-address-risk-data-minfraud#ip-geo-to-address-match)</p>

    
    
      <div>
        <span>✗ minFraud Score</span>
        <span>✓ minFraud Insights</span>
        <span>✓ minFraud Factors</span>
      </div>
    
  </td>
</tr>


  <tr>
  <td>
    <code>is_in_ip_country</code>
  </td>
  <td>
    boolean
  </td>
  <td>
    <p>This field is <code>true</code> if the address is in the IP country. The field is <code>false</code> when the address is not in the IP country. If the IP address could not be geolocated or no billing address was provided, the field will not be included in the response.</p>
<p>[Learn how to use the IP location to country check for risk analysis on our Knowledge Base.](https://support.maxmind.com/knowledge-base/articles/billing-and-shipping-address-risk-data-minfraud#ip-geo-to-address-match)</p>

    
    
      <div>
        <span>✗ minFraud Score</span>
        <span>✓ minFraud Insights</span>
        <span>✓ minFraud Factors</span>
      </div>
    
  </td>
</tr>


</tbody>
</table>

<!-- prettier-ignore-end -->

### Billing Phone



```json
{
  "country": "US",
  "is_voip": true,
  "matches_postal": true,
  "network_operator": "Verizon/1",
  "number_type": "fixed"
}
```

<!-- prettier-ignore-start -->

<table>
  <thead>
    <tr>
      <th>Key</th>
      <th>Value Type</th>
      <th>Description</th>
    </tr>
  </thead>
  <tbody>

  <tr>
  <td>
    <code>country</code>
  </td>
  <td>
    string
  </td>
  <td>
    A two-character [ISO 3166-1](https://en.wikipedia.org/wiki/ISO%5F3166-1) country code for the country associated with the billing phone number.
    
    
      <div>
        <span>✗ minFraud Score</span>
        <span>✓ minFraud Insights</span>
        <span>✓ minFraud Factors</span>
      </div>
    
  </td>
</tr>


  <tr>
  <td>
    <code>network_operator</code>
  </td>
  <td>
    string
  </td>
  <td>
    The name of the original network operator associated with the billing phone number. This field does not reflect phone numbers that have been ported from the original operator to another, nor does it identify [mobile virtual network operators](https://en.wikipedia.org/wiki/Mobile%5Fvirtual%5Fnetwork%5Foperator).
    
    
      <div>
        <span>✗ minFraud Score</span>
        <span>✓ minFraud Insights</span>
        <span>✓ minFraud Factors</span>
      </div>
    
  </td>
</tr>


  <tr>
  <td>
    <code>number_type</code>
  </td>
  <td>
    string
  </td>
  <td>
    One of the following values: <code>fixed</code> or <code>mobile</code>. Additional values may be added in the future.
    
    
      <div>
        <span>✗ minFraud Score</span>
        <span>✓ minFraud Insights</span>
        <span>✓ minFraud Factors</span>
      </div>
    
  </td>
</tr>


  <tr>
  <td>
    <code>is_voip</code>
  </td>
  <td>
    boolean
  </td>
  <td>
    This is <code>true</code> if the billing phone number is a Voice over Internet Protocol (VoIP) number allocated by a regulator. It is <code>false</code> if the billing phone number is not a VoIP number allocated by a regulator. The key is only present when a valid billing phone number has been provided and we have data for it.
    
    
      <div>
        <span>✗ minFraud Score</span>
        <span>✓ minFraud Insights</span>
        <span>✓ minFraud Factors</span>
      </div>
    
  </td>
</tr>


  <tr>
  <td>
    <code>matches_postal</code>
  </td>
  <td>
    boolean
  </td>
  <td>
    This field is <code>true</code> if the phone number&rsquo;s prefix is commonly associated with the billing postal code. It is <code>false</code> if the prefix is not associated with the postal code. This key is only present when the phone number is in the US, the number prefix is in our database, and the postal code and country are provided in the request.
    
    
      <div>
        <span>✗ minFraud Score</span>
        <span>✓ minFraud Insights</span>
        <span>✓ minFraud Factors</span>
      </div>
    
  </td>
</tr>


</tbody>
</table>

<!-- prettier-ignore-end -->

### Disposition



This object contains information about how a request was handled by the custom
rules you have defined. If your account does not have any custom rules defined,
then this object will not be present in the response.

[Learn about custom rules and dispositions on our Knowledge Base.](https://support.maxmind.com/knowledge-base/articles/use-custom-rules-and-dispositions-minfraud-maxmind)

```json
{
  "action": "accept",
  "reason": "custom_rule",
  "rule_label": "my_custom_rule"
}
```

<!-- prettier-ignore-start -->

<table>
  <thead>
    <tr>
      <th>Key</th>
      <th>Value Type</th>
      <th>Description</th>
    </tr>
  </thead>
  <tbody>

  <tr>
  <td>
    <code>action</code>
  </td>
  <td>
    string
  </td>
  <td>
    <p>This describes how the request was handled. The valid values are:</p>
<table>
	<thead>
			<tr>
					<th>Action</th>
					<th>Explanation</th>
			</tr>
	</thead>
	<tbody>
			<tr>
					<td><code>accept</code></td>
					<td>This is the default value that is used if none of your custom rules match the request.</td>
			</tr>
			<tr>
					<td><code>reject</code></td>
					<td></td>
			</tr>
			<tr>
					<td><code>manual_review</code></td>
					<td></td>
			</tr>
			<tr>
					<td><code>test</code></td>
					<td>This value can be used to test custom rules.</td>
			</tr>
	</tbody>
</table>
    
      <p>
        <em>format: enum</em>
      </p>
    
    
      <div>
        <span>✓ minFraud Score</span>
        <span>✓ minFraud Insights</span>
        <span>✓ minFraud Factors</span>
      </div>
    
  </td>
</tr>

  <tr>
  <td>
    <code>reason</code>
  </td>
  <td>
    string
  </td>
  <td>
    <p>This describes why the <code>action</code> was set to a particular value. The valid values are:</p>
<table>
	<thead>
			<tr>
					<th>Reason</th>
					<th>Explanation</th>
			</tr>
	</thead>
	<tbody>
			<tr>
					<td><code>default</code></td>
					<td>No custom rules matched the request.</td>
			</tr>
			<tr>
					<td><code>custom_rule</code></td>
					<td>A custom rule was applied and set the action.</td>
			</tr>
	</tbody>
</table>
    
      <p>
        <em>format: enum</em>
      </p>
    
    
      <div>
        <span>✓ minFraud Score</span>
        <span>✓ minFraud Insights</span>
        <span>✓ minFraud Factors</span>
      </div>
    
  </td>
</tr>

  <tr>
  <td>
    <code>rule_label</code>
  </td>
  <td>
    string
  </td>
  <td>
    The custom rule that was triggered. If you do not have custom rules set up, the triggered custom rule does not have a label, or no custom rule was triggered, the field will not be included in the response.
    
    
      <div>
        <span>✓ minFraud Score</span>
        <span>✓ minFraud Insights</span>
        <span>✓ minFraud Factors</span>
      </div>
    
  </td>
</tr>


</tbody>
</table>

<!-- prettier-ignore-end -->

### Risk Score Reasons



This array contains risk score reason objects. Risk score reasons are usually
only returned for medium to high risk transactions. If there were no significant
changes to the risk score due to these reasons, then this array will not be
present in the response.

```json
[
  {
    "multiplier": 45,
    "reasons": [
      {
        "code": "ANONYMOUS_IP",
        "reason": "The Anonymous IP address raised the overall risk score"
      },
      {
        "code": "IP_ISSUER_ID_NUMBER_VELOCITY",
        "reason": "The number of distinct Issuer ID Numbers found in the velocity check on IP address raised the overall risk score"
      }
    ]
  },
  {
    "multiplier": 1.6,
    "reasons": [
      {
        "code": "ORG_DISTANCE_RISK",
        "reason": "The risk of the ISP combined with the distance between the billing address and IP address location raised the overall risk score"
      }
    ]
  },
  {
    "multiplier": 0.34,
    "reasons": [
      {
        "code": "PHONE_ACTIVITY",
        "reason": "minFraud network activity of the phone number lowered the overall risk score"
      }
    ]
  }
]
```

<!-- prettier-ignore-start -->

<table>
  <thead>
    <tr>
      <th>Key</th>
      <th>Value Type</th>
      <th>Description</th>
    </tr>
  </thead>
  <tbody>
  <tr>
  <td>
    <code>multiplier</code>
  </td>
  <td>
    decimal
  </td>
  <td>
    The factor by which the risk score is increased (if the value is greater than 1) or decreased (if the value is less than 1) for given risk reason(s). Multipliers representing a significant percentage increase or decrease in the risk score lead to risk reason(s) being present.
    
      <p>
        <em>min: 0.01, max: 100</em>
      </p>
    
    
      <div>
        <span>✗ minFraud Score</span>
        <span>✗ minFraud Insights</span>
        <span>✓ minFraud Factors</span>
      </div>
    
  </td>
</tr>


  <tr>
  <td>
    <code>reasons</code>
  </td>
  <td>
    array
  </td>
  <td>
    This array contains objects that describe one of the reasons for the multiplier.
    
    
      <div>
        <span>✗ minFraud Score</span>
        <span>✗ minFraud Insights</span>
        <span>✓ minFraud Factors</span>
      </div>
    
  </td>
</tr>


  <tr>
  <td>
    <code>code</code>
  </td>
  <td>
    string
  </td>
  <td>
    <p>A machine-readable code identifying the risk reason. Examples listed below. Although more codes may be added in the future, a list of current codes may be provided on request.</p>
<table>
	<thead>
			<tr>
					<th>Code</th>
			</tr>
	</thead>
	<tbody>
			<tr>
					<td>ANONYMOUS_IP</td>
			</tr>
			<tr>
					<td>COUNTRY</td>
			</tr>
			<tr>
					<td>ORG_DISTANCE_RISK</td>
			</tr>
	</tbody>
</table>
    
      <p>
        <em>format: enum, max length: 255</em>
      </p>
    
    
      <div>
        <span>✗ minFraud Score</span>
        <span>✗ minFraud Insights</span>
        <span>✓ minFraud Factors</span>
      </div>
    
  </td>
</tr>


  <tr>
  <td>
    <code>reason</code>
  </td>
  <td>
    string
  </td>
  <td>
    <p>The human-readable description of the risk reason and its effect on the overall risk score.
The explanation text may change at any time and should not be matched against.</p>
<table>
	<thead>
			<tr>
					<th>Code</th>
					<th>Reason</th>
			</tr>
	</thead>
	<tbody>
			<tr>
					<td>ANONYMOUS_IP</td>
					<td>The Anonymous IP address raised the overall risk score</td>
			</tr>
			<tr>
					<td>COUNTRY</td>
					<td>The country associated with the request lowered the overall risk score</td>
			</tr>
			<tr>
					<td>ORG_DISTANCE_RISK</td>
					<td>The risk of the ISP combined with the distance between the billing address and IP address location raised the overall risk score</td>
			</tr>
	</tbody>
</table>
    
    
      <div>
        <span>✗ minFraud Score</span>
        <span>✗ minFraud Insights</span>
        <span>✓ minFraud Factors</span>
      </div>
    
  </td>
</tr>

</tbody>
</table>

<!-- prettier-ignore-end -->

### Warnings



This array contains warning objects detailing issues with the request that was
sent, such as invalid or unknown inputs. It is highly recommended that you check
this array for issues when integrating the web service.

```json
[
  {
    "code": "INPUT_INVALID",
    "input_pointer": "/shipping/city",
    "warning": "Encountered value at /shipping/city that does not meet the required constraints"
  }
]
```

<!-- prettier-ignore-start -->

<table>
  <thead>
    <tr>
      <th>Key</th>
      <th>Value Type</th>
      <th>Description</th>
    </tr>
  </thead>
  <tbody>

  <tr>
  <td>
    <code>code</code>
  </td>
  <td>
    string
  </td>
  <td>
    <p>This value is a machine-readable code identifying the warning. Although more codes may be added in the future, the current codes are:</p>
<table>
	<thead>
			<tr>
					<th>Code</th>
					<th>Description</th>
			</tr>
	</thead>
	<tbody>
			<tr>
					<td><code>BILLING_CITY_NOT_FOUND</code></td>
					<td>The billing city could not be found in our database. This may impact our ability to provide accurate distance calculations.</td>
			</tr>
			<tr>
					<td><code>BILLING_COUNTRY_MISSING</code></td>
					<td>Billing address information was provided without providing a billing country. This may impact our ability to provide accurate distance calculations.</td>
			</tr>
			<tr>
					<td><code>BILLING_COUNTRY_NOT_FOUND</code></td>
					<td>The billing country could not be found in our database. This may impact our ability to provide accurate distance calculations.</td>
			</tr>
			<tr>
					<td><code>BILLING_POSTAL_NOT_FOUND</code></td>
					<td>The billing postal code could not be found in our database. This may impact our ability to provide accurate distance calculations.</td>
			</tr>
			<tr>
					<td><code>BILLING_REGION_NOT_FOUND</code></td>
					<td>The billing region could not be found in our database. This may impact our ability to provide accurate distance calculations.</td>
			</tr>
			<tr>
					<td><code>EMAIL_ADDRESS_UNUSABLE</code></td>
					<td>The email address entered is likely incorrect due to an integration issue. To avoid false positives, it has not been used in scoring. Check how you are passing your [email address inputs](/minfraud/api-documentation/requests#schema--request--email).</td>
			</tr>
			<tr>
					<td><code>INPUT_INVALID</code></td>
					<td>The value associated with the key does not meet the required constraints, e.g., &ldquo;United States&rdquo; in a field that requires a two-letter country code.</td>
			</tr>
			<tr>
					<td><code>INPUT_UNKNOWN</code></td>
					<td>An unknown key was encountered in the request body.</td>
			</tr>
			<tr>
					<td><code>IP_ADDRESS_INVALID</code></td>
					<td>The IP address supplied is not a valid IPv4 or IPv6 address.</td>
			</tr>
			<tr>
					<td><code>IP_ADDRESS_NOT_FOUND</code></td>
					<td>The IP address could not be geolocated.</td>
			</tr>
			<tr>
					<td><code>IP_ADDRESS_RESERVED</code></td>
					<td>The IP address supplied is in a reserved network.</td>
			</tr>
			<tr>
					<td><code>SHIPPING_CITY_NOT_FOUND</code></td>
					<td>The shipping city could not be found in our database. This may impact our ability to provide accurate distance calculations.</td>
			</tr>
			<tr>
					<td><code>SHIPPING_COUNTRY_MISSING</code></td>
					<td>Shipping address information was provided without providing a shipping country. This may impact our ability to provide accurate distance calculations.</td>
			</tr>
			<tr>
					<td><code>SHIPPING_COUNTRY_NOT_FOUND</code></td>
					<td>The shipping country could not be found in our database. This may impact our ability to provide accurate distance calculations.</td>
			</tr>
			<tr>
					<td><code>SHIPPING_POSTAL_NOT_FOUND</code></td>
					<td>The shipping postal code could not be found in our database. This may impact our ability to provide accurate distance calculations.</td>
			</tr>
			<tr>
					<td><code>SHIPPING_REGION_NOT_FOUND</code></td>
					<td>The shipping region could not be found in our database. This may impact our ability to provide accurate distance calculations.</td>
			</tr>
			<tr>
					<td><code>TRACKING_TOKEN_INVALID</code></td>
					<td>The tracking token provided was invalid or malformed.</td>
			</tr>
			<tr>
					<td><code>TRACKING_TOKEN_NOT_FOUND</code></td>
					<td>The tracking token provided was not found in our system.</td>
			</tr>
	</tbody>
</table>
    
      <p>
        <em>max length: 255</em>
      </p>
    
    
      <div>
        <span>✓ minFraud Score</span>
        <span>✓ minFraud Insights</span>
        <span>✓ minFraud Factors</span>
      </div>
    
  </td>
</tr>


  <tr>
  <td>
    <code>warning</code>
  </td>
  <td>
    string
  </td>
  <td>
    This field provides a human-readable explanation of the warning. The description may change at any time and should not be matched against.
    
    
      <div>
        <span>✓ minFraud Score</span>
        <span>✓ minFraud Insights</span>
        <span>✓ minFraud Factors</span>
      </div>
    
  </td>
</tr>



  <tr>
  <td>
    <code>input_pointer</code>
  </td>
  <td>
    string
  </td>
  <td>
    A [JSON Pointer](https://datatracker.ietf.org/doc/html/rfc6901) to the input field that the warning is associated with. For instance, if the warning was about the billing city, this would be <code>/billing/city</code>. If it was for the price in the second shopping cart item, it would be <code>/shopping_cart/1/price</code>.
    
      <p>
        <em>format: json pointer</em>
      </p>
    
    
      <div>
        <span>✓ minFraud Score</span>
        <span>✓ minFraud Insights</span>
        <span>✓ minFraud Factors</span>
      </div>
    
  </td>
</tr>


</tbody>
</table>

<!-- prettier-ignore-end -->

## Example Response Bodies

The examples show available fields using illustrative values. They do not
describe a single real transaction.

Each service returns data as a JSON document. The document that is returned
always consists of an object (aka map or hash). Below are full examples of the
JSON body document for the minFraud Score, minFraud Insights, and minFraud
Factors services, and a full example of the JSON body document for an error.

### minFraud Score Body Example

```json
{
  "disposition": {
    "action": "accept",
    "reason": "custom_rule",
    "rule_label": "my_custom_rule"
  },
  "funds_remaining": 25,
  "id": "5bc5d6c2-b2c8-40af-87f4-6d61af86b6ae",
  "ip_address": {
    "risk": 0.01
  },
  "queries_remaining": 5000,
  "risk_score": 0.01,
  "warnings": [
    {
      "code": "INPUT_INVALID",
      "input_pointer": "/shipping/city",
      "warning": "Encountered value at /shipping/city that does not meet the required constraints"
    }
  ]
}
```

### minFraud Insights Body Example

```json
{
  "disposition": {
    "action": "accept",
    "reason": "custom_rule",
    "rule_label": "my_custom_rule"
  },
  "funds_remaining": 25,
  "id": "5bc5d6c2-b2c8-40af-87f4-6d61af86b6ae",
  "ip_address": {
    "risk": 0.01,
    "anonymizer": {
      "confidence": 99,
      "is_anonymous": true,
      "is_anonymous_vpn": true,
      "is_hosting_provider": true,
      "is_public_proxy": true,
      "is_residential_proxy": true,
      "is_tor_exit_node": true,
      "network_last_seen": "2025-01-15",
      "provider_name": "nordvpn",
      "residential": {
        "confidence": 82,
        "network_last_seen": "2026-05-11",
        "provider_name": "quickshift"
      }
    },
    "city": {
      "confidence": 25,
      "geoname_id": 54321,
      "names": {
        "de": "Los Angeles",
        "en": "Los Angeles",
        "es": "Los Ángeles",
        "fr": "Los Angeles",
        "ja": "ロサンゼルス市",
        "pt-BR": "Los Angeles",
        "ru": "Лос-Анджелес",
        "zh-CN": "洛杉矶"
      }
    },
    "continent": {
      "code": "NA",
      "geoname_id": 123456,
      "names": {
        "de": "Nordamerika",
        "en": "North America",
        "es": "América del Norte",
        "fr": "Amérique du Nord",
        "ja": "北アメリカ",
        "pt-BR": "América do Norte",
        "ru": "Северная Америка",
        "zh-CN": "北美洲"
      }
    },
    "country": {
      "confidence": 75,
      "geoname_id": 6252001,
      "is_in_european_union": true,
      "iso_code": "US",
      "names": {
        "de": "USA",
        "en": "United States",
        "es": "Estados Unidos",
        "fr": "États-Unis",
        "ja": "アメリカ合衆国",
        "pt-BR": "Estados Unidos",
        "ru": "США",
        "zh-CN": "美国"
      }
    },
    "location": {
      "accuracy_radius": 20,
      "average_income": 50321,
      "latitude": 37.6293,
      "local_time": "2015-04-26T01:37:17-08:00",
      "longitude": -122.1163,
      "metro_code": 807,
      "population_density": 7122,
      "time_zone": "America/Los_Angeles"
    },
    "postal": {
      "code": "90001",
      "confidence": 10
    },
    "registered_country": {
      "geoname_id": 6252001,
      "is_in_european_union": true,
      "iso_code": "US",
      "names": {
        "de": "USA",
        "en": "United States",
        "es": "Estados Unidos",
        "fr": "États-Unis",
        "ja": "アメリカ合衆国",
        "pt-BR": "Estados Unidos",
        "ru": "США",
        "zh-CN": "美国"
      }
    },
    "represented_country": {
      "geoname_id": 6252001,
      "is_in_european_union": true,
      "iso_code": "US",
      "names": {
        "de": "USA",
        "en": "United States",
        "es": "Estados Unidos",
        "fr": "États-Unis",
        "ja": "アメリカ合衆国",
        "pt-BR": "Estados Unidos",
        "ru": "США",
        "zh-CN": "美国"
      },
      "type": "military"
    },
    "risk_reasons": [
      {
        "code": "ANONYMOUS_IP",
        "reason": "The IP address belongs to an anonymous network."
      },
      {
        "code": "MINFRAUD_NETWORK_ACTIVITY",
        "reason": "Suspicious activity has been seen on this IP address across minFraud customers."
      }
    ],
    "subdivisions": [
      {
        "confidence": 50,
        "geoname_id": 5332921,
        "iso_code": "CA",
        "names": {
          "de": "Kalifornien",
          "en": "California",
          "es": "California",
          "fr": "Californie",
          "ja": "カリフォルニア",
          "ru": "Калифорния",
          "zh-CN": "加州"
        }
      }
    ],
    "traits": {
      "autonomous_system_number": 1239,
      "autonomous_system_organization": "Linkem IR WiMax Network",
      "connection_type": "Cable/DSL",
      "domain": "example.com",
      "ip_address": "1.2.3.4",
      "ip_risk_snapshot": 45.5,
      "is_anonymous": true,
      "is_anonymous_vpn": true,
      "is_anycast": true,
      "is_hosting_provider": true,
      "is_public_proxy": true,
      "is_residential_proxy": true,
      "is_tor_exit_node": true,
      "isp": "Linkem spa",
      "mobile_country_code": "310",
      "mobile_network_code": "004",
      "network": "1.2.3.0/24",
      "organization": "Linkem IR WiMax Network",
      "static_ip_score": 1.5,
      "user_count": 1,
      "user_type": "traveler"
    }
  },
  "queries_remaining": 5000,
  "risk_score": 0.01,
  "warnings": [
    {
      "code": "INPUT_INVALID",
      "input_pointer": "/shipping/city",
      "warning": "Encountered value at /shipping/city that does not meet the required constraints"
    }
  ],
  "billing_address": {
    "distance_to_ip_location": 100,
    "is_in_ip_country": true,
    "is_postal_in_city": true,
    "latitude": 37.545,
    "longitude": -122.421
  },
  "billing_phone": {
    "country": "US",
    "is_voip": true,
    "matches_postal": true,
    "network_operator": "Verizon/1",
    "number_type": "fixed"
  },
  "credit_card": {
    "brand": "Visa",
    "country": "US",
    "is_business": true,
    "is_issued_in_billing_address_country": true,
    "is_prepaid": true,
    "is_virtual": true,
    "issuer": {
      "matches_provided_name": true,
      "matches_provided_phone_number": true,
      "name": "Bank of America",
      "phone_number": "800-732-9194"
    },
    "type": "credit"
  },
  "device": {
    "confidence": 99,
    "id": "7835b099-d385-4e5b-969e-7df26181d73b",
    "last_seen": "2016-06-08T14:16:38Z",
    "local_time": "2018-01-02T10:40:11-08:00"
  },
  "email": {
    "domain": {
      "classification": "business",
      "first_seen": "2019-01-20",
      "risk": 1.23,
      "visit": {
        "has_redirect": true,
        "last_visited_on": "2025-11-15",
        "status": "live"
      },
      "volume": 6.5
    },
    "first_seen": "2016-02-03",
    "is_disposable": false,
    "is_free": false,
    "is_high_risk": true
  },
  "shipping_address": {
    "distance_to_billing_address": 22,
    "distance_to_ip_location": 15,
    "is_high_risk": true,
    "is_in_ip_country": true,
    "is_postal_in_city": true,
    "latitude": 37.632,
    "longitude": -122.313
  },
  "shipping_phone": {
    "country": "CA",
    "is_voip": true,
    "matches_postal": true,
    "network_operator": "Telus Mobility-SVR/2",
    "number_type": "mobile"
  }
}
```

### minFraud Factors Body Example

```json
{
  "disposition": {
    "action": "accept",
    "reason": "custom_rule",
    "rule_label": "my_custom_rule"
  },
  "funds_remaining": 25,
  "id": "5bc5d6c2-b2c8-40af-87f4-6d61af86b6ae",
  "ip_address": {
    "risk": 0.01,
    "anonymizer": {
      "confidence": 99,
      "is_anonymous": true,
      "is_anonymous_vpn": true,
      "is_hosting_provider": true,
      "is_public_proxy": true,
      "is_residential_proxy": true,
      "is_tor_exit_node": true,
      "network_last_seen": "2025-01-15",
      "provider_name": "nordvpn",
      "residential": {
        "confidence": 82,
        "network_last_seen": "2026-05-11",
        "provider_name": "quickshift"
      }
    },
    "city": {
      "confidence": 25,
      "geoname_id": 54321,
      "names": {
        "de": "Los Angeles",
        "en": "Los Angeles",
        "es": "Los Ángeles",
        "fr": "Los Angeles",
        "ja": "ロサンゼルス市",
        "pt-BR": "Los Angeles",
        "ru": "Лос-Анджелес",
        "zh-CN": "洛杉矶"
      }
    },
    "continent": {
      "code": "NA",
      "geoname_id": 123456,
      "names": {
        "de": "Nordamerika",
        "en": "North America",
        "es": "América del Norte",
        "fr": "Amérique du Nord",
        "ja": "北アメリカ",
        "pt-BR": "América do Norte",
        "ru": "Северная Америка",
        "zh-CN": "北美洲"
      }
    },
    "country": {
      "confidence": 75,
      "geoname_id": 6252001,
      "is_in_european_union": true,
      "iso_code": "US",
      "names": {
        "de": "USA",
        "en": "United States",
        "es": "Estados Unidos",
        "fr": "États-Unis",
        "ja": "アメリカ合衆国",
        "pt-BR": "Estados Unidos",
        "ru": "США",
        "zh-CN": "美国"
      }
    },
    "location": {
      "accuracy_radius": 20,
      "average_income": 50321,
      "latitude": 37.6293,
      "local_time": "2015-04-26T01:37:17-08:00",
      "longitude": -122.1163,
      "metro_code": 807,
      "population_density": 7122,
      "time_zone": "America/Los_Angeles"
    },
    "postal": {
      "code": "90001",
      "confidence": 10
    },
    "registered_country": {
      "geoname_id": 6252001,
      "is_in_european_union": true,
      "iso_code": "US",
      "names": {
        "de": "USA",
        "en": "United States",
        "es": "Estados Unidos",
        "fr": "États-Unis",
        "ja": "アメリカ合衆国",
        "pt-BR": "Estados Unidos",
        "ru": "США",
        "zh-CN": "美国"
      }
    },
    "represented_country": {
      "geoname_id": 6252001,
      "is_in_european_union": true,
      "iso_code": "US",
      "names": {
        "de": "USA",
        "en": "United States",
        "es": "Estados Unidos",
        "fr": "États-Unis",
        "ja": "アメリカ合衆国",
        "pt-BR": "Estados Unidos",
        "ru": "США",
        "zh-CN": "美国"
      },
      "type": "military"
    },
    "risk_reasons": [
      {
        "code": "ANONYMOUS_IP",
        "reason": "The IP address belongs to an anonymous network."
      },
      {
        "code": "MINFRAUD_NETWORK_ACTIVITY",
        "reason": "Suspicious activity has been seen on this IP address across minFraud customers."
      }
    ],
    "subdivisions": [
      {
        "confidence": 50,
        "geoname_id": 5332921,
        "iso_code": "CA",
        "names": {
          "de": "Kalifornien",
          "en": "California",
          "es": "California",
          "fr": "Californie",
          "ja": "カリフォルニア",
          "ru": "Калифорния",
          "zh-CN": "加州"
        }
      }
    ],
    "traits": {
      "autonomous_system_number": 1239,
      "autonomous_system_organization": "Linkem IR WiMax Network",
      "connection_type": "Cable/DSL",
      "domain": "example.com",
      "ip_address": "1.2.3.4",
      "ip_risk_snapshot": 45.5,
      "is_anonymous": true,
      "is_anonymous_vpn": true,
      "is_anycast": true,
      "is_hosting_provider": true,
      "is_public_proxy": true,
      "is_residential_proxy": true,
      "is_tor_exit_node": true,
      "isp": "Linkem spa",
      "mobile_country_code": "310",
      "mobile_network_code": "004",
      "network": "1.2.3.0/24",
      "organization": "Linkem IR WiMax Network",
      "static_ip_score": 1.5,
      "user_count": 1,
      "user_type": "traveler"
    }
  },
  "queries_remaining": 5000,
  "risk_score": 0.01,
  "warnings": [
    {
      "code": "INPUT_INVALID",
      "input_pointer": "/shipping/city",
      "warning": "Encountered value at /shipping/city that does not meet the required constraints"
    }
  ],
  "billing_address": {
    "distance_to_ip_location": 100,
    "is_in_ip_country": true,
    "is_postal_in_city": true,
    "latitude": 37.545,
    "longitude": -122.421
  },
  "billing_phone": {
    "country": "US",
    "is_voip": true,
    "matches_postal": true,
    "network_operator": "Verizon/1",
    "number_type": "fixed"
  },
  "credit_card": {
    "brand": "Visa",
    "country": "US",
    "is_business": true,
    "is_issued_in_billing_address_country": true,
    "is_prepaid": true,
    "is_virtual": true,
    "issuer": {
      "matches_provided_name": true,
      "matches_provided_phone_number": true,
      "name": "Bank of America",
      "phone_number": "800-732-9194"
    },
    "type": "credit"
  },
  "device": {
    "confidence": 99,
    "id": "7835b099-d385-4e5b-969e-7df26181d73b",
    "last_seen": "2016-06-08T14:16:38Z",
    "local_time": "2018-01-02T10:40:11-08:00"
  },
  "email": {
    "domain": {
      "classification": "business",
      "first_seen": "2019-01-20",
      "risk": 1.23,
      "visit": {
        "has_redirect": true,
        "last_visited_on": "2025-11-15",
        "status": "live"
      },
      "volume": 6.5
    },
    "first_seen": "2016-02-03",
    "is_disposable": false,
    "is_free": false,
    "is_high_risk": true
  },
  "shipping_address": {
    "distance_to_billing_address": 22,
    "distance_to_ip_location": 15,
    "is_high_risk": true,
    "is_in_ip_country": true,
    "is_postal_in_city": true,
    "latitude": 37.632,
    "longitude": -122.313
  },
  "shipping_phone": {
    "country": "CA",
    "is_voip": true,
    "matches_postal": true,
    "network_operator": "Telus Mobility-SVR/2",
    "number_type": "mobile"
  },
  "risk_score_reasons": [
    {
      "multiplier": 45,
      "reasons": [
        {
          "code": "ANONYMOUS_IP",
          "reason": "The Anonymous IP address raised the overall risk score"
        }
      ]
    },
    {
      "multiplier": 1.6,
      "reasons": [
        {
          "code": "ORG_DISTANCE_RISK",
          "reason": "The risk of the ISP combined with the distance between the billing address and IP address location raised the overall risk score"
        }
      ]
    },
    {
      "multiplier": 0.34,
      "reasons": [
        {
          "code": "PHONE_ACTIVITY",
          "reason": "minFraud network activity of the phone number lowered the overall risk score"
        }
      ]
    }
  ]
}
```

### Error Body Example

```json
{
  "code": "INSUFFICIENT_FUNDS",
  "error": "You do not have sufficient funds to use this service."
}
```
