# Redemptions ## Get redemption types - [GET /redemptions/types](https://docs.pers.ninja/swagger/redemptions/redemptionscontroller_getredemptiontypes.md): Get all available redemption types for client reference. Requires valid project API key. ## Create redemption type (Admin) - [POST /redemptions/types](https://docs.pers.ninja/swagger/redemptions/redemptionscontroller_createredemptiontype.md): Create a new redemption type for system configuration. Replaces POST /redemption/admin/type ## Get redemption by ID - [GET /redemptions/{id}](https://docs.pers.ninja/swagger/redemptions/redemptionscontroller_getredemptionbyid.md): Get specific redemption details by ID. Requires valid project API key. ## Update redemption (Admin) - [PUT /redemptions/{id}](https://docs.pers.ninja/swagger/redemptions/redemptionscontroller_updateredemption.md): Update existing redemption information. Replaces PUT /redemption/admin/{id} ## Delete redemption (Admin) - [DELETE /redemptions/{id}](https://docs.pers.ninja/swagger/redemptions/redemptionscontroller_deleteredemption.md): Permanently delete a redemption. Replaces DELETE /redemption/admin/{id} ## Get redemption available supply - [GET /redemptions/{id}/available-supply](https://docs.pers.ninja/swagger/redemptions/redemptionscontroller_getavailablesupply.md): Get the available supply count for a specific redemption. Used for inventory display. ## Redeem redemption (User) - [POST /redemptions/{id}/redeem](https://docs.pers.ninja/swagger/redemptions/redemptionscontroller_redeemredemption.md): Execute a redemption for the authenticated user. This is a business-critical operation with IP tracking for fraud prevention. Replaces POST /redemption/auth/redeem ## Get user redemption history - [GET /redemptions/me/history](https://docs.pers.ninja/swagger/redemptions/redemptionscontroller_getuserredemptionhistory.md): Get all redemptions executed by the authenticated user. Replaces GET /redemption/auth/redeem ## Get redemptions (Intelligent Access) - [GET /redemptions](https://docs.pers.ninja/swagger/redemptions/redemptionscontroller_getredemptions.md): Intelligent endpoint that adapts based on authentication: Public users get active redemptions only, Admin users get all redemptions with optional filtering. Consolidates GET /redemption and GET /redemption/admin ## Create redemption (Admin) - [POST /redemptions](https://docs.pers.ninja/swagger/redemptions/redemptionscontroller_createredemption.md): Create a new redemption with administrative privileges. Replaces POST /redemption/admin ## Toggle redemption status (Admin) - [PUT /redemptions/{id}/status](https://docs.pers.ninja/swagger/redemptions/redemptionscontroller_toggleredemptionstatus.md): Toggle redemption between active and inactive status. Follows standard /status pattern. Replaces PUT /redemption/admin/{id}/toggle-active ## Add token unit to redemption (Admin) - [POST /redemptions/{id}/token-units](https://docs.pers.ninja/swagger/redemptions/redemptionscontroller_addtokenunittoredemption.md): Add a new token unit to an existing redemption. Replaces POST /redemption/admin/{id}/token-units ## Update redemption token unit (Admin) - [PUT /redemptions/{id}/token-units/{tokenUnitId}](https://docs.pers.ninja/swagger/redemptions/redemptionscontroller_updatetokenunit.md): Update an existing token unit within a redemption. Replaces PUT /redemption/admin/{id}/token-units/{tokenUnitId} ## Remove token unit from redemption (Admin) - [DELETE /redemptions/{id}/token-units/{tokenUnitId}](https://docs.pers.ninja/swagger/redemptions/redemptionscontroller_removetokenunit.md): Remove an existing token unit from a redemption. Replaces DELETE /redemption/admin/{id}/token-units/{tokenUnitId}