Redemptions
Redemptions
GET /api/operator/redemptions lists Mini App redemption records for the authenticated operator.
Required scope: redemptions:read
Query params
| Parameter | Type | Requirement | Values/default |
|---|---|---|---|
external_user_id | string | Optional | Exact operator-side user ID. |
market_id | positive integer | Optional | Exact market ID. |
status | string | Optional | queued, processing, operator_credit_pending, processed, failed, or manual_review. |
created_from | datetime | Optional | Inclusive creation-time lower bound. |
created_to | datetime | Optional | Inclusive creation-time upper bound. |
activity_from_date | date (YYYY-MM-DD) | Optional | Inclusive Operator-local activity-date lower bound. Processed items use payout completion time; others use creation time. |
activity_to_date | date (YYYY-MM-DD) | Optional | Inclusive Operator-local upper bound; cutoff is next-day local midnight. |
sort | string | Optional | created_at_desc (default), updated_at_desc, or activity_at_desc. |
page | positive integer | Optional | Default 1. |
page_size | positive integer | Optional | Default 50, maximum 100. |
Summary
summary aggregates all filtered items:
redemption_countredemption_payout_external_amount_minor_totalcurrency_codetimezone
The envelope is { summary, items, pagination }; pagination contains numeric page, page_size, total, and total_pages (minimum 1). page is capped at 10000. Summary count and amount include every matching status unless status is supplied, so unfiltered payout totals may include projected amounts for unfinished items.
For status=processed with operator-local activity dates, compare count and payout with the Opinion monthly settlement's activity-date redemption section. This endpoint prefers actual succeeded wallet-credit amount over stored projected amount; it is not proof that every processed item has fully reconciled cash evidence. The principal-aware settlement flags unreconciledPayoutCount and blocks export when a processed item lacks exactly one consistent succeeded Opinion credit. Closed-market principal and trading P&L have a separate recognition date and must not be inferred from this payout list. Polyflight uses separate native-IDR statement routes.
Response highlights
Each item includes:
id- nested run ID, schedule, and status
redeem_request_idstatusshares_microcredits_equivalentexternal_amount_minorfx_rate_snapshot_idfailure_reasoncreated_atupdated_atactivity_at- nested operator user and market summaries
shares_micro uses micro-shares (1000000 = 1 share). credits_equivalent uses Polynion Credits (10000 = 1 USDT). external_amount_minor is a nullable JSON number in zero-decimal Operator currency, preferring the maximum succeeded credit amount linked to the item, otherwise its stored projected amount. It is not a sum of wallet cash or proof that exactly one consistent credit exists. For processed items, activity_at uses the linked redemption request's processed_at, falling back to item updated_at; other items use created_at.
Notes
- redemptions are operator-scoped
- redemption credits use
redemptionItemIdandmarketIdmetadata orderIdis not part of the redemption credit payload- Resolutions are market-level exposure and liability aggregates; Redemptions are individual winning-share payout items
- Use Market PnL for confirmed cash and cash-flow triage for pending/failed sources. This read endpoint does not trigger another payout.
