---
updatedAt: 2026-10-22T15:47:30.000Z
agentTools:
  projectIndex: https://docs.checkhq.com/llms.txt
---

# Reverse a payment

Reverse a paid ACH credit for an employee or contractor payment.

<Callout icon="🚧" theme="warn">
  ### Corrections API preview

  This endpoint is available only to partners enrolled in the [Corrections API](https://docs.checkhq.com/reference/corrections) preview. Callers without access receive `404`.
</Callout>

Reverses a **paid** ACH **credit** payment whose parent is a `payroll_item` or `contractor_payment`. Use this when net pay was sent to the wrong account or should be undone as part of a correction workflow.

Provide a `reason` in the request body. Partners may send one of:

* `duplicate`
* `incorrect_amount`
* `incorrect_receiving_account`

The endpoint requires the `payment:reverse` OAuth scope (in addition to `payments:write`) and an `X-Idempotency-Key` header. Reusing the same key returns the first response without reversing again.

We recommend relying on the Payment object's `can_reverse` field to determine whether a reversal is possible, and on `reversal_deadline` for the last time a reversal can be requested.

On success, the response is the updated Payment object (for example, `status` may move to `reversal_processing`). If the payment cannot be reversed, the API returns `400` with error type `payment_ineligible_for_reversal`.

# OpenAPI definition

```json
{
  "openapi": "3.1.0",
  "info": {
    "title": "check-api",
    "version": "2025-01-01"
  },
  "servers": [
    {
      "url": "https://sandbox.checkhq.com"
    }
  ],
  "components": {
    "securitySchemes": {
      "sec0": {
        "type": "apiKey",
        "in": "header",
        "name": "Authorization",
        "x-bearer-format": "bearer",
        "x-default": "YOUR_API_KEY"
      }
    }
  },
  "security": [
    {
      "sec0": []
    }
  ],
  "paths": {
    "/payments/{payment}/reverse": {
      "post": {
        "summary": "Reverse a payment",
        "description": "Reverses a paid ACH credit for an employee net pay or contractor payment. Available to partners enrolled in the [Corrections API](https://docs.checkhq.com/reference/corrections) preview. Requires the `payment:reverse` OAuth scope and an `X-Idempotency-Key` header.",
        "operationId": "reverse-a-payment",
        "parameters": [
          {
            "name": "payment",
            "in": "path",
            "description": "ID of the payment to reverse.",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "X-Idempotency-Key",
            "in": "header",
            "description": "Idempotency key. Replays the first response when the same key is reused.",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "reason"
                ],
                "properties": {
                  "reason": {
                    "type": "string",
                    "description": "Why the payment is being reversed.",
                    "enum": [
                      "duplicate",
                      "incorrect_amount",
                      "incorrect_receiving_account"
                    ]
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "200",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": "{\n    \"id\": \"pyt_vIFHhvyGN47ej1upyIT8\",\n    \"status\": \"reversal_processing\",\n    \"amount\": \"4522.0400\",\n    \"type\": \"employee_net_pay\",\n    \"parent_type\": \"payroll_item\",\n    \"parent_id\": \"itm_ENA4k8LMHbgpV07GLGSv\",\n    \"payment_attempts\": [\n        {\n            \"id\": \"pya_GaeJoEAzbqqc2D9GMfOF\",\n            \"created_at\": \"2022-02-18T21:32:44.957364Z\",\n            \"expected_completion_date\": \"2022-02-25\",\n            \"status\": \"paid\",\n            \"failure_code\": null,\n            \"payment_method\": \"ach\",\n            \"payment_instrument\": \"bnk_W7hjDGn6sU1d3U8dr9bq\",\n            \"wire_details\": null\n        }\n    ],\n    \"can_retry\": false,\n    \"can_refund\": false,\n    \"can_cancel\": false,\n    \"cancel_deadline\": \"2022-02-19T17:00:00.000Z\",\n    \"can_reverse\": false,\n    \"reversal_deadline\": null,\n    \"direction\": \"credit\",\n    \"company\": \"com_ENA4k8LMHbgpV07GLGSv\"\n}"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": "{}"
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          },
          "404": {
            "description": "404",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": "{}"
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "deprecated": false
      }
    }
  },
  "x-readme": {
    "headers": [],
    "explorer-enabled": true,
    "proxy-enabled": true
  },
  "x-readme-fauxas": true
}
```