> ## Documentation Index
> Fetch the complete documentation index at: https://docs.fluz.app/llms.txt
> Use this file to discover all available pages before exploring further.

# DeclinedTransaction

> Transaction represents a comprehensive record of all account activity including purchases, deposits, withdrawals, transfers, and payouts.

**Object**

Transaction represents a comprehensive record of all account activity including purchases, deposits, withdrawals, transfers, and payouts.

## Fields

<ResponseField name="transactionId" type="UUID!">
  Unique identifier of the declined transaction.
</ResponseField>

<ResponseField name="transactionType" type="String!">
  Type of transaction that was declined, e.g. "Gift Card Purchase", "Virtual Card Purchase", "Add Money", "Withdrawal", "Transfer - Out", "Bill Payment Initiation", "Issue Virtual Card".
</ResponseField>

<ResponseField name="amount" type="Float!">
  Total transaction amount that was attempted, in the transaction's currency.
</ResponseField>

<ResponseField name="fluzAmount" type="Float!">
  Portion of the attempted amount that would have been funded from Fluz internal balances (cash/rewards/reserve/prepayment activity). Defaults to 0 when not applicable.
</ResponseField>

<ResponseField name="externalFundingAmount" type="Float!">
  Portion of the attempted amount that would have been funded from an external funding source (e.g. linked bank/card). Defaults to 0 when not applicable.
</ResponseField>

<ResponseField name="currency" type="String!">
  ISO 4217 currency code for the transaction amount. Defaults to "USD" when not specified on the record.
</ResponseField>

<ResponseField name="sourceRecordType" type="String">
  Type of the originating source record that produced this declined transaction (e.g. the originating domain/entity type).
</ResponseField>

<ResponseField name="sourceRecordId" type="String">
  Identifier of the originating source record that produced this declined transaction.
</ResponseField>

<ResponseField name="accountId" type="String!">
  Identifier of the Fluz account that owns the transaction.
</ResponseField>

<ResponseField name="userId" type="String">
  Identifier of the user who attempted the transaction. May be absent for account-level/system transactions.
</ResponseField>

<ResponseField name="source" type="String">
  Source of funds / origin label for the transaction (e.g. funding source or originating party).
</ResponseField>

<ResponseField name="destination" type="String">
  Destination of the transaction (e.g. merchant or recipient label). For merchant transactions this is typically the merchant.
</ResponseField>

<ResponseField name="status" type="DeclinedTransactionStatus!">
  Outcome status of the transaction. One of DeclinedTransactionStatus: "DECLINED" or "FAILED".
</ResponseField>

<ResponseField name="merchantId" type="String">
  Identifier of the merchant associated with the transaction, when known.
</ResponseField>

<ResponseField name="descriptorId" type="String">
  Identifier of the resolved merchant descriptor used to enrich merchant metadata.
</ResponseField>

<ResponseField name="liabilityId" type="String">
  Identifier of the liability record associated with the transaction, when applicable.
</ResponseField>

<ResponseField name="merchantName" type="String">
  Display name of the merchant. Populated from the transaction destination when a merchant is identified; otherwise null.
</ResponseField>

<ResponseField name="merchantCountry" type="String">
  Country of the merchant.
</ResponseField>

<ResponseField name="merchantCity" type="String">
  City of the merchant.
</ResponseField>

<ResponseField name="merchantState" type="String">
  State/region of the merchant.
</ResponseField>

<ResponseField name="logoUrl" type="String">
  URL of the logo to display for the transaction (typically the merchant/brand logo).
</ResponseField>

<ResponseField name="category" type="String">
  Category/classification of the transaction or merchant.
</ResponseField>

<ResponseField name="cardLastFour" type="String">
  Last four digits of the card used for the transaction.
</ResponseField>

<ResponseField name="cardDisplayName" type="String">
  Human-friendly display name of the card used for the transaction.
</ResponseField>

<ResponseField name="virtualCardId" type="String">
  Identifier of the virtual card involved in the transaction, when applicable.
</ResponseField>

<ResponseField name="virtualCardProgram" type="String">
  Virtual card program/issuer label for the virtual card, when applicable.
</ResponseField>

<ResponseField name="channel" type="String">
  Channel through which the transaction was initiated (e.g. app, web, integration).
</ResponseField>

<ResponseField name="externalFundingSourceType" type="String">
  Type of the external funding source used (e.g. bank account, debit card).
</ResponseField>

<ResponseField name="externalFundingSourceId" type="String">
  Identifier of the external funding source used.
</ResponseField>

<ResponseField name="fundingSourceSubtype" type="String">
  Subtype of the funding source (e.g. checking vs. savings, card network subtype).
</ResponseField>

<ResponseField name="isCashBalanceUsed" type="Boolean!">
  True if the user's cash balance was applied/attempted for this transaction.
</ResponseField>

<ResponseField name="isPrepaymentBalanceUsed" type="Boolean!">
  True if the gift-card prepayment balance was applied/attempted for this transaction.
</ResponseField>

<ResponseField name="isRewardsBalanceUsed" type="Boolean!">
  True if the rewards balance was applied/attempted for this transaction.
</ResponseField>

<ResponseField name="isReserveBalanceUsed" type="Boolean!">
  True if the reserve balance was applied/attempted for this transaction.
</ResponseField>

<ResponseField name="transactionDateTime" type="String!">
  Timestamp of the transaction, as an ISO 8601 datetime String (derived from the record's creation time).
</ResponseField>

<ResponseField name="spendAccountNickname" type="String">
  Nickname of the spend account used. Falls back to "Main account" when no specific nickname is set.
</ResponseField>

<ResponseField name="declineTitle" type="String">
  Short, user-facing title summarizing the decline (from the resolved decline display content).
</ResponseField>

<ResponseField name="declineReason" type="String">
  User-facing reason explaining why the transaction was declined.
</ResponseField>

<ResponseField name="declineDescription" type="String">
  Longer user-facing description providing additional detail about the decline.
</ResponseField>

<ResponseField name="declineCtaText" type="String">
  Call-to-action text suggesting the next step the user can take in response to the decline.
</ResponseField>

<ResponseField name="declineCategory" type="String">
  Categorization of the decline (used to group/route decline messaging).
</ResponseField>

<ResponseField name="offerId" type="UUID">
  Identifier of the offer associated with the transaction, when applicable.
</ResponseField>

<ResponseField name="issuer" type="String">
  Card issuer associated with the card/transaction.
</ResponseField>

<ResponseField name="bin" type="String">
  Bank Identification Number (first digits) of the card used.
</ResponseField>

<ResponseField name="limitAmount" type="String">
  Spend-limit amount relevant to the decline (e.g. the limit that was exceeded), as a String.
</ResponseField>

<ResponseField name="limitDuration" type="String">
  Duration/window the spend limit applies to (e.g. per-transaction, daily, monthly).
</ResponseField>

<ResponseField name="lockOnNextUse" type="String">
  Indicates whether the card is set to lock on next use.
</ResponseField>

<ResponseField name="lockDate" type="String">
  Date associated with a card lock, when applicable.
</ResponseField>

<ResponseField name="bankAccountNickname" type="String">
  Nickname of the bank account associated with the funding source, when derivable.
</ResponseField>

<ResponseField name="bankAccountLastFour" type="String">
  Last four digits of the bank account associated with the funding source.
</ResponseField>

<ResponseField name="isPrivate" type="Boolean">
  Privacy flag indicating whether the transaction should be treated as private.
</ResponseField>

<ResponseField name="createdAt" type="DateTime!">
  Timestamp when the transaction was created.
</ResponseField>

<ResponseField name="updatedAt" type="DateTime!">
  Timestamp when the transaction was last updated.
</ResponseField>
