# Redemptions

## 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. Include missingUserFields to check which required fields the authenticated user is missing.

## Update redemption

 - [PUT /redemptions/{id}](https://docs.pers.ninja/swagger/redemptions/redemptionscontroller_updateredemption.md): Update existing redemption. Business can only update their own redemptions.

## Delete redemption

 - [DELETE /redemptions/{id}](https://docs.pers.ninja/swagger/redemptions/redemptionscontroller_deleteredemption.md): Permanently delete a redemption. Business can only delete their own redemptions.

## Get redemption available supply

 - [GET /redemptions/{id}/supply](https://docs.pers.ninja/swagger/redemptions/redemptionscontroller_getavailablesupply.md): Get the available supply count for a specific redemption. Used for inventory display.

## 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. Use pagination parameters (page & limit) for optimal performance - critical for large datasets. Legacy support: returns array without params (deprecated - will be removed in future).

## 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

 - [PUT /redemptions/{id}/status](https://docs.pers.ninja/swagger/redemptions/redemptionscontroller_toggleredemptionstatus.md): Toggle redemption between active and inactive status. Business can only toggle their own redemptions.

## Export redemptions to CSV

 - [GET /redemptions/export/csv](https://docs.pers.ninja/swagger/redemptions/redemptionscontroller_exportredemptionscsv.md): Export all redemptions as a CSV file. Supports date filtering.

## Approve or reject a redemption (Admin)

 - [PATCH /redemptions/{id}/approval](https://docs.pers.ninja/swagger/redemptions/redemptionscontroller_approveorrejectredemption.md): Sets approval status to approved or rejected. Rejected requires a reason.

