Skip to main content

Querying Card Products and Financial Accounts

Overview

This guide explains how to query your Card Product and Financial Account settings with the Highnote API. These two nesting entities hold almost all of your configuration:

  • Card Product: Blueprint for a program. Defines the capabilities, rules, credit terms (if applicable), and fee structure. Settings attached to the Card Product apply to all of its Financial Accounts.
  • Financial Account: Single account opened under a Card Product. Account-level settings, lifecycle states, and balances attached to a Financial Account apply only to that account.

Settings

Your effective settings come from both entities:

  1. The Card Product determines what the program allows.
  2. The Financial Account determines what is true of that one account.

A Card Product is the blueprint whose settings cascade to every Financial Account opened under it.

Card Product settings apply to all of its Financial Accounts.
Not every field below is readable with an API key

Some settings are restricted to Highnote's dashboard applications. Throughout this guide they are marked dashboard only, either in an "Available to" column or inline after the field name. Everything unmarked is readable with an API key.

Restriction is per entity, not per field name: several fields are readable on CardProduct and dashboard-only on the FinancialAccount beneath it. Check the entity you are actually querying.

Selecting a dashboard-only field with an API key does not return a partial result — the whole operation fails validation and returns nothing.

Categories

Across both entities, settings fall into a few recurring categories:

  • Features: Capability flags such as ACH, direct deposit, or on-demand funding, exposed as a …Feature interface you read with enabled.
  • Attached rules: Spend, velocity, risk, transfer, and check rules that limit what the product or account can do.
  • Credit: Credit configuration and plans.
  • Fees: Fee schedules.
  • Lifecycle and balances (accounts only): Status, attributes, billing summary, and live velocity balances.

Categories of settings queryable on a Card Product and on a Financial Account, side by side.

The rest of this guide walks each entity's fields by category, then gives one query that captures a full snapshot of both.

For filter-input shapes referenced here, see Searching the API and Highnote Query Language.

Finding your products and accounts

Every settings query in this guide takes a Card Product ID or a Financial Account ID, so the first step is finding yours.

Card Products have a top-level entry point and can be listed directly. Financial Accounts have no equivalent entry point. You reach one by traversing from its Card Product, from its account holder, or by direct lookup.

Entry-point queries lead to Card Product and Financial Account, with the key fields you read on each.

Card Products

Query.cardProducts is the top-level entry point. It is paginated and returns every CardProduct on your account.

query MyCardProducts {
cardProducts(first: 20) {
edges {
node {
id
name
commercial
usage
vertical
}
}
pageInfo {
hasNextPage
endCursor
}
}
}
MyCardProducts
Query
query MyCardProducts {
cardProducts(first: 20) {
edges {
node {
id
name
commercial
usage
vertical
}
}
pageInfo {
hasNextPage
endCursor
}
}
}
⚠️ Please login to execute queries. Visit the dashboard to authenticate.
Result
{
"data": {
"cardProducts": {
"edges": [
{
"node": {
"id": "pd_36cb6f6818014bbba8644397ec5dfc86",
"name": "Consumer Prepaid",
"commercial": false,
"usage": "MULTI_USE",
"vertical": "CONSUMER_PREPAID"
}
}
],
"pageInfo": {
"hasNextPage": false,
"endCursor": "MQ"
}
}
}
}

Financial Accounts

There is no top-level financialAccounts query. To list yours, use one of three traversal paths:

PathWhen to Use It
CardProduct.accounts(first, after, filterBy)All Financial Accounts for a known Card Product
USPersonAccountHolder.financialAccounts / USBusinessAccountHolder.financialAccountsAll Financial Accounts for a known account holder
Query.node(id: "ac_…")Direct lookup of a known Financial Account

Card Product settings

CardProduct is the largest configuration surface in the API.

Identity and shape

FieldWhat It Tells You
id, name, vertical, commercialCore identity and business intent
usageSINGLE_USE or MULTI_USE
sourceTemplateIdInternal template the product was created from
profilesAttached ProductProfiles (program profiles)
defaultCardProfileSet, cardProfileSetsBIN range, card art, and network configuration

Features

cardProduct.features returns a list of CardProductFeature interfaces. Use inline fragments to read each capability's enabled flag and per-feature configuration:

features {
__typename
... on AuthorizedUserCardProductFeature { enabled }
... on ChargeCardProductFeature { enabled }
... on CollaborativeApplicationUnderwritingCardProductFeature { enabled }
... on CollaborativeAuthorizationCardProductFeature { enabled }
... on CreditLimitVarianceCardProductFeature { enabled }
... on DirectMerchantAcquiringCardProductFeature { enabled }
... on DisputeChargebackCardProductFeature { enabled }
... on EarlyDirectDepositCardProductFeature { enabled }
... on ExternalBusinessManagementCardProductFeature { enabled }
... on OnDemandFundingCardProductFeature { enabled }
... on PartialFundingCardProductFeature { enabled }
... on PointRewardCardProductFeature { enabled }
... on RevolvingCardProductFeature { enabled }
... on SecuredDepositCardProductFeature { enabled }
}

Rules attached at Card Product level

These apply to every Financial Account under the product.

FieldPurposeAvailable to
attachedSpendRulesMCC, country, amount, and merchant-ID allow/blocklistsAPI key
attachedVelocityRulesVelocity caps (count and amount over a time window)API key
attachedPlatformSpendRules, attachedPlatformVelocityRulesRead-only platform-mandated rules layered on topAPI key
attachedInterFinancialAccountTransferRulesBetween-account transfer limitsAPI key
attachedVelocityInterFinancialAccountTransferRulesBetween-account velocity transfer limitsAPI key
attachedRealtimeRiskRulesReal-time risk decisioningAPI key
attachedRewardRules, attachedRewardRedemptionConfigurationsEarn and redeem configurationsAPI key
attachedTransferRules, attachedVelocityTransferRulesACH and external transfer constraintsDashboard only
attachedRiskRules, attachedVelocityRiskRules, attachedVelocityRealtimeRiskRulesRisk-decisioning rulesDashboard only
attachedCheckRules, attachedVelocityCheckRulesCheck-payment constraintsDashboard only

Credit

FieldPurpose
creditConfigurationCredit product configuration (limits, plan templates, structure)
creditPlans, creditPlanTemplatesActive plans and templates available to attach

Fees

FieldPurpose
feeSchedulesFee schedules attached to this product

Activity and operations

These are paginated and filterable.

FieldPurpose
accountsThe Financial Accounts under this product
paymentCardsAll cards issued from this product
searchCardProductApplicationsApplications routed to this product
transactionEventsRecent transaction events on this product
paymentCardTransactionChargebacks, paymentCardTransactionDisputesDisputes and chargebacks scoped to the product
integratorACHTransfers, externalACHTransfers, originatedAchTransfers, nonOriginatedAchTransfers, interFinancialAccountTransfersMoney-movement modalities scoped to the product
groupOrdersPhysical card group orders

Financial Account settings

FinancialAccount exposes the largest per-account configuration surface in the API.

Identity and lifecycle

FieldPurpose
id, externalId, name, createdAt, updatedAtIdentity
owner, accountHolderWho owns the account and who the cardholder is (these can differ for authorized-user accounts)
cardProductParent product
cardProductApplicationOrigin application
accountStatus, accountClosureReasonsLifecycle state
accountAttributes, financialAccountAttributesWithReasonFlagged states and reasons (for example, PAST_DUE, RESTRICTED_FROM_PURCHASE)
partnerBankNameThe underlying issuing bank
customFields, userDefinedFieldsSubscriber metadata
revisionSnapshotsAudit-style history of changes

Features

financialAccount.features returns FinancialAccountFeature interfaces — a different list than CardProduct.features. The enabled, effectiveFrom, and effectiveThrough fields live on the interface itself, so you can read enabled directly; use inline fragments when a feature has additional configuration.

features {
__typename
enabled
... on AchCapableFinancialAccountFeature { enabled }
... on AuthorizedUserAccountFeature { enabled }
... on CardFundingFinancialAccountFeature { enabled }
... on CheckCapableAccountFeature { enabled }
... on CommercialCreditPayInFullCardAccountFeature { enabled }
... on CreditCardAccountFeature { enabled }
... on DebitPaymentCardFinancialAccountFeature { enabled }
... on DirectDepositFinancialAccountFeature { enabled }
... on FleetCardAccountFeature { enabled }
... on IncomeAccountFinancialAccountFeature { enabled }
... on JustInTimeFundingFinancialAccountFeature { enabled }
... on MerchantSettlementFinancialAccountFeature { enabled }
... on NegativeBalanceReserveFinancialAccountFeature { enabled }
... on NonVerifiedFinancialAccountFeature { enabled }
... on OnDemandFundingFinancialAccountFeature { enabled }
... on PartialFundingFinancialAccountFeature { enabled }
... on PayrollAdvanceFinancialAccountFeature { enabled }
... on PayrollEmployerAdvanceFinancialAccountFeature { enabled }
... on PointRewardFinancialAccountFeature { enabled }
... on PrePaidPaymentCardFinancialAccountFeature { enabled }
... on PreprintedCardFinancialAccountFeature { enabled }
... on ProductFundingFinancialAccountFeature { enabled }
... on ProductReserveFinancialAccountFeature { enabled }
... on ProductSecuredDepositFinancialAccountFeature { enabled }
... on RepaymentFinancialAccountFeature { enabled }
... on ResetBalanceFinancialAccountFeature { enabled }
... on SecuredCreditPaymentCardFinancialAccountFeature { enabled }
... on SecuredDepositFinancialAccountFeature { enabled }
... on SuspenseFinancialAccountFeature { enabled }
... on VendorProvidedBankFinancialAccountFeature { enabled }
}

Balances and billing

FieldPurpose
ledgersUnderlying double-entry ledgers; the canonical balance source
billingSummaryLatest closed statement: minimum payment due, payment due date, and remaining balance
statementSnapshotLatest balance snapshot
statementsPaginated statement history
activeBillingCycleConfigurationCycle anchor and cadence configuration
billingCycleHistoryPast cycles
delinquency, delinquencyStatePast-due tracking

Direct deposit details

FieldPurpose
directDepositDetailsDirect deposit routing and account numbers

The account and routing numbers sit behind directDepositDetails.restrictedDetails, which requires a Direct Deposit Details client token with the READ_RESTRICTED_DETAILS permission. Without that token the field resolves to an AccessDeniedError.

Attached rules

The same field names as the Card Product, scoped to the Financial Account — but not the same availability. The inter-account transfer rules are readable with an API key on CardProduct and dashboard-only on FinancialAccount, so check each entity separately rather than assuming a field carries the same access on both.

  • attachedSpendRules
  • attachedVelocityRules
  • attachedRealtimeRiskRules
  • attachedInterFinancialAccountTransferRules, attachedVelocityInterFinancialAccountTransferRulesdashboard only
  • attachedRiskRules, attachedVelocityRiskRules, attachedVelocityRealtimeRiskRulesdashboard only
  • attachedTransferRules, attachedVelocityTransferRulesdashboard only

Live velocity balances

How much room is left under each velocity rule:

  • velocitySpendRuleBalances
  • velocityInterFinancialAccountTransferRuleBalances
  • velocityTransferRuleBalancesdashboard only
  • velocityRiskRuleBalances, velocityRiskRealtimeRuleBalancesdashboard only
  • platformVelocitySpendRuleBalancesdashboard only
  • ruleOverridesdashboard only

Activity

These are paginated and filterable.

FieldWhat It Returns
financialAccountActivitiesAll money-movement and ledger activity
transactionEventsCard transaction events
paymentCardsCards issued on this account
paymentCardTransactionChargebacks, paymentCardTransactionDisputesDisputes and chargebacks
feeTransferEventsFees charged
integratorACHTransfers, externalACHTransfers, originatedAchTransfers, nonOriginatedAchTransfersACH activity by direction and origination
interFinancialAccountTransfersBetween-account transfers
incomingScheduledTransfersFuture scheduled inbound transfers
installmentAgreements, purchasePlansCredit plan instances
creditConfigurationPer-account credit configuration
reviewWorkflowEventsReview history
activeRiskTransactionAccountInvestigations, deposedRiskTransactionAccountInvestigationsActive and closed risk investigations — dashboard only
globalNotes, accountReviewHistoryOperational notes

Settings snapshot query

Supply a cardProductId and a financialAccountId of your choice. This query pulls a comprehensive settings snapshot for both entities in one round trip, with the feature unions resolved and a sample of each attached-rule connection.

note

This query selects only fields an API key can read, so you can run it as written. The attached-rule connections marked dashboard only in the tables above are deliberately left out — on CardProduct: attachedTransferRules, attachedRiskRules, attachedCheckRules; on FinancialAccount: attachedTransferRules, attachedRiskRules, attachedInterFinancialAccountTransferRules.

Adding any of them makes the whole query fail rather than returning a partial result. Most are dropped along with the connection type they return, which is itself restricted; FinancialAccount.attachedInterFinancialAccountTransferRules is dropped by its own field-level restriction, since the type it returns is readable on CardProduct. Either way the document fails validation and returns nothing. The unrestricted attachedRealtimeRiskRules is included on both types.

query CardProductAndFinancialAccountSnapshot(
$cardProductId: ID!
$financialAccountId: ID!
) {
# ============================================================
# CARD PRODUCT SETTINGS
# ============================================================
cardProduct: node(id: $cardProductId) {
__typename
... on CardProduct {
id
name
commercial
usage
vertical
sourceTemplateId

# Card design and BIN
defaultCardProfileSet {
id
name
}
cardProfileSets(first: 10) {
... on CardProfileSetConnection {
edges {
node {
id
name
}
}
}
}

# Profiles
profiles {
__typename
... on Node {
id
}
}

# Capability flags (every CardProductFeature subtype)
features {
__typename
... on AuthorizedUserCardProductFeature {
enabled
}
... on ChargeCardProductFeature {
enabled
}
... on CollaborativeApplicationUnderwritingCardProductFeature {
enabled
}
... on CollaborativeAuthorizationCardProductFeature {
enabled
}
... on CreditLimitVarianceCardProductFeature {
enabled
}
... on DirectMerchantAcquiringCardProductFeature {
enabled
}
... on DisputeChargebackCardProductFeature {
enabled
}
... on EarlyDirectDepositCardProductFeature {
enabled
}
... on ExternalBusinessManagementCardProductFeature {
enabled
}
... on OnDemandFundingCardProductFeature {
enabled
}
... on PartialFundingCardProductFeature {
enabled
}
... on PointRewardCardProductFeature {
enabled
}
... on RevolvingCardProductFeature {
enabled
}
... on SecuredDepositCardProductFeature {
enabled
}
}

# Credit and fees
creditConfiguration {
__typename
}
creditPlanTemplates(first: 10) {
edges {
node {
id
}
}
}
creditPlans(first: 10) {
edges {
node {
id
}
}
}
feeSchedules(first: 20) {
edges {
node {
id
status
}
}
}

# Subscriber-managed rules
attachedSpendRules(first: 20) {
edges {
node {
id
name
}
}
}
attachedVelocityRules(first: 20) {
edges {
node {
id
name
}
}
}
attachedInterFinancialAccountTransferRules(first: 20) {
... on InterFinancialAccountTransferRuleConnection {
edges {
node {
__typename
... on Node {
id
}
}
}
}
}
attachedRewardRules(first: 20) {
edges {
node {
__typename
}
}
}
attachedRewardRedemptionConfigurations(first: 20) {
edges {
node {
__typename
}
}
}

# Platform-imposed rules (read only)
attachedPlatformSpendRules(first: 20) {
edges {
node {
id
name
}
}
}
attachedPlatformVelocityRules(first: 20) {
edges {
node {
id
name
}
}
}

# Risk rules
attachedRealtimeRiskRules(first: 20) {
... on RealtimeRiskRuleConnection {
edges {
node {
__typename
... on Node {
id
}
}
}
}
}

# Sample of related accounts
accounts(first: 5) {
edges {
node {
id
name
accountStatus
partnerBankName
}
}
}
}
}

# ============================================================
# FINANCIAL ACCOUNT SETTINGS
# ============================================================
financialAccount: node(id: $financialAccountId) {
__typename
... on FinancialAccount {
id
externalId
name
createdAt
updatedAt
accountStatus
partnerBankName

# Lifecycle and state flags
accountAttributes
financialAccountAttributesWithReason {
attribute
reason
}
accountClosureReasons

# Relationships
cardProduct {
id
name
}
owner {
__typename
... on Node {
id
}
}
accountHolder {
__typename
... on Node {
id
}
}
cardProductApplication {
__typename
... on Node {
id
}
}

# Capabilities (enabled lives on the interface)
features {
__typename
enabled
}

# Direct deposit details (account and routing numbers require a
# Direct Deposit Details token with READ_RESTRICTED_DETAILS)
directDepositDetails {
id
restrictedDetails {
__typename
... on DirectDepositDetailRestrictedDetails {
number
routingNumber
}
}
}

# Balances and billing
billingSummary {
asOf
minimumPaymentDue {
value
currencyCode
decimalPlaces
}
paymentDueOn
remainingLatestClosedStatementBalance {
value
currencyCode
decimalPlaces
}
}
statementSnapshot {
__typename
}
activeBillingCycleConfiguration {
__typename
}
delinquency {
__typename
}
delinquencyState {
__typename
}

# Credit configuration
creditConfiguration {
__typename
}
purchasePlans {
__typename
}

# Attached rules (account level)
attachedSpendRules(first: 20) {
edges {
node {
id
name
}
}
}
attachedVelocityRules(first: 20) {
edges {
node {
id
name
}
}
}
attachedRealtimeRiskRules(first: 20) {
... on RealtimeRiskRuleConnection {
edges {
node {
__typename
... on Node {
id
}
}
}
}
}

# Live velocity balances
velocitySpendRuleBalances {
__typename
}

# Recent activity samples
paymentCards(first: 5) {
edges {
node {
id
last4
expirationDate
}
}
}
financialAccountActivities(first: 5) {
edges {
node {
__typename
}
}
}
transactionEvents(first: 5) {
edges {
node {
__typename
... on Node {
id
}
}
}
}
installmentAgreements(first: 5) {
edges {
node {
id
}
}
}
feeTransferEvents(first: 5) {
edges {
node {
__typename
}
}
}

# Subscriber metadata
customFields {
__typename
key
... on CustomStringField {
value
}
}
userDefinedFields(first: 5) {
edges {
node {
__typename
}
}
}
}
}
}
CardProductAndFinancialAccountSnapshot
Query
query CardProductAndFinancialAccountSnapshot(
$cardProductId: ID!
$financialAccountId: ID!
) {
# ============================================================
# CARD PRODUCT SETTINGS
# ============================================================
cardProduct: node(id: $cardProductId) {
__typename
... on CardProduct {
id
name
commercial
usage
vertical
sourceTemplateId

# Card design and BIN
defaultCardProfileSet {
id
name
}
cardProfileSets(first: 10) {
... on CardProfileSetConnection {
edges {
node {
id
name
}
}
}
}

# Profiles
profiles {
__typename
... on Node {
id
}
}

# Capability flags (every CardProductFeature subtype)
features {
__typename
... on AuthorizedUserCardProductFeature {
enabled
}
... on ChargeCardProductFeature {
enabled
}
... on CollaborativeApplicationUnderwritingCardProductFeature {
enabled
}
... on CollaborativeAuthorizationCardProductFeature {
enabled
}
... on CreditLimitVarianceCardProductFeature {
enabled
}
... on DirectMerchantAcquiringCardProductFeature {
enabled
}
... on DisputeChargebackCardProductFeature {
enabled
}
... on EarlyDirectDepositCardProductFeature {
enabled
}
... on ExternalBusinessManagementCardProductFeature {
enabled
}
... on OnDemandFundingCardProductFeature {
enabled
}
... on PartialFundingCardProductFeature {
enabled
}
... on PointRewardCardProductFeature {
enabled
}
... on RevolvingCardProductFeature {
enabled
}
... on SecuredDepositCardProductFeature {
enabled
}
}

# Credit and fees
creditConfiguration {
__typename
}
creditPlanTemplates(first: 10) {
edges {
node {
id
}
}
}
creditPlans(first: 10) {
edges {
node {
id
}
}
}
feeSchedules(first: 20) {
edges {
node {
id
status
}
}
}

# Subscriber-managed rules
attachedSpendRules(first: 20) {
edges {
node {
id
name
}
}
}
attachedVelocityRules(first: 20) {
edges {
node {
id
name
}
}
}
attachedInterFinancialAccountTransferRules(first: 20) {
... on InterFinancialAccountTransferRuleConnection {
edges {
node {
__typename
... on Node {
id
}
}
}
}
}
attachedRewardRules(first: 20) {
edges {
node {
__typename
}
}
}
attachedRewardRedemptionConfigurations(first: 20) {
edges {
node {
__typename
}
}
}

# Platform-imposed rules (read only)
attachedPlatformSpendRules(first: 20) {
edges {
node {
id
name
}
}
}
attachedPlatformVelocityRules(first: 20) {
edges {
node {
id
name
}
}
}

# Risk rules
attachedRealtimeRiskRules(first: 20) {
... on RealtimeRiskRuleConnection {
edges {
node {
__typename
... on Node {
id
}
}
}
}
}

# Sample of related accounts
accounts(first: 5) {
edges {
node {
id
name
accountStatus
partnerBankName
}
}
}
}
}

# ============================================================
# FINANCIAL ACCOUNT SETTINGS
# ============================================================
financialAccount: node(id: $financialAccountId) {
__typename
... on FinancialAccount {
id
externalId
name
createdAt
updatedAt
accountStatus
partnerBankName

# Lifecycle and state flags
accountAttributes
financialAccountAttributesWithReason {
attribute
reason
}
accountClosureReasons

# Relationships
cardProduct {
id
name
}
owner {
__typename
... on Node {
id
}
}
accountHolder {
__typename
... on Node {
id
}
}
cardProductApplication {
__typename
... on Node {
id
}
}

# Capabilities (enabled lives on the interface)
features {
__typename
enabled
}

# Direct deposit details (account and routing numbers require a
# Direct Deposit Details token with READ_RESTRICTED_DETAILS)
directDepositDetails {
id
restrictedDetails {
__typename
... on DirectDepositDetailRestrictedDetails {
number
routingNumber
}
}
}

# Balances and billing
billingSummary {
asOf
minimumPaymentDue {
value
currencyCode
decimalPlaces
}
paymentDueOn
remainingLatestClosedStatementBalance {
value
currencyCode
decimalPlaces
}
}
statementSnapshot {
__typename
}
activeBillingCycleConfiguration {
__typename
}
delinquency {
__typename
}
delinquencyState {
__typename
}

# Credit configuration
creditConfiguration {
__typename
}
purchasePlans {
__typename
}

# Attached rules (account level)
attachedSpendRules(first: 20) {
edges {
node {
id
name
}
}
}
attachedVelocityRules(first: 20) {
edges {
node {
id
name
}
}
}
attachedRealtimeRiskRules(first: 20) {
... on RealtimeRiskRuleConnection {
edges {
node {
__typename
... on Node {
id
}
}
}
}
}

# Live velocity balances
velocitySpendRuleBalances {
__typename
}

# Recent activity samples
paymentCards(first: 5) {
edges {
node {
id
last4
expirationDate
}
}
}
financialAccountActivities(first: 5) {
edges {
node {
__typename
}
}
}
transactionEvents(first: 5) {
edges {
node {
__typename
... on Node {
id
}
}
}
}
installmentAgreements(first: 5) {
edges {
node {
id
}
}
}
feeTransferEvents(first: 5) {
edges {
node {
__typename
}
}
}

# Subscriber metadata
customFields {
__typename
key
... on CustomStringField {
value
}
}
userDefinedFields(first: 5) {
edges {
node {
__typename
}
}
}
}
}
}
Variables
{
  "cardProductId": "pd_36cb6f6818014bbba8644397ec5dfc86",
  "financialAccountId": "ac_c02204zs5i9mdnp381js3mksl5q8x9e6p6os"
}
⚠️ Please login to execute queries. Visit the dashboard to authenticate.
Result
{
"data": {
"cardProduct": {
"__typename": "CardProduct",
"id": "pd_36cb6f6818014bbba8644397ec5dfc86",
"name": "Consumer Prepaid",
"commercial": false,
"usage": "MULTI_USE",
"vertical": "CONSUMER_PREPAID",
"sourceTemplateId": "default_consumer_prepaid",
"defaultCardProfileSet": {
"id": "<CARD_PROFILE_SET_ID>",
"name": "Default Card Profile Set"
},
"cardProfileSets": {
"edges": [
{
"node": {
"id": "<CARD_PROFILE_SET_ID>",
"name": "Default Card Profile Set"
}
}
]
},
"profiles": [],
"features": [
{
"__typename": "DirectMerchantAcquiringCardProductFeature"
}
],
"creditConfiguration": null,
"creditPlanTemplates": {
"edges": []
},
"creditPlans": {
"edges": []
},
"feeSchedules": {
"edges": []
},
"attachedSpendRules": {
"edges": []
},
"attachedVelocityRules": {
"edges": []
},
"attachedInterFinancialAccountTransferRules": {
"edges": []
},
"attachedRewardRules": {
"edges": []
},
"attachedRewardRedemptionConfigurations": {
"edges": []
},
"attachedPlatformSpendRules": {
"edges": []
},
"attachedPlatformVelocityRules": {
"edges": []
},
"attachedRealtimeRiskRules": {
"edges": []
},
"accounts": {
"edges": [
{
"node": {
"id": "ac_c02204zs5i9mdnp381js3mksl5q8x9e6p6os",
"name": "Financial Account",
"accountStatus": "ACTIVE",
"partnerBankName": "<PARTNER_BANK_NAME>"
}
}
]
}
},
"financialAccount": {
"__typename": "FinancialAccount",
"id": "ac_c02204zs5i9mdnp381js3mksl5q8x9e6p6os",
"externalId": "8XB836QCX9",
"name": "Financial Account",
"createdAt": "2026-06-27T04:50:44.517Z",
"updatedAt": "2026-06-27T04:50:44.517Z",
"accountStatus": "ACTIVE",
"partnerBankName": "<PARTNER_BANK_NAME>",
"accountAttributes": [],
"financialAccountAttributesWithReason": [],
"accountClosureReasons": [],
"cardProduct": {
"id": "pd_36cb6f6818014bbba8644397ec5dfc86",
"name": "Consumer Prepaid"
},
"owner": {
"__typename": "USPersonAccountHolder",
"id": "ps_ah0104z4ut86egq6r1js3lt4ale8x53wmbp2"
},
"accountHolder": {
"__typename": "USPersonAccountHolder",
"id": "ps_ah0104z4ut86egq6r1js3lt4ale8x53wmbp2"
},
"cardProductApplication": {
"__typename": "AccountHolderCardProductApplication",
"id": "ap_22pcgm04zeomj6avgwa1js3lvibrwk2wvjb6wc"
},
"features": [
{
"__typename": "DirectDepositFinancialAccountFeature",
"enabled": true
},
{
"__typename": "PrePaidPaymentCardFinancialAccountFeature",
"enabled": true
}
],
"directDepositDetails": {
"id": "dd_6ad0d38f33594d0b89b17dc0076228b4",
"restrictedDetails": {
"__typename": "AccessDeniedError"
}
},
"billingSummary": null,
"statementSnapshot": null,
"activeBillingCycleConfiguration": null,
"delinquency": null,
"delinquencyState": null,
"creditConfiguration": null,
"purchasePlans": [],
"attachedSpendRules": {
"edges": []
},
"attachedVelocityRules": {
"edges": []
},
"attachedRealtimeRiskRules": {
"edges": []
},
"velocitySpendRuleBalances": [],
"paymentCards": {
"edges": []
},
"financialAccountActivities": {
"edges": []
},
"transactionEvents": {
"edges": []
},
"installmentAgreements": {
"edges": []
},
"feeTransferEvents": {
"edges": []
},
"customFields": [],
"userDefinedFields": {
"edges": []
}
}
}
}

Variables

{
"cardProductId": "<CARD_PRODUCT_ID>",
"financialAccountId": "<FINANCIAL_ACCOUNT_ID>"
}

Card Product IDs are prefixed pd_; Financial Account IDs are prefixed ac_. See Entity IDs and Object Types for the full prefix table.

Notes on running

  • Highnote caps pagination at 20 items per page. Pass first: 20 or fewer, and page through more results with after set to the endCursor from pageInfo.
  • Connection types exposed through a Payload union (for example, RiskRuleConnectionPayload) require an inline fragment such as ... on RiskRuleConnection to reach edges.
  • node(id: "…") is the canonical way to fetch any entity by its global ID.
  • An enabled flag returns true only when the capability is currently active on the entity.

What is not directly queryable

  • Webhook subscriptions are managed through notificationEvents queries and webhook mutations, not on CardProduct or FinancialAccount.
  • API key configuration lives outside the Subscriber-facing schema.
  • Partner-bank-side state is not directly visible; Highnote exposes partnerBankName and limited derived information.
  • Some platform-level configuration (interchange routing, network-side product enablement) is reflected in behavior but not exposed as raw configuration.

Introspection patterns

When You See…Do This
A Connection fieldPaginate with first and after; some accept filterBy
A Payload union (a field whose type ends in Payload)Use an inline fragment ... on ConcreteType to reach the data
A Feature interface (CardProductFeature, FinancialAccountFeature)Read enabled on the interface, then inline-fragment per subtype for additional configuration
A rule connectionNodes are heterogeneous; fragment on the specific rule type for its configuration fields

For the full filter-input shapes (for example, CardProductPaymentCardsFilterInput), introspect them with __type(name: "…") in your GraphQL client, or see the Searching the API guide.

Quick reference

  • Start at Query.cardProducts to enumerate your products.
  • From each CardProduct, expand features, attachedSpendRules, attachedVelocityRules, creditConfiguration, feeSchedules, cardProfileSets, and accounts.
  • From each FinancialAccount, expand features, accountAttributes, billingSummary, directDepositDetails, and the attached… rule and velocity…Balances collections.
  • Use node(id: "…") to drill into any specific entity by its global ID.
  • Pagination uses first and after; filters use filterBy.

The settings snapshot query returns a comprehensive snapshot in a single round trip.