Get business info with current token balances (business authentication required)
- List business members
PERS-api Documentation (2.2.2)
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/businesses/me
- https://api.pers.ninja/v2/businesses/me
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
https://docs.pers.ninja/_mock/swagger/businesses/me \
-H 'x-project-key: YOUR_API_KEY_HERE'Business found
The email of the business, this is unique and will be used to identify the business.
Current active signing account ID for external wallet operations
Business-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
The legal name of the business, this is the name that will be used for legal purposes.
The display name of the business, this is the name that will be shown to the public.
The description of the business, this is the description that will be shown to the public.
The short description of the business, this is the description that will be shown to the public.
The website of the business, this is the website that will be shown to the public.
The image of the business, this is the image that will be shown to the public.
The address of the business, this is the address that will be shown to the public.
The city of the business, this is the city that will be shown to the public.
The postal code of the business, this is the postal code that will be shown to the public.
The latitude of the business, this is the latitude that will be shown to the public.
The longitude of the business, this is the longitude that will be shown to the public.
The business type of the business, this is the business type that will be shown to the public.
The status of the business, this is the status that will be shown to the public.
The ability to mint token for the business, this is the ability that will be shown to the public.
The ability to charge token for the business, this is the ability that will be shown to the public.
The ability to manage users for the business, this is the ability that will be shown to the public.
The ability to receive donation for the business, this is the ability that will be shown to the public.
The token balances of the business, this is the token balances that will be shown to the public.
{ "id": "string", "email": {}, "accountAddress": {}, "currentSigningAccountId": {}, "wallets": [ { … } ], "businessLegalName": {}, "displayName": {}, "description": {}, "shortDescription": {}, "websiteUrl": {}, "imageUrl": {}, "streetAddress": {}, "city": {}, "postalCode": {}, "coordsLatitude": {}, "coordsLongitude": {}, "businessType": { "id": 0, "name": "string", "description": "string", "code": "string", "iconUrl": "string" }, "isActive": true, "canMintToken": true, "canChargeToken": true, "canManageUsers": true, "canReceiveDonation": true, "tokenBalances": [ { … } ] }
Request
Get all businesses. Use pagination parameters (page & limit) for optimal performance. Legacy support: returns array without params (deprecated - will be removed in future). Project API key users get active businesses only. Admin users (with valid JWT) get full access with query parameters.
- Mock serverhttps://docs.pers.ninja/_mock/swagger/businesses
- https://api.pers.ninja/v2/businesses
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
'https://docs.pers.ninja/_mock/swagger/businesses?active=string&sanitize=string&page=0&limit=0' \
-H 'Authorization: Bearer <YOUR_JWT_HERE>'Businesses found
The email of the business, this is unique and will be used to identify the business.
Current active signing account ID for external wallet operations
Business-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
The legal name of the business, this is the name that will be used for legal purposes.
The display name of the business, this is the name that will be shown to the public.
The description of the business, this is the description that will be shown to the public.
The short description of the business, this is the description that will be shown to the public.
The website of the business, this is the website that will be shown to the public.
The image of the business, this is the image that will be shown to the public.
The address of the business, this is the address that will be shown to the public.
The city of the business, this is the city that will be shown to the public.
The postal code of the business, this is the postal code that will be shown to the public.
The latitude of the business, this is the latitude that will be shown to the public.
The longitude of the business, this is the longitude that will be shown to the public.
The business type of the business, this is the business type that will be shown to the public.
The status of the business, this is the status that will be shown to the public.
The ability to mint token for the business, this is the ability that will be shown to the public.
The ability to charge token for the business, this is the ability that will be shown to the public.
The ability to manage users for the business, this is the ability that will be shown to the public.
The ability to receive donation for the business, this is the ability that will be shown to the public.
The address of the business, this is the address that will be shown to the public.
[ { "id": "string", "email": {}, "accountAddress": {}, "currentSigningAccountId": {}, "wallets": [ … ], "businessLegalName": {}, "displayName": {}, "description": {}, "shortDescription": {}, "websiteUrl": {}, "imageUrl": {}, "streetAddress": {}, "city": {}, "postalCode": {}, "coordsLatitude": {}, "coordsLongitude": {}, "businessType": { … }, "isActive": true, "canMintToken": true, "canChargeToken": true, "canManageUsers": true, "canReceiveDonation": true } ]
The legal name of the business, this is the name that will be used for legal purposes.
The display name of the business, this is the name that will be shown to the public.
The description of the business, this is the description that will be shown to the public.
The short description of the business, this is the description that will be shown to the public.
The address of the business, this is the address that will be shown to the public.
The postal code of the business, this is the postal code that will be shown to the public.
The latitude of the business, this is the latitude that will be shown to the public.
The longitude of the business, this is the longitude that will be shown to the public
- Mock serverhttps://docs.pers.ninja/_mock/swagger/businesses
- https://api.pers.ninja/v2/businesses
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X POST \
https://docs.pers.ninja/_mock/swagger/businesses \
-H 'Authorization: Bearer <YOUR_JWT_HERE>' \
-H 'Content-Type: application/json' \
-d '{
"email": {},
"businessLegalName": {},
"displayName": {},
"description": {},
"shortDescription": {},
"websiteUrl": {},
"imageUrl": {},
"streetAddress": {},
"city": {},
"postalCode": {},
"coordsLatitude": {},
"coordsLongitude": {},
"businessTypeId": {}
}'Business created
The email of the business, this is unique and will be used to identify the business.
Current active signing account ID for external wallet operations
Business-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
The legal name of the business, this is the name that will be used for legal purposes.
The display name of the business, this is the name that will be shown to the public.
The description of the business, this is the description that will be shown to the public.
The short description of the business, this is the description that will be shown to the public.
The website of the business, this is the website that will be shown to the public.
The image of the business, this is the image that will be shown to the public.
The address of the business, this is the address that will be shown to the public.
The city of the business, this is the city that will be shown to the public.
The postal code of the business, this is the postal code that will be shown to the public.
The latitude of the business, this is the latitude that will be shown to the public.
The longitude of the business, this is the longitude that will be shown to the public.
The business type of the business, this is the business type that will be shown to the public.
The status of the business, this is the status that will be shown to the public.
The ability to mint token for the business, this is the ability that will be shown to the public.
The ability to charge token for the business, this is the ability that will be shown to the public.
The ability to manage users for the business, this is the ability that will be shown to the public.
The ability to receive donation for the business, this is the ability that will be shown to the public.
{ "id": "string", "email": {}, "accountAddress": {}, "currentSigningAccountId": {}, "wallets": [ { … } ], "businessLegalName": {}, "displayName": {}, "description": {}, "shortDescription": {}, "websiteUrl": {}, "imageUrl": {}, "streetAddress": {}, "city": {}, "postalCode": {}, "coordsLatitude": {}, "coordsLongitude": {}, "businessType": { "id": 0, "name": "string", "description": "string", "code": "string", "iconUrl": "string" }, "isActive": true, "canMintToken": true, "canChargeToken": true, "canManageUsers": true, "canReceiveDonation": true }
- Mock serverhttps://docs.pers.ninja/_mock/swagger/businesses/account/{accountAddress}
- https://api.pers.ninja/v2/businesses/account/{accountAddress}
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
'https://docs.pers.ninja/_mock/swagger/businesses/account/{accountAddress}' \
-H 'x-project-key: YOUR_API_KEY_HERE'Business found
The email of the business, this is unique and will be used to identify the business.
Current active signing account ID for external wallet operations
Business-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
The legal name of the business, this is the name that will be used for legal purposes.
The display name of the business, this is the name that will be shown to the public.
The description of the business, this is the description that will be shown to the public.
The short description of the business, this is the description that will be shown to the public.
The website of the business, this is the website that will be shown to the public.
The image of the business, this is the image that will be shown to the public.
The address of the business, this is the address that will be shown to the public.
The city of the business, this is the city that will be shown to the public.
The postal code of the business, this is the postal code that will be shown to the public.
The latitude of the business, this is the latitude that will be shown to the public.
The longitude of the business, this is the longitude that will be shown to the public.
The business type of the business, this is the business type that will be shown to the public.
The status of the business, this is the status that will be shown to the public.
The ability to mint token for the business, this is the ability that will be shown to the public.
The ability to charge token for the business, this is the ability that will be shown to the public.
The ability to manage users for the business, this is the ability that will be shown to the public.
The ability to receive donation for the business, this is the ability that will be shown to the public.
{ "id": "string", "email": {}, "accountAddress": {}, "currentSigningAccountId": {}, "wallets": [ { … } ], "businessLegalName": {}, "displayName": {}, "description": {}, "shortDescription": {}, "websiteUrl": {}, "imageUrl": {}, "streetAddress": {}, "city": {}, "postalCode": {}, "coordsLatitude": {}, "coordsLongitude": {}, "businessType": { "id": 0, "name": "string", "description": "string", "code": "string", "iconUrl": "string" }, "isActive": true, "canMintToken": true, "canChargeToken": true, "canManageUsers": true, "canReceiveDonation": true }
- Mock serverhttps://docs.pers.ninja/_mock/swagger/businesses/{id}
- https://api.pers.ninja/v2/businesses/{id}
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
'https://docs.pers.ninja/_mock/swagger/businesses/{id}' \
-H 'x-project-key: YOUR_API_KEY_HERE'Business found
The email of the business, this is unique and will be used to identify the business.
Current active signing account ID for external wallet operations
Business-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
The legal name of the business, this is the name that will be used for legal purposes.
The display name of the business, this is the name that will be shown to the public.
The description of the business, this is the description that will be shown to the public.
The short description of the business, this is the description that will be shown to the public.
The website of the business, this is the website that will be shown to the public.
The image of the business, this is the image that will be shown to the public.
The address of the business, this is the address that will be shown to the public.
The city of the business, this is the city that will be shown to the public.
The postal code of the business, this is the postal code that will be shown to the public.
The latitude of the business, this is the latitude that will be shown to the public.
The longitude of the business, this is the longitude that will be shown to the public.
The business type of the business, this is the business type that will be shown to the public.
The status of the business, this is the status that will be shown to the public.
The ability to mint token for the business, this is the ability that will be shown to the public.
The ability to charge token for the business, this is the ability that will be shown to the public.
The ability to manage users for the business, this is the ability that will be shown to the public.
The ability to receive donation for the business, this is the ability that will be shown to the public.
{ "id": "string", "email": {}, "accountAddress": {}, "currentSigningAccountId": {}, "wallets": [ { … } ], "businessLegalName": {}, "displayName": {}, "description": {}, "shortDescription": {}, "websiteUrl": {}, "imageUrl": {}, "streetAddress": {}, "city": {}, "postalCode": {}, "coordsLatitude": {}, "coordsLongitude": {}, "businessType": { "id": 0, "name": "string", "description": "string", "code": "string", "iconUrl": "string" }, "isActive": true, "canMintToken": true, "canChargeToken": true, "canManageUsers": true, "canReceiveDonation": true }
The legal name of the business, this is the name that will be used for legal purposes.
The display name of the business, this is the name that will be shown to the public.
The description of the business, this is the description that will be shown to the public.
The short description of the business, this is the description that will be shown to the public.
The address of the business, this is the address that will be shown to the public.
The postal code of the business, this is the postal code that will be shown to the public.
The latitude of the business, this is the latitude that will be shown to the public.
The longitude of the business, this is the longitude that will be shown to the public
- Mock serverhttps://docs.pers.ninja/_mock/swagger/businesses/{id}
- https://api.pers.ninja/v2/businesses/{id}
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X PUT \
'https://docs.pers.ninja/_mock/swagger/businesses/{id}' \
-H 'Authorization: Bearer <YOUR_JWT_HERE>' \
-H 'Content-Type: application/json' \
-d '{
"email": {},
"businessLegalName": {},
"displayName": {},
"description": {},
"shortDescription": {},
"websiteUrl": {},
"imageUrl": {},
"streetAddress": {},
"city": {},
"postalCode": {},
"coordsLatitude": {},
"coordsLongitude": {},
"businessTypeId": {}
}'Business updated successfully
The email of the business, this is unique and will be used to identify the business.
Current active signing account ID for external wallet operations
Business-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
The legal name of the business, this is the name that will be used for legal purposes.
The display name of the business, this is the name that will be shown to the public.
The description of the business, this is the description that will be shown to the public.
The short description of the business, this is the description that will be shown to the public.
The website of the business, this is the website that will be shown to the public.
The image of the business, this is the image that will be shown to the public.
The address of the business, this is the address that will be shown to the public.
The city of the business, this is the city that will be shown to the public.
The postal code of the business, this is the postal code that will be shown to the public.
The latitude of the business, this is the latitude that will be shown to the public.
The longitude of the business, this is the longitude that will be shown to the public.
The business type of the business, this is the business type that will be shown to the public.
The status of the business, this is the status that will be shown to the public.
The ability to mint token for the business, this is the ability that will be shown to the public.
The ability to charge token for the business, this is the ability that will be shown to the public.
The ability to manage users for the business, this is the ability that will be shown to the public.
The ability to receive donation for the business, this is the ability that will be shown to the public.
{ "id": "string", "email": {}, "accountAddress": {}, "currentSigningAccountId": {}, "wallets": [ { … } ], "businessLegalName": {}, "displayName": {}, "description": {}, "shortDescription": {}, "websiteUrl": {}, "imageUrl": {}, "streetAddress": {}, "city": {}, "postalCode": {}, "coordsLatitude": {}, "coordsLongitude": {}, "businessType": { "id": 0, "name": "string", "description": "string", "code": "string", "iconUrl": "string" }, "isActive": true, "canMintToken": true, "canChargeToken": true, "canManageUsers": true, "canReceiveDonation": true }
Request
Create multiple business accounts by fetching a JSON file from the provided URL. The file at the URL is expected to be a JSON object conforming to the BusinessBulkCreateRequestDTO structure, containing an array of business data.
- Mock serverhttps://docs.pers.ninja/_mock/swagger/businesses/bulk/url
- https://api.pers.ninja/v2/businesses/bulk/url
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X POST \
https://docs.pers.ninja/_mock/swagger/businesses/bulk/url \
-H 'Authorization: Bearer <YOUR_JWT_HERE>' \
-H 'Content-Type: application/json' \
-d '{
"url": "https://example.com/user-data"
}'Businesses created
The email of the business, this is unique and will be used to identify the business.
Current active signing account ID for external wallet operations
Business-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
The legal name of the business, this is the name that will be used for legal purposes.
The display name of the business, this is the name that will be shown to the public.
The description of the business, this is the description that will be shown to the public.
The short description of the business, this is the description that will be shown to the public.
The website of the business, this is the website that will be shown to the public.
The image of the business, this is the image that will be shown to the public.
The address of the business, this is the address that will be shown to the public.
The city of the business, this is the city that will be shown to the public.
The postal code of the business, this is the postal code that will be shown to the public.
The latitude of the business, this is the latitude that will be shown to the public.
The longitude of the business, this is the longitude that will be shown to the public.
The business type of the business, this is the business type that will be shown to the public.
The status of the business, this is the status that will be shown to the public.
The ability to mint token for the business, this is the ability that will be shown to the public.
The ability to charge token for the business, this is the ability that will be shown to the public.
The ability to manage users for the business, this is the ability that will be shown to the public.
The ability to receive donation for the business, this is the ability that will be shown to the public.
The address of the business, this is the address that will be shown to the public.
[ { "id": "string", "email": {}, "accountAddress": {}, "currentSigningAccountId": {}, "wallets": [ … ], "businessLegalName": {}, "displayName": {}, "description": {}, "shortDescription": {}, "websiteUrl": {}, "imageUrl": {}, "streetAddress": {}, "city": {}, "postalCode": {}, "coordsLatitude": {}, "coordsLongitude": {}, "businessType": { … }, "isActive": true, "canMintToken": true, "canChargeToken": true, "canManageUsers": true, "canReceiveDonation": true } ]
- Mock serverhttps://docs.pers.ninja/_mock/swagger/businesses/{id}/status
- https://api.pers.ninja/v2/businesses/{id}/status
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X PUT \
'https://docs.pers.ninja/_mock/swagger/businesses/{id}/status' \
-H 'Authorization: Bearer <YOUR_JWT_HERE>' \
-H 'Content-Type: application/json' \
-d '{
"isActive": true,
"canMintToken": true,
"canChargeToken": true,
"canManageUsers": true,
"canReceiveDonation": true
}'Business status updated
The email of the business, this is unique and will be used to identify the business.
Current active signing account ID for external wallet operations
Business-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
The legal name of the business, this is the name that will be used for legal purposes.
The display name of the business, this is the name that will be shown to the public.
The description of the business, this is the description that will be shown to the public.
The short description of the business, this is the description that will be shown to the public.
The website of the business, this is the website that will be shown to the public.
The image of the business, this is the image that will be shown to the public.
The address of the business, this is the address that will be shown to the public.
The city of the business, this is the city that will be shown to the public.
The postal code of the business, this is the postal code that will be shown to the public.
The latitude of the business, this is the latitude that will be shown to the public.
The longitude of the business, this is the longitude that will be shown to the public.
The business type of the business, this is the business type that will be shown to the public.
The status of the business, this is the status that will be shown to the public.
The ability to mint token for the business, this is the ability that will be shown to the public.
The ability to charge token for the business, this is the ability that will be shown to the public.
The ability to manage users for the business, this is the ability that will be shown to the public.
The ability to receive donation for the business, this is the ability that will be shown to the public.
{ "id": "string", "email": {}, "accountAddress": {}, "currentSigningAccountId": {}, "wallets": [ { … } ], "businessLegalName": {}, "displayName": {}, "description": {}, "shortDescription": {}, "websiteUrl": {}, "imageUrl": {}, "streetAddress": {}, "city": {}, "postalCode": {}, "coordsLatitude": {}, "coordsLongitude": {}, "businessType": { "id": 0, "name": "string", "description": "string", "code": "string", "iconUrl": "string" }, "isActive": true, "canMintToken": true, "canChargeToken": true, "canManageUsers": true, "canReceiveDonation": true }
- Mock serverhttps://docs.pers.ninja/_mock/swagger/businesses/{businessId}/members
- https://api.pers.ninja/v2/businesses/{businessId}/members
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
'https://docs.pers.ninja/_mock/swagger/businesses/{businessId}/members?page=0&limit=0&include=string' \
-H 'x-project-key: YOUR_API_KEY_HERE'[ { "id": "string", "userId": "string", "businessId": "string", "role": "OWNER", "createdAt": "2019-08-24T14:15:22Z", "updatedAt": "2019-08-24T14:15:22Z", "included": { … } } ]
Request
Add a user as a member of the business. Requires BUSINESS auth (min role: ADMIN) or TENANT admin.
- Mock serverhttps://docs.pers.ninja/_mock/swagger/businesses/{businessId}/members
- https://api.pers.ninja/v2/businesses/{businessId}/members
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X POST \
'https://docs.pers.ninja/_mock/swagger/businesses/{businessId}/members' \
-H 'Content-Type: application/json' \
-H 'x-project-key: YOUR_API_KEY_HERE' \
-d '{
"userId": "string",
"role": "OWNER"
}'{ "id": "string", "userId": "string", "businessId": "string", "role": "OWNER", "createdAt": "2019-08-24T14:15:22Z", "updatedAt": "2019-08-24T14:15:22Z", "included": { "user": { … }, "business": { … } } }
Request
Update the role of an existing business member. Requires BUSINESS auth (min role: ADMIN) or TENANT admin.
- Mock serverhttps://docs.pers.ninja/_mock/swagger/businesses/{businessId}/members/{userId}
- https://api.pers.ninja/v2/businesses/{businessId}/members/{userId}
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X PUT \
'https://docs.pers.ninja/_mock/swagger/businesses/{businessId}/members/{userId}' \
-H 'Content-Type: application/json' \
-H 'x-project-key: YOUR_API_KEY_HERE' \
-d '{
"role": "OWNER"
}'{ "id": "string", "userId": "string", "businessId": "string", "role": "OWNER", "createdAt": "2019-08-24T14:15:22Z", "updatedAt": "2019-08-24T14:15:22Z", "included": { "user": { … }, "business": { … } } }
- Mock serverhttps://docs.pers.ninja/_mock/swagger/businesses/{businessId}/members/{userId}
- https://api.pers.ninja/v2/businesses/{businessId}/members/{userId}
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X DELETE \
'https://docs.pers.ninja/_mock/swagger/businesses/{businessId}/members/{userId}' \
-H 'x-project-key: YOUR_API_KEY_HERE'