Get specific redemption details by ID. Requires valid project API key.
PERS-api Documentation (2.0.12)
PERS API Documentation
This RESTful API enables seamless integration of Web3 loyalty, token management, and engagement features into your applications.
Usage Guidelines:
- RESTful Design: Resources are accessed via standard HTTP methods (GET, POST, PUT, DELETE) with predictable, resource-oriented URLs.
- Authentication: Secure access is enforced via Bearer Tokens (JWT) and Project Keys (defining the Tenant context).
- Data Format: All requests and responses utilize standard JSON formatting.
Explore the modules below for detailed endpoint specifications, schemas, and testing capabilities.

- Mock serverhttps://docs.pers.ninja/_mock/swagger/redemptions/{id}
- Production APIhttps://api.pers.ninja/v2/redemptions/{id}
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
'https://docs.pers.ninja/_mock/swagger/redemptions/{id}' \
-H 'x-project-key: YOUR_API_KEY_HERE'Redemption details retrieved
The redemption type
The redemption tokens to be redeemed
TokenDTO object
Metadata of the token, this is optional and can be null in case of Point token
this is the abi of the contract, this is the interface of the contract to interact with it
this is the chain id of the chain where the token is deployed
this is the url of the abi of the contract, to be used to fetch the abi of the contract
this is the symbol of the token contract, this is optional and can be null
this is the decimals of the token. This is optional and only used for ERC20 tokens (Points)
This can be used to enable or disable the token for gallery
token metadata incremental id for the token unit, this is used to identify the specific token metadata that should be minted
Token unit amount is the amount of tokens that the user will receive when aquiring the token unit
The minimum user status type to redeem the redemption
Country code restrictions as an array of strings (e.g., ["NOT_ES", "FR"])
{ "id": "string", "description": "string", "name": "string", "imageUrl": "string", "isActive": true, "creditTokenAmount": 0, "type": { "name": "string", "description": "string", "imageUrl": "string", "id": 0 }, "tokenUnits": [ { … } ], "order": 0, "supply": { "available": 0, "total": 0 }, "maxPerUser": {}, "minUserStatusType": { "name": "string", "description": "string", "minTokenBalance": 0, "discountPercentage": 0, "imageUrl": "string", "id": 0, "eligibleTokenAddresses": [ … ] }, "countryCodeRestrictions": [ "NOT_ES", "FR" ], "tags": [] }
- Mock serverhttps://docs.pers.ninja/_mock/swagger/redemptions/{id}
- Production APIhttps://api.pers.ninja/v2/redemptions/{id}
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X PUT \
'https://docs.pers.ninja/_mock/swagger/redemptions/{id}' \
-H 'Authorization: Bearer <YOUR_JWT_HERE>' \
-H 'Content-Type: application/json' \
-d '{
"creditTokenAmount": 0,
"description": "string",
"name": "string",
"imageUrl": "string",
"redemptionTypeId": 0,
"minUserStatusTypeId": 0,
"maxTotalSupply": 0,
"order": 0,
"maxPerUser": 0,
"countryCodeRestrictions": [
"NOT_ES",
"FR"
]
}'Redemption updated successfully
The redemption type
The redemption tokens to be redeemed
TokenDTO object
Metadata of the token, this is optional and can be null in case of Point token
this is the abi of the contract, this is the interface of the contract to interact with it
this is the chain id of the chain where the token is deployed
this is the url of the abi of the contract, to be used to fetch the abi of the contract
this is the symbol of the token contract, this is optional and can be null
this is the decimals of the token. This is optional and only used for ERC20 tokens (Points)
This can be used to enable or disable the token for gallery
token metadata incremental id for the token unit, this is used to identify the specific token metadata that should be minted
Token unit amount is the amount of tokens that the user will receive when aquiring the token unit
The minimum user status type to redeem the redemption
Country code restrictions as an array of strings (e.g., ["NOT_ES", "FR"])
{ "id": "string", "description": "string", "name": "string", "imageUrl": "string", "isActive": true, "creditTokenAmount": 0, "type": { "name": "string", "description": "string", "imageUrl": "string", "id": 0 }, "tokenUnits": [ { … } ], "order": 0, "supply": { "available": 0, "total": 0 }, "maxPerUser": {}, "minUserStatusType": { "name": "string", "description": "string", "minTokenBalance": 0, "discountPercentage": 0, "imageUrl": "string", "id": 0, "eligibleTokenAddresses": [ … ] }, "countryCodeRestrictions": [ "NOT_ES", "FR" ], "tags": [] }
- Mock serverhttps://docs.pers.ninja/_mock/swagger/redemptions/{id}
- Production APIhttps://api.pers.ninja/v2/redemptions/{id}
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X DELETE \
'https://docs.pers.ninja/_mock/swagger/redemptions/{id}' \
-H 'Authorization: Bearer <YOUR_JWT_HERE>'- Mock serverhttps://docs.pers.ninja/_mock/swagger/redemptions/{id}/supply
- Production APIhttps://api.pers.ninja/v2/redemptions/{id}/supply
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
'https://docs.pers.ninja/_mock/swagger/redemptions/{id}/supply' \
-H 'x-project-key: YOUR_API_KEY_HERE'{ "available": 0, "total": 0 }
- Mock serverhttps://docs.pers.ninja/_mock/swagger/redemptions
- Production APIhttps://api.pers.ninja/v2/redemptions
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
'https://docs.pers.ninja/_mock/swagger/redemptions?active=true' \
-H 'x-project-key: YOUR_API_KEY_HERE'Redemptions retrieved based on access level
The redemption type
The redemption tokens to be redeemed
TokenDTO object
Metadata of the token, this is optional and can be null in case of Point token
this is the abi of the contract, this is the interface of the contract to interact with it
this is the chain id of the chain where the token is deployed
this is the url of the abi of the contract, to be used to fetch the abi of the contract
this is the symbol of the token contract, this is optional and can be null
this is the decimals of the token. This is optional and only used for ERC20 tokens (Points)
This can be used to enable or disable the token for gallery
token metadata incremental id for the token unit, this is used to identify the specific token metadata that should be minted
Token unit amount is the amount of tokens that the user will receive when aquiring the token unit
The minimum user status type to redeem the redemption
Country code restrictions as an array of strings (e.g., ["NOT_ES", "FR"])
[ { "id": "string", "description": "string", "name": "string", "imageUrl": "string", "isActive": true, "creditTokenAmount": 0, "type": { … }, "tokenUnits": [ … ], "order": 0, "supply": { … }, "maxPerUser": {}, "minUserStatusType": { … }, "countryCodeRestrictions": [ … ], "tags": [] } ]
- Mock serverhttps://docs.pers.ninja/_mock/swagger/redemptions
- Production APIhttps://api.pers.ninja/v2/redemptions
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X POST \
https://docs.pers.ninja/_mock/swagger/redemptions \
-H 'Authorization: Bearer <YOUR_JWT_HERE>' \
-H 'Content-Type: application/json' \
-d '{
"creditTokenAmount": 0,
"description": "string",
"name": "string",
"imageUrl": "string",
"redemptionTypeId": 0,
"minUserStatusTypeId": 0,
"maxTotalSupply": 0,
"order": 0,
"maxPerUser": 0,
"countryCodeRestrictions": [
"NOT_ES",
"FR"
]
}'Redemption created successfully
The redemption type
The redemption tokens to be redeemed
TokenDTO object
Metadata of the token, this is optional and can be null in case of Point token
this is the abi of the contract, this is the interface of the contract to interact with it
this is the chain id of the chain where the token is deployed
this is the url of the abi of the contract, to be used to fetch the abi of the contract
this is the symbol of the token contract, this is optional and can be null
this is the decimals of the token. This is optional and only used for ERC20 tokens (Points)
This can be used to enable or disable the token for gallery
token metadata incremental id for the token unit, this is used to identify the specific token metadata that should be minted
Token unit amount is the amount of tokens that the user will receive when aquiring the token unit
The minimum user status type to redeem the redemption
Country code restrictions as an array of strings (e.g., ["NOT_ES", "FR"])
{ "id": "string", "description": "string", "name": "string", "imageUrl": "string", "isActive": true, "creditTokenAmount": 0, "type": { "name": "string", "description": "string", "imageUrl": "string", "id": 0 }, "tokenUnits": [ { … } ], "order": 0, "supply": { "available": 0, "total": 0 }, "maxPerUser": {}, "minUserStatusType": { "name": "string", "description": "string", "minTokenBalance": 0, "discountPercentage": 0, "imageUrl": "string", "id": 0, "eligibleTokenAddresses": [ … ] }, "countryCodeRestrictions": [ "NOT_ES", "FR" ], "tags": [] }
- Mock serverhttps://docs.pers.ninja/_mock/swagger/redemptions/{id}/status
- Production APIhttps://api.pers.ninja/v2/redemptions/{id}/status
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X PUT \
'https://docs.pers.ninja/_mock/swagger/redemptions/{id}/status' \
-H 'Authorization: Bearer <YOUR_JWT_HERE>'Redemption status toggled
The redemption type
The redemption tokens to be redeemed
TokenDTO object
Metadata of the token, this is optional and can be null in case of Point token
this is the abi of the contract, this is the interface of the contract to interact with it
this is the chain id of the chain where the token is deployed
this is the url of the abi of the contract, to be used to fetch the abi of the contract
this is the symbol of the token contract, this is optional and can be null
this is the decimals of the token. This is optional and only used for ERC20 tokens (Points)
This can be used to enable or disable the token for gallery
token metadata incremental id for the token unit, this is used to identify the specific token metadata that should be minted
Token unit amount is the amount of tokens that the user will receive when aquiring the token unit
The minimum user status type to redeem the redemption
Country code restrictions as an array of strings (e.g., ["NOT_ES", "FR"])
{ "id": "string", "description": "string", "name": "string", "imageUrl": "string", "isActive": true, "creditTokenAmount": 0, "type": { "name": "string", "description": "string", "imageUrl": "string", "id": 0 }, "tokenUnits": [ { … } ], "order": 0, "supply": { "available": 0, "total": 0 }, "maxPerUser": {}, "minUserStatusType": { "name": "string", "description": "string", "minTokenBalance": 0, "discountPercentage": 0, "imageUrl": "string", "id": 0, "eligibleTokenAddresses": [ … ] }, "countryCodeRestrictions": [ "NOT_ES", "FR" ], "tags": [] }