Get main profile

Get Main Profile

The Get Main Profile endpoint retrieves the complete profile of the currently authenticated user, including identity details, access rights, notification preferences, card design settings, and loan-related metadata. This endpoint is the primary way for a partner application to confirm who is logged in and what features they have access to. A valid Bearer token is required; the response reflects the exact user associated with that token.

Endpoint

GET /api/users

Authentication

Bearer token required. Obtain via:

POST https://api.banking.netevia.dev/api/auth/v2

Include in header: Authorization: Bearer {token}
Token lifetime: 10 minutes. Refresh via POST /api/auth/refresh.

When to use

Use this endpoint immediately after authentication to load the user's profile in your application shell or dashboard. It is also useful when you need to check a user's access rights, module permissions, two-factor authentication settings, or funding eligibility before rendering feature-specific UI. Call it any time you need to refresh the in-memory profile state (e.g., after a settings update).

Response

200 OK

FieldTypeDescription
idintegerInternal numeric ID of the user record
nickNamestringDisplay name or alias for the user
emailstringRegistered email address
twoFactorAuthenticationEnabledbooleanWhether 2FA is currently active (read-only)
twoFactorAuthenticationTypestring2FA method: ShortMessageCode, TimeBasedCode, or LegacyTimeBasedCode
typeintegerUser type code (1–5); maps to user category within the platform
givenNamestringUser's first name
middleNamestringUser's middle name
familyNamestringUser's last name
agentPayoutIdintegerID of the associated agent payout record, if applicable
accessRightsobjectObject describing the user's permission flags (see below)
accessRights.idintegerID of the access rights record
accessRights.mainAccessbooleanWhether the user has main account access
accessRights.openBankingCardbooleanWhether the user can open a payment card
accessRights.openFinancialAccountbooleanWhether the user can open a financial account
accessRights.viewAllCardsAndFinancialAccountsbooleanWhether the user can view all cards and accounts
accessRights.makeTransfersbooleanWhether the user can initiate transfers
systemModuleAccessinteger[]List of system module type codes the user can access
userModuleAccessinteger[]List of user module type codes the user can access
isoIdintegerISO office ID associated with the user, if applicable
deletedAtstring (date-time)Timestamp of soft deletion, null if active
linkedAccountsarrayList of linked account tuples (string + int32 pairs)
accessToProductFundingbooleanWhether the user has access to business funding (loans)
isOriginalUserbooleanTrue if this is the primary account holder (not a subprofile)
isPasswordChangeRequiredbooleanWhether the user is required to change their password
marketingLinkstringPartner-specific marketing URL, if configured
isNotLoanbooleanTrue if the user is not enrolled in a loan product
productIdstringID of the associated product, if applicable
productFundingIdstringID of the associated funding product, if applicable
statusApplicationstringBusiness funding application status: New, Submitted, PendingUW, ApprovedUW, Closed, Cancelled, Pending_Review, Denied, Approved, Pending, InReview, AutoApprovedUW
exportedLoanServiestring (date-time)Date the loan data was exported to the servicing system
isShowRequestLoanbooleanWhether the "request loan" UI feature should be shown (read-only)
partnerVisibleNamestringDisplay name of the partner (read-only)
cardProfileSetsarrayList of card profile set associations; each entry has id (string) and isDefault (boolean)
loanSettingobjectLoan configuration object (see below)
loanSetting.userProfileIdintegerUser profile this loan setting belongs to
loanSetting.expirationstring (date-time)Expiration date of the loan offer
loanSetting.settingstringRaw loan setting JSON or descriptor
loanSetting.optionsarrayAvailable loan options (amount, fee, sweep, repayment days, etc.)
loanSetting.leadIdstringExternal lead identifier
loanSetting.offerIdstringLoan offer identifier
loanSetting.signUrlstringURL for loan document signing
loanSetting.isDismissbooleanWhether the loan prompt has been dismissed
loanSetting.isAcceptedbooleanWhether the loan offer was accepted
metaDataobjectKey-value map of partner-defined metadata strings (read-only)
partnerProfilePointsIdintegerID of the rewards/points profile, if applicable
profileIdintegerCanonical profile ID (read-only)
dbastring"Doing Business As" name for business customers (read-only)
feeIdintegerID of the fee schedule applied to this user (read-only)
feeNamestringName of the applied fee schedule (read-only)
cardDesignobjectCard design image URLs for standard and burner cards
cardDesign.frontSideImageUrlXsstringSmall front-side card image URL
cardDesign.frontSideImageUrlXlstringLarge front-side card image URL
cardDesign.backSideImageUrlXlstringLarge back-side card image URL
cardDesign.burnerFrontSideImageUrlXsstringSmall front-side burner card image URL
cardDesign.burnerFrontSideImageUrlXlstringLarge front-side burner card image URL
cardDesign.burnerBackSideImageUrlXlstringLarge back-side burner card image URL
notificationSettingsobjectUser notification preferences (see below)
notificationSettings.idintegerID of the notification settings record
notificationSettings.emailEnabledbooleanWhether email notifications are enabled
notificationSettings.pushEnabledbooleanWhether push notifications are enabled
notificationSettings.twoFactorAuthenticationTypestring2FA delivery method used for secure operations
notificationSettings.oneTimeConfirmationEnabledbooleanWhether one-time confirmation codes are enabled
isoNameobjectOffice information object with officeId (integer) and name (string)
agentNameobjectAgent record with id, name, agentName, agentId, agentOfficeId, agentOfficeName
agentPayoutarrayList of agent payout records (read-only)
partnerSettingsobjectPartner-level settings; includes disable.value (boolean) and disable options
{
  "id": 10042,
  "nickName": "jane.doe",
  "email": "[email protected]",
  "twoFactorAuthenticationEnabled": true,
  "twoFactorAuthenticationType": "ShortMessageCode",
  "type": 2,
  "givenName": "Jane",
  "middleName": "A",
  "familyName": "Doe",
  "agentPayoutId": null,
  "accessRights": {
    "id": 301,
    "mainAccess": true,
    "openBankingCard": true,
    "openFinancialAccount": true,
    "viewAllCardsAndFinancialAccounts": true,
    "makeTransfers": true
  },
  "systemModuleAccess": [0, 1, 3, 5],
  "userModuleAccess": [0, 1, 2],
  "isoId": null,
  "deletedAt": null,
  "linkedAccounts": [],
  "accessToProductFunding": true,
  "isOriginalUser": true,
  "isPasswordChangeRequired": false,
  "marketingLink": null,
  "isNotLoan": false,
  "productId": "prod_abc123",
  "productFundingId": null,
  "statusApplication": "Approved",
  "exportedLoanServie": null,
  "isShowRequestLoan": false,
  "partnerVisibleName": "Acme Financial",
  "cardProfileSets": [
    { "id": "cps_001", "isDefault": true }
  ],
  "loanSetting": {
    "id": 77,
    "createdDate": "2024-11-01T09:00:00Z",
    "updatedDate": "2025-01-15T14:22:00Z",
    "userProfileId": 10042,
    "expiration": "2025-06-30T23:59:59Z",
    "setting": "{\"maxAmount\":50000}",
    "options": [
      {
        "amount": 25000.00,
        "fee": 1250.00,
        "currencyISOCode": "USD",
        "fundedAmount": 23750.00,
        "sweep": 0.10,
        "expiration": "2025-06-30T23:59:59Z",
        "isApproved": true,
        "daysUntilRepayment": 90,
        "offerId": "offer_xyz789",
        "daysUntilMaturity": 180
      }
    ],
    "leadId": "lead_001",
    "ownerId": "owner_001",
    "documentId": "doc_001",
    "offerId": "offer_xyz789",
    "preAprovalId": null,
    "signUrl": "https://sign.example.com/doc_001",
    "isDismiss": false,
    "automatedDismissDate": null,
    "isSubmitStage1Success": true,
    "isAccepted": true
  },
  "metaData": {
    "onboardingSource": "web",
    "referralCode": "REF2024"
  },
  "partnerProfilePointsId": 5501,
  "profileId": 10042,
  "dba": "Jane Doe Consulting",
  "feeId": 12,
  "feeName": "Standard Business Fee",
  "cardDesign": {
    "frontSideImageUrlXs": "https://cdn.example.com/cards/front_xs.png",
    "frontSideImageUrlXl": "https://cdn.example.com/cards/front_xl.png",
    "backSideImageUrlXl": "https://cdn.example.com/cards/back_xl.png",
    "burnerFrontSideImageUrlXs": "https://cdn.example.com/cards/burner_front_xs.png",
    "burnerFrontSideImageUrlXl": "https://cdn.example.com/cards/burner_front_xl.png",
    "burnerBackSideImageUrlXl": "https://cdn.example.com/cards/burner_back_xl.png"
  },
  "notificationSettings": {
    "id": 88,
    "emailEnabled": true,
    "pushEnabled": true,
    "pushTokens": [],
    "twoFactorAuthenticationType": "ShortMessageCode",
    "oneTimeConfirmationKey": null,
    "oneTimeConfirmationEnabled": false,
    "dateSetOTP": null
  },
  "isoName": {
    "officeId": 4,
    "name": "West Region Office"
  },
  "agentName": {
    "id": 9,
    "name": "Acme Agent",
    "agentName": "John Smith",
    "agentId": 9,
    "agentOfficeId": 4,
    "agentOfficeName": "West Region Office"
  },
  "agentPayout": [],
  "partnerSettings": {
    "disable": {
      "value": false,
      "options": {
        "disableCustomers": false,
        "disableCustomerCreation": false
      }
    }
  }
}

Error Codes

CodeWhen it happens
401Token missing, expired, or invalid
403Insufficient permissions to access this profile
500Internal server error

Common Mistakes

  • Sending an expired token — the Bearer token has a 10-minute lifetime; use POST /api/auth/refresh before it expires to avoid 401 errors.
  • Using Basic auth instead of Bearer auth — this endpoint requires a JWT Bearer token in the Authorization header, not a username/password pair.
  • Treating cardIcon and cardIconLarge as current fields — these properties are deprecated; use the cardDesign object instead for card image URLs.
  • Assuming the response always contains loan data — loanSetting and funding fields are only populated for business customers with an active or pending loan product; check accessToProductFunding first.
  • Confusing id with profileId — both are present in the response; profileId is the canonical read-only profile identifier, while id is the internal user record ID.

Related Endpoints

  • POST /api/auth/v2 — Obtain a Bearer token using username, password, and partnerId
  • POST /api/auth/refresh — Refresh an expiring Bearer token
  • GET /api/users/sub-profiles — List authorized users (subprofiles) attached to a business account
  • PUT /api/users — Update the authenticated user's profile information

Example

curl -X GET https://api.banking.netevia.dev/api/users \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Accept: application/json"
Headers
string
enum
Defaults to application/json

Generated from available response content types

Allowed:
Response

Language
Credentials
Bearer
JWT
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
text/plain
application/json
text/json