# Fraud API Request

SEON's proprietary API combines our Email, Phone, IP, BIN and AML APIs with
device fingerprinting so that you can request and receive our enriched data,
rules and scoring in a single API call. This page covers the request; see
[Fraud API Response](fraud-api-response.html) for what comes back and
[JavaScript Agent v6](javascript-agent-v6.html) for collecting the `session`
device fingerprint.

For more context on how to begin your API integration check the Introduction
section or the [Integration Guide](../integration/orchestration.html).

---

## Table of Contents

1. [Good to know](#good-to-know)
2. [Endpoints](#endpoints)
3. [Request attributes](#request-attributes)
4. [Example request](#example-request)
5. [Code samples](#code-samples)

---

## Good to know

- The API is **fully modular** — enable or disable each sub-API (Email, Phone,
  IP, AML) and the device fingerprinting tool through the `config` object.
- Use the `custom_fields` object to send almost any custom data point to SEON.
  Your team can build rules on custom fields to create a completely custom
  ruleset.
- All SEON API requests are **case-sensitive**. Follow the formatting below to
  avoid errors.
- Populate all name-related fields as fully as you can (`user_fullname`,
  `user_firstname`, `user_middlename`, `user_lastname`) — identity checks get
  materially better with each one.
- Device fingerprinting data arrives in `device_details` and is also visible on
  the Transaction Details page of the Admin Panel.

{% callout type="warning" title="Field length limits" %}
The maximum length of every request parameter is **100 characters**, except:
200 for `custom_fields`, 500 for `card_hash`, 255 for `transaction_id`, 64 for
`session_id` (whether sent directly or inside `session`), 50 for
`discount_code` and `shipping_method`, 19 for `phone_number`, 15 for
`card_bin`, and 4 for `transaction_currency`.
{% /callout %}

---

## Endpoints

The EU Transaction Processing Environment is the default. If you are on a
non-EU environment, use its regional endpoint instead — contact SEON for
access.

| Environment | Endpoint |
| --- | --- |
| EU (default) | `https://api.seon.io/SeonRestService/fraud-api/v2.0` |
| US | `https://api.us-east-1-main.seon.io/SeonRestService/fraud-api/v2/` |
| Middle East | `https://api.me-central-1-main.seon.io/SeonRestService/fraud-api/v2/` |
| APAC | `https://api.ap-southeast-1-main.seon.io/SeonRestService/fraud-api/v2/` |

{% callout type="note" %}
`/fraud-api/v2` and `/fraud-api/v2.0` both address Fraud API v2 — the regional
endpoints above are documented with the shorter form.
{% /callout %}

{% endpoint operation="fraudApi" /%}

---

## Request attributes

Every attribute is optional. Send as much as you have: the more context SEON
receives, the more signals the scoring engine can use.

{% attributes operation="fraudApi" /%}

---

## Example request

{% example operation="fraudApi" of="request" /%}

---

## Code samples

{% code-samples operation="fraudApi" /%}

---

## Next steps

- [Fraud API Response](fraud-api-response.html) — the response attributes and every error code
- [JavaScript Agent v6](javascript-agent-v6.html) — collecting the `session` device fingerprint
- [Timeouts](https://docs.seon.io/integration/timeouts) — per-module timeout behaviour
- [eKYC payload examples](https://docs.seon.io/api-reference/fraud-api#ekyc-endpoints-payload-examples) — per-country check types for `config.eKYC.type`
- [AML payload examples](https://docs.seon.io/api-reference/fraud-api#aml-payload-examples) — worked `config.aml` configurations

For additional support, contact your SEON representative.
