Skip to content

Get user info

Request

Get user account info (business with user management permission OR admin authentication required). Identifier is passed in the request body (safe for PII such as email). Use include parameter for related data. Note: Including status/balances adds latency - consider separate calls for performance-critical scenarios.

Security
authJWT or projectKey
Query
includeArray of strings

Include related data (comma-separated). Valid options: status, balances. ⚠️ Performance: status and balances require additional queries - use sparingly.

Bodyapplication/jsonrequired
emailstring
instagramAccountIdstring

User Instagram account id

googleAccountNamestring

User Google account name

firstNamestring

User first name

lastNamestring

User last name

externalIdstring

User external id

customDataobject

Custom data

publicProfileobject

Public profile data

isActiveboolean

User active status

curl -i -X POST \
  'https://docs.pers.ninja/_mock/swagger/users/info?include=string' \
  -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
  }'

Responses

User found

Bodyapplication/json
idstringrequired
emailstring
identifierEmailstringrequired

Universal identifier email for deterministic operations. Generated from B2B inputs (email, externalId) for wallet salt generation and external integrations.

Example:"user123@user.pers.internal"
firstNamestring or nullrequired

User first name

lastNamestring or nullrequired

User last name

externalIdstring or nullrequired

User external id

instagramAccountIdstring or nullrequired

Instagram account id

googleAccountNamestring or nullrequired

Google account name

customDataobject or nullrequired

Custom data

publicProfileobject or nullrequired

Public profile data

isActivebooleanrequired

Is active

currentSigningAccountIdstring

Current active signing account ID for external wallet operations

walletsArray of objects(PublicWalletDTO)required

User-owned counterfactual smart contract wallets that can receive tokens

createdAtstring, (date-time)required

Timestamp when the user was created

updatedAtstring or null, (date-time)required

Timestamp when the user was last updated

registrationSourceobject or null

Registration source tracking for analytics - captures channel and attribution when user was created

Example:
{ "channel": "web", "medium": "referral", "campaign": "launch_2026" }
lastActivityAtstring or null, (date-time)

Last activity timestamp. Updated whenever user generates tokens (login or refresh). Tracks last time user was active (~1 hour precision).

activityCountnumber

Total activity count. Increments on every token generation (login + refresh). Measures true user engagement.

Example:42
includedobject or null

Included related entities. Only populated when include parameter is specified.

accountAddressstring or nullrequireddeprecated

User account address

Response
{ "id": "string", "email": "string", "identifierEmail": "user123@user.pers.internal", "firstName": "string", "lastName": "string", "externalId": "string", "accountAddress": "string", "instagramAccountId": "string", "googleAccountName": "string", "customData": {}, "publicProfile": {}, "isActive": true, "currentSigningAccountId": "string", "wallets": [ { … } ], "createdAt": "2019-08-24T14:15:22Z", "updatedAt": "2019-08-24T14:15:22Z", "registrationSource": { "channel": "web", "medium": "referral", "campaign": "launch_2026" }, "lastActivityAt": "2019-08-24T14:15:22Z", "activityCount": 42, "included": { "statusTypes": [ … ], "tokenBalances": [ … ] } }