
## Authorization and Security

The HTTP `Authorization` header is required for authorization. The username is
your
[MaxMind account ID](https://www.maxmind.com/en/accounts/current/license-key).
The password is your
[MaxMind license key](https://www.maxmind.com/en/accounts/current/license-key).

> **⚠️ Warning**
> 
 You must be approved for a trial or purchase credit for
use with our web services in order to receive an account ID and license key.


We use
[basic HTTP authentication](https://en.wikipedia.org/wiki/Basic_access_authentication).
The APIs which require authentication are only available via HTTPS. Always use
HTTPS, so that your credentials are never transmitted unencrypted. If you
attempt to access this service via HTTP, you will receive a `403 Forbidden` HTTP
response.

We require TLS 1.2 or greater for all requests to our servers to keep your data
secure.

## Service Endpoints

The endpoint for each service is as specified below.

| Service  | HTTP Method | Endpoint                                              |
| -------- | ----------- | ----------------------------------------------------- |
| Score    | `POST`      | `https://minfraud.maxmind.com/minfraud/v2.0/score`    |
| Insights | `POST`      | `https://minfraud.maxmind.com/minfraud/v2.0/insights` |
| Factors  | `POST`      | `https://minfraud.maxmind.com/minfraud/v2.0/factors`  |

The **minfraud.maxmind.com** hostname automatically picks the data center
geographically closest to you.

## Headers

The `Authorization` header is always required. See
[Authorization and Security](#authorization-and-security) for more details.

The `Accept` and `Accept-Charset` headers are optional. The service ignores them
and always returns JSON encoded as UTF-8.

## Request Body

Currently minFraud Score, minFraud Insights, and minFraud Factors use the same
request document format. The request consists of a JSON object with one or more
of the fields shown below. Each key in the top-level object maps to an object or
array as described below. New fields that apply to one or more services may be
added in the future.

String fields are limited to no more than 255 valid Unicode characters unless a
different length is specified; the null and newline characters are forbidden. Of
course, many fields also have additional constraints that limit the length. For
example, the `ip_address` field cannot be longer than the longest valid
representation of an IPv6 address. Unless it must match a specific format, it is
valid for a string field to be empty.

Boolean fields must be provided as JSON `true` or `false`.

Unless otherwise specified, if the value meets the requirements for the field,
then it will not be modified. Beyond field-specific exceptions, an exception to
this is if the value is provided as a type different from what we require. In
such cases we convert it to the required type if possible. For example, if you
provide a string field as a number, then it will be converted to a string, and
vice versa. This conversion happens only between numbers and strings.

The entire request body is limited to 20,000 bytes. Requests larger than this
size will be rejected.

```json
{
  "account": {
    "user_id": "3132",
    "username_md5": "570a90bfbf8c7eab5dc5d4e26832d5b1"
  },
  "billing": {
    "address": "400 Blake St.",
    "address_2": "Suite 5",
    "city": "New Haven",
    "company": "Big Corp.",
    "country": "US",
    "first_name": "John",
    "last_name": "Doe",
    "phone_country_code": "1",
    "phone_number": "203-000-0000",
    "postal": "06511",
    "region": "CT"
  },
  "credit_card": {
    "avs_result": "Y",
    "bank_name": "Bank of America",
    "bank_phone_country_code": "1",
    "bank_phone_number": "800-342-1232",
    "country": "US",
    "cvv_result": "N",
    "issuer_id_number": "323132",
    "last_digits": "7643",
    "token": "OQRST14PLQ98323",
    "was_3d_secure_successful": true
  },
  "custom_inputs": {
    "a_custom_input_key": "NSC0083121",
    "another_custom_input_key": false
  },
  "device": {
    "accept_language": "en-US,en;q=0.8",
    "ip_address": "2001:db8::ff00:42:8329",
    "session_age": 3600.5,
    "session_id": "c2ffa1b7-f5c5-4702-beb2-4254794fe391",
    "user_agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.89 Safari/537.36"
  },
  "email": {
    "address": "977577b140bfb7c516e4746204fbdb01",
    "domain": "maxmind.com"
  },
  "event": {
    "party": "customer",
    "shop_id": "s2123",
    "transaction_id": "txn3134133",
    "type": "purchase"
  },
  "order": {
    "affiliate_id": "af12",
    "amount": 323.21,
    "currency": "USD",
    "discount_code": "FIRST",
    "has_gift_message": false,
    "is_gift": true,
    "referrer_uri": "http://www.google.com/",
    "subaffiliate_id": "saf42"
  },
  "payment": {
    "decline_code": "card_declined",
    "method": "card",
    "processor": "stripe",
    "was_authorized": false
  },
  "shipping": {
    "address": "82 Wall St.",
    "address_2": "#1",
    "city": "New Haven",
    "company": "Smaller, Inc.",
    "country": "US",
    "delivery_speed": "same_day",
    "first_name": "Jane",
    "last_name": "Doe",
    "phone_country_code": "1",
    "phone_number": "203-000-0000",
    "postal": "06515",
    "region": "CT"
  },
  "shopping_cart": [
    {
      "category": "pets",
      "item_id": "ad23232",
      "price": 20.43,
      "quantity": 2
    },
    {
      "category": "beauty",
      "item_id": "bst112",
      "price": 100,
      "quantity": 1
    }
  ]
}
```

### Device



`device` is a JSON object that contains information about the device used in the
transaction.

```json
{
  "accept_language": "en-US,en;q=0.8",
  "ip_address": "2001:db8::ff00:42:8329",
  "session_age": 3600.5,
  "session_id": "c2ffa1b7-f5c5-4702-beb2-4254794fe391",
  "tracking_token": "abc123...",
  "user_agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.89 Safari/537.36"
}
```

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

<table>
  <thead>
    <tr>
      <th>Key</th>
      <th>Value Type</th>
      <th>Description</th>
    </tr>
  </thead>
  <tbody>
  <tr>
  <td>
    <code>ip_address</code>
  </td>
  <td>
    string
  </td>
  <td>
    <p>The IP address associated with the device used by the customer in the transaction. The IP address must be in IPv4 or IPv6 presentation format, i.e., dotted-quad notation or the IPv6 hexadecimal-colon notation.</p>
<p>[Get tips for how to pass the /device/ip_address input on our Knowledge Base.](https://support.maxmind.com/knowledge-base/articles/device-inputs-minfraud#ip-address)</p>

    
      <p>
        <em>format: IPv4 or IPv6</em>
      </p>
    
    
  </td>
</tr>


  <tr>
  <td>
    <code>user_agent</code>
  </td>
  <td>
    string
  </td>
  <td>
    <p>The HTTP <code>User-Agent</code> header of the browser used in the transaction.</p>
<p>[Learn more about the /device/user_agent input on our Knowledge Base.](https://support.maxmind.com/knowledge-base/articles/device-inputs-minfraud#browser-information)</p>

    
      <p>
        <em>max length: 512</em>
      </p>
    
    
  </td>
</tr>


  <tr>
  <td>
    <code>accept_language</code>
  </td>
  <td>
    string
  </td>
  <td>
    <p>The HTTP <code>Accept-Language</code> header of the device used in the transaction.</p>
<p>[Learn more about the /device/accept_language input on our Knowledge Base.](https://support.maxmind.com/knowledge-base/articles/device-inputs-minfraud#browser-information)</p>

    
      <p>
        <em>max length: 255</em>
      </p>
    
    
  </td>
</tr>


  <tr>
  <td>
    <code>session_age</code>
  </td>
  <td>
    decimal
  </td>
  <td>
    <p>The number of seconds between the creation of the user&rsquo;s session and the time of the transaction. Note that <code>session_age</code> is not the duration of the current visit, but the time since the start of the first visit.</p>
<p>[Learn more about the /device/session_age input on our Knowledge Base.](https://support.maxmind.com/knowledge-base/articles/device-inputs-minfraud#session-information)</p>

    
      <p>
        <em>min: 0, max: 1e13-1</em>
      </p>
    
    
  </td>
</tr>


  <tr>
  <td>
    <code>session_id</code>
  </td>
  <td>
    string
  </td>
  <td>
    <p>An ID that uniquely identifies a visitor&rsquo;s session on the site.</p>
<p>[Learn more about the /device/session_id input on our Knowledge Base.](https://support.maxmind.com/knowledge-base/articles/device-inputs-minfraud#session-information)</p>

    
      <p>
        <em>max length: 255</em>
      </p>
    
    
  </td>
</tr>


  <tr>
  <td>
    <code>tracking_token</code>
  </td>
  <td>
    string
  </td>
  <td>
    <p>The token returned by the [Device Tracking Add-On](/minfraud/track-devices) client-side code, used for explicit device linking. When provided, this token enables high-confidence device matching that does not rely on the IP address alone.</p>
<p>[Learn more about explicit device linking on our device tracking page.](/minfraud/track-devices#explicit-device-linking)</p>

    
    
  </td>
</tr>

</tbody>
</table>

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

### Event



`event` is a JSON object that contains general information related to the event
being scored.

```json
{
  "party": "customer",
  "shop_id": "s2123",
  "transaction_id": "txn3134133",
  "type": "purchase"
}
```

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

<table>
  <thead>
    <tr>
      <th>Key</th>
      <th>Value Type</th>
      <th>Description</th>
    </tr>
  </thead>
  <tbody>
  <tr>
  <td>
    <code>transaction_id</code>
  </td>
  <td>
    string
  </td>
  <td>
    <p>Your internal ID for the transaction. We can use this to locate a specific transaction in our logs, and it will also show up in email alerts and notifications from us to you. No specific format is required.</p>
<p>[Learn more about the /event/transaction_id input on our Knowledge Base.](https://support.maxmind.com/knowledge-base/articles/event-and-account-inputs-minfraud#transactor-identifier)</p>

    
      <p>
        <em>max length: 255</em>
      </p>
    
    
  </td>
</tr>


  <tr>
  <td>
    <code>shop_id</code>
  </td>
  <td>
    string
  </td>
  <td>
    <p>Your internal ID for the shop, affiliate, or merchant this order is coming from. Required for minFraud users who are resellers, payment providers, gateways, and affiliate networks. No specific format is required. However, if you are testing the minFraud service, please add a <code>test</code> prefix to your shop ID (e.g. <code>testfoo23</code> or <code>test:foo23</code>) or set your shop ID to <code>test</code> if you don’t have a shop ID.</p>
<p>[Learn more about the /event/shop_id input on our Knowledge Base.](https://support.maxmind.com/knowledge-base/articles/event-and-account-inputs-minfraud#storefront-identifier)</p>

    
      <p>
        <em>max length: 255</em>
      </p>
    
    
  </td>
</tr>


  <tr>
  <td>
    <code>time</code>
  </td>
  <td>
    string
  </td>
  <td>
    <p>The date and time the event occurred. The string must be in the [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339) date-time format. The time must be within the past year. If this field is not in the request, the current time will be used.</p>
<p><strong>It is not recommended to use this input when scoring live transactions as they occur.</strong> However, it can be useful if you store transactions to be submitted to the service for scoring later.</p>
<p>Please note that you cannot submit times more than one year in the past. If you submit an event time more than one year in the past, the current time will be used to score the transaction, and a warning will be returned.</p>
<p>[Learn more about the /event/time input on our Knowledge Base.](https://support.maxmind.com/knowledge-base/articles/event-and-account-inputs-minfraud#transaction-time)</p>

    
    
  </td>
</tr>


  <tr>
  <td>
    <code>type</code>
  </td>
  <td>
    string
  </td>
  <td>
    <p>The type of event being scored. The valid types are:</p>
<table>
	<thead>
			<tr>
					<th>Transaction type</th>
					<th>Description</th>
			</tr>
	</thead>
	<tbody>
			<tr>
					<td><code>account_creation</code></td>
					<td>The transactor is attempting to create an account in your system.</td>
			</tr>
			<tr>
					<td><code>account_login</code></td>
					<td>The transactor is attempting to log in to an account in your system.</td>
			</tr>
			<tr>
					<td><code>credit_application</code></td>
					<td>The transactor is attempting to submit an application for credit.</td>
			</tr>
			<tr>
					<td><code>email_change</code></td>
					<td>The transactor is attempting to change the email address associated with their account in your system.</td>
			</tr>
			<tr>
					<td><code>fund_transfer</code></td>
					<td>The transactor is attempting to transfer funds from one account to another.</td>
			</tr>
			<tr>
					<td><code>password_reset</code></td>
					<td>The transactor is attempting to reset their password in your system.</td>
			</tr>
			<tr>
					<td><code>payout_change</code></td>
					<td>The transactor is attempting to change how they will be paid in your system. The transactor may be sending you referral traffic or completing surveys, but this transaction type can be used in any circumstance in which you pay your users, and they are attempting to change how they are paid.</td>
			</tr>
			<tr>
					<td><code>purchase</code></td>
					<td>The transactor is attempting to make a purchase.</td>
			</tr>
			<tr>
					<td><code>recurring_purchase</code></td>
					<td>The transactor is attempting to set up a recurring purchase or subscription.</td>
			</tr>
			<tr>
					<td><code>referral</code></td>
					<td>The transactor is sending you referral traffic, for example referring someone to an e-commerce site with an ad.</td>
			</tr>
			<tr>
					<td><code>sim_swap</code></td>
					<td>For mobile network operators. A new SIM card or eSIM is being issued to activate service on a customer&rsquo;s existing phone number.</td>
			</tr>
			<tr>
					<td><code>survey</code></td>
					<td>The transactor is attempting to begin or complete a survey.</td>
			</tr>
	</tbody>
</table>
<p>[Learn more about the /event/type input on our Knowledge Base.](https://support.maxmind.com/knowledge-base/articles/event-and-account-inputs-minfraud#transaction-identifier)</p>

    
      <p>
        <em>format: enum</em>
      </p>
    
    
  </td>
</tr>

  <tr>
  <td>
    <code>party</code>
  </td>
  <td>
    string
  </td>
  <td>
    <p>The party submitting this transaction. The valid values are:</p>
<ul>
<li><code>agent</code></li>
<li><code>customer</code></li>
</ul>
    
      <p>
        <em>format: enum</em>
      </p>
    
    
  </td>
</tr>

</tbody>
</table>

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

### Account



`account` is a JSON object that contains account information for the end-user on
the site where the event took place.

```json
{
  "user_id": "3132",
  "username_md5": "570a90bfbf8c7eab5dc5d4e26832d5b1"
}
```

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

<table>
  <thead>
    <tr>
      <th>Key</th>
      <th>Value Type</th>
      <th>Description</th>
    </tr>
  </thead>
  <tbody>
  <tr>
  <td>
    <code>user_id</code>
  </td>
  <td>
    string
  </td>
  <td>
    <p>A unique user ID associated with the end-user in your system. If your system allows the login name for the account to be changed, this should not be the login name for the account, but rather should be an internal ID that does not change. This is not your MaxMind account ID. No specific format is required.</p>
<p>[Learn more about the /account/user_id input on our Knowledge Base.](https://support.maxmind.com/knowledge-base/articles/event-and-account-inputs-minfraud#transactor-identifier)</p>

    
      <p>
        <em>max length: 255</em>
      </p>
    
    
  </td>
</tr>


  <tr>
  <td>
    <code>username_md5</code>
  </td>
  <td>
    string
  </td>
  <td>
    An MD5 hash as a hexadecimal string of the username or login name associated with the account.
    
      <p>
        <em>exactly 32 hexadecimal characters</em>
      </p>
    
    
  </td>
</tr>

</tbody>
</table>

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

### Email



`email` is a JSON object that contains information about the email address of
the end-user who initiated the event.

```json
{
  "address": "977577b140bfb7c516e4746204fbdb01",
  "domain": "maxmind.com"
}
```

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

<table>
  <thead>
    <tr>
      <th>Key</th>
      <th>Value Type</th>
      <th>Description</th>
    </tr>
  </thead>
  <tbody>
  <tr>
  <td>
    <code>address</code>
  </td>
  <td>
    string
  </td>
  <td>
    <p>This field must be either a valid email address or an MD5 of the email used in the transaction.</p>
<p>[Learn more about the /email/address input on our Knowledge Base.](https://support.maxmind.com/knowledge-base/articles/passing-email-inputs-minfraud)</p>

    
      <p>
        <em>max length: 255, type: Email or MD5 of Email</em>
      </p>
    
    
  </td>
</tr>


  <tr>
  <td>
    <code>domain</code>
  </td>
  <td>
    string
  </td>
  <td>
    <p>The domain of the email address used in the transaction. Do not include the <code>@</code> in this field.</p>
<p>You do not need to pass the email domain input unless you are passing the email address as an MD5 hash. [Learn more about hashed email inputs on our Knowledge Base.](https://support.maxmind.com/knowledge-base/articles/passing-email-inputs-minfraud#email-hashing)</p>

    
      <p>
        <em>max length: 255</em>
      </p>
    
    
  </td>
</tr>

</tbody>
</table>

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

### Billing



`billing` is a JSON object that contains the billing address and contact
information provided by the end-user who initiated the event.

[Learn more about the billing address inputs on our Knowledge Base.](https://support.maxmind.com/knowledge-base/articles/billing-and-shipping-inputs-minfraud#billing-address)

```json
{
  "address": "400 Blake St.",
  "address_2": "Suite 5",
  "city": "New Haven",
  "company": "Big Corp.",
  "country": "US",
  "first_name": "John",
  "last_name": "Doe",
  "phone_country_code": "1",
  "phone_number": "203-000-0000",
  "postal": "06511",
  "region": "CT"
}
```

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

<table>
  <thead>
    <tr>
      <th>Key</th>
      <th>Value Type</th>
      <th>Description</th>
    </tr>
  </thead>
  <tbody>
  <tr>
  <td>
    <code>first_name</code>
  </td>
  <td>
    string
  </td>
  <td>
    The first name of the end user as provided in their billing information.
    
      <p>
        <em>max length: 255</em>
      </p>
    
    
  </td>
</tr>


  <tr>
  <td>
    <code>last_name</code>
  </td>
  <td>
    string
  </td>
  <td>
    The last name of the end user as provided in their billing information.
    
      <p>
        <em>max length: 255</em>
      </p>
    
    
  </td>
</tr>


  <tr>
  <td>
    <code>company</code>
  </td>
  <td>
    string
  </td>
  <td>
    The company of the end user as provided in their billing information.
    
      <p>
        <em>max length: 255</em>
      </p>
    
    
  </td>
</tr>


  <tr>
  <td>
    <code>address</code>
  </td>
  <td>
    string
  </td>
  <td>
    The first line of the user&rsquo;s billing address.
    
      <p>
        <em>max length: 255</em>
      </p>
    
    
  </td>
</tr>


  <tr>
  <td>
    <code>address_2</code>
  </td>
  <td>
    string
  </td>
  <td>
    The second line of the user&rsquo;s billing address.
    
      <p>
        <em>max length: 255</em>
      </p>
    
    
  </td>
</tr>


  <tr>
  <td>
    <code>city</code>
  </td>
  <td>
    string
  </td>
  <td>
    The city of the user&rsquo;s billing address.
    
      <p>
        <em>max length: 255</em>
      </p>
    
    
  </td>
</tr>


  <tr>
  <td>
    <code>region</code>
  </td>
  <td>
    string
  </td>
  <td>
    The [ISO 3166-2 subdivision code](https://en.wikipedia.org/wiki/ISO%5F3166-2) for the user&rsquo;s billing address.
    
      <p>
        <em>1-4 uppercase letters or digits</em>
      </p>
    
    
  </td>
</tr>


  <tr>
  <td>
    <code>country</code>
  </td>
  <td>
    string
  </td>
  <td>
    The two-character [ISO 3166-1 alpha-2 country code](https://en.wikipedia.org/wiki/ISO%5F3166-1%5Falpha-2) of the user&rsquo;s billing address.
    
      <p>
        <em>max length: 2</em>
      </p>
    
    
  </td>
</tr>


  <tr>
  <td>
    <code>postal</code>
  </td>
  <td>
    string
  </td>
  <td>
    The postal code of the user&rsquo;s billing address.
    
      <p>
        <em>max length: 255</em>
      </p>
    
    
  </td>
</tr>


  <tr>
  <td>
    <code>phone_number</code>
  </td>
  <td>
    string
  </td>
  <td>
    The phone number without the country code for the user&rsquo;s billing address. Punctuation characters will be stripped. After stripping punctuation characters, the number must contain only digits.
    
      <p>
        <em>max length: 255</em>
      </p>
    
    
  </td>
</tr>


  <tr>
  <td>
    <code>phone_country_code</code>
  </td>
  <td>
    string
  </td>
  <td>
    The country code for the phone number associated with the user&rsquo;s billing
address. Use digits only; do not include a leading <code>+</code>.
    
      <p>
        <em>1-4 digits</em>
      </p>
    
    
  </td>
</tr>

</tbody>
</table>

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

### Shipping



`shipping` is a JSON object that contains the shipping address and contact
information provided by the end-user who initiated the event.

[Learn more about the shipping address inputs on our Knowledge Base.](https://support.maxmind.com/knowledge-base/articles/billing-and-shipping-inputs-minfraud#shipping-address)

```json
{
  "address": "82 Wall St.",
  "address_2": "#1",
  "city": "New Haven",
  "company": "Smaller, Inc.",
  "country": "US",
  "delivery_speed": "same_day",
  "first_name": "Jane",
  "last_name": "Doe",
  "phone_country_code": "1",
  "phone_number": "203-000-0000",
  "postal": "06515",
  "region": "CT"
}
```

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

<table>
  <thead>
    <tr>
      <th>Key</th>
      <th>Value Type</th>
      <th>Description</th>
    </tr>
  </thead>
  <tbody>
  <tr>
  <td>
    <code>first_name</code>
  </td>
  <td>
    string
  </td>
  <td>
    The first name of the end user as provided in their shipping information.
    
      <p>
        <em>max length: 255</em>
      </p>
    
    
  </td>
</tr>


  <tr>
  <td>
    <code>last_name</code>
  </td>
  <td>
    string
  </td>
  <td>
    The last name of the end user as provided in their shipping information.
    
      <p>
        <em>max length: 255</em>
      </p>
    
    
  </td>
</tr>


  <tr>
  <td>
    <code>company</code>
  </td>
  <td>
    string
  </td>
  <td>
    The company of the end user as provided in their shipping information.
    
      <p>
        <em>max length: 255</em>
      </p>
    
    
  </td>
</tr>


  <tr>
  <td>
    <code>address</code>
  </td>
  <td>
    string
  </td>
  <td>
    The first line of the user&rsquo;s shipping address.
    
      <p>
        <em>max length: 255</em>
      </p>
    
    
  </td>
</tr>


  <tr>
  <td>
    <code>address_2</code>
  </td>
  <td>
    string
  </td>
  <td>
    The second line of the user&rsquo;s shipping address.
    
      <p>
        <em>max length: 255</em>
      </p>
    
    
  </td>
</tr>


  <tr>
  <td>
    <code>city</code>
  </td>
  <td>
    string
  </td>
  <td>
    The city of the user&rsquo;s shipping address.
    
      <p>
        <em>max length: 255</em>
      </p>
    
    
  </td>
</tr>


  <tr>
  <td>
    <code>region</code>
  </td>
  <td>
    string
  </td>
  <td>
    The [ISO 3166-2 subdivision code](https://en.wikipedia.org/wiki/ISO%5F3166-2) for the user&rsquo;s shipping address.
    
      <p>
        <em>1-4 uppercase letters or digits</em>
      </p>
    
    
  </td>
</tr>


  <tr>
  <td>
    <code>country</code>
  </td>
  <td>
    string
  </td>
  <td>
    The two-character [ISO 3166-1 alpha-2 country code](https://en.wikipedia.org/wiki/ISO%5F3166-1%5Falpha-2) of the user&rsquo;s shipping address.
    
      <p>
        <em>max length: 2</em>
      </p>
    
    
  </td>
</tr>


  <tr>
  <td>
    <code>postal</code>
  </td>
  <td>
    string
  </td>
  <td>
    The postal code of the user&rsquo;s shipping address.
    
      <p>
        <em>max length: 255</em>
      </p>
    
    
  </td>
</tr>


  <tr>
  <td>
    <code>phone_number</code>
  </td>
  <td>
    string
  </td>
  <td>
    The phone number without the country code for the user&rsquo;s shipping address. Punctuation characters will be stripped. After stripping punctuation characters, the number must contain only digits.
    
      <p>
        <em>max length: 255</em>
      </p>
    
    
  </td>
</tr>


  <tr>
  <td>
    <code>phone_country_code</code>
  </td>
  <td>
    string
  </td>
  <td>
    The country code for the phone number associated with the user&rsquo;s shipping
address. Use digits only; do not include a leading <code>+</code>.
    
      <p>
        <em>1-4 digits</em>
      </p>
    
    
  </td>
</tr>


  <tr>
  <td>
    <code>delivery_speed</code>
  </td>
  <td>
    string
  </td>
  <td>
    <p>The shipping delivery speed for the order. The valid values are:</p>
<ul>
<li><code>same_day</code></li>
<li><code>overnight</code></li>
<li><code>expedited</code></li>
<li><code>standard</code></li>
</ul>
    
      <p>
        <em>format: enum</em>
      </p>
    
    
  </td>
</tr>

</tbody>
</table>

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

### Payment



`payment` is a JSON object that contains information from and about the payment
process that was used for the event.

```json
{
  "decline_code": "card_declined",
  "method": "card",
  "processor": "stripe",
  "was_authorized": false
}
```

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

<table>
  <thead>
    <tr>
      <th>Key</th>
      <th>Value Type</th>
      <th>Description</th>
    </tr>
  </thead>
  <tbody>
  <tr>
  <td>
    <code>method</code>
  </td>
  <td>
    string
  </td>
  <td>
    <p>The payment method associated with the transaction. The valid values are:</p>
<table>
	<thead>
			<tr>
					<th>Payment method</th>
					<th>Description</th>
			</tr>
	</thead>
	<tbody>
			<tr>
					<td><code>bank_debit</code></td>
					<td>A direct debit of the customer&rsquo;s bank account.</td>
			</tr>
			<tr>
					<td><code>bank_redirect</code></td>
					<td>The customer authorizes payment after authentication via their bank.</td>
			</tr>
			<tr>
					<td><code>bank_transfer</code></td>
					<td>The customer pushes funds directly from their bank account.</td>
			</tr>
			<tr>
					<td><code>buy_now_pay_later</code></td>
					<td>Payment via a buy now, pay later provider (e.g. Affirm, Afterpay, Klarna, etc.).</td>
			</tr>
			<tr>
					<td><code>card</code></td>
					<td>Payment by card, such as a credit, debit, or charge card.</td>
			</tr>
			<tr>
					<td><code>crypto</code></td>
					<td>Payment via a cryptocurrency.</td>
			</tr>
			<tr>
					<td><code>digital_wallet</code></td>
					<td>Payment from a digital wallet linked to a card or bank account (e.g. Apple Pay, Google Pay, PayPal, etc.).</td>
			</tr>
			<tr>
					<td><code>gift_card</code></td>
					<td>Payment via a merchant-sponsored gift card.</td>
			</tr>
			<tr>
					<td><code>real_time_payment</code></td>
					<td>The customer pushes funds directly from their bank account or other funding source using an intermediary to authenticate, such as a phone number or other account (e.g. Pix, PayNow, Swish, etc.).</td>
			</tr>
			<tr>
					<td><code>rewards</code></td>
					<td>Payment via rewards or loyalty program incentives.</td>
			</tr>
	</tbody>
</table>
<p>[Learn more about payment method inputs on our Knowledge Base.](https://support.maxmind.com/knowledge-base/articles/event-and-account-inputs-minfraud#payment-method-information)</p>

    
      <p>
        <em>format: enum</em>
      </p>
    
    
  </td>
</tr>


  <tr>
  <td>
    <code>processor</code>
  </td>
  <td>
    string
  </td>
  <td>
    <p>The payment processor used for the transaction. The valid values are:</p>
  <!-- cspell: disable -->
<ul>
<li><code>adyen</code></li>
<li><code>affirm</code></li>
<li><code>afterpay</code></li>
<li><code>altapay</code></li>
<li><code>amazon_payments</code></li>
<li><code>american_express_payment_gateway</code></li>
<li><code>apple_pay</code></li>
<li><code>aps_payments</code></li>
<li><code>authorizenet</code></li>
<li><code>balanced</code></li>
<li><code>banquest</code></li>
<li><code>beanstream</code></li>
<li><code>bluepay</code></li>
<li><code>bluesnap</code></li>
<li><code>boacompra</code></li>
<li><code>boku</code></li>
<li><code>bpoint</code></li>
<li><code>braintree</code></li>
<li><code>cardknox</code></li>
<li><code>cardpay</code></li>
<li><code>cashfree</code></li>
<li><code>ccavenue</code></li>
<li><code>ccnow</code></li>
<li><code>cetelem</code></li>
<li><code>chase_paymentech</code></li>
<li><code>checkout_com</code></li>
<li><code>cielo</code></li>
<li><code>collector</code></li>
<li><code>commdoo</code></li>
<li><code>compropago</code></li>
<li><code>concept_payments</code></li>
<li><code>conekta</code></li>
<li><code>coregateway</code></li>
<li><code>creditguard</code></li>
<li><code>credorax</code></li>
<li><code>cryptomus</code></li>
<li><code>ct_payments</code></li>
<li><code>cuentadigital</code></li>
<li><code>curopayments</code></li>
<li><code>cybersource</code></li>
<li><code>dalenys</code></li>
<li><code>dalpay</code></li>
<li><code>datacap</code></li>
<li><code>datacash</code></li>
<li><code>dibs</code></li>
<li><code>digital_river</code></li>
<li><code>dlocal</code></li>
<li><code>dotpay</code></li>
<li><code>ebs</code></li>
<li><code>ecomm365</code></li>
<li><code>ecommpay</code></li>
<li><code>elavon</code></li>
<li><code>emerchantpay</code></li>
<li><code>epay</code></li>
<li><code>epayco</code></li>
<li><code>eprocessing_network</code></li>
<li><code>epx</code></li>
<li><code>eway</code></li>
<li><code>exact</code></li>
<li><code>fat_zebra</code></li>
<li><code>first_atlantic_commerce</code></li>
<li><code>first_data</code></li>
<li><code>fiserv</code></li>
<li><code>g2a_pay</code></li>
<li><code>global_payments</code></li>
<li><code>gocardless</code></li>
<li><code>google_pay</code></li>
<li><code>heartland</code></li>
<li><code>hipay</code></li>
<li><code>ingenico</code></li>
<li><code>interac</code></li>
<li><code>internetsecure</code></li>
<li><code>intuit_quickbooks_payments</code></li>
<li><code>iugu</code></li>
<li><code>klarna</code></li>
<li><code>komoju</code></li>
<li><code>lemon_way</code></li>
<li><code>mastercard_payment_gateway</code></li>
<li><code>mercadopago</code></li>
<li><code>mercanet</code></li>
<li><code>merchant_esolutions</code></li>
<li><code>mirjeh</code></li>
<li><code>mollie</code></li>
<li><code>moneris_solutions</code></li>
<li><code>neopay</code></li>
<li><code>neosurf</code></li>
<li><code>nmi</code></li>
<li><code>oceanpayment</code></li>
<li><code>oney</code></li>
<li><code>onpay</code></li>
<li><code>openbucks</code></li>
<li><code>openpaymx</code></li>
<li><code>optimal_payments</code></li>
<li><code>orangepay</code></li>
<li><code>other</code></li>
<li><code>pacnet_services</code></li>
<li><code>payconex</code></li>
<li><code>payeezy</code></li>
<li><code>payfast</code></li>
<li><code>paygate</code></li>
<li><code>paylike</code></li>
<li><code>payment_express</code></li>
<li><code>paymentwall</code></li>
<li><code>payone</code></li>
<li><code>paypal</code></li>
<li><code>payplus</code></li>
<li><code>paysafecard</code></li>
<li><code>paysera</code></li>
<li><code>paystation</code></li>
<li><code>paytm</code></li>
<li><code>paytrace</code></li>
<li><code>paytrail</code></li>
<li><code>payture</code></li>
<li><code>payulatam</code></li>
<li><code>payvision</code></li>
<li><code>payu</code></li>
<li><code>payway</code></li>
<li><code>payza</code></li>
<li><code>pinpayments</code></li>
<li><code>placetopay</code></li>
<li><code>posconnect</code></li>
<li><code>princeton_payment_solutions</code></li>
<li><code>psigate</code></li>
<li><code>pxp_financial</code></li>
<li><code>qiwi</code></li>
<li><code>quickpay</code></li>
<li><code>raberil</code></li>
<li><code>razorpay</code></li>
<li><code>rede</code></li>
<li><code>redpagos</code></li>
<li><code>rewardspay</code></li>
<li><code>safecharge</code></li>
<li><code>sagepay</code></li>
<li><code>securepay</code></li>
<li><code>securetrading</code></li>
<li><code>shopify_payments</code></li>
<li><code>simplify_commerce</code></li>
<li><code>skrill</code></li>
<li><code>smartcoin</code></li>
<li><code>smartdebit</code></li>
<li><code>solidtrust_pay</code></li>
<li><code>sps_decidir</code></li>
<li><code>stripe</code></li>
<li><code>summit_payments</code></li>
<li><code>synapsefi</code></li>
<li><code>systempay</code></li>
<li><code>telerecargas</code></li>
<li><code>towah</code></li>
<li><code>transact_pro</code></li>
<li><code>trustly</code></li>
<li><code>trustpay</code></li>
<li><code>tsys</code></li>
<li><code>usa_epay</code></li>
<li><code>vantiv</code></li>
<li><code>verepay</code></li>
<li><code>vericheck</code></li>
<li><code>vindicia</code></li>
<li><code>virtual_card_services</code></li>
<li><code>vme</code></li>
<li><code>vpos</code></li>
<li><code>windcave</code></li>
<li><code>wirecard</code></li>
<li><code>worldpay</code></li>
<li><code>yaadpay</code></li>
</ul>
  <!-- cspell: enable -->
<p>If your payment processor is missing from this list, please [contact our support team](https://support.maxmind.com/knowledge-base).</p>

    
      <p>
        <em>format: enum</em>
      </p>
    
    
  </td>
</tr>


  <tr>
  <td>
    <code>was_authorized</code>
  </td>
  <td>
    boolean
  </td>
  <td>
    The authorization outcome from the payment processor. If the transaction has not yet been approved or denied, do not include this field.
    
    
  </td>
</tr>


  <tr>
  <td>
    <code>decline_code</code>
  </td>
  <td>
    string
  </td>
  <td>
    The decline code as provided by your payment processor. If the transaction was not declined, do not include this field.
    
      <p>
        <em>max length: 255</em>
      </p>
    
    
  </td>
</tr>

</tbody>
</table>

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

### Credit Card



`credit_card` is a JSON object that contains information provided by the
end-user and the payment processor about the credit card used for the event.

```json
{
  "avs_result": "Y",
  "bank_name": "Bank of America",
  "bank_phone_country_code": "1",
  "bank_phone_number": "800-342-1232",
  "country": "US",
  "cvv_result": "N",
  "issuer_id_number": "323132",
  "last_digits": "7643",
  "token": "OQRST14PLQ98323",
  "was_3d_secure_successful": true
}
```

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

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

  <tr>
  <td>
    <code>issuer_id_number</code>
  </td>
  <td>
    string
  </td>
  <td>
    <p>The issuer ID number for the credit card. This is the first six or eight digits of the credit card number. It identifies the issuing bank. If you do not know whether the IIN is six or eight digits long, send us six digits.</p>
<p>[Learn more about the /credit_card/issuer_id_number input on our Knowledge Base.](https://support.maxmind.com/knowledge-base/articles/credit-card-and-payments-inputs-minfraud#iin-bin)</p>

    
      <p>
        <em>max length: 8</em>
      </p>
    
    
  </td>
</tr>


  <tr>
  <td>
    <code>last_digits</code>
  </td>
  <td>
    string
  </td>
  <td>
    <p>The last digits of the credit card number. In most cases, you should send the last four digits for <code>last_digits</code>. If you send an [issuer_id_number](#schema--request--credit-card%5F%5Fissuer%5Fid%5Fnumber) that contains an eight-digit IIN, and if the credit card brand is not one of the following, you should send the last two digits for <code>last_digits</code>: <code>Discover</code>, <code>JCB</code>, <code>Mastercard</code>, <code>UnionPay</code>, <code>Visa</code>.</p>
<p>[Learn more about the /credit_card/last_digits input on our Knowledge Base.](https://support.maxmind.com/knowledge-base/articles/credit-card-and-payments-inputs-minfraud#partial-cc-numbers)</p>

    
      <p>
        <em>max length: 4</em>
      </p>
    
    
  </td>
</tr>


  <tr>
  <td>
    <code>token</code>
  </td>
  <td>
    string
  </td>
  <td>
    <p>A token uniquely identifying the card. The token should consist of non-space printable ASCII characters. If the token is all digits, it must be more than 19 characters long. The token must not be a primary account number (PAN) or a simple transformation of it. If you have a valid token that looks like a PAN but is not one, you may prefix that token with a fixed string, e.g., <code>token-</code>.</p>
<p>[Learn more about the /credit_card/token input on our Knowledge Base.](https://support.maxmind.com/knowledge-base/articles/credit-card-and-payments-inputs-minfraud#unique-tokens)</p>

    
      <p>
        <em>max length: 255</em>
      </p>
    
    
  </td>
</tr>


  <tr>
  <td>
    <code>bank_name</code>
  </td>
  <td>
    string
  </td>
  <td>
    The name of the issuing bank as provided by the end user.
    
      <p>
        <em>max length: 255</em>
      </p>
    
    
  </td>
</tr>


  <tr>
  <td>
    <code>bank_phone_country_code</code>
  </td>
  <td>
    string
  </td>
  <td>
    The phone country code for the issuing bank as provided by the end user. Use
digits only; do not include a leading <code>+</code>.
    
      <p>
        <em>1-4 digits</em>
      </p>
    
    
  </td>
</tr>


  <tr>
  <td>
    <code>bank_phone_number</code>
  </td>
  <td>
    string
  </td>
  <td>
    The phone number, without the country code, for the issuing bank as provided by the end user. Punctuation characters will be stripped. After stripping punctuation characters, the number must contain only digits.
    
      <p>
        <em>max length: 255</em>
      </p>
    
    
  </td>
</tr>


  <tr>
  <td>
    <code>country</code>
  </td>
  <td>
    string
  </td>
  <td>
    <p>The two-character [ISO 3166-1 alpha-2 country code](https://en.wikipedia.org/wiki/ISO%5F3166-1%5Falpha-2) where the issuer of the card is located. This may be passed instead of the [issuer_id_number](#schema--request--credit-card%5F%5Fissuer%5Fid%5Fnumber) if you do not wish to pass partial account numbers, or if your payment processor does not provide them.</p>
<p>[Learn more about the /credit_card/country input on our Knowledge Base.](https://support.maxmind.com/knowledge-base/articles/credit-card-and-payments-inputs-minfraud#card-issuer-country)</p>

    
      <p>
        <em>max length: 2</em>
      </p>
    
    
  </td>
</tr>


  <tr>
  <td>
    <code>avs_result</code>
  </td>
  <td>
    string
  </td>
  <td>
    <p>The address verification system (AVS) check result, as returned to you by the credit card processor. The minFraud service supports the standard AVS codes.</p>
<p>[Learn more about the /credit_card/avs_result input on our Knowledge Base.](https://support.maxmind.com/knowledge-base/articles/credit-card-and-payments-inputs-minfraud#payment-processor-information)</p>

    
      <p>
        <em>max length: 1</em>
      </p>
    
    
  </td>
</tr>


  <tr>
  <td>
    <code>cvv_result</code>
  </td>
  <td>
    string
  </td>
  <td>
    <p>The card verification value (CVV) code as provided by the payment processor.</p>
<p>[Learn more about the /credit_card/cvv_result input on our Knowledge Base.](https://support.maxmind.com/knowledge-base/articles/credit-card-and-payments-inputs-minfraud#payment-processor-information)</p>

    
      <p>
        <em>max length: 1</em>
      </p>
    
    
  </td>
</tr>


  <tr>
  <td>
    <code>was_3d_secure_successful</code>
  </td>
  <td>
    boolean
  </td>
  <td>
    <p>Whether the outcome of 3-D Secure verification (e.g. SafeKey, SecureCode, Verified by Visa) was successful. <code>true</code> if customer verification was successful, or <code>false</code> if the customer failed verification. If 3-D Secure verification was not used, was unavailable, or resulted in another outcome other than success or failure, do not include this field.</p>
<p>[Learn more about the /credit_card/was_3d_secure_successful input on our Knowledge Base.](https://support.maxmind.com/knowledge-base/articles/credit-card-and-payments-inputs-minfraud#payment-processor-information)</p>

    
    
  </td>
</tr>


</tbody>
</table>

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

### Order



`order` is a JSON object that contains information about the order associated
with the event.

```json
{
  "affiliate_id": "af12",
  "amount": 323.21,
  "currency": "USD",
  "discount_code": "FIRST",
  "has_gift_message": false,
  "is_gift": true,
  "referrer_uri": "http://www.google.com/",
  "subaffiliate_id": "saf42"
}
```

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

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

  <tr>
  <td>
    <code>amount</code>
  </td>
  <td>
    decimal
  </td>
  <td>
    <p>The total order amount for the transaction before taxes and discounts.</p>
<p>[Learn more about the /order/amount input on our Knowledge Base.](https://support.maxmind.com/knowledge-base/articles/order-and-shopping-cart-inputs-minfraud#order-amount)</p>

    
      <p>
        <em>min: 0, max: 1e13-1</em>
      </p>
    
    
  </td>
</tr>


  <tr>
  <td>
    <code>currency</code>
  </td>
  <td>
    string
  </td>
  <td>
    <p>The [ISO 4217 currency code](https://en.wikipedia.org/wiki/ISO%5F4217) for the currency used in the transaction.</p>
<p>[Learn more about the /order/currency input on our Knowledge Base.](https://support.maxmind.com/knowledge-base/articles/order-and-shopping-cart-inputs-minfraud#order-amount)</p>

    
      <p>
        <em>max length: 3</em>
      </p>
    
    
  </td>
</tr>


  <tr>
  <td>
    <code>discount_code</code>
  </td>
  <td>
    string
  </td>
  <td>
    <p>The discount code applied to the transaction. If multiple discount codes were used, please separate them with a comma.</p>
<p>[Learn more about the /order/discount_code input on our Knowledge Base.](https://support.maxmind.com/knowledge-base/articles/order-and-shopping-cart-inputs-minfraud#discount-codes)</p>

    
      <p>
        <em>max length: 255</em>
      </p>
    
    
  </td>
</tr>


  <tr>
  <td>
    <code>affiliate_id</code>
  </td>
  <td>
    string
  </td>
  <td>
    <p>The ID of the affiliate where the order is coming from. No specific format is required.</p>
<p>[Learn more about the /order/affiliate_id input on our Knowledge Base.](https://support.maxmind.com/knowledge-base/articles/order-and-shopping-cart-inputs-minfraud#affiliates-referrers)</p>

    
      <p>
        <em>max length: 255</em>
      </p>
    
    
  </td>
</tr>


  <tr>
  <td>
    <code>subaffiliate_id</code>
  </td>
  <td>
    string
  </td>
  <td>
    <p>The ID of the sub-affiliate where the order is coming from. No specific format is required.</p>
<p>[Learn more about the /order/subaffiliate_id input on our Knowledge Base.](https://support.maxmind.com/knowledge-base/articles/order-and-shopping-cart-inputs-minfraud#affiliates-referrers)</p>

    
      <p>
        <em>max length: 255</em>
      </p>
    
    
  </td>
</tr>


  <tr>
  <td>
    <code>referrer_uri</code>
  </td>
  <td>
    string
  </td>
  <td>
    <p>The URI of the referring site for this order. Needs to be absolute and have a URI scheme such as <code>https://</code>.</p>
<p>[Learn more about the /order/referrer_uri input on our Knowledge Base.](https://support.maxmind.com/knowledge-base/articles/order-and-shopping-cart-inputs-minfraud#affiliates-referrers)</p>

    
      <p>
        <em>max length: 1024</em>
      </p>
    
    
  </td>
</tr>


  <tr>
  <td>
    <code>is_gift</code>
  </td>
  <td>
    boolean
  </td>
  <td>
    <p>Whether the order was marked as a gift by the purchaser.</p>
<p>[Learn more about the /order/is_gift input on our Knowledge Base.](https://support.maxmind.com/knowledge-base/articles/order-and-shopping-cart-inputs-minfraud#gift-information)</p>

    
    
  </td>
</tr>


  <tr>
  <td>
    <code>has_gift_message</code>
  </td>
  <td>
    boolean
  </td>
  <td>
    <p>Whether the purchaser included a gift message.</p>
<p>[Learn more about the /order/has_gift_message input on our Knowledge Base.](https://support.maxmind.com/knowledge-base/articles/order-and-shopping-cart-inputs-minfraud#gift-information)</p>

    
    
  </td>
</tr>


</tbody>
</table>

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

### Shopping Cart



`shopping_cart` is an array of shopping cart item objects.

Passing hashed values for shopping cart items can increase the privacy of your
customers' information while continuing to fulfill the needs for fraud
detection. A suitable hashed value can be produced by using a cryptographic hash
function and a fixed salt. Using a random salt is not recommended as that will
result in different hashed values for the same plain value, which would make
them ineffective for our fraud detection service. For more information, see:

- [OWASP Cryptographic Storage Cheat Sheet](https://cheatsheetseries.owasp.org/cheatsheets/Cryptographic_Storage_Cheat_Sheet.html)
- [NIST FIPS Secure Hash Standard (SHS)](https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.180-4.pdf)

[Learn more about the shopping cart inputs on our Knowledge Base.](https://support.maxmind.com/knowledge-base/articles/order-and-shopping-cart-inputs-minfraud#shopping-cart-contents)

```json
[
  {
    "category": "pets",
    "item_id": "ad23232",
    "price": 20.43,
    "quantity": 2
  },
  {
    "category": "beauty",
    "item_id": "bst112",
    "price": 100,
    "quantity": 1
  }
]
```

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

<table>
  <thead>
    <tr>
      <th>Key</th>
      <th>Value Type</th>
      <th>Description</th>
    </tr>
  </thead>
  <tbody>
  <tr>
  <td>
    <code>category</code>
  </td>
  <td>
    string
  </td>
  <td>
    The category of the item. This can also be a hashed value; see above.
    
      <p>
        <em>max length: 255</em>
      </p>
    
    
  </td>
</tr>


  <tr>
  <td>
    <code>item_id</code>
  </td>
  <td>
    string
  </td>
  <td>
    Your internal ID for the item. No specific format is required. This can also be a hashed value; see above.
    
      <p>
        <em>max length: 255</em>
      </p>
    
    
  </td>
</tr>


  <tr>
  <td>
    <code>quantity</code>
  </td>
  <td>
    integer
  </td>
  <td>
    The quantity of the item in the shopping cart. The value must be a whole number.
    
      <p>
        <em>min: 0, max: 1e13-1</em>
      </p>
    
    
  </td>
</tr>


  <tr>
  <td>
    <code>price</code>
  </td>
  <td>
    decimal
  </td>
  <td>
    The per-unit price of this item in the shopping cart. This should use the same currency as the order currency.
    
      <p>
        <em>min: 0, max: 1e13-1</em>
      </p>
    
    
  </td>
</tr>


</tbody>
</table>

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

### Custom Inputs



`custom_inputs` are optional inputs to the minFraud service that must first be
defined for your account. Select Custom Inputs from the Account Portal in order
to do so. See our
[Custom Inputs documentation](https://support.maxmind.com/knowledge-base/articles/use-custom-inputs-minfraud)
for more information.

**You should never send a full credit card number as an input.** If you attempt
to send a full credit card number as an input, the minFraud service will reject
the input and issue a warning.

[Learn more about valid payment number inputs above.](#schema--request--credit-card)

```json
{
  "a_custom_input_key": "NSC0083121",
  "another_custom_input_key": false
}
```

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

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

  <tr>
  <td>
    <code>your_custom_BOOLEAN_key</code>
  </td>
  <td>
    boolean
  </td>
  <td>
    A custom key of your choice with a boolean value.
    
    
  </td>
</tr>



  <tr>
  <td>
    <code>your_custom_FLOAT_NUMBER_key</code>
  </td>
  <td>
    float
  </td>
  <td>
    A custom key of your choice with a floating-point number value.
    
      <p>
        <em>min: -1e13+1, max: 1e13-1</em>
      </p>
    
    
  </td>
</tr>



  <tr>
  <td>
    <code>your_custom_PHONE_NUMBER_key</code>
  </td>
  <td>
    string
  </td>
  <td>
    A custom key of your choice with a string value, formatted as a phone number. Numbers, spaces and punctuation accepted, although spaces and punctuation will be stripped. The following ASCII characters constitute the accepted punctuation: ` ~ ! @ # $ % ^ &amp; * ( ) - _ = + &rsquo; &quot; ; : , &lt; . &gt; / ? \ | [ ] { and }.
    
      <p>
        <em>format: Phone number, max length: 255</em>
      </p>
    
    
  </td>
</tr>



  <tr>
  <td>
    <code>your_custom_STRING_key</code>
  </td>
  <td>
    string
  </td>
  <td>
    A custom key of your choice with a string value. The null character is not allowed.
    
      <p>
        <em>max length: 255</em>
      </p>
    
    
  </td>
</tr>


</tbody>
</table>

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