Skip to content
Download OpenAPI description
Overview
Languages
Servers
Mock server

https://docs.pers.ninja/_mock/swagger/

https://api.pers.ninja/v2/

Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations

Execute redemption (Unified - Critical Financial)

Request

Process redemption execution using role-based detection. BUSINESS CRITICAL - handles real financial transactions with automatic authentication context detection. Supports user, business, and admin redemption processing.

Security
projectKey or authJWT
Bodyapplication/jsonrequired
redemptionIdstringrequired

The redemption id

businessIdstring or nullrequired

The business id associated with the redemption, if applicable

curl -i -X POST \
  https://docs.pers.ninja/_mock/swagger/redemption-redeems \
  -H 'Content-Type: application/json' \
  -H 'x-project-key: YOUR_API_KEY_HERE' \
  -d '{
    "redemptionId": "string",
    "businessId": "string"
  }'

Responses

Redemption executed successfully

Bodyapplication/json
redeemobjectrequired
redeem.​idstringrequired

The id of the redemption user redeem

redeem.​userIdstringrequired

The user id that is claiming the redemption

redeem.​redemptionIdstringrequired

The redemption that the user is redeeming

redeem.​userCountryCodestring or nullrequired

The country code of the user redeeming the redemption

redeem.​statusstringrequired

The status of the redemption redeem

Default "PENDING"
Enum"PENDING""PROCESSING""COMPLETED""FAILED"
redeem.​anonymizedIpAddressstring or nullrequired

The anonymized IP address of the user redeeming the redemption

redeem.​createdAtstring or null(date-time)required

The date and time when processing of the redemption redeem started

redeem.​updatedAtstring or null(date-time)required

The date and time when processing of the redemption redeem was last updated

redeem.​failureReasonstring or nullrequired

The reason for failure if the redemption redeem failed

senderTransactionobject or nullrequired
senderTransaction.​transactionobjectrequired
senderTransaction.​transaction.​amountnumberrequired

Transaction amount

senderTransaction.​transaction.​idstringrequired

Transaction id

senderTransaction.​transaction.​tokenAddressstringrequired

Transaction token address

senderTransaction.​transaction.​contractTokenIdobject or nullrequired

Transaction token contract id, this is the blockchain contract id of the token

senderTransaction.​transaction.​tokenTypestringrequired

Transaction token type

senderTransaction.​transaction.​senderAddressstringrequired

Sender address

senderTransaction.​transaction.​recipientAddressobjectrequired

Recipient address

senderTransaction.​transaction.​transactionHashobjectrequired

Transaction hash

senderTransaction.​transaction.​typestringrequired

Transaction type

Enum"MINT""TRANSFER""BURN"
senderTransaction.​transaction.​triggerProcessTypestringrequired

Trigger process type

Enum"PURCHASE""SPEND""TRANSFER""EARN""CAMPAIGN_USER_CLAIM""CAMPAIGN_SYSTEM_CLAIM""CAMPAIGN_BUSINESS_CLAIM""REDEMPTION_SPEND""REDEMPTION_RECEIVE""MIGRATION"
senderTransaction.​transaction.​triggerProcessIdobjectrequired

Trigger process id, this is the id of the entity that triggered the transaction if applicable (e.g. CampaignUserClaim id)

senderTransaction.​transaction.​statusstringrequired

Transaction status

Enum"created""processing""pending_signature""broadcasted""succeeded""failed"
senderTransaction.​transaction.​createdAtobjectrequired

create date

senderTransaction.​transaction.​updatedAtobjectrequired

update date

senderTransaction.​transaction.​tenantIdstringrequired

Tenant ID for multi-tenant isolation

senderTransaction.​transaction.​chainIdnumberrequired

Blockchain chain ID

senderTransaction.​transaction.​senderIdobject or nullrequired

Sender entity ID (polymorphic reference)

senderTransaction.​transaction.​senderOwnerTypestring or nullrequired

Sender entity type (user, business, system etc.)

Enum"user""business""tenant""system""external"
senderTransaction.​transaction.​recipientIdobject or nullrequired

Recipient entity ID (polymorphic reference)

senderTransaction.​transaction.​recipientOwnerTypestring or nullrequired

Recipient entity type (user, Business, system, etc.)

Enum"user""business""tenant""system""external"
senderTransaction.​transactionStatusstringrequired

Current status of the transaction

Enum"created""processing""pending_signature""broadcasted""succeeded""failed"
senderTransaction.​signingDataobject or nullrequired

Prepared transaction data ready for signing (if applicable)

senderTransaction.​actionableobject or nullrequired
senderTransaction.​actionable.​messageobject

User-friendly message describing the action

senderTransaction.​actionable.​actionUrlobject

URL to perform the action

senderTransaction.​actionable.​authTokenobject

Authentication token for the action

senderTransaction.​actionable.​actionTypestringrequired

Type of action to be performed

senderTransaction.​walletSigningStatusstringrequired

Current status of the wallet signing process

Response
application/json
{ "redeem": { "id": "string", "userId": "string", "redemptionId": "string", "userCountryCode": "string", "status": "PENDING", "anonymizedIpAddress": "string", "createdAt": "2019-08-24T14:15:22Z", "updatedAt": "2019-08-24T14:15:22Z", "failureReason": "string" }, "senderTransaction": { "transaction": { … }, "transactionStatus": "created", "signingData": {}, "actionable": { … }, "walletSigningStatus": "string" } }

Get redemption redeems with advanced filtering

Request

Get redemption redeems with comprehensive filtering options: - redemptionId: Filter by specific redemption (optional) - userId: Filter by specific user ID (admin only) - businessId: Filter by specific business ID (admin only)

Access Control: - Users: See only their own redemptions - Business: See only redemptions associated with their business account - Admin: Can filter by any combination of parameters or see all redemptions

Security Notes: - Users cannot access userId or businessId parameters (automatically filtered) - Business accounts automatically filter to their own businessId regardless of parameter - Admin has full access to all filtering options

Security
projectKey or authJWT
Query
redemptionIdstring

Filter by specific redemption ID

userIdstring

Filter by specific user ID (admin only)

businessIdstring

Filter by specific business ID (admin only)

curl -i -X GET \
  'https://docs.pers.ninja/_mock/swagger/redemption-redeems?redemptionId=string&userId=string&businessId=string' \
  -H 'x-project-key: YOUR_API_KEY_HERE'

Responses

Redemption redeems retrieved successfully

Bodyapplication/jsonArray [
idstringrequired

The id of the redemption user redeem

userIdstringrequired

The user id that is claiming the redemption

redemptionIdstringrequired

The redemption that the user is redeeming

userCountryCodestring or nullrequired

The country code of the user redeeming the redemption

statusstringrequired

The status of the redemption redeem

Default "PENDING"
Enum"PENDING""PROCESSING""COMPLETED""FAILED"
anonymizedIpAddressstring or nullrequired

The anonymized IP address of the user redeeming the redemption

createdAtstring or null(date-time)required

The date and time when processing of the redemption redeem started

updatedAtstring or null(date-time)required

The date and time when processing of the redemption redeem was last updated

failureReasonstring or nullrequired

The reason for failure if the redemption redeem failed

]
Response
application/json
[ { "id": "string", "userId": "string", "redemptionId": "string", "userCountryCode": "string", "status": "PENDING", "anonymizedIpAddress": "string", "createdAt": "2019-08-24T14:15:22Z", "updatedAt": "2019-08-24T14:15:22Z", "failureReason": "string" } ]

Get my redemption redeems (Convenience)

Request

Convenience endpoint for authenticated users to retrieve their own redemption redeems.

Equivalent to GET /redemption-redeems but with required authentication and automatic filtering to current user context.

Features:

  • Automatic user context (no userId parameter needed)
  • Optional redemption filtering
  • Requires user authentication
  • Simplified response structure

Usage Examples:

  • GET /redemption-redeems/me (all redemptions for authenticated user)
  • GET /redemption-redeems/me?redemptionId=123 (specific user redemption)
Security
projectKey or authUserJWT
Query
redemptionIdstring

Filter by specific redemption ID

curl -i -X GET \
  'https://docs.pers.ninja/_mock/swagger/redemption-redeems/me?redemptionId=string' \
  -H 'x-project-key: YOUR_API_KEY_HERE'

Responses

User redemption redeems retrieved successfully

Bodyapplication/jsonArray [
idstringrequired

The id of the redemption user redeem

userIdstringrequired

The user id that is claiming the redemption

redemptionIdstringrequired

The redemption that the user is redeeming

userCountryCodestring or nullrequired

The country code of the user redeeming the redemption

statusstringrequired

The status of the redemption redeem

Default "PENDING"
Enum"PENDING""PROCESSING""COMPLETED""FAILED"
anonymizedIpAddressstring or nullrequired

The anonymized IP address of the user redeeming the redemption

createdAtstring or null(date-time)required

The date and time when processing of the redemption redeem started

updatedAtstring or null(date-time)required

The date and time when processing of the redemption redeem was last updated

failureReasonstring or nullrequired

The reason for failure if the redemption redeem failed

]
Response
application/json
[ { "id": "string", "userId": "string", "redemptionId": "string", "userCountryCode": "string", "status": "PENDING", "anonymizedIpAddress": "string", "createdAt": "2019-08-24T14:15:22Z", "updatedAt": "2019-08-24T14:15:22Z", "failureReason": "string" } ]

Request

Get current status of a specific redemption redeem with automatic access control based on authentication context.

Security
projectKey or authJWT
Path
idstringrequired
curl -i -X GET \
  'https://docs.pers.ninja/_mock/swagger/redemption-redeems/{id}' \
  -H 'x-project-key: YOUR_API_KEY_HERE'

Responses

Redemption redeem retrieved successfully

Bodyapplication/json
idstringrequired

The id of the redemption user redeem

userIdstringrequired

The user id that is claiming the redemption

redemptionIdstringrequired

The redemption that the user is redeeming

userCountryCodestring or nullrequired

The country code of the user redeeming the redemption

statusstringrequired

The status of the redemption redeem

Default "PENDING"
Enum"PENDING""PROCESSING""COMPLETED""FAILED"
anonymizedIpAddressstring or nullrequired

The anonymized IP address of the user redeeming the redemption

createdAtstring or null(date-time)required

The date and time when processing of the redemption redeem started

updatedAtstring or null(date-time)required

The date and time when processing of the redemption redeem was last updated

failureReasonstring or nullrequired

The reason for failure if the redemption redeem failed

Response
application/json
{ "id": "string", "userId": "string", "redemptionId": "string", "userCountryCode": "string", "status": "PENDING", "anonymizedIpAddress": "string", "createdAt": "2019-08-24T14:15:22Z", "updatedAt": "2019-08-24T14:15:22Z", "failureReason": "string" }
Operations
Operations