Get transactions with comprehensive filtering options: - participantId: Filter by user/business/tenant ID - role: Filter by SENDER, RECIPIENT, or both (omit for all) - status: Filter by transaction status - tokenType: Filter by token type - Standard pagination parameters supported
PERS-api docs (2.0.7)
- Mock serverhttps://docs.pers.ninja/_mock/swagger/transactions/me/sent
- https://explorins-loyalty.ngrok.io/transactions/me/sent
- https://api.pers.ninja/v2/transactions/me/sent
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
https://docs.pers.ninja/_mock/swagger/transactions/me/sent \
-H 'x-project-key: YOUR_API_KEY_HERE'- Mock serverhttps://docs.pers.ninja/_mock/swagger/transactions/me/received
- https://explorins-loyalty.ngrok.io/transactions/me/received
- https://api.pers.ninja/v2/transactions/me/received
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
https://docs.pers.ninja/_mock/swagger/transactions/me/received \
-H 'x-project-key: YOUR_API_KEY_HERE'- Mock serverhttps://docs.pers.ninja/_mock/swagger/transactions
- https://explorins-loyalty.ngrok.io/transactions
- https://api.pers.ninja/v2/transactions
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
'https://docs.pers.ninja/_mock/swagger/transactions?participantId=string&role=SENDER&status=created&tokenType=string&page=0&limit=0&sortBy=string&sortOrder=ASC' \
-H 'Authorization: Bearer <YOUR_JWT_HERE>'Request
Create any type of transaction (MINT/TRANSFER/BURN) using role-based trigger detection. Sender will be determined based on the authentication context or provided explicitly (Pending verification). Depending on transaction type and signing context will either return a prepared transaction for client-side signing or execute server-side directly.
Transaction type for easier detection and routing
- Mock serverhttps://docs.pers.ninja/_mock/swagger/transactions
- https://explorins-loyalty.ngrok.io/transactions
- https://api.pers.ninja/v2/transactions
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X POST \
https://docs.pers.ninja/_mock/swagger/transactions \
-H 'Authorization: Bearer <YOUR_JWT_HERE>' \
-H 'Content-Type: application/json' \
-d '{
"web3TransactionType": "TRANSFER",
"sender": {
"accountId": "user123",
"accountType": "user",
"accountAddress": "0x742d35Cc5dB3dC0F0e8f0b0d2fA0c3fA2ed5D0f8"
},
"recipient": {
"accountId": "user123",
"accountType": "user",
"accountAddress": "0x742d35Cc5dB3dC0F0e8f0b0d2fA0c3fA2ed5D0f8"
},
"token": {
"tokenDbId": "uuid-12345-67890",
"contractAddress": "0x742d35Cc5dB3dC0F0e8f0b0d2fA0c3fA2ed5D0f8",
"contractTokenId": "721",
"chainId": 1
},
"amount": 100
}'transaction created
Transaction token contract id, this is the blockchain contract id of the token
Trigger process type
Trigger process id, this is the id of the entity that triggered the transaction if applicable (e.g. CampaignUserClaim id)
Transaction status
Sender entity type (user, business, system etc.)
Current status of the transaction
{ "transaction": { "amount": 0, "id": "string", "tokenAddress": "string", "contractTokenId": {}, "tokenType": "string", "senderAddress": "string", "recipientAddress": {}, "transactionHash": {}, "type": "MINT", "triggerProcessType": "PURCHASE", "triggerProcessId": {}, "status": "created", "createdAt": {}, "updatedAt": {}, "tenantId": "string", "chainId": 0, "senderId": {}, "senderOwnerType": "user", "recipientId": {}, "recipientOwnerType": "user" }, "transactionStatus": "created", "signingData": {}, "actionable": { "message": {}, "actionUrl": {}, "authToken": {}, "actionType": "string" }, "walletSigningStatus": "string" }
- Mock serverhttps://docs.pers.ninja/_mock/swagger/transactions/{id}
- https://explorins-loyalty.ngrok.io/transactions/{id}
- https://api.pers.ninja/v2/transactions/{id}
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
'https://docs.pers.ninja/_mock/swagger/transactions/{id}' \
-H 'x-project-key: YOUR_API_KEY_HERE'Transaction found
Transaction token contract id, this is the blockchain contract id of the token
Trigger process type
Trigger process id, this is the id of the entity that triggered the transaction if applicable (e.g. CampaignUserClaim id)
Transaction status
Sender entity type (user, business, system etc.)
{ "amount": 0, "id": "string", "tokenAddress": "string", "contractTokenId": {}, "tokenType": "string", "senderAddress": "string", "recipientAddress": {}, "transactionHash": {}, "type": "MINT", "triggerProcessType": "PURCHASE", "triggerProcessId": {}, "status": "created", "createdAt": {}, "updatedAt": {}, "tenantId": "string", "chainId": 0, "senderId": {}, "senderOwnerType": "user", "recipientId": {}, "recipientOwnerType": "user" }
- Mock serverhttps://docs.pers.ninja/_mock/swagger/transactions/{id}/prepare
- https://explorins-loyalty.ngrok.io/transactions/{id}/prepare
- https://api.pers.ninja/v2/transactions/{id}/prepare
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
'https://docs.pers.ninja/_mock/swagger/transactions/{id}/prepare' \
-H 'x-project-key: YOUR_API_KEY_HERE'Transaction prepared successfully
Transaction token contract id, this is the blockchain contract id of the token
Trigger process type
Trigger process id, this is the id of the entity that triggered the transaction if applicable (e.g. CampaignUserClaim id)
Transaction status
Sender entity type (user, business, system etc.)
Current status of the transaction
{ "transaction": { "amount": 0, "id": "string", "tokenAddress": "string", "contractTokenId": {}, "tokenType": "string", "senderAddress": "string", "recipientAddress": {}, "transactionHash": {}, "type": "MINT", "triggerProcessType": "PURCHASE", "triggerProcessId": {}, "status": "created", "createdAt": {}, "updatedAt": {}, "tenantId": "string", "chainId": 0, "senderId": {}, "senderOwnerType": "user", "recipientId": {}, "recipientOwnerType": "user" }, "transactionStatus": "created", "signingData": {}, "actionable": { "message": {}, "actionUrl": {}, "authToken": {}, "actionType": "string" }, "walletSigningStatus": "string" }
Transaction format type for submission
EIP-712 structured data for smart wallet meta-transactions (required when type is EIP-712)
- Mock serverhttps://docs.pers.ninja/_mock/swagger/transactions/submit
- https://explorins-loyalty.ngrok.io/transactions/submit
- https://api.pers.ninja/v2/transactions/submit
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X POST \
https://docs.pers.ninja/_mock/swagger/transactions/submit \
-H 'Content-Type: application/json' \
-H 'x-project-key: YOUR_API_KEY_HERE' \
-d '{
"transactionId": "string",
"type": "legacy",
"signature": "0x1234567890abcdef...",
"signedTransaction": "0xf86c0a8255f0..."
}'Transaction submitted successfully
Transaction token contract id, this is the blockchain contract id of the token
Trigger process type
Trigger process id, this is the id of the entity that triggered the transaction if applicable (e.g. CampaignUserClaim id)
Transaction status
Sender entity type (user, business, system etc.)
Current status of the transaction
{ "transaction": { "amount": 0, "id": "string", "tokenAddress": "string", "contractTokenId": {}, "tokenType": "string", "senderAddress": "string", "recipientAddress": {}, "transactionHash": {}, "type": "MINT", "triggerProcessType": "PURCHASE", "triggerProcessId": {}, "status": "created", "createdAt": {}, "updatedAt": {}, "tenantId": "string", "chainId": 0, "senderId": {}, "senderOwnerType": "user", "recipientId": {}, "recipientOwnerType": "user" }, "transactionStatus": "created", "signingData": {}, "actionable": { "message": {}, "actionUrl": {}, "authToken": {}, "actionType": "string" }, "walletSigningStatus": "string" }
- Mock serverhttps://docs.pers.ninja/_mock/swagger/transactions/export/csv
- https://explorins-loyalty.ngrok.io/transactions/export/csv
- https://api.pers.ninja/v2/transactions/export/csv
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
https://docs.pers.ninja/_mock/swagger/transactions/export/csv \
-H 'Authorization: Bearer <YOUR_JWT_HERE>'"string"
Analytics configuration with filters, grouping, and metrics
Dynamic filters based on TransactionDTO fields - all transaction fields available
Fields to group by - any TransactionDTO field plus computed time fields
Complex CASE WHEN expressions for advanced grouping scenarios
Field to order results by (supports expression aliases)
- Mock serverhttps://docs.pers.ninja/_mock/swagger/transactions/analytics
- https://explorins-loyalty.ngrok.io/transactions/analytics
- https://api.pers.ninja/v2/transactions/analytics
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X POST \
https://docs.pers.ninja/_mock/swagger/transactions/analytics \
-H 'Authorization: Bearer <YOUR_JWT_HERE>' \
-H 'Content-Type: application/json' \
-d '{
"filters": {
"status": "SUCCEEDED",
"tokenType": "STAMP"
},
"groupBy": [
"month"
],
"metrics": [
"count"
],
"orderBy": "count",
"orderDirection": "DESC",
"limit": 12
}'{ "results": [ { … }, { … }, { … } ], "totalGroups": 3, "metadata": { "executionTime": "45ms" } }