Onboard Authorized Users
Overview
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:
- 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.
- Create a card application for the authorized user: Apply for a card product on their behalf and link them to a primary financial account.
- 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
{}
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" } } }
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" } }
Result
{
"data": {
"createUSPersonAccountHolderFromToken": {
"id": "ps_ah01a290dd7d366c46b3a0a39e6e1f6dd670=",
"externalId": "some-id",
"createdAt": "2022-01-12T19:07:19.056Z"
}
}
}
Create authorized user (without tokenization)
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" } } }
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.
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" } } }
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 a card directly from the primary account holder's account or
- Option 2: Issue a card from a dedicated authorized user financial account which requires that you (a) create the account application, then (b) issue the card from the account generated by the application.
Option 1: Issue card from primary account
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.
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" } } }
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.
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" } }
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.
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" } } }
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 } }
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=" } }
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=" } }
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"
}
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"
}
}
}
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
}
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
}
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:
- Query the USPersonAccountHolder or PersonAccountHolder node.
- Check for associations; the account holder is acting as an Authorized User if:
- Application type =
AuthorizedUserCardProductApplication. - Financial account has feature with type =
AuthorizedUserAccountFeature.
| __typename | Is Authorized User? | How to Determine in New Model? |
|---|---|---|
| USPersonAuthorizedUser | Yes | Deprecated, use USPersonAccountHolder instead |
| PersonAuthorizedUser | Yes | Deprecated, use PersonAccountHolder instead |
| USBusinessAuthorizedPerson | No | Not an authorized user |
| AuthorizedPerson | No | Not an authorized user |
| PersonAccountHolder | No* | *But can be, if associated with authorized user applications or features |
| USPersonAccountHolder | No* | *But can be, if associated with authorized user applications or features |