> ## Documentation Index
> Fetch the complete documentation index at: https://www.marqeta.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Fraud Feedback

> Use the `/fraud` endpoint to create a fraud feedback request that informs the Real-Time Decisioning risk model about whether a transaction was fraudulent or a false positive.

export const EndpointCard = ({method = "API", title, children, href, arrow = true}) => {
  const METHOD_STYLES = {
    GET: {
      bg: "mint-bg-green-400/20 dark:mint-bg-green-400/20",
      text: "mint-text-green-700 dark:mint-text-green-400",
      border: "mint-border-green-300 dark:mint-border-green-700"
    },
    POST: {
      bg: "mint-bg-blue-400/20 dark:mint-bg-blue-400/20",
      text: "mint-text-blue-700 dark:mint-text-blue-400"
    },
    PUT: {
      bg: "mint-bg-yellow-400/20 dark:mint-bg-yellow-400/20",
      text: "mint-text-yellow-700 dark:mint-text-yellow-400"
    },
    PATCH: {
      bg: "mint-bg-orange-400/20 dark:mint-bg-orange-400/20",
      text: "mint-text-orange-700 dark:mint-text-orange-400"
    },
    DELETE: {
      bg: "mint-bg-red-400/20 dark:mint-bg-red-400/20",
      text: "mint-text-red-700 dark:mint-text-red-400"
    },
    API: {
      bg: "mint-bg-black",
      text: "mint-text-white"
    }
  };
  const MethodBadge = ({method}) => {
    const style = METHOD_STYLES[method?.toUpperCase()] ?? METHOD_STYLES.GET;
    return <span className={`
          method-pill rounded-lg font-semibold px-1.5 py-0.5 text-xs leading-5 ${style.bg} ${style.text}`}>
        {method?.toUpperCase()}
      </span>;
  };
  const content = <div className="group flex items-center gap-4 border border-gray-200 dark:border-gray-700 rounded-xl p-5 hover:border-gray-400 dark:hover:border-gray-500 hover:shadow-md transition-all cursor-pointer">
      {}
      <div className="shrink-0">
        <MethodBadge method={method} />
      </div>
      {}
      <div className="flex-1 min-w-0">
        <p className="font-semibold text-gray-900 dark:text-white text-sm leading-snug">{title}</p>
        {children && <p className="mt-1 text-sm text-gray-500 dark:text-gray-400 line-clamp-2">{children}</p>}
      </div>
    </div>;
  if (!href) return content;
  return <a href={href} className="block no-underline border-b-0 mb-2">
      {content}
    </a>;
};

For details on how to use this endpoint, see [Using the Fraud Feedback API](/developer-guides/using-fraud-feedback-api/).

For general information on Real-Time Decisioning, see [Real-Time Decisioning Overview](/developer-guides/real-time-decisioning-landing-page/).

<h2 id="_create_fraud_feedback">
  Create fraud feedback
</h2>

Create feedback on whether a transaction was confirmed to be fraudulent or a false positive.

**Action:** `POST`<br />
**Endpoint:** `/fraud`

<h3 id="_body_field_details_request">
  Body field details (request)
</h3>

| Fields                                                   | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| -------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| transaction\_token<br /><br />string<br /><br />Required | Unique identifier of the transaction.<br /><br />**Allowable Values:**<br /><br />Format: UUID                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| is\_fraud<br /><br />boolean<br /><br />Required         | Indicates whether the transaction has been determined to be fraud.<br /><br />**Allowable Values:**<br /><br />`true`, `false`                                                                                                                                                                                                                                                                                                                                                                                                                                |
| status<br /><br />string<br /><br />Required             | The fraud status.<br /><br />**Allowable Values:**<br /><br />`CONFIRMED` – Customer confirmed fraud or false positive<br /><br />`DISPUTED` – Dispute is created                                                                                                                                                                                                                                                                                                                                                                                             |
| actor<br /><br />string<br /><br />Optional              | The party making the call. If no value is provided, this field will default to `UNKNOWN`. <br /><br />**Allowable Values:**<br /><br />`UNKNOWN` – The party is unclear <br /><br />`THIRD_PARTY_FRAUD` – Third-party fraud<br /><br />`CARD_USER_FRAUD` – First-party fraud                                                                                                                                                                                                                                                                                  |
| amount<br /><br />string<br /><br />Optional             | The amount of the transaction that was fraud, for partial fraud claims. If no value is provided, this field will default to the transaction amount from the Marqeta system.<br /><br />**Allowable Values:**<br /><br />A valid amount.                                                                                                                                                                                                                                                                                                                       |
| dispute\_status<br /><br />string<br /><br />Optional    | The dispute status, if a dispute has been filed.<br /><br />**Allowable Values:**<br /><br />`NOT_STARTED`, `INITIATED`, `WON`, `LOST`                                                                                                                                                                                                                                                                                                                                                                                                                        |
| fraud\_type<br /><br />string<br /><br />Optional        | The high-level fraud type.<br /><br />**Allowable Values:**<br /><br />`LOST_CARD`<br /><br />`STOLEN_CARD`<br /><br />`NEVER_RECEIVED_NOT_RECEIVED_AS_ISSUED`<br /><br />`FRAUDULENT_APPLICATION`<br /><br />`COUNTERFEIT_CARD`<br /><br />`ACCOUNT_CREDENTIAL_TAKEOVER`<br /><br />`CARD_NOT_PRESENT_ACCOUNT_NUMBER_FRAUD`<br /><br />`MANIPULATION_OF_CARDHOLDER`<br /><br />`MISCELLANEOUS`<br /><br />`INCORRECT_PROCESSING`<br /><br />`MERCHANT_MISREPRESENTATION`<br /><br />`BUST_OUT_COLLUSIVE_MERCHANT`<br /><br />`MODIFICATION_OF_PAYMENT_ORDER` |
| reported\_datetime<br /><br />string<br /><br />Optional | The date and time the fraud was reported, in UTC.<br /><br />**Allowable Values:**<br /><br />Format: `YYYY-MM-DDThh:mm:ssZ`                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| memo<br /><br />string<br /><br />Optional               | Any notes related to the case.<br /><br />**Allowable Values:**<br /><br />500 char max                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| metadata<br /><br />object<br /><br />Optional           | Additional data written as key/value pairs (for example, `KEY1:VALUE1;KEY2:VALUE2`).<br /><br />**Allowable Values:**<br /><br />Up to 20 fields.                                                                                                                                                                                                                                                                                                                                                                                                             |

<h3 id="_sample_request_body">
  Sample request body
</h3>

```json JSON lines wrap theme={null}
{
  "transaction_token": "9xf93ekp-e03a-4fe3-baeb-ppde1e9db665",
  "is_fraud": true,
  "status": "CONFIRMED",
  "actor": "UNKNOWN",
  "amount": 108.95,
  "dispute_status": "INITIATED",
  "fraud_type": "STOLEN_CARD",
  "reported_datetime": "2026-06-01T12:00:00Z",
  "memo": "Cardholder reported card stolen prior to transaction.",
  "metadata": {
    "KEY1": "VALUE1",
    "KEY2": "VALUE2"
  }
}
```

<h3 id="_feedback_response">
  Feedback response
</h3>

Returns a response code and message from the feedback request. For a successful request:

`201`
`{"message":"success"}`

| Fields                                        | Description                                                                                     |
| --------------------------------------------- | ----------------------------------------------------------------------------------------------- |
| message<br /><br />string<br /><br />Returned | The message from the feedback request.<br /><br />**Allowable Values:**<br /><br />256 char max |

<h3 id="_response_errors">
  Response errors
</h3>

| Error code | Description      |
| ---------- | ---------------- |
| 400        | Bad request.     |
| 401        | Unauthorized.    |
| 403        | Forbidden.       |
| 500        | Internal server. |

<h3 id="_sample_response">
  Sample response
</h3>

```json JSON lines wrap theme={null}
201

{
  "message": "success."
}
```
