Home

Data Schema

Overview

The Highnote data schema displays all the available data that you can use in your queries. Each table in the data schema represents the available data to query.

Card table

The Card table is mutable and always displays the current state.

Field nameData typeDescription
card_idStringUnique identifier of the card
product_idStringUnique identifier of the card product
product_name_snapshotStringName of the card product associated with the ledger entry
product_type_codeStringType of the product
card_networkStringName of the network provider (Visa, Mastercard)
expiration_dateDateDate that the card expires
last4StringLast 4 digits of the card
cardholder_party_idStringUnique identifier of the card holder
stateStringState of the card: UNACTIVATED, ACTIVE, SUSPENDED, TERMINATED
financial_account_idStringUnique identifier of the financial account associated with the card
form_factorStringForm of the card: PHYSICAL or VIRTUAL
card_profile_set_idStringUnique identifier of the card profile for a given card product
create_timestampDateTime (ISO 8601: YYYY-MM-DDTHH:MM:SSZ)UTC timestamp when the transaction event was created in the ledger
export_idStringID that Highnote uses to track a record's lifecycle. To facilitate data investigations, Highnote may request shared record identifiers and export_id.
update_timestampDateTime (ISO 8601: YYYY-MM-DDTHH:MM:SSZ)UTC timestamp when the data record was last updated

Card transaction event table

The Card Transaction Event table is mutable and always displays the current state.

Field nameData typeDescription
create_timestampDateTime (ISO 8601: YYYY-MM-DDTHH:MM:SSZ)UTC timestamp when the transaction event was created in the ledger
export_idStringID that Highnote uses to track a record's lifecycle. To facilitate data investigations, Highnote may request shared record identifiers and export_id.
update_timestampDateTime (ISO 8601: YYYY-MM-DDTHH:MM:SSZ)UTC timestamp when the data record was last updated
authorization_timestampDateTime (ISO 8601: YYYY-MM-DDTHH:MM:SSZ)UTC timestamp when the transaction was first authorized on the financial account, if applicable
interchange_create_timestampDateTime (ISO 8601: YYYY-MM-DDTHH:MM:SSZ)UTC timestamp when the interchange record was created
platform_settlement_dateDateDate when the transaction was settled on the platform, with a cutoff of 8 PM Eastern Time (ET)
product_idStringUnique identifier of the card product
product_name_snapshotStringName of the card product associated with the ledger entry
financial_account_idStringUnique identifier of the financial account associated with the card
card_profile_set_idStringUnique identifier of the card profile for a given card product
card_networkStringName of the network provider (Visa, Mastercard)
bin_classificationStringClassification of the network BIN product type (consumer, commercial, business, etc.)
bin_funding_typeStringFunding type for the card program (credit, prepaid, debit)
account_holder_idStringUnique identifier of the account holder
payment_card_idStringUnique identifier of the payment card
processing_network_codeStringCard transaction network. Possible values: VNT (Visanet), MCC (Mastercard Dual Message), MDS (Maestro Single Message), PUL (PULSE), or MPS (Moneypass)
financial_event_idStringUnique identifier of the financial event
event_typeStringType of card financial event, e.g., AUTHORIZE, CLEAR, REVERSE, AUTHORIZE_AND_CLEAR
transaction_idStringTransaction lifecycle identifier. Example: Two transaction events (AUTH and CLEAR) make up one transaction lifecycle, so both events share the same transaction lifecycle ID.
merchant_identifierStringIdentifier of the merchant
merchant_category_codeString4-digit ISO 18245 code representing retail financial services. MCCs classify businesses by the type of goods or services they provide.
merchant_nameStringName of the merchant where the transaction took place
merchant_countryStringISO 3166 Alpha-3 code representing the country where the card was accepted
card_acceptor_locationStringLocation where the transaction took place. Maps to the merchantID in MerchantDetails GraphQL object.
issuer_response_codeEnumHighnote response code: APPROVED, DO_NOT_HONOR, NO_CARD_RECORD
avs_address_response_codeEnumCode representing the result of an address verification check
avs_postal_code_response_codeEnumCode representing the result of a postal code verification check
cvv_response_codeEnumCode representing the result of a card verification value (CVV) check
settlement_indBooleanFlag identifying a settled transaction
approved_amount_signedDecimalFunds approved and posted to the Highnote ledger for the transaction. Appears as responseCode in GQL response.
approved_amount_currency_codeStringISO 4217 code representing the currency of the approved amount
surcharge_fee_amount_signedDecimalFee for the approved amount of each transaction event type
surcharge_fee_amount_currency_codeStringISO 4217 code representing the currency of the surcharge fee amount
requested_amount_signedDecimalFunds requested by the network for each transaction event type
requested_amount_currency_codeStringISO 4217 code representing the currency of the requested amount
interchange_amount_signedDecimalInterchange amount of the transaction. Positive for income. Negative for expense.
interchange_amount_currency_codeStringISO 4217 code representing the currency of the interchange amount
interchange_data_availability_indBooleanIndicates whether or not the interchange data is available for the transaction event
interchange_rate_codeStringCode provided by the card network that denotes the interchange category or rate applied to the transaction. Only available for VNT and MCC.
pos_terminal_type_codeStringCode representing where the payment was initiated. See PointOfServiceCategory in the API reference.
pos_pan_entry_mode_codeStringCode representing the method for inputting a Primary Account Number (PAN) into a POS system. This is done manually or electronically via a card reader. See PanEntryMode in the API Reference.
pos_card_data_input_capability_codeStringCode representing the POS terminal's card input capabilities, e.g., MAGNETIC_STRIPE means the POS terminal can read magnetic stripe cards. See CardDataInputCapability in the API Reference.
pos_card_presence_codeStringCode representing the presence of a card during the sale: CARD_PRESENT, CARD_NOT_PRESENT, PREAUTHORIZED_PURCHASE, UNKNOWN
transaction_type_codeStringCode representing the card transaction processing type from the transaction type network, e.g., 00=goods and services, 01=cash, 20=returns, etc
platform_transaction_categoryStringCategory created by Highnote to calculate Highnote TPV invoices, e.g., purchase, cash, refund, funding, payment, etc. Non-TPV records display as NOT_APPLICABLE.
take_rate_transaction_impactIntegerDirection multiplier used to calculate the take rate for Highnote TPV invoices. Supported values: +1, -1, 0.
net_settled_transaction_impactIntegerDirection multiplier used to calculate the net settlement for Highnote TPV invoices. Supported values: +1, -1, 0.
original_transaction_idStringContains the original transaction ID in the case of refunds. Is empty if the network does not provide sufficient context to identify the original transaction.
issuer_settlement_dateDateHighnote (issuer) defined settlement date, calculated using network cutoff and transaction timestamp. Date that banks use to settle the card transaction amounts.

Ledger entry table

The Ledger Entry table is immutable.

Field nameData typeDescription
create_timestampDateTime (ISO 8601: YYYY-MM-DDTHH:MM:SSZ)UTC timestamp when the ledger entry was created
export_idStringID that Highnote uses to track a record's lifecycle. To facilitate data investigations, Highnote may request shared record identifiers and export_id.
update_timestampDateTime (ISO 8601: YYYY-MM-DDTHH:MM:SSZ)UTC timestamp when the data record was last updated
product_idStringUnique identifier of the card product
product_name_snapshotStringName of the card product associated with the ledger entry
financial_account_idStringUnique identifier of the financial account associated with the ledger entry
financial_account_name_snapshotStringName of the financial account associated with the ledger entry
transaction_idStringTransaction lifecycle identifier. Example: Two transaction events (AUTH and CLEAR) make up one transaction lifecycle, so both events share the same transaction lifecycle ID.
financial_event_typeStringActivity type of the financial event (e.g., AUTHORIZE, CLEAR, REVERSE, AUTHORIZE_AND_CLEAR)
financial_event_idStringUnique identifier of the financial event that the LedgerEntry results from
ledger_entry_idStringUnique identifier of the ledger entryy
change_amount_signedStringAmount by which the ledger balance changed
normal_balance_typeDecimalExpected balance type of an account. Possible values are Debit or Credit.
balance_at_ledger_entry_signedDecimalBalance of the account after the ledger entry
card_transaction_settlement_indBooleanFlag identifying cleared transactions to settle at the bank
billing_monthDateMonth of a billed invoice, with a cutoff of 8 PM Eastern Time (ET)
ledger_type_codeStringCode representing the type of ledger
platform_transaction_categoryStringCategory created by Highnote to calculate Highnote TPV invoices, e.g., purchase, cash, refund, funding, payment, etc. Non-TPV records display as NOT_APPLICABLE.
take_rate_transaction_impactIntegerDirection multiplier used to calculate the take rate for Highnote TPV invoices. Supported values: +1, -1, 0.
net_settled_transaction_impactIntegerDirection multiplier used to calculate the net settlement for Highnote TPV invoices. Supported values: +1, -1, 0.
issuer_settlement_dateDateHighnote (issuer) defined settlement date, calculated using network cutoff and transaction timestamp. Date that banks use to settle the card transaction amounts.
receivable_purchase_dateDateDate when Highnote purchases receivables from the sponsor bank
receivable_purchase_percentIntegerPercentage of card settlement amount to be purchased for receivables
receivables_purchase_indBooleanIndicates that ledger entry is involved in purchasing receivables

Example: issuer_settlement_date

If issuer_settlement_date = June 10 and ET = Eastern Time, transactions have following criteria:

VISA:

  • Network Raw Settlement Date: June 11
  • Transactions between: June 10 @ 6 AM ET to 6/11 @ 6 AM ET

MNGS - MCI/MSI/PULSE/PPE/CIR/EXI:

  • Network Raw Settlement Date: June 10
  • Transaction between: June 9 @ 8 PM ET to June 10 @ 8 PM ET

MNGS - MoneyPass:

  • Network Raw Settlement Date: June 9, Jun 10
  • Transaction between June 9 @ 4 PM ET to June 10 @ 4 PM ET

Enum lookup table

Field nameData typeDescription
table_nameStringName of the database table to which the enum values correspond. Helps identify which table the enum codes belong to.
code_column_nameStringName of the column within the referenced table_name that uses the enum code. Provides a direct link between the enum value and its usage in a specific column of a table.
codeStringActual enum code used in the database. This is the value stored in the column specified by code_column_name in the table_name.
code_enumStringDescriptive name or label representing the enum code. This human-readable description provides more context for what the code represents.
create_timestampDateTime (ISO 8601: YYYY-MM-DDTHH:MM:SSZ)UTC timestamp indicating when the enum record was created. Helps track when the enum was first introduced into the system.
update_timestampDateTime (ISO 8601: YYYY-MM-DDTHH:MM:SSZ)UTC timestamp indicating the last time the enum record was updated. Helps with auditing and understanding the history of changes to the enum values.

Provide Feedback

Was this content helpful?