---
title: "Action a Dispute Alert"
method: POST
path: "/dispute/disputes/alerts/{alertId}/action"
tags: ["Disputes"]
---

# Action a Dispute Alert

`POST /dispute/disputes/alerts/{alertId}/action`

## Request

- Base URL: `https://api.staging.payrails.io`
- URL: `https://api.staging.payrails.io/dispute/disputes/alerts/{alertId}/action`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/payrails/apis/payrails-api-reference/docs/dispute/disputes/alerts/:alertId/action/post.ts> (a function with typed inputs; its response is checked against the schema)

Submit the merchant's chosen outcome for a pre-chargeback dispute alert. The outcome is forwarded to the alert provider and the alert is moved to a terminal status. Runs synchronously and returns once the provider has been notified.

## Path parameters

- `alertId` string, uuid, required

## Headers

- `x-idempotency-key` string, uuid, required

## Request body

- object
  - `result` 'Resolved' | 'AlreadyRefunded' | 'AlreadyChargeback' | 'Ineligible' | 'MIDLost' | 'NotMyDescriptor' | 'EscalateChargeback' | 'TDS' | 'UnmatchedCannotFindTransaction', required: The merchant's chosen outcome for the alert, submitted to the provider.
  - `notes` string: Optional free-text note recorded with the action.

## Response `200`

Alert actioned successfully.

## Other responses

- `400`: Bad Request.
- `401`: Unauthorized.
- `403`: Insufficient Scope.
- `404`: Not Found.
- `409`: Conflict.
- `429`: Too Many Requests.
- `500`: Internal Server Error.

---

[API](https://skmtc.dev/payrails/apis/payrails-api-reference.md) - [All operations](https://skmtc.dev/payrails/apis/payrails-api-reference/llms.txt) - [OpenAPI document](https://skmtc.dev/payrails/apis/payrails-api-reference/revisions/9dd2f0158582?raw)
