---
title: "Reverse loyalty earn"
method: POST
path: "/api/v1.4/loyalty/earn/{id}/reverse/"
tags: ["v1.1"]
---

# Reverse loyalty earn

`POST /api/v1.4/loyalty/earn/{id}/reverse/`

## Request

- Base URL: `https://web.moneyhash.io`
- URL: `https://web.moneyhash.io/api/v1.4/loyalty/earn/{id}/reverse/`
- Auth: one of:
  - API key in header `X-Api-Key`
  - API key in query parameter `access_token`

Queues a reversal of an EARNED loyalty transaction. The amount in the body must match the original earn amount. Status moves to PENDING_REVERSE status. while the provider is called. When the reversal is successful, the status moves to REVERSED status.

## Path parameters

- `id` string, required

## Request body

- ReverseRequest
  - `amount` string, decimal, required: Amount to be reversed

## Response `202`

- ReverseResponse
  - `id` string, required: UUID is a unique identifier for the loyalty earn transaction.
  - `status` 'PENDING' | 'EARNED' | 'PENDING_REVERSE' | 'REVERSE_FAILED' | 'REVERSED' | 'FAILED': Lifecycle state: pending earn, earned, reversal, terminal failure, etc. * `PENDING` - PENDING * `EARNED` - EARNED * `PENDING_REVERSE` - PENDING_REVERSE * `REVERSE_FAILED` - REVERSE_FAILED * `REVERSED` - REVERSED * `FAILED` - FAILED
  - `reversed_at` string, date-time, nullable

## Other responses

- `400`
- `401`
- `404`
- `409`

## Changes

- **2026-11-03** `4b67c1cef57d`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/moneyhash/apis/moneyhash-api/changes/api/v1.4/loyalty/earn/:id/reverse/post.md)

---

[API](https://skmtc.dev/moneyhash/apis/moneyhash-api.md) - [All operations](https://skmtc.dev/moneyhash/apis/moneyhash-api/llms.txt) - [OpenAPI document](https://skmtc.dev/moneyhash/apis/moneyhash-api/revisions/4b67c1cef57d?raw)
