Skip to main content

Onboard Authorized Users

Overview

Simplified model for Authorized Users

Highnote released a simplified model for Authorized Users that applies to both consumer and commercial card products. Going forward, all authorized users are Person account holder objects, even commercial products where the primary account holder is a Business account holder object.

An authorized user of a card product is a person who is granted access to the financial account of the primary account holder. Authorized user operations are managed through the USPersonAccountHolder object, which links them to their applications, financial accounts, and payment cards.

To onboard a consumer authorized user:

  1. Create an authorized user securely with a token (or if necessary without token): Onboard a new user by providing their personal information, such as name, address, and date of birth.
  2. Create a card application for the authorized user: Apply for a card product on their behalf and link them to a primary financial account.
  3. Issue a payment card to the authorized user: Issue a virtual or physical payment card directly to the approved authorized user. You have two options: (a) issue the card from the primary financial account, or (b) create an authorized user financial account and issue from that.

Step 1. Create authorized user securely with tokenization

Creating an authorized user is the first step in the onboarding process.

You can create authorized users with or without tokenizing, but Highnote highly recommends tokenization for enhanced security, especially in client-side applications. Tokenizing ensures that sensitive data is never directly handled by your servers.

This set of mutations let you tokenize an authorized user's personally identifiable information (PII) before creating their profile. The flow involves generating a client token, using it to tokenize the user's data, and then creating the user from that secure token.

1a. Generate client token

The first step in the tokenization process is to generate a short-lived client token. This token grants temporary permission for a client-side application to securely submit user data for tokenization without having long-term API credentials exposed on the client. No input is required to generate the client token.

GenerateTokenizeAccountHolderClientToken
Query
mutation GenerateTokenizeAccountHolderClientToken {
generateTokenizeAccountHolderClientToken {
__typename
... on ClientToken {
value
expirationDate
usage
}
... on UserError {
errors {
code
description
}
}
... on AccessDeniedError {
message
}
}
}
Variables
{}
⚠️ Please login to execute queries. Visit the dashboard to authenticate.
Result
{
"data": {
"generateTokenizeAccountHolderClientToken": {
"__typename": "ClientToken",
"value": "CLIENT_TOKEN_VALUE",
"expirationDate": "2026-03-28T01:00:00.000Z",
"usage": "UNTIL_EXPIRATION"
}
},
"extensions": {
"requestId": "d47a92c3-5f18-4e6d-b902-3a8c1ef57b24"
}
}

1b. Tokenize authorized user

With a valid client token from the previous step, you can now exchange the authorized user's personal information for a secure, single-use token. The tokenizeUSPersonAccountHolder mutation takes the user's PII and returns a token that represents this data, which can then be safely passed to your backend.

TokenizeUSPersonAccountHolder
Query
mutation TokenizeUSPersonAccountHolder(
$input: CreateUSPersonAccountHolderInput!
) {
tokenizeUSPersonAccountHolder(input: $input) {
... on USPersonAccountHolderToken {
token
}
}
}
Variables
{
  "input": {
    "personAccountHolder": {
      "email": "foo@example.com",
      "name": {
        "givenName": "Ian",
        "familyName": "Somnia"
      },
      "billingAddress": {
        "streetAddress": "123 Main Street",
        "postalCode": "60654",
        "locality": "Chicago",
        "region": "IL",
        "countryCodeAlpha3": "USA"
      },
      "phoneNumber": {
        "countryCode": "1",
        "number": "5555555555",
        "label": "MOBILE",
        "extension": "312"
      },
      "identificationDocument": {
        "socialSecurityNumber": {
          "number": "111-11-1111",
          "countryCodeAlpha3": "USA"
        }
      },
      "dateOfBirth": "1980-09-01",
      "externalId": "some-id"
    }
  }
}
⚠️ Please login to execute queries. Visit the dashboard to authenticate.
Result
{
"data": {
"tokenizeUSPersonAccountHolder": {
"token": "input-token"
}
}
}

1c. Create authorized user from token

The final step is to create the authorized user's profile using the secure token. By calling createUSPersonAccountHolderFromToken, your backend can create the user without ever directly handling their sensitive PII, which was exchanged for the token in the previous step.

CreateUSPersonAccountHolderFromToken
Query
mutation CreateUSPersonAccountHolderFromToken(
$input: CreateUSPersonAccountHolderFromTokenInput!
) {
createUSPersonAccountHolderFromToken(input: $input) {
... on USPersonAccountHolder {
id
externalId
createdAt
}
}
}
Variables
{
  "input": {
    "token": "input-token"
  }
}
⚠️ Please login to execute queries. Visit the dashboard to authenticate.
Result
{
"data": {
"createUSPersonAccountHolderFromToken": {
"id": "ps_ah01a290dd7d366c46b3a0a39e6e1f6dd670=",
"externalId": "some-id",
"createdAt": "2022-01-12T19:07:19.056Z"
}
}
}

Create authorized user (without tokenization)

tip

Highnote recommends that you use the more secure process of creating authorized users with tokenization.

To create an authorized user without tokenization, call the following createUSPersonAccountHolder mutation and provide the user's personal information to generate their profile and unique ID.

CreateUSPersonAccountHolder
Query
mutation createUSPersonAccountHolder(
$input: CreateUSPersonAccountHolderInput!
) {
createUSPersonAccountHolder(input: $input) {
__typename
... on UserError {
errors {
errorPath
code
description
}
}
... on USPersonAccountHolder {
id
email
dateOfBirth
externalId
updatedAt
createdAt
name {
givenName
familyName
title
suffix
middleName
}
billingAddress {
streetAddress
extendedAddress
postalCode
region
locality
countryCodeAlpha3
}
phoneNumbers {
countryCode
number
label
}
identificationDocument {
socialSecurityNumber {
numberHash
countryCodeAlpha3
}
}
}
}
}
Variables
{
  "input": {
    "personAccountHolder": {
      "email": "au@abc.com",
      "name": {
        "givenName": "Authorized",
        "familyName": "User"
      },
      "billingAddress": {
        "streetAddress": "642 Harrison St",
        "extendedAddress": "Suite 100",
        "postalCode": "94107",
        "locality": "San Francisco",
        "region": "CA",
        "countryCodeAlpha3": "USA"
      },
      "phoneNumber": {
        "countryCode": "1",
        "number": "1234567890",
        "label": "MOBILE",
        "extension": "312"
      },
      "identificationDocument": {
        "socialSecurityNumber": {
          "number": "234-11-1111",
          "countryCodeAlpha3": "USA"
        }
      },
      "dateOfBirth": "2007-04-01"
    }
  }
}
⚠️ Please login to execute queries. Visit the dashboard to authenticate.
Result
{
"data": {
"createUSPersonAccountHolder": {
"__typename": "USPersonAccountHolder",
"id": "ps_ah01db72a5bed1494bbdb2065dd8185793b7",
"email": "au@abc.com",
"dateOfBirth": "2007-04-01",
"externalId": "",
"updatedAt": "2025-04-15T18:42:47.343Z",
"createdAt": "2025-04-15T18:42:47.343Z",
"name": {
"givenName": "Authorized",
"familyName": "User",
"title": "",
"suffix": "",
"middleName": ""
},
"billingAddress": {
"streetAddress": "642 Harrison St",
"extendedAddress": "Suite 100",
"postalCode": "94107",
"region": "CA",
"locality": "San Francisco",
"countryCodeAlpha3": "USA"
},
"phoneNumbers": [
{
"countryCode": "1",
"number": "1234567890",
"label": "MOBILE"
}
],
"identificationDocument": {
"socialSecurityNumber": {
"numberHash": "AQAAAAPrQQYZbUDpgaWGiJ9Kijz_dKCR06i5tRa4r_JZoBVTng",
"countryCodeAlpha3": "USA"
}
}
}
},
"extensions": {
"requestId": "2b1496f5-1bc0-912f-b230-97b6fc883245",
"rateLimit": {
"cost": 15,
"limit": 60060,
"remaining": 59682,
"asOf": "2025-04-15T18:42:47.385Z",
"complexity": {
"limit": 60060,
"remaining": 59682,
"cost": 15
},
"count": {
"limit": 60060,
"remaining": 60042,
"cost": 1
}
}
}
}

Step 2. Create card application for authorized user

After creating a user profile, the next step is to create a card application for them. This mutation links the authorized user to a primary account, which allows them to be issued a payment card.

tip

Set financialAccountId to the ID of the primary account holder's financial account.

CreateAuthorizedUserCardProductApplication
Query
mutation createAuthorizedUserCardProductApplication(
$input: CreateAuthorizedUserCardProductApplicationInput!
) {
createAuthorizedUserCardProductApplication(input: $input) {
__typename
... on AuthorizedUserCardProductApplication {
id
applicationState {
status
}
financialAccount {
id
name
createdAt
}
accountHolderCardProductApplication {
id
applicationState {
status
}
}
authorizedUserSnapshot {
... on USPersonAuthorizedUserSnapshot {
authorizedUserCurrent {
id
}
name {
givenName
familyName
}
billingAddress {
streetAddress
locality
}
email
phoneNumbers {
label
number
}
dateOfBirth
}
... on USPersonAccountHolderSnapshot {
accountHolderCurrent {
id
}
name {
givenName
familyName
}
billingAddress {
streetAddress
locality
}
email
phoneNumbers {
label
number
}
dateOfBirth
}
}
applicationHistory {
pageInfo {
hasNextPage
}
}
updatedAt
createdAt
}
... on UserError {
errors {
errorPath
code
description
}
}
}
}
Variables
{
  "input": {
    "authorizedUserId": "ps_ah01db72a5bed1494bbdb2065dd8185793b7",
    "accountHolderCardProductApplicationId": "ap_22pcgm6cade4bab91a4210a946fd02bcc53c5e",
    "financialAccountId": "ac_c022f0f6733c8e47462e9fd5b0c1a19729fe",
    "cardHolderAgreementConsent": {
      "consentTimestamp": "2025-04-16T04:46:56:234Z",
      "primaryAuthorizedPersonId": "ps_ah01db72a5bed1494bbdb2065dd8185793b7"
    }
  }
}
⚠️ Please login to execute queries. Visit the dashboard to authenticate.
Result
{
"data": {
"createAuthorizedUserCardProductApplication": {
"__typename": "AuthorizedUserCardProductApplication",
"id": "ap_22pcgme1c870b82b5b48f6be049003f990533f",
"applicationState": {
"status": "PENDING"
},
"financialAccount": {
"id": "ac_c022f0f6733c8e47462e9fd5b0c1a19729fe",
"name": "Primary account",
"createdAt": "2025-04-15T18:42:25.914Z"
},
"accountHolderCardProductApplication": {
"id": "ap_22pcgm6cade4bab91a4210a946fd02bcc53c5e",
"applicationState": {
"status": "APPROVED"
}
},
"authorizedUserSnapshot": {
"accountHolderCurrent": {
"id": "ps_ah01a290dd7d366c46b3a0a39e6e1f6dd670"
},
"name": {
"givenName": "Authorized",
"familyName": "User"
},
"billingAddress": {
"streetAddress": "642 Harrison St",
"locality": "San Francisco"
},
"email": "au@abc.com",
"phoneNumbers": [
{
"label": null,
"number": "1234567890"
}
],
"dateOfBirth": "2007-04-01"
},
"applicationHistory": {
"pageInfo": {
"hasNextPage": false
}
},
"updatedAt": "2025-04-17T04:45:57.217Z",
"createdAt": "2025-04-17T04:45:57.214Z"
}
},
"extensions": {
"requestId": "4e43ebaf-4248-9b64-b599-6e93236e90e6",
"rateLimit": {
"cost": 41,
"limit": 60060,
"remaining": 60019,
"asOf": "2025-04-17T04:45:57.469Z",
"complexity": {
"limit": 60060,
"remaining": 60019,
"cost": 41
},
"count": {
"limit": 60060,
"remaining": 60059,
"cost": 1
}
}
}
}

Step 3. Issue payment card to authorized user

After an authorized user has been created and their application has been approved, you can issue them a payment card. Depending on your card program's configuration, you have two options:

Option 1: Issue card from primary account

info

Authorized user cards issued from a primary financial account inherit spend rules from the primary account. To create separate authorized user spend rules, you must create a dedicated authorized user financial account.

Some card programs let you issue an authorized user card directly from the primary financial account, and do not require a dedicated authorized user account.

To issue a payment card to an authorized user from the primary account holder account, call the mutation issuePaymentCardForAuthorizedUserApplication.

tip

Set applicationId to the ID of the application you submitted in Step 2. This application in Step 2 is tied to the financialAccountId of the primary account holder.

IssuePaymentCardForAuthorizedUserApplication
Query
mutation IssuePaymentCardForAuthorizedUserApplication(
$input: IssuePaymentCardForAuthorizedUserApplicationInput!
) {
issuePaymentCardForAuthorizedUserApplication(input: $input) {
... on PaymentCard {
id
bin
last4
expirationDate
network
status
formFactor
cardProductApplication {
... on AuthorizedUserCardProductApplication {
__typename
id
}
}
}
}
}
Variables
{
  "input": {
    "applicationId": "ap_22acsm2609764c7a514d17b554e793a8013fd7",
    "options": {
      "activateOnCreate": true,
      "expirationDate": "2024-01-01T23:59:59Z"
    }
  }
}
⚠️ Please login to execute queries. Visit the dashboard to authenticate.
Result
{
"data": {
"issuePaymentCardForAuthorizedUserApplication": {
"id": "cd_ae06f1ed43f8152ba9c63211beca14fc",
"bin": "510520",
"last4": "0707",
"expirationDate": "2024-01-01T23:59:59Z",
"network": "MASTERCARD",
"status": "ACTIVE",
"formFactor": "VIRTUAL",
"application": null,
"cardProductApplication": {
"__typename": "AuthorizedUserCardProductApplication",
"id": "ap_22bscm2609764c7a514d17b554e793a8013fd7"
}
}
},
"extensions": {
"requestId": "6ed5be48-7736-917a-b0c3-f21cd7c6a2b2"
}
}

Option 2: Issue card from authorized user account

Some card programs require a dedicated authorized user account to issue a payment card to an authorized user. For example, if your program requires unique spend rules for the primary user and the authorized user, then each of them must have their own financial account.

(Option 2a) Create financial account application for authorized user

First, create a financial account application for the authorized user by calling the mutation issueFinancialAccountForApplication.

tip

Just as with Option 1, set applicationId to the ID of the application you submitted in Step 2, because it is tied to the financialAccountId of the primary account holder. The difference is that rather than issuing a card as you did in Option 1, here, you are applying to create a financial account for the authorized user from which you can issue a card in the next step.

IssueFinancialAccountForApplication
Query
mutation IssueFinancialAccountForApplication(
$input: IssueFinancialAccountForApplicationInput!
) {
issueFinancialAccountForApplication(input: $input) {
... on FinancialAccount {
id
accountStatus
cardProductApplication {
__typename
... on AccountHolderCardProductApplication {
id
appState: applicationState {
status
}
}
... on AuthorizedUserCardProductApplication {
id
authAppState: applicationState {
status
}
}
}
revisionSnapshots {
edges {
node {
id
financialAccount {
id
}
cardProductApplication {
__typename
... on AccountHolderCardProductApplication {
id
appState: applicationState {
status
}
}
... on AuthorizedUserCardProductApplication {
id
authAppState: applicationState {
status
}
}
}
}
}
}
ledgers {
name
normalBalance
creditBalance {
value
currencyCode
}
debitBalance {
value
currencyCode
}
}
updatedAt
createdAt
}
}
}
Variables
{
  "input": {
    "applicationId": "ap_22pcgme1c870b82b5b48f6be049003f990533f",
    "name": "Auth account"
  }
}
⚠️ Please login to execute queries. Visit the dashboard to authenticate.
Result
{
"data": {
"issueFinancialAccountForApplication": {
"id": "ac_c0221b49db4f69534058a3e1655479a6368d",
"accountStatus": "ACTIVE",
"application": {
"__typename": "AuthorizedUserCardProductApplication",
"id": "ap_22pcgme1c870b82b5b48f6be049003f990533f",
"appState": {
"status": "APPROVED"
}
},
"cardProductApplication": {
"__typename": "AuthorizedUserCardProductApplication",
"id": "ap_22pcgme1c870b82b5b48f6be049003f990533f",
"appState": {
"status": "APPROVED"
}
},
"revisionSnapshots": {
"edges": [
{
"node": {
"id": "acrev_24ik1fi00acc0221b49db4f69534058a3e1655479a6368d",
"financialAccount": {
"id": "ac_c0221b49db4f69534058a3e1655479a6368d"
},
"application": {
"__typename": "AuthorizedUserCardProductApplication",
"id": "ap_22pcgme1c870b82b5b48f6be049003f990533f",
"appState": {
"status": "APPROVED"
}
},
"cardProductApplication": {
"__typename": "AuthorizedUserCardProductApplication",
"id": "ap_22pcgme1c870b82b5b48f6be049003f990533f",
"appState": {
"status": "APPROVED"
}
}
}
}
]
},
"ledgers": [
{
"name": "AVAILABLE_CASH",
"normalBalance": "CREDIT",
"creditBalance": {
"value": 0,
"currencyCode": "USD"
},
"debitBalance": {
"value": 0,
"currencyCode": "USD"
}
},
{
"name": "CASH",
"normalBalance": "DEBIT",
"creditBalance": {
"value": 0,
"currencyCode": "USD"
},
"debitBalance": {
"value": 0,
"currencyCode": "USD"
}
},
{
"name": "AVAILABLE_CREDIT",
"normalBalance": "CREDIT",
"creditBalance": {
"value": 0,
"currencyCode": "USD"
},
"debitBalance": {
"value": 0,
"currencyCode": "USD"
}
},
{
"name": "CREDIT_OUTSTANDING",
"normalBalance": "DEBIT",
"creditBalance": {
"value": 0,
"currencyCode": "USD"
},
"debitBalance": {
"value": 0,
"currencyCode": "USD"
}
}
],
"updatedAt": "2025-04-17T06:00:06.554Z",
"createdAt": "2025-04-17T06:00:06.554Z"
}
},
"extensions": {
"requestId": "820c1448-b9c3-93cc-ab61-4929ae2b4e36",
"rateLimit": {
"cost": 119,
"limit": 60060,
"remaining": 59940,
"asOf": "2025-04-17T06:00:06.704Z",
"complexity": {
"limit": 60060,
"remaining": 59940,
"cost": 119
},
"count": {
"limit": 60060,
"remaining": 60058,
"cost": 1
}
}
}
}

(Option 2b) Issue card from authorized user account

Next, issue a payment card to the authorized use from the new financial account (created above).

Use the issuePaymentCardForFinancialAccount mutation to create a card for the financial account created based on the authorized user application.

tip

Set financialAccountId to the ID of the financial account you created for this authorized user (in Option 2a).

IssuePaymentCardForFinancialAccount
Query
mutation IssuePaymentCardForFinancialAccount(
$input: IssuePaymentCardForFinancialAccountInput!
) {
issuePaymentCardForFinancialAccount(input: $input) {
... on PaymentCard {
id
bin
last4
expirationDate
network
status

financialAccounts {
id
name
}
}
... on UserError {
errors {
code
description
}
}
}
}
Variables
{
  "input": {
    "financialAccountId": "ac_c0221b49db4f69534058a3e1655479a6368d",
    "options": {
      "activateOnCreate": true,
      "expirationDate": "2026-01-01T23:59:59Z"
    }
  }
}
⚠️ Please login to execute queries. Visit the dashboard to authenticate.
Result
{
"data": {
"issuePaymentCardForFinancialAccount": {
"id": "cd_e3feb619eb8442f097609ca2a1157742",
"bin": "489651",
"last4": "1942",
"expirationDate": "2026-01-01T23:59:59Z",
"network": "VISA",
"status": "ACTIVE",
"financialAccounts": null
}
},
"extensions": {
"requestId": "2776372f-0246-9ce9-ac22-d996258c0857",
"rateLimit": {
"cost": 11,
"limit": 60060,
"remaining": 60046,
"asOf": "2025-04-17T06:03:18.082Z",
"complexity": {
"limit": 60060,
"remaining": 60046,
"cost": 11
},
"count": {
"limit": 60060,
"remaining": 60056,
"cost": 1
}
}
}
}

Update authorized user

You can modify an authorized user's personal information after their profile has been created. The following mutations allow you to update their billing address, phone number, and email address individually. Each mutation requires the user's unique accountHolderId to identify which profile to update.

Address

To update the billing address for an authorized user, call the mutation updateUSPersonAccountHolderBillingAddress.

UpdateUSPersonAccountHolderBillingAddress
Query
mutation updateUSPersonAccountHolder(
$billingAddressInput: UpdateUSPersonAccountHolderBillingAddressInput!
) {
updateUSPersonAccountHolderBillingAddress(input: $billingAddressInput) {
__typename
... on UserError {
errors {
code
description
errorPath
__typename
}
__typename
}
}
}
Variables
{
  "billingAddressInput": {
    "billingAddress": {
      "streetAddress": "444 Main Street",
      "postalCode": "60606",
      "locality": "Chicago",
      "region": "IL",
      "countryCodeAlpha3": "USA"
    },
    "accountHolderId": "ACCOUNT_HOLDER_ID",
    "updatePaymentCardBillingAddress": true
  }
}
⚠️ Please login to execute queries. Visit the dashboard to authenticate.
Result
{
"data": {
"updateUSPersonAccountHolderBillingAddress": {
"__typename": "USPersonAccountHolder"
}
},
"extensions": {
"requestId": "REQUEST_ID",
"rateLimit": {
"cost": 11,
"limit": 100,
"remaining": 99989
}
}
}

Phone number

To update the phone number for an authorized user, call the mutation updateUSPersonAccountHolderPhone.

UpdateUSPersonAccountHolderPhone
Query
mutation updateUSPersonAccountHolderPhone(
$input: UpdateUSPersonAccountHolderPhoneInput!
) {
updateUSPersonAccountHolderPhone(input: $input) {
__typename
... on UserError {
errors {
code
description
errorPath
}
}

... on USPersonAccountHolder {
id
phoneNumbers {
countryCode
number
label
}
}
}
}
Variables
{
  "input": {
    "phoneNumber": {
      "countryCode": "1",
      "number": "234123444",
      "label": "MOBILE",
      "extension": "312"
    },
    "accountHolderId": "ps_ah01167f4a43d1094122b7a4db9da39cbce7="
  }
}
⚠️ Please login to execute queries. Visit the dashboard to authenticate.
Result
{
"data": {
"updateUSPersonAccountHolderPhone": {
"__typename": "USPersonAccountHolder",
"phoneNumbers": {
"countryCode": "1",
"number": "234123444",
"label": "MOBILE",
"extension": "312"
},
"id": "ps_ah01167f4a43d1094122b7a4db9da39cbce7="
}
},
"extensions": {
"requestId": "some-request-id"
}
}

Email

To update the email address for an authorized user, call the mutation updateUSPersonAccountHolderEmail.

UpdateUSPersonAccountHolderEmail
Query
mutation updateUSPersonAccountHolderEmail(
$input: UpdateUSPersonAccountHolderEmailInput!
) {
updateUSPersonAccountHolderEmail(input: $input) {
__typename
... on UserError {
errors {
code
description
errorPath
}
}

... on USPersonAccountHolder {
id
email
}
}
}
Variables
{
  "input": {
    "email": "abc@123.com",
    "accountHolderId": "ps_ah01167f4a43d1094122b7a4db9da39cbce7="
  }
}
⚠️ Please login to execute queries. Visit the dashboard to authenticate.
Result
{
"data": {
"updateUSPersonAccountHolderEmail": {
"__typename": "USPersonAccountHolder",
"id": "ps_ah01167f4a43d1094122b7a4db9da39cbce7=",
"email": "abc@123.com"
}
},
"extensions": {
"requestId": "some-request-id"
}
}

Query authorized users

The following four queries let you find authorized users by person, or by account.

The first two queries are person-centric, designed to find and retrieve the profiles of authorized users.

The last two queries are account-centric, designed to map the relationships between users and their financial accounts.

Find authorized user by authorized user ID

This query uses USPersonAccountHolder to retrieve a single authorized user's complete profile by using their unique id. The returned information includes personal details such as their name, email, and date of birth, as well as their billing address and phone number. It also fetches the status of any card products they have applied for.

GetUSPersonAccountHolder
Query
query GetUSPersonAccountHolder($id: ID!) {
node(id: $id) {
__typename
... on USPersonAccountHolder {
id
email
dateOfBirth
externalId
updatedAt
createdAt
name {
givenName
familyName
title
suffix
middleName
}
billingAddress {
streetAddress
extendedAddress
postalCode
region
locality
countryCodeAlpha3
}
phoneNumbers {
countryCode
number
label
}
identificationDocument {
socialSecurityNumber {
numberHash
countryCodeAlpha3
}
}
paymentCards {
pageInfo {
hasNextPage
hasPreviousPage
startCursor
endCursor
}
edges {
node {
id
last4
}
}
}
applications {
pageInfo {
hasNextPage
hasPreviousPage
startCursor
endCursor
}
edges {
node {
__typename
... on AccountHolderCardProductApplication {
id
appState: applicationState {
status
}
}
... on AuthorizedUserCardProductApplication {
id
authAppState: applicationState {
status
}
}
}
}
}
}
}
}
Variables
{
"id": "ps_ah01db72a5bed1494bbdb2065dd8185793b7"
}
⚠️ Please login to execute queries. Visit the dashboard to authenticate.
Result
{
"data": {
"node": {
"__typename": "USPersonAccountHolder",
"id": "ps_ah01a290dd7d366c46b3a0a39e6e1f6dd670",
"email": "au@abc.com",
"dateOfBirth": "2007-04-01",
"externalId": "",
"updatedAt": "2025-04-17T04:45:30.681Z",
"createdAt": "2025-04-17T04:45:30.469Z",
"name": {
"givenName": "Authorized",
"familyName": "User",
"title": "",
"suffix": "",
"middleName": ""
},
"billingAddress": {
"streetAddress": "642 Harrison St",
"extendedAddress": "Suite 100",
"postalCode": "94107",
"region": "CA",
"locality": "San Francisco",
"countryCodeAlpha3": "USA"
},
"phoneNumbers": [
{
"countryCode": "1",
"number": "1234567890",
"label": "MOBILE"
}
],
"identificationDocument": {
"socialSecurityNumber": {
"numberHash": "",
"countryCodeAlpha3": "USA"
}
},
"paymentCards": null,
"cardProductApplications": {
"pageInfo": {
"hasNextPage": false,
"hasPreviousPage": false,
"startCursor": "dD0yMDI1LTA0LTE3VDA0JTNBNDUlM0E1Ny4yMTQwMDAwMDBaJmk9YXBfZTFjODcwYjgyYjViNDhmNmJlMDQ5MDAzZjk5MDUzM2Y",
"endCursor": "dD0yMDI1LTA0LTE3VDA0JTNBNDUlM0E1Ny4yMTQwMDAwMDBaJmk9YXBfZTFjODcwYjgyYjViNDhmNmJlMDQ5MDAzZjk5MDUzM2Y"
},
"edges": [
{
"node": {
"__typename": "AccountHolderCardProductApplication",
"id": "ap_22pcgme1c870b82b5b48f6be049003f990533f",
"appStatus": {
"status": "APPROVED"
}
}
}
]
},
"applications": {
"pageInfo": {
"hasNextPage": false,
"hasPreviousPage": false,
"startCursor": "dD0yMDI1LTA0LTE3VDA0JTNBNDUlM0E1Ny4yMTQwMDAwMDBaJmk9YXBfZTFjODcwYjgyYjViNDhmNmJlMDQ5MDAzZjk5MDUzM2Y",
"endCursor": "dD0yMDI1LTA0LTE3VDA0JTNBNDUlM0E1Ny4yMTQwMDAwMDBaJmk9YXBfZTFjODcwYjgyYjViNDhmNmJlMDQ5MDAzZjk5MDUzM2Y"
},
"edges": [
{
"node": {
"__typename": "AuthorizedUserCardProductApplication",
"id": "ap_22pcgme1c870b82b5b48f6be049003f990533f",
"authAppState": {
"status": "APPROVED"
}
}
}
]
}
}
},
"extensions": {
"requestId": "25a68a1d-f208-910e-b417-5b58a292cdc0",
"rateLimit": {
"cost": 72,
"limit": 60060,
"remaining": 59987,
"asOf": "2025-04-17T06:08:24.075Z",
"complexity": {
"limit": 60060,
"remaining": 59987,
"cost": 72
},
"count": {
"limit": 60060,
"remaining": 60058,
"cost": 1
}
}
}
}

Find authorized user by personal data

This query uses USPersonAccountHolder to search for authorized users by filtering on specific personal information, such as their name and date of birth. It returns a paginated list of all users who match the search criteria. For each user found, the query provides a detailed profile that includes their personal data, contact information, and the status of their applications.

ListAccountHolders
Query
query ListAccountHolders($first: Int, $after: String) {
personAccountHolders(first: $first, after: $after) {
pageInfo {
startCursor
endCursor
hasNextPage
hasPreviousPage
}
edges {
cursor
node {
... on USPersonAccountHolder {
id
email
dateOfBirth
externalId
updatedAt
createdAt
name {
givenName
familyName
title
suffix
middleName
}
billingAddress {
streetAddress
extendedAddress
postalCode
region
locality
countryCodeAlpha3
}
phoneNumbers {
countryCode
number
label
}
identificationDocument {
socialSecurityNumber {
numberHash
countryCodeAlpha3
}
}
paymentCards {
pageInfo {
hasNextPage
hasPreviousPage
startCursor
endCursor
}
edges {
node {
id
last4
}
}
}
applications {
pageInfo {
hasNextPage
hasPreviousPage
startCursor
endCursor
}
edges {
node {
__typename
... on AccountHolderCardProductApplication {
id
appState: applicationState {
status
}
}
... on AuthorizedUserCardProductApplication {
id
authAppState: applicationState {
status
}
}
}
}
}
}
}
}
}
}
Variables
{
"first": 2,
"filterBy": {
"name": {
"givenName": {
"soundsLike": [
"John"
]
}
},
"dateOfBirth": {
"equals": "1980-09-01"
}
}
}
⚠️ Please login to execute queries. Visit the dashboard to authenticate.
Result
{
"data": {
"personAccountHolders": {
"pageInfo": {
"startCursor": "dD0yMDI1LTA0LTE1VDE2JTNBNTYlM0E1MS43MzQwMDAwMDBaJmk9cHNfNWE3OTE2Yzk2YzcxNDcwNGI0N2Q1NDliNTIzMDc5ZWQ",
"endCursor": "dD0yMDI1LTA0LTA5VDIyJTNBNTMlM0EyNS4yMTIwMDAwMDBaJmk9cHNfN2MwYWVkMjkyZjFjNDA2ZGIwZDk3M2M2NjM0NTg4N2Q",
"hasNextPage": true,
"hasPreviousPage": false
},
"edges": [
{
"cursor": "dD0yMDI1LTA0LTE1VDE2JTNBNTYlM0E1MS43MzQwMDAwMDBaJmk9cHNfNWE3OTE2Yzk2YzcxNDcwNGI0N2Q1NDliNTIzMDc5ZWQ",
"node": {
"id": "ps_ah0110961e4315374650bdb319dbe2ba61ee",
"email": "gerrytest1@abc.com",
"dateOfBirth": "1980-09-01",
"externalId": "some-id",
"updatedAt": "2025-04-15T16:57:33.909Z",
"createdAt": "2025-04-15T16:56:51.223Z",
"name": {
"givenName": "Gerry",
"familyName": "Wolfe",
"title": "",
"suffix": "",
"middleName": ""
},
"billingAddress": {
"streetAddress": "123 Main Street",
"extendedAddress": "",
"postalCode": "60654",
"region": "IL",
"locality": "Chicago",
"countryCodeAlpha3": "USA"
},
"phoneNumbers": [
{
"countryCode": "1",
"number": "5555555555",
"label": "MOBILE"
}
],
"identificationDocument": {
"socialSecurityNumber": {
"numberHash": "",
"countryCodeAlpha3": "USA"
}
},
"paymentCards": {
"pageInfo": {
"hasNextPage": false,
"hasPreviousPage": false,
"startCursor": "dD0yMDI1LTA0LTE1VDE2JTNBNTklM0E0Mi45ODAwMDAwMDBaJmk9Y2RfMDhlMDFlMzZiYmU2NDRhMTk2ZmVkYWExYzJiZjVmNDI",
"endCursor": "dD0yMDI1LTA0LTE1VDE2JTNBNTklM0E0Mi45ODAwMDAwMDBaJmk9Y2RfMDhlMDFlMzZiYmU2NDRhMTk2ZmVkYWExYzJiZjVmNDI"
},
"edges": [
{
"node": {
"id": "cd_08e01e36bbe644a196fedaa1c2bf5f42",
"last4": "2229"
}
}
]
},
"cardProductApplications": {
"pageInfo": {
"hasNextPage": false,
"hasPreviousPage": false,
"startCursor": "dD0yMDI1LTA0LTE1VDE2JTNBNTclM0EyNS4xMzAwMDAwMDBaJmk9YXBfMzc3NmNjZWU3OTI1NGQ1MzgwODEyMTYwYjNiYTRhMTE",
"endCursor": "dD0yMDI1LTA0LTE1VDE2JTNBNTclM0EyNS4xMzAwMDAwMDBaJmk9YXBfMzc3NmNjZWU3OTI1NGQ1MzgwODEyMTYwYjNiYTRhMTE"
},
"edges": [
{
"node": {
"__typename": "AccountHolderCardProductApplication",
"id": "ap_22pcgm3776ccee79254d5380812160b3ba4a11",
"appStatus": {
"status": "APPROVED"
}
}
}
]
},
"applications": {
"pageInfo": {
"hasNextPage": false,
"hasPreviousPage": false,
"startCursor": "dD0yMDI1LTA0LTE1VDE2JTNBNTclM0EyNS4xMzAwMDAwMDBaJmk9YXBfMzc3NmNjZWU3OTI1NGQ1MzgwODEyMTYwYjNiYTRhMTE",
"endCursor": "dD0yMDI1LTA0LTE1VDE2JTNBNTclM0EyNS4xMzAwMDAwMDBaJmk9YXBfMzc3NmNjZWU3OTI1NGQ1MzgwODEyMTYwYjNiYTRhMTE"
},
"edges": [
{
"node": {
"__typename": "AccountHolderCardProductApplication",
"id": "ap_22pcgm3776ccee79254d5380812160b3ba4a11",
"appState": {
"status": "APPROVED"
}
}
}
]
}
}
},
{
"cursor": "dD0yMDI1LTA0LTA5VDIyJTNBNTMlM0EyNS4yMTIwMDAwMDBaJmk9cHNfN2MwYWVkMjkyZjFjNDA2ZGIwZDk3M2M2NjM0NTg4N2Q",
"node": {
"id": "ps_ah01e551ab5ab08d45e6b5f25d1a18d41ed0",
"email": "test@gmail.com",
"dateOfBirth": "1970-04-01",
"externalId": "",
"updatedAt": "2025-04-09T22:53:25.159Z",
"createdAt": "2025-04-09T22:53:25.121Z",
"name": {
"givenName": "DENVIL",
"familyName": "RODRIGUEZ",
"title": "",
"suffix": "",
"middleName": ""
},
"billingAddress": {
"streetAddress": "3101 N CRYSTAL SPRINGS RD",
"extendedAddress": "",
"postalCode": "32837",
"region": "WI",
"locality": "JANESVILLE",
"countryCodeAlpha3": "USA"
},
"phoneNumbers": [
{
"countryCode": "1",
"number": "7659628365",
"label": "MOBILE"
}
],
"identificationDocument": {
"socialSecurityNumber": {
"numberHash": "",
"countryCodeAlpha3": "USA"
}
},
"paymentCards": null,
"cardProductApplications": {
"pageInfo": {
"hasNextPage": false,
"hasPreviousPage": false,
"startCursor": "dD0yMDI1LTA0LTA5VDIyJTNBNTMlM0EyOC4yMjgwMDAwMDBaJmk9YXBfMDZkMTIzMWQxYTFjNDNkZGEwNWMxNDE1NGRmMGFjZDY",
"endCursor": "dD0yMDI1LTA0LTA5VDIyJTNBNTMlM0EyOC4yMjgwMDAwMDBaJmk9YXBfMDZkMTIzMWQxYTFjNDNkZGEwNWMxNDE1NGRmMGFjZDY"
},
"edges": [
{
"node": {
"__typename": "AccountHolderCardProductApplication",
"id": "ap_22pcgm06d1231d1a1c43dda05c14154df0acd6",
"appStatus": {
"status": "DENIED"
}
}
}
]
},
"applications": {
"pageInfo": {
"hasNextPage": false,
"hasPreviousPage": false,
"startCursor": "dD0yMDI1LTA0LTA5VDIyJTNBNTMlM0EyOC4yMjgwMDAwMDBaJmk9YXBfMDZkMTIzMWQxYTFjNDNkZGEwNWMxNDE1NGRmMGFjZDY",
"endCursor": "dD0yMDI1LTA0LTA5VDIyJTNBNTMlM0EyOC4yMjgwMDAwMDBaJmk9YXBfMDZkMTIzMWQxYTFjNDNkZGEwNWMxNDE1NGRmMGFjZDY"
},
"edges": [
{
"node": {
"__typename": "AccountHolderCardProductApplication",
"id": "ap_22pcgm06d1231d1a1c43dda05c14154df0acd6",
"appState": {
"status": "DENIED"
}
}
}
]
}
}
}
]
}
},
"extensions": {
"requestId": "09a9625a-cf23-925e-a0da-ea6d9191b461",
"rateLimit": {
"cost": 144,
"limit": 60060,
"remaining": 59916,
"asOf": "2025-04-17T06:11:53.394Z",
"complexity": {
"limit": 60060,
"remaining": 59916,
"cost": 144
},
"count": {
"limit": 60060,
"remaining": 60059,
"cost": 1
}
}
}
}

Find financial accounts for authorized user

This query retrieves all the financial accounts associated with a single authorized user by using that person's account holder id as the input. The results include a list of financial accounts, with details on account status, enabled features (like DirectDeposit), and ledger balances. This is used to see all the accounts a person is authorized to use.

GetAuthorizedUserFinancialAccountByPersonAccountHolder
Query
query GetAuthorizedUserFinancialAccountByPersonAccountHolder(
$id: ID!
$first: Int
$after: String
) {
node(id: $id) {
__typename
... on USPersonAccountHolder {
id
authorizedUserFinancialAccounts(first: $first, after: $after) {
pageInfo {
hasNextPage
hasPreviousPage
startCursor
endCursor
}
edges {
cursor
node {
__typename
id
name
createdAt
accountStatus
cardProduct {
id
}
ledgers {
id
name
normalBalance
creditBalance {
value
currencyCode
decimalPlaces
}
debitBalance {
value
currencyCode
decimalPlaces
}
}
features {
__typename
enabled
createdAt
updatedAt
... on AuthorizedUserAccountFeature {
primaryAccountHolderAccount {
id
}
}
}
}
}
}
}
}
}
Variables
{
"id": "ps_ah01e30f43ca7a154d3e938087e97129844a",
"first": 1
}
⚠️ Please login to execute queries. Visit the dashboard to authenticate.
Result
{
"data": {
"node": {
"__typename": "USPersonAccountHolder",
"id": "ps_ah014baf482478e042e29ed22305e0cf3bb7",
"authorizedUserFinancialAccounts": {
"pageInfo": {
"hasNextPage": false,
"hasPreviousPage": false,
"startCursor": "dD0yMDI1LTA1LTA0VDAyJTNBMTElM0E0NC43NjYwMDAwMDBaJmk9YWNfYzAyMmEwMDcwNmI5M2ViNjRkYjNiOGI5OWQwOTFjYzJiNTk3",
"endCursor": "dD0yMDI1LTA1LTA0VDAyJTNBMTElM0E0NC43NDIwMDAwMDBaJmk9YWNfYzAyMjI0YTY2YjBlYTMzNDRlM2RiOGM3MDRmMGI4ZTY4NTY2"
},
"edges": [
{
"cursor": "dD0yMDI1LTA1LTA0VDAyJTNBMTElM0E0NC43NjYwMDAwMDBaJmk9YWNfYzAyMmEwMDcwNmI5M2ViNjRkYjNiOGI5OWQwOTFjYzJiNTk3",
"node": {
"__typename": "FinancialAccount",
"id": "ac_c022a00706b93eb64db3b8b99d091cc2b597",
"name": "Authorized User Person",
"createdAt": "2025-05-04T02:11:44.745Z",
"updatedAt": "2025-05-04T02:11:44.745Z",
"externalId": "T3RU5YLRUL",
"accountAttributes": [],
"accountStatus": "ACTIVE",
"features": [
{
"__typename": "DirectDepositFinancialAccountFeature",
"enabled": true,
"createdAt": "2025-05-04T02:11:44.688Z",
"updatedAt": "2025-05-04T02:11:44.688Z",
"effectiveFrom": "2025-05-04T02:11:44.688Z",
"effectiveThrough": null
},
{
"__typename": "PrePaidPaymentCardFinancialAccountFeature",
"enabled": true,
"createdAt": "2025-05-04T02:11:44.688Z",
"updatedAt": "2025-05-04T02:11:44.688Z",
"effectiveFrom": "2025-05-04T02:11:44.688Z",
"effectiveThrough": null
},
{
"__typename": "AuthorizedUserAccountFeature",
"enabled": true,
"createdAt": "2025-05-04T02:11:44.688Z",
"updatedAt": "2025-05-04T02:11:44.688Z",
"effectiveFrom": "2025-05-04T02:11:44.688Z",
"effectiveThrough": null,
"primaryAccountHolderAccount": {
"id": "ac_c022c63385a8f5fc44f0b0fa78063fd8da39"
},
"primaryAccountAccountHolderParty": {
"id": "ps_ah014baf482478e042e29ed22305e0cf3bb7"
}
}
],
"paymentCards": {
"edges": [
{
"node": {
"id": "cd_81f30147cba043c3a6a50c96d2d6efa5",
"status": "ACTIVE",
"last4": "1250"
}
}
]
},
"ledgers": [
{
"id": "ac_c022a00706b93eb64db3b8b99d091cc2b597_a001",
"name": "AVAILABLE_CASH",
"normalBalance": "CREDIT",
"creditBalance": {
"__typename": "Amount",
"value": 0,
"currencyCode": "USD",
"decimalPlaces": 2
},
"debitBalance": {
"__typename": "Amount",
"value": 0,
"currencyCode": "USD",
"decimalPlaces": 2
}
},
{
"id": "ac_c022a00706b93eb64db3b8b99d091cc2b597_a031",
"name": "CREDIT_OUTSTANDING",
"normalBalance": "DEBIT",
"creditBalance": {
"__typename": "Amount",
"value": 0,
"currencyCode": "USD",
"decimalPlaces": 2
},
"debitBalance": {
"__typename": "Amount",
"value": 0,
"currencyCode": "USD",
"decimalPlaces": 2
}
},
{
"id": "ac_c022a00706b93eb64db3b8b99d091cc2b597_a030",
"name": "AVAILABLE_CREDIT",
"normalBalance": "CREDIT",
"creditBalance": {
"__typename": "Amount",
"value": 0,
"currencyCode": "USD",
"decimalPlaces": 2
},
"debitBalance": {
"__typename": "Amount",
"value": 0,
"currencyCode": "USD",
"decimalPlaces": 2
}
},
{
"id": "ac_c022a00706b93eb64db3b8b99d091cc2b597_a003",
"name": "CASH",
"normalBalance": "DEBIT",
"creditBalance": {
"__typename": "Amount",
"value": 0,
"currencyCode": "USD",
"decimalPlaces": 2
},
"debitBalance": {
"__typename": "Amount",
"value": 0,
"currencyCode": "USD",
"decimalPlaces": 2
}
}
]
}
},
{
"cursor": "dD0yMDI1LTA1LTA0VDAyJTNBMTElM0E0NC43NDIwMDAwMDBaJmk9YWNfYzAyMjI0YTY2YjBlYTMzNDRlM2RiOGM3MDRmMGI4ZTY4NTY2",
"node": {
"__typename": "FinancialAccount",
"id": "ac_c02224a66b0ea3344e3db8c704f0b8e68566",
"name": "Authorized User Person",
"createdAt": "2025-05-04T02:11:44.717Z",
"updatedAt": "2025-05-04T02:11:44.717Z",
"externalId": "CH9SYVFR5M",
"accountAttributes": [],
"accountStatus": "ACTIVE",
"features": [
{
"__typename": "DirectDepositFinancialAccountFeature",
"enabled": true,
"createdAt": "2025-05-04T02:11:44.694Z",
"updatedAt": "2025-05-04T02:11:44.694Z",
"effectiveFrom": "2025-05-04T02:11:44.694Z",
"effectiveThrough": null
},
{
"__typename": "PrePaidPaymentCardFinancialAccountFeature",
"enabled": true,
"createdAt": "2025-05-04T02:11:44.694Z",
"updatedAt": "2025-05-04T02:11:44.694Z",
"effectiveFrom": "2025-05-04T02:11:44.694Z",
"effectiveThrough": null
},
{
"__typename": "AuthorizedUserAccountFeature",
"enabled": true,
"createdAt": "2025-05-04T02:11:44.694Z",
"updatedAt": "2025-05-04T02:11:44.694Z",
"effectiveFrom": "2025-05-04T02:11:44.694Z",
"effectiveThrough": null,
"primaryAccountHolderAccount": {
"id": "ac_c022c63385a8f5fc44f0b0fa78063fd8da39"
},
"primaryAccountAccountHolderParty": {
"id": "ps_ah014baf482478e042e29ed22305e0cf3bb7"
}
}
],
"paymentCards": {
"edges": [
{
"node": {
"id": "cd_052f85738a80466fbb2f59c15c6fdefc",
"status": "ACTIVE",
"last4": "6328"
}
},
{
"node": {
"id": "cd_7a370b14f59045cb9109dad54450d264",
"status": "ACTIVE",
"last4": "9561"
}
}
]
},
"ledgers": [
{
"id": "ac_c02224a66b0ea3344e3db8c704f0b8e68566_a031",
"name": "CREDIT_OUTSTANDING",
"normalBalance": "DEBIT",
"creditBalance": {
"__typename": "Amount",
"value": 0,
"currencyCode": "USD",
"decimalPlaces": 2
},
"debitBalance": {
"__typename": "Amount",
"value": 0,
"currencyCode": "USD",
"decimalPlaces": 2
}
},
{
"id": "ac_c02224a66b0ea3344e3db8c704f0b8e68566_a030",
"name": "AVAILABLE_CREDIT",
"normalBalance": "CREDIT",
"creditBalance": {
"__typename": "Amount",
"value": 0,
"currencyCode": "USD",
"decimalPlaces": 2
},
"debitBalance": {
"__typename": "Amount",
"value": 0,
"currencyCode": "USD",
"decimalPlaces": 2
}
},
{
"id": "ac_c02224a66b0ea3344e3db8c704f0b8e68566_a003",
"name": "CASH",
"normalBalance": "DEBIT",
"creditBalance": {
"__typename": "Amount",
"value": 0,
"currencyCode": "USD",
"decimalPlaces": 2
},
"debitBalance": {
"__typename": "Amount",
"value": 0,
"currencyCode": "USD",
"decimalPlaces": 2
}
},
{
"id": "ac_c02224a66b0ea3344e3db8c704f0b8e68566_a001",
"name": "AVAILABLE_CASH",
"normalBalance": "CREDIT",
"creditBalance": {
"__typename": "Amount",
"value": 0,
"currencyCode": "USD",
"decimalPlaces": 2
},
"debitBalance": {
"__typename": "Amount",
"value": 0,
"currencyCode": "USD",
"decimalPlaces": 2
}
}
]
}
}
]
}
}
},
"extensions": {
"requestId": "946fa84c-2baa-9163-bccf-e3a61efa229d",
"rateLimit": {
"cost": 563
}
},
"headers": {},
"status": 200
}

Find all authorized users by primary financial account

This query identifies all authorized users linked to a specific primary financial account by using the account's id. It returns a list of the associated authorized user financial accounts, including details about their status, features, payment cards, and ledger balances. This is useful for retrieving all authorized users on a single primary account.

GetAuthorizedUserFinancialAccountByFinancialAccount
Query
query GetAuthorizedUserFinancialAccountByFinancialAccount(
$id: ID!
$first: Int
$after: String
) {
node(id: $id) {
__typename
... on FinancialAccount {
id
authorizedUserFinancialAccounts(first: $first, after: $after) {
pageInfo {
hasNextPage
hasPreviousPage
startCursor
endCursor
}
edges {
cursor
node {
__typename
...FinancialAccount
features {
__typename
enabled
createdAt
updatedAt
effectiveFrom
effectiveThrough
... on AuthorizedUserAccountFeature {
primaryAccountHolderAccount {
id
}
primaryAccountAccountHolderParty {
... on USPersonAccountHolder {
id
}
}
}
}
paymentCards {
edges {
node {
id
status
last4
}
}
}
ledgers {
id
name
normalBalance
creditBalance {
__typename
value
currencyCode
decimalPlaces
}
debitBalance {
__typename
value
currencyCode
decimalPlaces
}
}
}
}
}
}
}
}

fragment FinancialAccount on FinancialAccount {
id
name
createdAt
updatedAt
externalId
accountAttributes
accountStatus
}
Variables
{
"id": "ac_ah01e30f43ca7a154d3e938087e97129844a",
"first": 1
}
⚠️ Please login to execute queries. Visit the dashboard to authenticate.
Result
{
"__typename": "FinancialAccount",
"id": "ac_c022c8b220f5cef54bf7aa4fd0556e0b7066",
"authorizedUserFinancialAccounts": {
"pageInfo": {
"hasNextPage": false,
"hasPreviousPage": false,
"startCursor": "dD0yMDI1LTA1LTA3VDAxJTNBMTklM0EwMy45NjUwMDAwMDBaJmk9YWNfYzAyMjhlM2RhNmE2ZTQ5NzQ1N2M4N2M2NWY3NGQ5ODE2MDQ3",
"endCursor": "dD0yMDI1LTA1LTA3VDAxJTNBMTglM0E1OC40MzUwMDAwMDBaJmk9YWNfYzAyMjgxNmVjZjkwNWE5YjQyN2ViYzg2NDcyZGVlYTkyNDRk"
},
"edges": [
{
"cursor": "dD0yMDI1LTA1LTA3VDAxJTNBMTklM0EwMy45NjUwMDAwMDBaJmk9YWNfYzAyMjhlM2RhNmE2ZTQ5NzQ1N2M4N2M2NWY3NGQ5ODE2MDQ3",
"node": {
"__typename": "FinancialAccount",
"id": "ac_c0228e3da6a6e497457c87c65f74d9816047",
"name": "Authorized User Person",
"createdAt": "2025-05-07T01:19:03.939Z",
"updatedAt": "2025-05-07T01:19:03.939Z",
"externalId": "7BQ6MPS3M4",
"accountAttributes": [],
"accountStatus": "ACTIVE",
"features": [
{
"__typename": "DirectDepositFinancialAccountFeature",
"enabled": true,
"createdAt": "2025-05-07T01:19:03.907Z",
"updatedAt": "2025-05-07T01:19:03.907Z",
"effectiveFrom": "2025-05-07T01:19:03.907Z",
"effectiveThrough": null
},
{
"__typename": "PrePaidPaymentCardFinancialAccountFeature",
"enabled": true,
"createdAt": "2025-05-07T01:19:03.907Z",
"updatedAt": "2025-05-07T01:19:03.907Z",
"effectiveFrom": "2025-05-07T01:19:03.907Z",
"effectiveThrough": null
},
{
"__typename": "AuthorizedUserAccountFeature",
"enabled": true,
"createdAt": "2025-05-07T01:19:03.907Z",
"updatedAt": "2025-05-07T01:19:03.907Z",
"effectiveFrom": "2025-05-07T01:19:03.907Z",
"effectiveThrough": null,
"primaryAccountHolderAccount": {
"id": "ac_c022c8b220f5cef54bf7aa4fd0556e0b7066"
},
"primaryAccountAccountHolderParty": {
"id": "ps_ah019eab55060a4446f0840bec1523c42a41"
}
}
],
"paymentCards": {
"edges": [
{
"node": {
"id": "cd_b63bfaa72abe44c88f34d521f3afdacd",
"status": "ACTIVE",
"last4": "3714"
}
},
{
"node": {
"id": "cd_0bbf03c7f3b14c5c969c1e769fd3567d",
"status": "ACTIVE",
"last4": "2908"
}
}
]
},
"ledgers": [
{
"id": "ac_c0228e3da6a6e497457c87c65f74d9816047_a003",
"name": "CASH",
"normalBalance": "DEBIT",
"creditBalance": {
"__typename": "Amount",
"value": 0,
"currencyCode": "USD",
"decimalPlaces": 2
},
"debitBalance": {
"__typename": "Amount",
"value": 0,
"currencyCode": "USD",
"decimalPlaces": 2
}
},
{
"id": "ac_c0228e3da6a6e497457c87c65f74d9816047_a030",
"name": "AVAILABLE_CREDIT",
"normalBalance": "CREDIT",
"creditBalance": {
"__typename": "Amount",
"value": 0,
"currencyCode": "USD",
"decimalPlaces": 2
},
"debitBalance": {
"__typename": "Amount",
"value": 0,
"currencyCode": "USD",
"decimalPlaces": 2
}
},
{
"id": "ac_c0228e3da6a6e497457c87c65f74d9816047_a031",
"name": "CREDIT_OUTSTANDING",
"normalBalance": "DEBIT",
"creditBalance": {
"__typename": "Amount",
"value": 0,
"currencyCode": "USD",
"decimalPlaces": 2
},
"debitBalance": {
"__typename": "Amount",
"value": 0,
"currencyCode": "USD",
"decimalPlaces": 2
}
},
{
"id": "ac_c0228e3da6a6e497457c87c65f74d9816047_a001",
"name": "AVAILABLE_CASH",
"normalBalance": "CREDIT",
"creditBalance": {
"__typename": "Amount",
"value": 0,
"currencyCode": "USD",
"decimalPlaces": 2
},
"debitBalance": {
"__typename": "Amount",
"value": 0,
"currencyCode": "USD",
"decimalPlaces": 2
}
}
]
}
}
]
}
}

How to determine Authorized User types

To determine if a USPersonAccountHolder or PersonAccountHolder is an Authorized User:

  1. Query the USPersonAccountHolder or PersonAccountHolder node.
  2. Check for associations; the account holder is acting as an Authorized User if:
  • Application type = AuthorizedUserCardProductApplication.
  • Financial account has feature with type = AuthorizedUserAccountFeature.
__typenameIs Authorized User?How to Determine in New Model?
USPersonAuthorizedUserYesDeprecated, use USPersonAccountHolder instead
PersonAuthorizedUserYesDeprecated, use PersonAccountHolder instead
USBusinessAuthorizedPersonNoNot an authorized user
AuthorizedPersonNoNot an authorized user
PersonAccountHolderNo**But can be, if associated with authorized user applications or features
USPersonAccountHolderNo**But can be, if associated with authorized user applications or features