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

# Changelog

> API version history and breaking changes.

## Unreleased

### Breaking

* **Removed** `POST /api/v1/transactions/{id}/replay-callback`. It conflated
  replaying an inbound provider callback with re-sending the outbound webhook.
  Replaced by [`POST /api/v1/transactions/{id}/replay-webhook`](/api-reference/replay-webhook),
  which re-sends the outbound `payment.succeeded` / `payment.failed`
  notification for a terminal transaction (does not change its state; `409`
  if non-terminal, `400` if no `callback_url`).

### Added

* **Late deposit confirmation handling.** A confirmation (operator SMS/USSD)
  arriving after a deposit `expired` or `failed` no longer auto-credits and is
  no longer silently dropped. The transaction moves to
  `requires_manual_resolution` and is held for a Winam operator to confirm or
  reject. No webhook is sent until it resolves to `succeeded` or `failed`.
  See [State Machine](/api-reference/state-machine).

### Changed

* All API response messages are now in **English** (were previously French).
* Successful withdrawals settle to `succeeded` immediately on USSD success —
  `provider_submitted` is now a transient step, not a waiting state.
* `POST /deposits` and `POST /withdrawals` now validate the coherence between
  the `msisdn` prefix and the `operator` field. A clear contradiction
  (e.g. a `655…` Orange number with `operator=mtn`) is rejected with **422**
  before any USSD is sent. Cameroon prefixes — MTN: `67x`, `68x`, `650-654` ·
  Orange: `69x`, `655-659`. Numbers with unknown prefixes are accepted as-is.
  Use `POST /msisdn/detect` to pre-fill the right operator.

## v0.1.0 — Initial release

**Released**: June 2026 (Coupe du Monde launch)

### Endpoints

* `POST /api/v1/deposits` — Initiate Mobile Money deposits (MTN MoMo, Orange Money)
* `POST /api/v1/withdrawals` — Initiate withdrawals with manual operator approval
* `GET /api/v1/transactions/{id}` — Get transaction state
* `GET /api/v1/players/{player_id}/transactions` — List player transactions
* `POST /api/v1/transactions/{id}/replay-webhook` — Manual webhook re-delivery for recovery
* `GET /api/v1/{country}/providers` — Provider catalogue with fees
* `GET /api/v1/{country}/providers/status` — Real-time provider health
* `POST /api/v1/msisdn/detect` — Operator detection from phone number
* `GET /api/v1/security/callback-public-key` — Webhook signature public key

### Providers

* **MTN MoMo** — via SIM gateway (primary) + Campay (backup)
* **Orange Money** — via SIM gateway (primary) + Campay (backup)

### Countries

* **CM** (Cameroon)

***

Future releases will be documented here. For breaking changes, existing integrators will be notified at least 30 days in advance.
