---
title: "Create fraud rule"
method: POST
path: "/api/v1/fraud-rules"
tags: ["Risk"]
---

# Create fraud rule

`POST /api/v1/fraud-rules`

## Request

- Base URL: `https://merchant.zahlo.eu`
- URL: `https://merchant.zahlo.eu/api/v1/fraud-rules`
- Auth: API key in header `x-api-key`

Create fraud rule. Use the response status and request ID to decide whether to retry, reconcile, or ask the customer for action.

## Headers

- `Idempotency-Key` string

## Request body

- FraudRuleCreateRequest
  - `kind` 'block_email' | 'block_email_domain' | 'max_amount' | 'min_amount' | 'velocity_email_hour', required
  - `value` string, required: An email (`block_email`), a domain (`block_email_domain`), an amount in minor units (`max_amount`/`min_amount`, with `currency`), or sessions per customer email per hour (`velocity_email_hour`).
  - `currency` string: Required for amount rules.
  - `enabled` boolean

## Response `201`

Resource created

- FraudRule
  - `id` string, required
  - `object` 'fraud_rule', required
  - `livemode` boolean, required
  - `createdAt` string, date-time, required
  - `kind` 'block_email' | 'block_email_domain' | 'max_amount' | 'min_amount' | 'velocity_email_hour', required
  - `value` string, required: An email (`block_email`), a domain (`block_email_domain`), an amount in minor units (`max_amount`/`min_amount`, with `currency`), or sessions per customer email per hour (`velocity_email_hour`).
  - `currency` string, nullable
  - `enabled` boolean, required

## Other responses

- `400`: Invalid request
- `401`: Authentication failed
- `404`: Resource not found
- `409`: Request conflicts with existing state

---

[API](https://skmtc.dev/zahlo/apis/zahlo-merchant-api.md) - [All operations](https://skmtc.dev/zahlo/apis/zahlo-merchant-api/llms.txt) - [OpenAPI document](https://skmtc.dev/zahlo/apis/zahlo-merchant-api/revisions/8fcbef981e0d?raw)
