Webhook Field Index

The table below contains a comprehensive list of all fields that appear within Spidr webhooks, along with their description.

Webhook Field Index

FieldDescriptionAppears in (Webhook Types)
accountIdUnique identifier for the account.All account, card, transaction, and achAccount webhooks
accountNumberAccount number associated with the account.account.create
achAccountIdUnique identifier for the ACH account.achAccount.create, achAccount.remove, transaction.createAch
achRequestIdUnique identifier for the ACH request.transaction.createAch, transaction.cancelAch
actionRequestorObject containing details about the source of the action.All webhooks
actionRequestor.sourceSource of the action ("api" or "sst").All webhooks
actionRequestor.sstRequestorUserEmailEmail of the SST user who initiated the action (if source is "sst").account.statusUpdate, card.resetPin, transaction.reverseFee
actionRequestor.sstRequestorUserIdID of the SST user who initiated the action (if source is "sst").account.statusUpdate, card.resetPin, transaction.reverseFee
amountAmount of the transaction or fee.transaction.createAch, transaction.createFee, transaction.a2a
archiveReasonReason for archiving a user.user.archive
cardIdUnique identifier for the card.All card webhooks, cardId also in responseBody for some card webhooks
cardNumberMasked card number.card.reissued (responseBody), card.replaced (responseBody.card)
cardExpiryDateCard expiration date.card.reissued (responseBody), card.replaced (responseBody.card)
changesArray of objects describing changes made (field, oldValue, newValue).user.edit, user.archive, account.shippingAddressUpdate, account.statusUpdate, account.featureUpdate, card.activate, card.replaced, card.pinChanged
changes.fieldName of the field that was changed.All webhooks with changes
changes.oldValuePrevious value of the changed field.All webhooks with changes
changes.newValueNew value of the changed field.All webhooks with changes
companyIdThe ID of the company associated with the webhook.All webhooks
cipCustomer Identification Program details.user.create
creditDebitIndicatorIndicates if the transaction is a credit or debit.See data.creditDebitIndicator in provider-originated transaction webhooks below
dateArchivedDate the user was archived.user.archive (in changes)
dateOfBirthUser's date of birth.user.edit (in changes)
debitCreditIndicatorIndicates if the ACH transaction is a debit or credit.transaction.createAch
descriptionDescription of the transaction or adjustment.transaction.createAch
emailUser's email address.user.edit (in changes)
encryptedCardDataEncrypted card data for mobile wallet provisioning.card.mobileWalletProvision (responseBody)
expiresExpiry date/time for a card image URL.card.fetchImageUrl (responseBody)
feeTypeType of fee applied.transaction.createFee
firstNameUser's first name.user.edit (in changes)
idUnique identifier for the user (in responseBody).user.create (responseBody)
isArchivedIndicates if the user/account/card is archived.user.archive (in changes), card.replaced (in changes)
lastNameUser's last name.user.edit (in changes)
messageMessage attached to a transfer.transaction.a2a
newBalanceNew balance after transaction.transaction.createFee, transaction.reverseFee, transaction.a2a (responseBody)
newStatusNew status after an update.account.statusUpdate (responseBody), card.frozen (responseBody), card.unfrozen (responseBody), card.statusUpdate (responseBody)
oldBalancePrevious balance before transaction.transaction.createFee, transaction.reverseFee, transaction.a2a (responseBody)
originalFeeTransactionIdThe original fee transaction ID being reversed.transaction.reverseFee
paymentTypeType of payment.See data.paymentType in provider-originated transaction webhooks below
productIdUnique identifier for the product.All webhooks except user.retrieveId, user.retrieveIdHistory, ZTM webhooks
removedBoolean indicating if an ACH account was removed.achAccount.remove (responseBody)
requestIdUnique identifier for the request that triggered the webhook.All webhooks
responseBodyContains the full result of the API request that generated the webhook.All webhooks
responseBody.accountIdAccount ID in the response body.account.create, account.featureUpdate
responseBody.achAccountIdACH Account ID in the response body.achAccount.create
responseBody.adjustmentTransactionIdAdjustment transaction ID in the response body.See data.adjustmentTransactionId in provider-originated transaction webhooks below
responseBody.cardCard object in the response body.card.replaced
responseBody.cardExpiryDateCard expiry date in the response body.card.reissued
responseBody.cardIdCard ID in the response body.card.activate, card.fetchImageUrl, card.pinToken, card.resetPin
responseBody.cardNumberCard number in the response body.card.reissued, card.replaced
responseBody.encryptedCardDataEncrypted card data in the response body.card.mobileWalletProvision
responseBody.expiresExpiry date/time in the response body.card.fetchImageUrl
responseBody.feeTransactionIdFee transaction ID in the response body.transaction.createFee
responseBody.idUser ID in the response body.user.create
responseBody.newBalanceNew balance in the response body.transaction.createFee, transaction.reverseFee, transaction.a2a
responseBody.newStatusNew status in the response body.account.statusUpdate, card.frozen, card.unfrozen, card.statusUpdate
responseBody.oldBalanceOld balance in the response body.transaction.createFee, transaction.reverseFee, transaction.a2a
responseBody.paymentTransactionIdPayment transaction ID in the response body.See data.paymentTransactionId in provider-originated transaction webhooks below
responseBody.removedIndicates if an ACH account was removed in the response body.achAccount.remove
responseBody.spidrActionIdUnique identifier for the Spidr action in the response body.All webhooks with responseBody
responseBody.statusStatus in the response body.transaction.createFee, transaction.reverseFee, transaction.cancelAch, card.activate, card.resetPin
responseBody.updatedBoolean indicating if an object was updated in the response body.user.edit, user.archive, account.featureUpdate
responseBody.urlCard image URL in the response body.card.fetchImageUrl
reversalTransactionIdUnique identifier for the reversal transaction.transaction.reverseFee (responseBody)
senderMessageMessage from the sender in a transfer.transaction.a2a
spidrActionIdUnique identifier for the Spidr action.All webhooks
statusStatus of the card or transaction.card.activate (responseBody), card.resetPin (responseBody), transaction.createFee, transaction.reverseFee, transaction.cancelAch
statusReasonReason for the status change.account.statusUpdate (responseBody), account.statusUpdate (changes)
tokenPIN change token for a card.card.pinToken (responseBody)
transferToAccountIdAccount ID to which funds are transferred.transaction.a2a
typeType of transaction or webhook.transaction.a2a
updatedBoolean indicating if an object was updated.user.edit, user.archive, account.featureUpdate (responseBody)
urlCard image URL.card.fetchImageUrl (responseBody)
userIdThe ID of the user associated with the webhook event.All webhooks
uuidUnique identifier for the webhook event.All webhooks
webhookTypeThe type of webhook event (e.g., user.archive, account.create).All webhooks
ztmDataRisk and risk provider object.user.create, achAccount.create, auth.authApproved (in data)

ZTM Webhook-Specific Fields

The following fields may appear in ZTM (Zero Touch Monitoring) webhooks such as idvSession.*, watchlistScreening.*, and user.cipStatusUpdate:

FieldDescriptionAppears in (Webhook Types)
cipStatusCurrent CIP (Customer Identification Program) status of the user.user.cipStatusUpdate
idvSessionIdUnique identifier for the identity verification session.idvSession.* webhooks
idvSessionStatusCurrent status of the identity verification session.idvSession.* webhooks
plaidIdvSessionIdPlaid's identifier for the IDV session.idvSession.* webhooks (when using Plaid)
requiresActionIndicates what action is required (e.g., manual review, retry).idvSession.manualReviewRequired, idvSession.needsDecision
watchlistHitIdUnique identifier for a watchlist screening hit.watchlistScreening.hitUpdate
watchlistScreeningIdUnique identifier for the watchlist screening.watchlistScreening.statusUpdate, watchlistScreening.hitUpdate
watchlistScreeningStatusCurrent status of the watchlist screening (e.g., clear, review, hit).watchlistScreening.statusUpdate

Provider Webhook-Specific Fields

The following fields appear in provider-originated webhooks that use a data wrapper object instead of top-level fields. This includes account event webhooks (account.pinChangeStageSuccess, account.pinChangeStageFail, account.pinChange, account.disputeCreated) and the card.shipped webhook.

FieldDescriptionAppears in (Webhook Types)
dataWrapper object containing the webhook payload data.All provider-originated webhooks listed below
data.accountIdUnique identifier for the account.account.pinChangeStageSuccess, account.pinChangeStageFail, account.pinChange, account.disputeCreated, card.shipped
data.accountNumberAccount number associated with the account.account.pinChangeStageSuccess, account.pinChangeStageFail, account.pinChange, account.disputeCreated, card.shipped
data.cardIdUnique identifier for the card.account.pinChange, card.shipped
data.productIdUnique identifier for the product.account.pinChangeStageSuccess, account.pinChangeStageFail, account.pinChange, account.disputeCreated, card.shipped
data.providerDetailsObject containing raw provider data (e.g., Galileo event details).All provider-originated webhooks
data.providerDetails.providerName of the provider (e.g., "galileo").All provider-originated webhooks
data.providerDetails.typeProvider event type (e.g., "agserv_PIN_change_success", "system_pin_change").All provider-originated webhooks
data.providerDetails.eventTypeCategory of the provider event (e.g., "AccountEvent").All provider-originated webhooks
data.timestampUTC timestamp of when the event occurred.account.pinChangeStageSuccess, account.pinChangeStageFail, account.pinChange, account.disputeCreated, card.shipped
data.userIdUnique identifier for the user.account.pinChangeStageSuccess, account.pinChangeStageFail, account.pinChange, account.disputeCreated, card.shipped
data.caseNoDispute case number from the provider.account.disputeCreated
data.disputeIdDispute identifier from the provider.account.disputeCreated
data.disputeAmountAmount of the disputed transaction.account.disputeCreated
data.address1Primary shipping address line.card.shipped
data.address2Secondary shipping address line.card.shipped
data.balanceAccount balance at time of shipment.card.shipped
data.cityShipping address city.card.shipped
data.embossUUIDUUID of the emboss record.card.shipped
data.isEmbossReissueWhether the shipment is an emboss reissue.card.shipped
data.shipTypeShipping method (e.g., "First Class Mail").card.shipped

Authorization and Settlement Webhook Fields

The following fields appear in authorization, settlement, and provider-originated transaction webhooks. These webhooks use a data wrapper object containing transaction details from processors. This includes auth.authApproved, auth.expiration, auth.expirationReversal, auth.authPayment, deniedAuth, transaction.settle, transaction.adjustment, transaction.payment, transaction.paymentDelayed, transaction.paymentSplit, transaction.incomingAchCreditFail, transaction.incomingAchDebitFail, and transaction.achReturn.

FieldDescriptionAppears in (Webhook Types)
dataWrapper object containing the webhook payload data.All authorization, settlement, and provider-originated transaction webhooks
data.accountIdUnique identifier for the account.All authorization, settlement, and provider-originated transaction webhooks
data.amountTransaction amount (negative for debits/purchases).auth.authApproved, auth.expiration, auth.expirationReversal, auth.authPayment, deniedAuth, transaction.settle
data.authDateTimestamp when the authorization occurred.auth.authApproved, auth.expiration, auth.expirationReversal, auth.authPayment, deniedAuth, transaction.settle
data.calculatedBalanceAccount balance after the transaction.auth.authApproved, auth.expiration, auth.expirationReversal, auth.authPayment, deniedAuth, transaction.settle
data.cardIdUnique identifier for the card used in the transaction.auth.authApproved, auth.expiration, auth.expirationReversal, auth.authPayment, deniedAuth, transaction.settle
data.descriptionMerchant or transaction description.auth.authApproved, auth.expiration, auth.expirationReversal, auth.authPayment, deniedAuth, transaction.settle
data.mccCodeMerchant Category Code for the transaction.auth.authApproved, auth.expiration, auth.expirationReversal, auth.authPayment, deniedAuth, transaction.settle
data.parentAuthIdID of the parent authorization for a settlement.transaction.settle
data.postedDateDate/time when the transaction was posted (null for pending authorizations).auth.authApproved, auth.expiration, auth.expirationReversal, auth.authPayment, deniedAuth, transaction.settle
data.productIdUnique identifier for the product.All authorization, settlement, and provider-originated transaction webhooks
data.providerDetailsObject containing raw provider/processor data.All authorization, settlement, and provider-originated transaction webhooks
data.providerDetails.additionalFieldsObject containing additional provider-specific fields.auth.authApproved, auth.expiration, auth.expirationReversal, auth.authPayment, deniedAuth, transaction.settle
data.providerDetails.additionalFields.response_codeResponse code from the payment processor (e.g., "00" for approved, "5C" for declined).auth.authApproved, deniedAuth
data.providerDetails.additionalFields.response_reasonsHuman-readable reason for declined transactions.deniedAuth
data.providerDetails.additionalFields.typeType of transaction event (e.g., "auth", "denied_auth", "setl", "auth_exp", "auth_pmt").auth.authApproved, auth.expiration, auth.expirationReversal, auth.authPayment, deniedAuth, transaction.settle
data.providerDetails.auth_idAuthorization ID from the payment processor.auth.authApproved, auth.expiration, auth.expirationReversal, auth.authPayment, deniedAuth, transaction.settle
data.providerDetails.auth_tsAuthorization timestamp from the processor.auth.authApproved, auth.expiration, auth.expirationReversal, auth.authPayment, deniedAuth, transaction.settle
data.providerDetails.amtTransaction amount from the processor.auth.authApproved, auth.expiration, auth.expirationReversal, auth.authPayment, deniedAuth, transaction.settle
data.providerDetails.card_idCard identifier from the payment processor.auth.authApproved, auth.expiration, auth.expirationReversal, auth.authPayment, deniedAuth, transaction.settle
data.providerDetails.formatted_merchant_descFormatted merchant description.auth.authApproved, auth.expiration, auth.expirationReversal, auth.authPayment, deniedAuth, transaction.settle
data.providerDetails.mcc_codeMerchant Category Code from the processor.auth.authApproved, auth.expiration, auth.expirationReversal, auth.authPayment, deniedAuth, transaction.settle
data.providerDetails.merchant_idMerchant identifier.auth.authApproved, auth.expiration, auth.expirationReversal, auth.authPayment, deniedAuth, transaction.settle
data.providerDetails.network_codeCard network code (e.g., "V" for Visa).auth.authApproved, auth.expiration, auth.expirationReversal, auth.authPayment, deniedAuth, transaction.settle
data.providerDetails.pmt_ref_noPayment reference number.All authorization, settlement, and provider-originated transaction webhooks
data.providerDetails.providerName of the webhook provider (e.g., "galileo-webhook").All authorization, settlement, and provider-originated transaction webhooks
data.providerDetails.trans_codeTransaction code from the processor (e.g., "VIA", "VSA").auth.authApproved, auth.expiration, auth.expirationReversal, auth.authPayment, deniedAuth, transaction.settle
data.providerDetails.vendorName of the payment processor vendor (e.g., "galileo").All authorization, settlement, and provider-originated transaction webhooks
data.providerDetails.orig_nameOriginator name for incoming ACH transactions.transaction.adjustment, transaction.payment, transaction.achReturn
data.providerDetails.orig_acct_numberOriginator account number for incoming ACH transactions.transaction.adjustment, transaction.payment, transaction.achReturn
data.providerDetails.odfi_routing_numberODFI routing number for incoming ACH transactions.transaction.adjustment, transaction.payment, transaction.achReturn
data.statusCurrent status of the transaction (e.g., "pending", "settled").auth.authApproved, auth.expiration, auth.expirationReversal, auth.authPayment, deniedAuth, transaction.settle
data.transactionIdUnique identifier for the transaction in Spidr.auth.authApproved, auth.expiration, auth.expirationReversal, auth.authPayment, deniedAuth, transaction.settle
data.txnKeyUnique key identifying the transaction.auth.authApproved, auth.expiration, auth.expirationReversal, auth.authPayment, deniedAuth, transaction.settle
data.txnRequestIdRequest ID for the transaction (links settlements to authorizations).auth.authApproved, auth.expiration, auth.expirationReversal, auth.authPayment, deniedAuth, transaction.settle, transaction.adjustment, transaction.payment
data.txnTypeType of transaction (e.g., "purchase.authorization", "purchase.settlement", "other.denied_auth").auth.authApproved, auth.expiration, auth.expirationReversal, auth.authPayment, deniedAuth, transaction.settle
data.userIdUnique identifier for the user.All authorization, settlement, and provider-originated transaction webhooks
data.vendorName of the payment processor vendor.All authorization, settlement, and provider-originated transaction webhooks
data.newBalanceNew balance after the transaction.transaction.adjustment, transaction.payment, transaction.paymentDelayed, transaction.paymentSplit
data.oldBalancePrevious balance before the transaction.transaction.adjustment, transaction.payment, transaction.paymentDelayed, transaction.paymentSplit
data.creditDebitIndicatorIndicates if the transaction is a credit or debit.transaction.adjustment, transaction.payment
data.achAccountIdUnique identifier for the ACH account.transaction.paymentDelayed, transaction.incomingAchCreditFail, transaction.incomingAchDebitFail, transaction.achReturn
data.adjustmentTransactionIdUnique identifier for the adjustment transaction.transaction.adjustment
data.adjustmentTypeType of adjustment applied.transaction.adjustment
data.paymentTransactionIdUnique identifier for the payment transaction.transaction.payment, transaction.paymentDelayed, transaction.paymentSplit
data.paymentTypeType of payment.transaction.payment, transaction.paymentDelayed, transaction.paymentSplit
data.descriptionDescription of the transaction.transaction.adjustment, transaction.payment, transaction.achReturn
data.debCredIndDebit/credit indicator for ACH returns.transaction.achReturn
data.ztmDataZTM risk assessment data (when ZTM is enabled).auth.authApproved
data.ztmData.isTrainingModeIndicates if ZTM is running in training mode.auth.authApproved
data.ztmData.providerErrorsArray of errors from risk providers.auth.authApproved
data.ztmData.providerResponsesArray of responses from risk providers.auth.authApproved
data.ztmData.providerSummarySummary of risk assessment from all providers.auth.authApproved
data.ztmData.providerSummary.riskConfigurationIdID of the risk configuration used.auth.authApproved
data.ztmData.providerSummary.riskLevelOverall risk level determined by providers.auth.authApproved
data.ztmData.riskLevelOverall risk level for the transaction (e.g., "low", "medium", "high").auth.authApproved