Get authenticated user account info without balances
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/users/me
- Production APIhttps://api.pers.ninja/v2/users/me
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
https://docs.pers.ninja/_mock/swagger/users/me \
-H 'Authorization: Bearer <YOUR_JWT_HERE>'User found
Universal identifier email for deterministic operations. Generated from B2B inputs (email, externalId) for wallet salt generation and external integrations.
User-owned counterfactual smart contract wallets that can receive tokens
Owner type for polymorphic ownership
Type of internal wallet
Current status of the wallet
ID of signing account that owns this internal wallet
{ "id": "string", "email": {}, "identifierEmail": "user123@user.pers.internal", "firstName": {}, "lastName": {}, "externalId": {}, "accountAddress": {}, "instagramAccountId": {}, "googleAccountName": {}, "customData": {}, "publicProfile": {}, "isActive": true, "currentSigningAccountId": {}, "wallets": [ { … } ] }
- Mock serverhttps://docs.pers.ninja/_mock/swagger/users/me
- Production APIhttps://api.pers.ninja/v2/users/me
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X PUT \
https://docs.pers.ninja/_mock/swagger/users/me \
-H 'Authorization: Bearer <YOUR_JWT_HERE>' \
-H 'Content-Type: application/json' \
-d '{
"email": "string",
"instagramAccountId": "string",
"googleAccountName": "string",
"firstName": "string",
"lastName": "string",
"externalId": "string",
"customData": {},
"publicProfile": {},
"isActive": true
}'User updated
Universal identifier email for deterministic operations. Generated from B2B inputs (email, externalId) for wallet salt generation and external integrations.
User-owned counterfactual smart contract wallets that can receive tokens
Owner type for polymorphic ownership
Type of internal wallet
Current status of the wallet
ID of signing account that owns this internal wallet
{ "id": "string", "email": {}, "identifierEmail": "user123@user.pers.internal", "firstName": {}, "lastName": {}, "externalId": {}, "accountAddress": {}, "instagramAccountId": {}, "googleAccountName": {}, "customData": {}, "publicProfile": {}, "isActive": true, "currentSigningAccountId": {}, "wallets": [ { … } ] }
- Mock serverhttps://docs.pers.ninja/_mock/swagger/users/me/balance
- Production APIhttps://api.pers.ninja/v2/users/me/balance
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
https://docs.pers.ninja/_mock/swagger/users/me/balance \
-H 'Authorization: Bearer <YOUR_JWT_HERE>'User found
Universal identifier email for deterministic operations. Generated from B2B inputs (email, externalId) for wallet salt generation and external integrations.
User-owned counterfactual smart contract wallets that can receive tokens
Owner type for polymorphic ownership
Type of internal wallet
Current status of the wallet
ID of signing account that owns this internal wallet
{ "id": "string", "email": {}, "identifierEmail": "user123@user.pers.internal", "firstName": {}, "lastName": {}, "externalId": {}, "accountAddress": {}, "instagramAccountId": {}, "googleAccountName": {}, "customData": {}, "publicProfile": {}, "isActive": true, "currentSigningAccountId": {}, "wallets": [ { … } ], "tokenBalances": [ { … } ] }
- Mock serverhttps://docs.pers.ninja/_mock/swagger/users/me/status
- Production APIhttps://api.pers.ninja/v2/users/me/status
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
https://docs.pers.ninja/_mock/swagger/users/me/status \
-H 'Authorization: Bearer <YOUR_JWT_HERE>'[ { "name": "string", "description": "string", "minTokenBalance": 0, "discountPercentage": 0, "imageUrl": "string", "id": 0, "eligibleTokenAddresses": [ … ] } ]
- Mock serverhttps://docs.pers.ninja/_mock/swagger/users/exists
- Production APIhttps://api.pers.ninja/v2/users/exists
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
'https://docs.pers.ninja/_mock/swagger/users/exists?filterValue=string&filterKey=id' \
-H 'x-project-key: YOUR_API_KEY_HERE'{ "exists": true, "identifier": "email" }
- Mock serverhttps://docs.pers.ninja/_mock/swagger/users/public
- Production APIhttps://api.pers.ninja/v2/users/public
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
'https://docs.pers.ninja/_mock/swagger/users/public?filterKey=string&filterValue=string' \
-H 'x-project-key: YOUR_API_KEY_HERE'[ { "id": "string", "publicProfile": {} } ]
- Mock serverhttps://docs.pers.ninja/_mock/swagger/users/public/{id}
- Production APIhttps://api.pers.ninja/v2/users/public/{id}
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
'https://docs.pers.ninja/_mock/swagger/users/public/{id}' \
-H 'x-project-key: YOUR_API_KEY_HERE'{ "id": "string", "publicProfile": {} }
- Mock serverhttps://docs.pers.ninja/_mock/swagger/users/status-types
- Production APIhttps://api.pers.ninja/v2/users/status-types
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
https://docs.pers.ninja/_mock/swagger/users/status-types \
-H 'x-project-key: YOUR_API_KEY_HERE'[ { "name": "string", "description": "string", "minTokenBalance": 0, "discountPercentage": 0, "imageUrl": "string", "id": 0, "eligibleTokenAddresses": [ … ] } ]
- Mock serverhttps://docs.pers.ninja/_mock/swagger/users/status-types
- Production APIhttps://api.pers.ninja/v2/users/status-types
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X POST \
https://docs.pers.ninja/_mock/swagger/users/status-types \
-H 'Authorization: Bearer <YOUR_JWT_HERE>' \
-H 'Content-Type: application/json' \
-d '{
"name": "string",
"description": "string",
"minTokenBalance": 0,
"discountPercentage": 0,
"imageUrl": "string"
}'{ "name": "string", "description": "string", "minTokenBalance": 0, "discountPercentage": 0, "imageUrl": "string", "id": 0, "eligibleTokenAddresses": [ "string" ] }
- Mock serverhttps://docs.pers.ninja/_mock/swagger/users/status-types/{id}
- Production APIhttps://api.pers.ninja/v2/users/status-types/{id}
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
'https://docs.pers.ninja/_mock/swagger/users/status-types/{id}' \
-H 'x-project-key: YOUR_API_KEY_HERE'{ "name": "string", "description": "string", "minTokenBalance": 0, "discountPercentage": 0, "imageUrl": "string", "id": 0, "eligibleTokenAddresses": [ "string" ] }
- Mock serverhttps://docs.pers.ninja/_mock/swagger/users/status-types/{id}/eligible-tokens/{tokenAddress}
- Production APIhttps://api.pers.ninja/v2/users/status-types/{id}/eligible-tokens/{tokenAddress}
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X PUT \
'https://docs.pers.ninja/_mock/swagger/users/status-types/{id}/eligible-tokens/{tokenAddress}' \
-H 'Authorization: Bearer <YOUR_JWT_HERE>'{ "name": "string", "description": "string", "minTokenBalance": 0, "discountPercentage": 0, "imageUrl": "string", "id": 0, "eligibleTokenAddresses": [ "string" ] }
- Mock serverhttps://docs.pers.ninja/_mock/swagger/users/info
- Production APIhttps://api.pers.ninja/v2/users/info
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X POST \
https://docs.pers.ninja/_mock/swagger/users/info \
-H 'Authorization: Bearer <YOUR_JWT_HERE>' \
-H 'Content-Type: application/json' \
-d '{
"email": "string",
"instagramAccountId": "string",
"googleAccountName": "string",
"firstName": "string",
"lastName": "string",
"externalId": "string",
"customData": {},
"publicProfile": {},
"isActive": true
}'User found
Universal identifier email for deterministic operations. Generated from B2B inputs (email, externalId) for wallet salt generation and external integrations.
User-owned counterfactual smart contract wallets that can receive tokens
Owner type for polymorphic ownership
Type of internal wallet
Current status of the wallet
ID of signing account that owns this internal wallet
{ "id": "string", "email": {}, "identifierEmail": "user123@user.pers.internal", "firstName": {}, "lastName": {}, "externalId": {}, "accountAddress": {}, "instagramAccountId": {}, "googleAccountName": {}, "customData": {}, "publicProfile": {}, "isActive": true, "currentSigningAccountId": {}, "wallets": [ { … } ] }
- Mock serverhttps://docs.pers.ninja/_mock/swagger/users/balance
- Production APIhttps://api.pers.ninja/v2/users/balance
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X POST \
https://docs.pers.ninja/_mock/swagger/users/balance \
-H 'Authorization: Bearer <YOUR_JWT_HERE>' \
-H 'Content-Type: application/json' \
-d '{
"email": "string",
"instagramAccountId": "string",
"googleAccountName": "string",
"firstName": "string",
"lastName": "string",
"externalId": "string",
"customData": {},
"publicProfile": {},
"isActive": true
}'User found
Universal identifier email for deterministic operations. Generated from B2B inputs (email, externalId) for wallet salt generation and external integrations.
User-owned counterfactual smart contract wallets that can receive tokens
Owner type for polymorphic ownership
Type of internal wallet
Current status of the wallet
ID of signing account that owns this internal wallet
{ "id": "string", "email": {}, "identifierEmail": "user123@user.pers.internal", "firstName": {}, "lastName": {}, "externalId": {}, "accountAddress": {}, "instagramAccountId": {}, "googleAccountName": {}, "customData": {}, "publicProfile": {}, "isActive": true, "currentSigningAccountId": {}, "wallets": [ { … } ], "tokenBalances": [ { … } ] }
Single user object or array of users (bulk operations require admin authentication)
- Mock serverhttps://docs.pers.ninja/_mock/swagger/users
- Production APIhttps://api.pers.ninja/v2/users
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X POST \
https://docs.pers.ninja/_mock/swagger/users \
-H 'Authorization: Bearer <YOUR_JWT_HERE>' \
-H 'Content-Type: application/json' \
-d '{}'User(s) created/updated
Universal identifier email for deterministic operations. Generated from B2B inputs (email, externalId) for wallet salt generation and external integrations.
User-owned counterfactual smart contract wallets that can receive tokens
Owner type for polymorphic ownership
Type of internal wallet
Current status of the wallet
ID of signing account that owns this internal wallet
[]
- Mock serverhttps://docs.pers.ninja/_mock/swagger/users
- Production APIhttps://api.pers.ninja/v2/users
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
'https://docs.pers.ninja/_mock/swagger/users?sanitize=string&merge=string' \
-H 'Authorization: Bearer <YOUR_JWT_HERE>'Users found
Universal identifier email for deterministic operations. Generated from B2B inputs (email, externalId) for wallet salt generation and external integrations.
User-owned counterfactual smart contract wallets that can receive tokens
Owner type for polymorphic ownership
Type of internal wallet
Current status of the wallet
ID of signing account that owns this internal wallet
[ { "id": "string", "email": {}, "identifierEmail": "user123@user.pers.internal", "firstName": {}, "lastName": {}, "externalId": {}, "accountAddress": {}, "instagramAccountId": {}, "googleAccountName": {}, "customData": {}, "publicProfile": {}, "isActive": true, "currentSigningAccountId": {}, "wallets": [ … ] } ]
- Mock serverhttps://docs.pers.ninja/_mock/swagger/users/{id}
- Production APIhttps://api.pers.ninja/v2/users/{id}
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
'https://docs.pers.ninja/_mock/swagger/users/{id}' \
-H 'Authorization: Bearer <YOUR_JWT_HERE>'User found
Universal identifier email for deterministic operations. Generated from B2B inputs (email, externalId) for wallet salt generation and external integrations.
User-owned counterfactual smart contract wallets that can receive tokens
Owner type for polymorphic ownership
Type of internal wallet
Current status of the wallet
ID of signing account that owns this internal wallet
{ "id": "string", "email": {}, "identifierEmail": "user123@user.pers.internal", "firstName": {}, "lastName": {}, "externalId": {}, "accountAddress": {}, "instagramAccountId": {}, "googleAccountName": {}, "customData": {}, "publicProfile": {}, "isActive": true, "currentSigningAccountId": {}, "wallets": [ { … } ] }
- Mock serverhttps://docs.pers.ninja/_mock/swagger/users/{id}
- Production APIhttps://api.pers.ninja/v2/users/{id}
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X PUT \
'https://docs.pers.ninja/_mock/swagger/users/{id}' \
-H 'Authorization: Bearer <YOUR_JWT_HERE>' \
-H 'Content-Type: application/json' \
-d '{
"email": "string",
"instagramAccountId": "string",
"googleAccountName": "string",
"firstName": "string",
"lastName": "string",
"externalId": "string",
"customData": {},
"publicProfile": {},
"isActive": true
}'User updated
Universal identifier email for deterministic operations. Generated from B2B inputs (email, externalId) for wallet salt generation and external integrations.
User-owned counterfactual smart contract wallets that can receive tokens
Owner type for polymorphic ownership
Type of internal wallet
Current status of the wallet
ID of signing account that owns this internal wallet
{ "id": "string", "email": {}, "identifierEmail": "user123@user.pers.internal", "firstName": {}, "lastName": {}, "externalId": {}, "accountAddress": {}, "instagramAccountId": {}, "googleAccountName": {}, "customData": {}, "publicProfile": {}, "isActive": true, "currentSigningAccountId": {}, "wallets": [ { … } ] }
- Mock serverhttps://docs.pers.ninja/_mock/swagger/users/bulk/url
- Production APIhttps://api.pers.ninja/v2/users/bulk/url
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X POST \
https://docs.pers.ninja/_mock/swagger/users/bulk/url \
-H 'Authorization: Bearer <YOUR_JWT_HERE>' \
-H 'Content-Type: application/json' \
-d '{
"url": "https://example.com/user-data"
}'Users created
Universal identifier email for deterministic operations. Generated from B2B inputs (email, externalId) for wallet salt generation and external integrations.
User-owned counterfactual smart contract wallets that can receive tokens
Owner type for polymorphic ownership
Type of internal wallet
Current status of the wallet
ID of signing account that owns this internal wallet
[ { "id": "string", "email": {}, "identifierEmail": "user123@user.pers.internal", "firstName": {}, "lastName": {}, "externalId": {}, "accountAddress": {}, "instagramAccountId": {}, "googleAccountName": {}, "customData": {}, "publicProfile": {}, "isActive": true, "currentSigningAccountId": {}, "wallets": [ … ] } ]
- Mock serverhttps://docs.pers.ninja/_mock/swagger/users/{id}/status
- Production APIhttps://api.pers.ninja/v2/users/{id}/status
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X PUT \
'https://docs.pers.ninja/_mock/swagger/users/{id}/status' \
-H 'Authorization: Bearer <YOUR_JWT_HERE>'User status updated
Universal identifier email for deterministic operations. Generated from B2B inputs (email, externalId) for wallet salt generation and external integrations.
User-owned counterfactual smart contract wallets that can receive tokens
Owner type for polymorphic ownership
Type of internal wallet
Current status of the wallet
ID of signing account that owns this internal wallet
{ "id": "string", "email": {}, "identifierEmail": "user123@user.pers.internal", "firstName": {}, "lastName": {}, "externalId": {}, "accountAddress": {}, "instagramAccountId": {}, "googleAccountName": {}, "customData": {}, "publicProfile": {}, "isActive": true, "currentSigningAccountId": {}, "wallets": [ { … } ] }