Skip to main content
POST /v2/users/inquiryUserInfo Retrieves user information using an access token obtained through the authorization flow. The information returned depends on the scopes granted during authorization.

Request Parameters

accessToken
string
required
Access token obtained from authorization.Max length: 128 characters

Response Parameters

result
object
required
Standard result object
userId
string
User’s unique identifier
userName
object
User’s name (if USER_NAME scope granted)
userPhoneNo
string
User’s phone number (if USER_PHONE scope granted)
userEmail
string
User’s email address (if USER_EMAIL scope granted)
avatar
string
URL to user’s avatar image (if USER_AVATAR scope granted)
extendInfo
string
Extended user information as JSON string

Example Request

{
  "accessToken": "281010033AB2F588D14B43238637264FCA5AAF35xxxx"
}

Example Response

{
  "result": {
    "resultCode": "SUCCESS",
    "resultStatus": "S",
    "resultMessage": "success"
  },
  "userId": "1000001119398804xxxx",
  "userName": {
    "firstName": "John",
    "lastName": "Doe"
  },
  "userPhoneNo": "+39123456789",
  "userEmail": "john.doe@example.com",
  "avatar": "https://cdn.rebellapp.com/avatars/user123.jpg"
}

Result Codes

resultStatusresultCodeDescriptionAction
SSUCCESSUser info retrievedProcess user data
FINVALID_ACCESS_TOKENToken invalid or expiredRe-authorize user
FINSUFFICIENT_SCOPEToken lacks required scopeRequest additional scopes
FUSER_NOT_EXISTUser not foundCheck access token

Scopes and Data Access

The information returned depends on the scopes granted during authorization:
ScopeData Fields
USER_IDuserId
USER_NAMEuserName.firstName, userName.lastName
USER_PHONEuserPhoneNo
USER_EMAILuserEmail
USER_AVATARavatar
AGREEMENT_PAYAgreement payment access

Implementation Example

async function getUserProfile(accessToken) {
  const response = await rebellAPI.inquiryUserInfo({ accessToken });

  if (response.result.resultStatus === 'S') {
    return {
      id: response.userId,
      name: response.userName
        ? `${response.userName.firstName} ${response.userName.lastName}`
        : null,
      phone: response.userPhoneNo,
      email: response.userEmail,
      avatar: response.avatar
    };
  }

  if (response.result.resultCode === 'INVALID_ACCESS_TOKEN') {
    // Token expired, try to refresh
    const newToken = await tokenManager.refreshAccessToken(userId);
    return getUserProfile(newToken);
  }

  throw new Error(`Failed to get user info: ${response.result.resultMessage}`);
}

Best Practices