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 internal operations users only. Your API key and your Highnote Dashboard cannot read them. This guide marks them as Highnote internal only. Everything unmarked is readable with an API key.

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

Selecting a restricted field with an API key does not fail the request. The rest of the query returns data. The restricted field returns an AccessDeniedError (select ... on AccessDeniedError { message } to see it), or null or an empty list when the field has no error union. API-key introspection also hides these fields, so an IDE or codegen tool that validates against your schema rejects the query before you send it.

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 constraintsHighnote internal only
attachedRiskRules, attachedVelocityRiskRulesRisk-decisioning rulesHighnote internal only
attachedCheckRules, attachedVelocityCheckRulesCheck-payment constraintsHighnote internal 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 Highnote internal only on FinancialAccount, so check each entity separately rather than assuming a field carries the same access on both.

  • attachedSpendRules
  • attachedVelocityRules
  • attachedRealtimeRiskRules
  • attachedInterFinancialAccountTransferRules, attachedVelocityInterFinancialAccountTransferRules — Highnote internal only
  • attachedRiskRules, attachedVelocityRiskRules — Highnote internal only
  • attachedTransferRules, attachedVelocityTransferRules — Highnote internal only
Payment Cards

Payment Cards expose the same risk-rule connections. attachedRealtimeRiskRules is readable with an API key. attachedRiskRules and attachedVelocityRiskRules are Highnote internal only.

Live velocity balances​

How much room is left under each velocity rule:

  • velocitySpendRuleBalances
  • velocityInterFinancialAccountTransferRuleBalances
  • velocityTransferRuleBalances — Highnote internal only
  • velocityRiskRuleBalances, velocityRiskRealtimeRuleBalances — Highnote internal only
  • platformVelocitySpendRuleBalances — Highnote internal only
  • ruleOverrides — Highnote internal 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 — Highnote internal 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 Highnote internal only in the tables above are deliberately left out. These include CardProduct.attachedTransferRules, CardProduct.attachedRiskRules, CardProduct.attachedCheckRules, FinancialAccount.attachedTransferRules, FinancialAccount.attachedRiskRules, and FinancialAccount.attachedInterFinancialAccountTransferRules, plus their velocity variants.

If you add any of them, the server still runs the query, and those fields return AccessDeniedError instead of data. Because API-key introspection hides these fields, an IDE or codegen tool that validates against your schema flags them before you send the query. 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.