Documentation
MCPTool reference

Pre-Dispute Alerts tools

Arguments, results, errors, and access, confirmation, and retry policy for each Pre-Dispute Alerts tool in FloPay MCP, from the reviewed API contract.

Pre-Dispute Alerts tools

Generated from the FloPay MCP contract version 1, revision 764b41d5c7205d6df7eeaeac832fafe882247f5526b1d4d6bc6f98e3eaca7784.

Chargeback_exportAlerts

Export chargeback-alerts

Deprecated compatibility alias for Pre-Dispute Alerts. Use GET /v1/pre-dispute-alerts (PreDisputeAlerts_list), GET /v1/pre-dispute-alerts/{id} (PreDisputeAlerts_get), and POST /v1/pre-dispute-alerts/exports (PreDisputeAlerts_export). Removal is tracked separately; there is no fixed removal date.

PolicyValue
OperationPOST /v1/chargebacks/alerts/exports
Classread-only
Riskmedium
Confirmationnot-required
Retrysafe
Rate-limit tieraggregate
Rolesowner, admin
Scopesmcp:read

Arguments

ArgumentInTypeRequiredDescription
pagequeryintegerNo1-based page number for paginated list endpoints. Default: 1. Minimum: 1.
limitqueryintegerNoMaximum number of records to return per page. Default: 20. Minimum: 1. Maximum: 100.
sortquerystringNoSort by one allowed field. Use exactly one of sort[asc] or sort[desc]. Allowed fields: createdAt, updatedAt, linkedTransaction.id, linkedTransaction.amount, linkedTransaction.currency, linkedTransaction.status, linkedTransaction.description, linkedTransaction.createdAt, linkedTransaction.userUuid, linkedTransaction.checkoutSessionId, linkedTransaction.subscriptionUuid, linkedTransaction.gatewayTransactionId, linkedTransaction.gatewayPaymentIntentId. Default: createdAt DESC. Allowed values: createdAt, updatedAt, linkedTransaction.id, linkedTransaction.amount, linkedTransaction.currency, linkedTransaction.status, linkedTransaction.description, linkedTransaction.createdAt, linkedTransaction.userUuid, linkedTransaction.checkoutSessionId, linkedTransaction.subscriptionUuid, linkedTransaction.gatewayTransactionId, linkedTransaction.gatewayPaymentIntentId.
relationquerystringNoComma-separated relation aliases to include. Allowed aliases: linkedTransaction. Unknown aliases return 400.
alertServicequerystringNoThe chargeback-alert network (ethoca, paypal, cdrn, rdr). Equality filter. Pass without operator for exact match or pass any of the following operators: [in]. [in] accepts comma-separated values; blank entries return 400. Allowed values: ethoca, paypal, cdrn, rdr.
chargebackAlertIdquerystringNoDeprecated compatibility filter for the alert-network provider alert id (e.g. ALRT-…). Prefer GET /v1/pre-dispute-alerts. Equality filter. Pass without operator for exact match or pass any of the following operators: [in]. [in] accepts comma-separated values; blank entries return 400.
createdAtquerystring (date-time)NoAlert creation timestamp. Equality filter. Pass without operator for exact match or pass any of the following operators: [gt] [gte] [lt] [lte].
currencyquerystringNoISO-4217 currency code of the disputed amount. Equality filter. Pass without operator for exact match or pass any of the following operators: [in]. [in] accepts comma-separated values; blank entries return 400.
linkedTransactionIdquerystringNoThe linked Flopay transaction UUID (set when the alert was matched). Equality filter. Pass without operator for exact match or pass any of the following operators: [in]. [in] accepts comma-separated values; blank entries return 400.
matchMethodquerystringNoHow the alert was linked to a transaction (exact, fuzzy). Equality filter. Pass without operator for exact match or pass any of the following operators: [in]. [in] accepts comma-separated values; blank entries return 400. Allowed values: exact, fuzzy.
statusquerystringNoInternal alert status (pending, linked, action_required, …). Equality filter. Pass without operator for exact match or pass any of the following operators: [in]. [in] accepts comma-separated values; blank entries return 400. Allowed values: pending, linked, unlinked, refunded, refund_failed, action_required, ignored.
updatedAtquerystring (date-time)NoAlert update timestamp. Equality filter. Pass without operator for exact match or pass any of the following operators: [gt] [gte] [lt] [lte].
userUuidquerystringNoThe Flopay customer (user) UUID the alert is attributed to, when linked. Equality filter. Pass without operator for exact match or pass any of the following operators: [in]. [in] accepts comma-separated values; blank entries return 400.
uuidquerystringNoFlopay chargeback-alert UUID. Equality filter. Pass without operator for exact match or pass any of the following operators: [in]. [in] accepts comma-separated values; blank entries return 400.
fieldsbodyarray of stringNoStable export field keys in output order.
formatbodystringYesAllowed values: csv, json.
scopebodystringYesAllowed values: current_page, all_matching.

Result

Returns 200 as application/vnd.flopay.export-stream.v1. Versioned length-prefixed export stream containing started/progress/completed_file/file_chunk/complete frames.

Errors

StatusDescription
400Invalid scope, format, field key, query parameter, client selector, row cap, or plaintext byte cap.
401Authentication is missing or invalid.
403The actor is not allowed to export this resource.
429Export capacity exhausted. Retry-After is set to 60 seconds.
503Exports disabled or export storage unavailable.

Chargeback_findOne

Get Chargeback Alert

Deprecated compatibility alias for Pre-Dispute Alerts. Use GET /v1/pre-dispute-alerts (PreDisputeAlerts_list), GET /v1/pre-dispute-alerts/{id} (PreDisputeAlerts_get), and POST /v1/pre-dispute-alerts/exports (PreDisputeAlerts_export). Removal is tracked separately; there is no fixed removal date. Returns a single alert-network alert for the authenticated client.

PolicyValue
OperationGET /v1/chargebacks/alerts/{id}
Classread-only
Risklow
Confirmationnot-required
Retrysafe
Rate-limit tierread
Rolesowner, admin, member
Scopesmcp:read

Arguments

ArgumentInTypeRequiredDescription
idpathstringYes
relationquerystringNoComma-separated relation aliases to include. Allowed aliases: linkedTransaction. Unknown aliases return 400.

Result

Returns 200 with a JSON body.

FieldTypeRequiredDescription
alertServicestring or nullNoAllowed values: ethoca, paypal, cdrn, rdr.
alertStatusstring or nullNoDeprecated compatibility field for the mirrored alert-network display status.
alertTimestampstring (date-time) or nullNoWhen the alert network raised the alert.
amountnumber or nullNo
arnstring or nullNoAcquirer reference number.
authCodestring or nullNo
cardBinstring or nullNo
cardLast4string or nullNo
chargebackAlertIdstringYesDeprecated compatibility field for the alert-network provider alert id (e.g. ALRT-…). Prefer GET /v1/pre-dispute-alerts. Removal is tracked separately.
chargebackExternalIdstring or nullNoDeprecated compatibility field for the alert-network external id. Prefer GET /v1/pre-dispute-alerts. Removal is tracked separately.
createdAtstring (date-time)Yes
currencystring or nullNo
idstringYesThe Flopay chargeback-alert UUID. Deprecated compatibility identity; prefer Pre-Dispute Alert id.
linkedTransactionobject or nullNoMatched payment. Present only when the linkedTransaction relation is requested.
linkedTransaction.amountnumberYes
linkedTransaction.authorizationExpiresAtstring (date-time) or nullNoDeadline for capturing an active authorization.
linkedTransaction.authorizationVoidReasonstring or nullNoWhy an uncaptured authorization was voided. Allowed values: merchant_requested, expired, provider_canceled.
linkedTransaction.checkoutMetadataobjectNoImmutable non-sensitive client context inherited from the originating checkout.
linkedTransaction.checkoutSessionIdstring or nullNoOriginating checkout session UUID.
linkedTransaction.createdAtstring (date-time)YesRecord creation timestamp.
linkedTransaction.currencystringYes
linkedTransaction.descriptionstring or nullYes
linkedTransaction.effectiveFloFeeUsdnumber or nullYesEffective Flo platform fee in USD after adjustments. Null until the legacy base fee has been finalized.
linkedTransaction.financialEffectiveAtstring (date-time) or nullNoAuthoritative provider money-movement timestamp, when available.
linkedTransaction.floFeeAdjustmentUsdnumberYesNet append-only adjustment to the finalized Flo platform fee, in USD.
linkedTransaction.floFeeUsdnumber or nullYesFlo's platform fee for this transaction, always in USD: distinct from the shopper amount and currency.
linkedTransaction.gatewayobjectNoOwning gateway (non-secret fields). Present only when the gateway relation is loaded.
linkedTransaction.gateway.codestringYesGateway account identifier (e.g. the Stripe connected account acct_…).
linkedTransaction.gateway.currencystringYes3-letter ISO default currency code (e.g. "USD") used by this gateway account.
linkedTransaction.gateway.environmentstringYesAllowed values: stage, production.
linkedTransaction.gateway.idstringYesGateway UUID.
linkedTransaction.gateway.namestringYesHuman-readable name of the gateway account.
linkedTransaction.gateway.providerTypestringYesAllowed values: stripe, paypal, worldpay_corporate_gateway.
linkedTransaction.gateway.publishableKeystringNoPublic API key used by frontend clients to identify the gateway account. Not a secret.
linkedTransaction.gatewayChargeIdstring or nullNoOriginal gateway charge identifier.
linkedTransaction.gatewayPaymentIntentIdstring or nullNoOpaque provider payment-object identifier, such as a Stripe PaymentIntent or PayPal Order/subscription id. The legacy field name is preserved for compatibility.
linkedTransaction.gatewayTransactionIdstring or nullNoGateway transaction identifier.
linkedTransaction.idstringYes
linkedTransaction.metadataobject or nullYesArbitrary metadata captured with the transaction.
linkedTransaction.occurredAtstring (date-time)Yes
linkedTransaction.statusstringYes
linkedTransaction.subscriptionobjectNoLinked subscription (non-secret fields incl. metadata). Present only when the subscription relation is loaded and the payment is tied to a subscription.
linkedTransaction.subscription.amountnumber or nullYesThe stored single-unit amount.
linkedTransaction.subscription.cancelAtstring (date-time) or nullYesWhen the subscription is scheduled to cancel.
linkedTransaction.subscription.canceledAtstring (date-time) or nullYesWhen the subscription was canceled.
linkedTransaction.subscription.checkoutMetadataobjectNoImmutable non-sensitive client context inherited from the originating checkout.
linkedTransaction.subscription.checkoutSessionIdstring or nullYesThe originating checkout session UUID when available.
linkedTransaction.subscription.clientIdstring or nullYesThe authenticated client UUID associated with the subscription row.
linkedTransaction.subscription.createdAtstring (date-time)YesWhen the row was created.
linkedTransaction.subscription.currencystring or nullYesThe ISO 4217 currency code recorded for the subscription.
linkedTransaction.subscription.endDatestring (date-time) or nullYesWhen the current subscription term ends.
linkedTransaction.subscription.gatewayobject or nullNoOwning gateway (non-secret fields). Present only when the gateway relation is requested.
linkedTransaction.subscription.gateway.codestringYesGateway account identifier (e.g. the Stripe connected account acct_…).
linkedTransaction.subscription.gateway.currencystringYes3-letter ISO default currency code (e.g. "USD") used by this gateway account.
linkedTransaction.subscription.gateway.environmentstringYesAllowed values: stage, production.
linkedTransaction.subscription.gateway.idstringYesGateway UUID.
linkedTransaction.subscription.gateway.namestringYesHuman-readable name of the gateway account.
linkedTransaction.subscription.gateway.providerTypestringYesAllowed values: stripe, paypal, worldpay_corporate_gateway.
linkedTransaction.subscription.gateway.publishableKeystringNoPublic API key used by frontend clients to identify the gateway account. Not a secret.
linkedTransaction.subscription.gatewayIdstring or nullYesThe gateway configuration UUID used for this subscription when available.
linkedTransaction.subscription.gatewaySubscriptionIdstringYesThe subscription identifier stored from the billing gateway. Flo-owned subscriptions hold no gateway-side subscription object, so this is a synthesized flo_<uuid> identifier that exists in the response only: it is not stored, and cannot be looked up at the gateway.
linkedTransaction.subscription.gatewayTypestringYesThe payment gateway that processes charges for the subscription. This describes the payment rails only: it does NOT say who owns the billing schedule. A Flo-owned subscription still reports the gateway its charges run through; read ownership to tell the two apart. Allowed values: stripe, paypal, worldpay_corporate_gateway.
linkedTransaction.subscription.gatewayUserIdstring or nullYesThe billing gateway customer identifier when one is known.
linkedTransaction.subscription.metadataobject or nullYesArbitrary metadata captured with the subscription row.
linkedTransaction.subscription.ownershipstringYesWho owns the billing schedule. provider means the gateway holds the subscription object and drives renewals; flo means Flopay holds the schedule and drives renewals itself, charging through the gateway named by gatewayType. Allowed values: flo, provider.
linkedTransaction.subscription.pauseStatestring or nullYesDistinguishes a pause that is in effect ('active') from one recorded to start at a future date ('scheduled'). Null when no pause is recorded. Allowed values: scheduled, active.
linkedTransaction.subscription.pausedAtstring (date-time) or nullYesWhen the subscription was paused.
linkedTransaction.subscription.planDescriptionstring or nullYesThe stored plan description when available.
linkedTransaction.subscription.planIdstringYesThe stored plan identifier.
linkedTransaction.subscription.planNamestringYesThe stored plan name.
linkedTransaction.subscription.quantitynumberYesThe subscribed quantity.
linkedTransaction.subscription.rebillCountinteger (int32)YesThe number of successful renewal charges recorded for the subscription. Minimum: 0.
linkedTransaction.subscription.resumeAtstring (date-time) or nullYesWhen the subscription will resume.
linkedTransaction.subscription.startDatestring (date-time) or nullYesWhen the subscription started.
linkedTransaction.subscription.statestringYesThe current subscription state stored in Flopay. Allowed values: active, canceled, expired, failed, future, paused, past_due.
linkedTransaction.subscription.totalnumber or nullYesThe stored total amount.
linkedTransaction.subscription.trialEndstring (date-time) or nullYesWhen the trial ends.
linkedTransaction.subscription.updatedAtstring (date-time)YesWhen the row was last updated.
linkedTransaction.subscription.userFirstNamestring or nullNoCustomer first name when the user relation is loaded.
linkedTransaction.subscription.userGatewayIdstring or nullYesThe linked internal user gateway row UUID when available.
linkedTransaction.subscription.userLastNamestring or nullNoCustomer last name when the user relation is loaded.
linkedTransaction.subscription.userUuidstring or nullYesThe Flopay user UUID associated with the subscription.
linkedTransaction.subscription.uuidstringYesInternal Flopay subscription UUID.
linkedTransaction.subscriptionUuidstring or nullNoLinked Flopay subscription UUID.
linkedTransaction.typestringYesFinancial event classification. Allowed values: purchase, refund, chargeback, dispute.
linkedTransaction.userEmailstring or nullNoCustomer email when the user relation is loaded.
linkedTransaction.userFirstNamestring or nullNoCustomer first name when the user relation is loaded.
linkedTransaction.userLastNamestring or nullNoCustomer last name when the user relation is loaded.
linkedTransaction.userUuidstring or nullNoLinked Flopay user UUID.
linkedTransactionIdstring (uuid) or nullNoThe linked Flopay transaction UUID, when matched.
matchConfidencenumber or nullNo0..1 link-confidence score (audit only).
matchMethodstring or nullNoAllowed values: exact, fuzzy.
merchantDescriptorstring or nullNo
statusstringYesInternal alert status. Allowed values: pending, linked, unlinked, refunded, refund_failed, action_required, ignored.
transactionIdsarray of string or nullNo
updatedAtstring (date-time)Yes
userUuidstring (uuid) or nullNoThe Flopay customer (user) UUID this alert is attributed to, when linked.

Errors

StatusDescription
400The supplied path or list query is invalid.
401Client Basic authentication or OAuth2 bearer authentication is required. For Basic, use client.uuid as the username and client.api_key as the password; for bearer, send a valid OAuth2 access token with the required scope.
404No chargeback alert with the requested id exists for this client.

Chargeback_list

List Chargeback Alerts

Deprecated compatibility alias for Pre-Dispute Alerts. Use GET /v1/pre-dispute-alerts (PreDisputeAlerts_list), GET /v1/pre-dispute-alerts/{id} (PreDisputeAlerts_get), and POST /v1/pre-dispute-alerts/exports (PreDisputeAlerts_export). Removal is tracked separately; there is no fixed removal date. Returns paginated alert-network alerts for the authenticated client. Supports page, limit, sort[asc|desc], the relation alias linkedTransaction, and whitelisted filters for uuid, status, alertService, currency, matchMethod, chargebackAlertId, createdAt, and updatedAt.

PolicyValue
OperationGET /v1/chargebacks/alerts
Classread-only
Risklow
Confirmationnot-required
Retrysafe
Rate-limit tierread
Rolesowner, admin, member
Scopesmcp:read

Arguments

ArgumentInTypeRequiredDescription
pagequeryintegerNo1-based page number for paginated list endpoints. Default: 1. Minimum: 1.
limitqueryintegerNoMaximum number of records to return per page. Default: 20. Minimum: 1. Maximum: 100.
sortquerystringNoSort by one allowed field. Use exactly one of sort[asc] or sort[desc]. Allowed fields: createdAt, updatedAt, linkedTransaction.id, linkedTransaction.amount, linkedTransaction.currency, linkedTransaction.status, linkedTransaction.description, linkedTransaction.createdAt, linkedTransaction.userUuid, linkedTransaction.checkoutSessionId, linkedTransaction.subscriptionUuid, linkedTransaction.gatewayTransactionId, linkedTransaction.gatewayPaymentIntentId. Default: createdAt DESC. Allowed values: createdAt, updatedAt, linkedTransaction.id, linkedTransaction.amount, linkedTransaction.currency, linkedTransaction.status, linkedTransaction.description, linkedTransaction.createdAt, linkedTransaction.userUuid, linkedTransaction.checkoutSessionId, linkedTransaction.subscriptionUuid, linkedTransaction.gatewayTransactionId, linkedTransaction.gatewayPaymentIntentId.
relationquerystringNoComma-separated relation aliases to include. Allowed aliases: linkedTransaction. Unknown aliases return 400.
alertServicequerystringNoThe chargeback-alert network (ethoca, paypal, cdrn, rdr). Equality filter. Pass without operator for exact match or pass any of the following operators: [in]. [in] accepts comma-separated values; blank entries return 400. Allowed values: ethoca, paypal, cdrn, rdr.
chargebackAlertIdquerystringNoDeprecated compatibility filter for the alert-network provider alert id (e.g. ALRT-…). Prefer GET /v1/pre-dispute-alerts. Equality filter. Pass without operator for exact match or pass any of the following operators: [in]. [in] accepts comma-separated values; blank entries return 400.
createdAtquerystring (date-time)NoAlert creation timestamp. Equality filter. Pass without operator for exact match or pass any of the following operators: [gt] [gte] [lt] [lte].
currencyquerystringNoISO-4217 currency code of the disputed amount. Equality filter. Pass without operator for exact match or pass any of the following operators: [in]. [in] accepts comma-separated values; blank entries return 400.
linkedTransactionIdquerystringNoThe linked Flopay transaction UUID (set when the alert was matched). Equality filter. Pass without operator for exact match or pass any of the following operators: [in]. [in] accepts comma-separated values; blank entries return 400.
matchMethodquerystringNoHow the alert was linked to a transaction (exact, fuzzy). Equality filter. Pass without operator for exact match or pass any of the following operators: [in]. [in] accepts comma-separated values; blank entries return 400. Allowed values: exact, fuzzy.
statusquerystringNoInternal alert status (pending, linked, action_required, …). Equality filter. Pass without operator for exact match or pass any of the following operators: [in]. [in] accepts comma-separated values; blank entries return 400. Allowed values: pending, linked, unlinked, refunded, refund_failed, action_required, ignored.
updatedAtquerystring (date-time)NoAlert update timestamp. Equality filter. Pass without operator for exact match or pass any of the following operators: [gt] [gte] [lt] [lte].
userUuidquerystringNoThe Flopay customer (user) UUID the alert is attributed to, when linked. Equality filter. Pass without operator for exact match or pass any of the following operators: [in]. [in] accepts comma-separated values; blank entries return 400.
uuidquerystringNoFlopay chargeback-alert UUID. Equality filter. Pass without operator for exact match or pass any of the following operators: [in]. [in] accepts comma-separated values; blank entries return 400.

Result

Returns 200 with a JSON body.

FieldTypeRequiredDescription
dataarray of objectYes
data[].alertServicestring or nullNoAllowed values: ethoca, paypal, cdrn, rdr.
data[].alertStatusstring or nullNoDeprecated compatibility field for the mirrored alert-network display status.
data[].alertTimestampstring (date-time) or nullNoWhen the alert network raised the alert.
data[].amountnumber or nullNo
data[].arnstring or nullNoAcquirer reference number.
data[].authCodestring or nullNo
data[].cardBinstring or nullNo
data[].cardLast4string or nullNo
data[].chargebackAlertIdstringYesDeprecated compatibility field for the alert-network provider alert id (e.g. ALRT-…). Prefer GET /v1/pre-dispute-alerts. Removal is tracked separately.
data[].chargebackExternalIdstring or nullNoDeprecated compatibility field for the alert-network external id. Prefer GET /v1/pre-dispute-alerts. Removal is tracked separately.
data[].createdAtstring (date-time)Yes
data[].currencystring or nullNo
data[].idstringYesThe Flopay chargeback-alert UUID. Deprecated compatibility identity; prefer Pre-Dispute Alert id.
data[].linkedTransactionobject or nullNoMatched payment. Present only when the linkedTransaction relation is requested.
data[].linkedTransaction.amountnumberYes
data[].linkedTransaction.authorizationExpiresAtstring (date-time) or nullNoDeadline for capturing an active authorization.
data[].linkedTransaction.authorizationVoidReasonstring or nullNoWhy an uncaptured authorization was voided. Allowed values: merchant_requested, expired, provider_canceled.
data[].linkedTransaction.checkoutMetadataobjectNoImmutable non-sensitive client context inherited from the originating checkout.
data[].linkedTransaction.checkoutSessionIdstring or nullNoOriginating checkout session UUID.
data[].linkedTransaction.createdAtstring (date-time)YesRecord creation timestamp.
data[].linkedTransaction.currencystringYes
data[].linkedTransaction.descriptionstring or nullYes
data[].linkedTransaction.effectiveFloFeeUsdnumber or nullYesEffective Flo platform fee in USD after adjustments. Null until the legacy base fee has been finalized.
data[].linkedTransaction.financialEffectiveAtstring (date-time) or nullNoAuthoritative provider money-movement timestamp, when available.
data[].linkedTransaction.floFeeAdjustmentUsdnumberYesNet append-only adjustment to the finalized Flo platform fee, in USD.
data[].linkedTransaction.floFeeUsdnumber or nullYesFlo's platform fee for this transaction, always in USD: distinct from the shopper amount and currency.
data[].linkedTransaction.gatewayobjectNoOwning gateway (non-secret fields). Present only when the gateway relation is loaded.
data[].linkedTransaction.gateway.codestringYesGateway account identifier (e.g. the Stripe connected account acct_…).
data[].linkedTransaction.gateway.currencystringYes3-letter ISO default currency code (e.g. "USD") used by this gateway account.
data[].linkedTransaction.gateway.environmentstringYesAllowed values: stage, production.
data[].linkedTransaction.gateway.idstringYesGateway UUID.
data[].linkedTransaction.gateway.namestringYesHuman-readable name of the gateway account.
data[].linkedTransaction.gateway.providerTypestringYesAllowed values: stripe, paypal, worldpay_corporate_gateway.
data[].linkedTransaction.gateway.publishableKeystringNoPublic API key used by frontend clients to identify the gateway account. Not a secret.
data[].linkedTransaction.gatewayChargeIdstring or nullNoOriginal gateway charge identifier.
data[].linkedTransaction.gatewayPaymentIntentIdstring or nullNoOpaque provider payment-object identifier, such as a Stripe PaymentIntent or PayPal Order/subscription id. The legacy field name is preserved for compatibility.
data[].linkedTransaction.gatewayTransactionIdstring or nullNoGateway transaction identifier.
data[].linkedTransaction.idstringYes
data[].linkedTransaction.metadataobject or nullYesArbitrary metadata captured with the transaction.
data[].linkedTransaction.occurredAtstring (date-time)Yes
data[].linkedTransaction.statusstringYes
data[].linkedTransaction.subscriptionobjectNoLinked subscription (non-secret fields incl. metadata). Present only when the subscription relation is loaded and the payment is tied to a subscription.
data[].linkedTransaction.subscription.amountnumber or nullYesThe stored single-unit amount.
data[].linkedTransaction.subscription.cancelAtstring (date-time) or nullYesWhen the subscription is scheduled to cancel.
data[].linkedTransaction.subscription.canceledAtstring (date-time) or nullYesWhen the subscription was canceled.
data[].linkedTransaction.subscription.checkoutMetadataobjectNoImmutable non-sensitive client context inherited from the originating checkout.
data[].linkedTransaction.subscription.checkoutSessionIdstring or nullYesThe originating checkout session UUID when available.
data[].linkedTransaction.subscription.clientIdstring or nullYesThe authenticated client UUID associated with the subscription row.
data[].linkedTransaction.subscription.createdAtstring (date-time)YesWhen the row was created.
data[].linkedTransaction.subscription.currencystring or nullYesThe ISO 4217 currency code recorded for the subscription.
data[].linkedTransaction.subscription.endDatestring (date-time) or nullYesWhen the current subscription term ends.
data[].linkedTransaction.subscription.gatewayobject or nullNoOwning gateway (non-secret fields). Present only when the gateway relation is requested.
data[].linkedTransaction.subscription.gateway.codestringYesGateway account identifier (e.g. the Stripe connected account acct_…).
data[].linkedTransaction.subscription.gateway.currencystringYes3-letter ISO default currency code (e.g. "USD") used by this gateway account.
data[].linkedTransaction.subscription.gateway.environmentstringYesAllowed values: stage, production.
data[].linkedTransaction.subscription.gateway.idstringYesGateway UUID.
data[].linkedTransaction.subscription.gateway.namestringYesHuman-readable name of the gateway account.
data[].linkedTransaction.subscription.gateway.providerTypestringYesAllowed values: stripe, paypal, worldpay_corporate_gateway.
data[].linkedTransaction.subscription.gateway.publishableKeystringNoPublic API key used by frontend clients to identify the gateway account. Not a secret.
data[].linkedTransaction.subscription.gatewayIdstring or nullYesThe gateway configuration UUID used for this subscription when available.
data[].linkedTransaction.subscription.gatewaySubscriptionIdstringYesThe subscription identifier stored from the billing gateway. Flo-owned subscriptions hold no gateway-side subscription object, so this is a synthesized flo_<uuid> identifier that exists in the response only: it is not stored, and cannot be looked up at the gateway.
data[].linkedTransaction.subscription.gatewayTypestringYesThe payment gateway that processes charges for the subscription. This describes the payment rails only: it does NOT say who owns the billing schedule. A Flo-owned subscription still reports the gateway its charges run through; read ownership to tell the two apart. Allowed values: stripe, paypal, worldpay_corporate_gateway.
data[].linkedTransaction.subscription.gatewayUserIdstring or nullYesThe billing gateway customer identifier when one is known.
data[].linkedTransaction.subscription.metadataobject or nullYesArbitrary metadata captured with the subscription row.
data[].linkedTransaction.subscription.ownershipstringYesWho owns the billing schedule. provider means the gateway holds the subscription object and drives renewals; flo means Flopay holds the schedule and drives renewals itself, charging through the gateway named by gatewayType. Allowed values: flo, provider.
data[].linkedTransaction.subscription.pauseStatestring or nullYesDistinguishes a pause that is in effect ('active') from one recorded to start at a future date ('scheduled'). Null when no pause is recorded. Allowed values: scheduled, active.
data[].linkedTransaction.subscription.pausedAtstring (date-time) or nullYesWhen the subscription was paused.
data[].linkedTransaction.subscription.planDescriptionstring or nullYesThe stored plan description when available.
data[].linkedTransaction.subscription.planIdstringYesThe stored plan identifier.
data[].linkedTransaction.subscription.planNamestringYesThe stored plan name.
data[].linkedTransaction.subscription.quantitynumberYesThe subscribed quantity.
data[].linkedTransaction.subscription.rebillCountinteger (int32)YesThe number of successful renewal charges recorded for the subscription. Minimum: 0.
data[].linkedTransaction.subscription.resumeAtstring (date-time) or nullYesWhen the subscription will resume.
data[].linkedTransaction.subscription.startDatestring (date-time) or nullYesWhen the subscription started.
data[].linkedTransaction.subscription.statestringYesThe current subscription state stored in Flopay. Allowed values: active, canceled, expired, failed, future, paused, past_due.
data[].linkedTransaction.subscription.totalnumber or nullYesThe stored total amount.
data[].linkedTransaction.subscription.trialEndstring (date-time) or nullYesWhen the trial ends.
data[].linkedTransaction.subscription.updatedAtstring (date-time)YesWhen the row was last updated.
data[].linkedTransaction.subscription.userFirstNamestring or nullNoCustomer first name when the user relation is loaded.
data[].linkedTransaction.subscription.userGatewayIdstring or nullYesThe linked internal user gateway row UUID when available.
data[].linkedTransaction.subscription.userLastNamestring or nullNoCustomer last name when the user relation is loaded.
data[].linkedTransaction.subscription.userUuidstring or nullYesThe Flopay user UUID associated with the subscription.
data[].linkedTransaction.subscription.uuidstringYesInternal Flopay subscription UUID.
data[].linkedTransaction.subscriptionUuidstring or nullNoLinked Flopay subscription UUID.
data[].linkedTransaction.typestringYesFinancial event classification. Allowed values: purchase, refund, chargeback, dispute.
data[].linkedTransaction.userEmailstring or nullNoCustomer email when the user relation is loaded.
data[].linkedTransaction.userFirstNamestring or nullNoCustomer first name when the user relation is loaded.
data[].linkedTransaction.userLastNamestring or nullNoCustomer last name when the user relation is loaded.
data[].linkedTransaction.userUuidstring or nullNoLinked Flopay user UUID.
data[].linkedTransactionIdstring (uuid) or nullNoThe linked Flopay transaction UUID, when matched.
data[].matchConfidencenumber or nullNo0..1 link-confidence score (audit only).
data[].matchMethodstring or nullNoAllowed values: exact, fuzzy.
data[].merchantDescriptorstring or nullNo
data[].statusstringYesInternal alert status. Allowed values: pending, linked, unlinked, refunded, refund_failed, action_required, ignored.
data[].transactionIdsarray of string or nullNo
data[].updatedAtstring (date-time)Yes
data[].userUuidstring (uuid) or nullNoThe Flopay customer (user) UUID this alert is attributed to, when linked.
limitnumberYes
pagenumberYes
pagesnumberYes
totalnumberYes

Errors

StatusDescription
400The supplied path or list query is invalid.
401Client Basic authentication or OAuth2 bearer authentication is required. For Basic, use client.uuid as the username and client.api_key as the password; for bearer, send a valid OAuth2 access token with the required scope.

PreDisputeAlerts_export

Export pre-dispute-alerts

Exports the resource-owned list as a point-in-time framed stream. Reuses this endpoint's list query filters and sort. current_page preserves page/limit; all_matching ignores page/limit while preserving filters and sort. Client routes require an OAuth client_user owner/admin token; admin routes require a single valid clientId selector; partner routes require an authenticated partner seat and are scoped to that partner. Ordinary members, client Basic auth, and cross-tenant requests are rejected.

PolicyValue
OperationPOST /v1/pre-dispute-alerts/exports
Classread-only
Riskmedium
Confirmationnot-required
Retrysafe
Rate-limit tieraggregate
Rolesowner, admin
Scopesmcp:read

Arguments

ArgumentInTypeRequiredDescription
pagequeryintegerNo1-based page number for paginated list endpoints. Default: 1. Minimum: 1.
limitqueryintegerNoMaximum number of records to return per page. Default: 20. Minimum: 1. Maximum: 100.
sortquerystringNoSort by one allowed field. Use exactly one of sort[asc] or sort[desc]. Allowed fields: amount, createdAt, responseDueAt, status, updatedAt. Default: createdAt DESC. Allowed values: amount, createdAt, responseDueAt, status, updatedAt.
relationquerystringNoThis endpoint does not support relation aliases. Supplying relation returns 400.
actionRequiredquerystringNoWhether merchant action is required. Equality filter. Pass without operator for exact match.
createdAtquerystring (date-time)NoAlert creation timestamp. Equality filter. Pass without operator for exact match or pass any of the following operators: [gt] [gte] [lt] [lte].
currencyquerystringNoISO-4217 alert currency. Equality filter. Pass without operator for exact match or pass any of the following operators: [in]. [in] accepts comma-separated values; blank entries return 400.
linkStatusquerystringNoPayment-link status. Equality filter. Pass without operator for exact match or pass any of the following operators: [in]. [in] accepts comma-separated values; blank entries return 400. Allowed values: linked, unmatched, action_required.
reasonquerystringNoProvider-neutral alert reason. Equality filter. Pass without operator for exact match or pass any of the following operators: [in]. [in] accepts comma-separated values; blank entries return 400. Allowed values: fraud_or_unauthorized, duplicate, not_received, not_as_described, credit_not_processed, cancelled_recurring, incorrect_amount, paid_by_other_means, processing_error, other.
sourceFamilyquerystringNoOrigin family without vendor identity: alert_network (Ethoca/RDR/CDRN-style warnings) or payment_provider (eligible Stripe inquiries and early fraud warnings). Equality filter. Pass without operator for exact match or pass any of the following operators: [in]. [in] accepts comma-separated values; blank entries return 400. Allowed values: alert_network, payment_provider.
statusquerystringNoProvider-neutral Pre-Dispute Alert status. Equality filter. Pass without operator for exact match or pass any of the following operators: [in]. [in] accepts comma-separated values; blank entries return 400. Allowed values: needs_response, under_review, closed, prevented, unknown.
updatedAtquerystring (date-time)NoLast material update timestamp. Equality filter. Pass without operator for exact match or pass any of the following operators: [gt] [gte] [lt] [lte].
userUuidquerystringNoResolved Flo customer ID, when linked. Equality filter. Pass without operator for exact match or pass any of the following operators: [in]. [in] accepts comma-separated values; blank entries return 400.
uuidquerystringNoOpaque Flo Pre-Dispute Alert ID. Equality filter. Pass without operator for exact match or pass any of the following operators: [in]. [in] accepts comma-separated values; blank entries return 400.
fieldsbodyarray of stringNoStable export field keys in output order.
formatbodystringYesAllowed values: csv, json.
scopebodystringYesAllowed values: current_page, all_matching.

Result

Returns 200 as application/vnd.flopay.export-stream.v1. Versioned length-prefixed export stream containing started/progress/completed_file/file_chunk/complete frames.

Errors

StatusDescription
400Invalid scope, format, field key, query parameter, client selector, row cap, or plaintext byte cap.
401Authentication is missing or invalid.
403The actor is not allowed to export this resource.
429Export capacity exhausted. Retry-After is set to 60 seconds.
503Exports disabled or export storage unavailable.

PreDisputeAlerts_get

Get Pre-Dispute Alert

Returns a single Pre-Dispute Alert owned by the authenticated client.

PolicyValue
OperationGET /v1/pre-dispute-alerts/{id}
Classread-only
Risklow
Confirmationnot-required
Retrysafe
Rate-limit tierread
Rolesowner, admin, member
Scopesmcp:read

Arguments

ArgumentInTypeRequiredDescription
idpathstringYes

Result

Returns 200 with a JSON body.

FieldTypeRequiredDescription
acquirerReferenceNumberstring or nullNo
actionRequiredbooleanYesTrue when the merchant should act; unknown alert states fail safe to true.
alertAtstring (date-time) or nullNoWhen the alert network or provider raised the alert.
amountnumber or nullNo
authorizationCodestring or nullNo
cardLast4string or nullNo
createdAtstring (date-time)Yes
currencystring or nullNoISO-4217 currency code.
idstring (uuid)YesOpaque Flo Pre-Dispute Alert ID, stable for the whole alert lifecycle.
linkStatusstringYesAllowed values: linked, unmatched, action_required.
merchantDescriptorstring or nullNo
paymentIdsarray of stringYesFlo payment IDs linked to this alert; empty while unlinked.
reasonstring or nullNoAllowed values: fraud_or_unauthorized, duplicate, not_received, not_as_described, credit_not_processed, cancelled_recurring, incorrect_amount, paid_by_other_means, processing_error, other.
responseDueAtstring (date-time) or nullNo
sequencenumberYesMonotonic per-alert sequence; discard reads that do not advance it. Minimum: 1.
sourceFamilystringYesOrigin family without vendor identity. Allowed values: alert_network, payment_provider.
statusstringYesAllowed values: needs_response, under_review, closed, prevented, unknown.
updatedAtstring (date-time)Yes
userUuidstring (uuid) or nullNoResolved Flo customer ID, when linked.

Errors

StatusDescription
400The supplied path or list query is invalid.
401Client Basic authentication or OAuth2 bearer authentication is required. For Basic, use client.uuid as the username and client.api_key as the password; for bearer, send a valid OAuth2 access token with the required scope.
404No Pre-Dispute Alert with the requested id exists for this client.

PreDisputeAlerts_list

List Pre-Dispute Alerts

Returns paginated Pre-Dispute Alerts for the authenticated client. Covers alert-network warnings and eligible payment-provider early warnings. Actual Stripe and PayPal chargebacks are Disputes, not Pre-Dispute Alerts.

PolicyValue
OperationGET /v1/pre-dispute-alerts
Classread-only
Risklow
Confirmationnot-required
Retrysafe
Rate-limit tierread
Rolesowner, admin, member
Scopesmcp:read

Arguments

ArgumentInTypeRequiredDescription
pagequeryintegerNo1-based page number for paginated list endpoints. Default: 1. Minimum: 1.
limitqueryintegerNoMaximum number of records to return per page. Default: 20. Minimum: 1. Maximum: 100.
sortquerystringNoSort by one allowed field. Use exactly one of sort[asc] or sort[desc]. Allowed fields: amount, createdAt, responseDueAt, status, updatedAt. Default: createdAt DESC. Allowed values: amount, createdAt, responseDueAt, status, updatedAt.
relationquerystringNoThis endpoint does not support relation aliases. Supplying relation returns 400.
actionRequiredquerystringNoWhether merchant action is required. Equality filter. Pass without operator for exact match.
createdAtquerystring (date-time)NoAlert creation timestamp. Equality filter. Pass without operator for exact match or pass any of the following operators: [gt] [gte] [lt] [lte].
currencyquerystringNoISO-4217 alert currency. Equality filter. Pass without operator for exact match or pass any of the following operators: [in]. [in] accepts comma-separated values; blank entries return 400.
linkStatusquerystringNoPayment-link status. Equality filter. Pass without operator for exact match or pass any of the following operators: [in]. [in] accepts comma-separated values; blank entries return 400. Allowed values: linked, unmatched, action_required.
reasonquerystringNoProvider-neutral alert reason. Equality filter. Pass without operator for exact match or pass any of the following operators: [in]. [in] accepts comma-separated values; blank entries return 400. Allowed values: fraud_or_unauthorized, duplicate, not_received, not_as_described, credit_not_processed, cancelled_recurring, incorrect_amount, paid_by_other_means, processing_error, other.
sourceFamilyquerystringNoOrigin family without vendor identity: alert_network (Ethoca/RDR/CDRN-style warnings) or payment_provider (eligible Stripe inquiries and early fraud warnings). Equality filter. Pass without operator for exact match or pass any of the following operators: [in]. [in] accepts comma-separated values; blank entries return 400. Allowed values: alert_network, payment_provider.
statusquerystringNoProvider-neutral Pre-Dispute Alert status. Equality filter. Pass without operator for exact match or pass any of the following operators: [in]. [in] accepts comma-separated values; blank entries return 400. Allowed values: needs_response, under_review, closed, prevented, unknown.
updatedAtquerystring (date-time)NoLast material update timestamp. Equality filter. Pass without operator for exact match or pass any of the following operators: [gt] [gte] [lt] [lte].
userUuidquerystringNoResolved Flo customer ID, when linked. Equality filter. Pass without operator for exact match or pass any of the following operators: [in]. [in] accepts comma-separated values; blank entries return 400.
uuidquerystringNoOpaque Flo Pre-Dispute Alert ID. Equality filter. Pass without operator for exact match or pass any of the following operators: [in]. [in] accepts comma-separated values; blank entries return 400.

Result

Returns 200 with a JSON body.

FieldTypeRequiredDescription
dataarray of objectYes
data[].acquirerReferenceNumberstring or nullNo
data[].actionRequiredbooleanYesTrue when the merchant should act; unknown alert states fail safe to true.
data[].alertAtstring (date-time) or nullNoWhen the alert network or provider raised the alert.
data[].amountnumber or nullNo
data[].authorizationCodestring or nullNo
data[].cardLast4string or nullNo
data[].createdAtstring (date-time)Yes
data[].currencystring or nullNoISO-4217 currency code.
data[].idstring (uuid)YesOpaque Flo Pre-Dispute Alert ID, stable for the whole alert lifecycle.
data[].linkStatusstringYesAllowed values: linked, unmatched, action_required.
data[].merchantDescriptorstring or nullNo
data[].paymentIdsarray of stringYesFlo payment IDs linked to this alert; empty while unlinked.
data[].reasonstring or nullNoAllowed values: fraud_or_unauthorized, duplicate, not_received, not_as_described, credit_not_processed, cancelled_recurring, incorrect_amount, paid_by_other_means, processing_error, other.
data[].responseDueAtstring (date-time) or nullNo
data[].sequencenumberYesMonotonic per-alert sequence; discard reads that do not advance it. Minimum: 1.
data[].sourceFamilystringYesOrigin family without vendor identity. Allowed values: alert_network, payment_provider.
data[].statusstringYesAllowed values: needs_response, under_review, closed, prevented, unknown.
data[].updatedAtstring (date-time)Yes
data[].userUuidstring (uuid) or nullNoResolved Flo customer ID, when linked.
limitnumberYes
pagenumberYes
pagesnumberYes
totalnumberYes

Errors

StatusDescription
400The supplied path or list query is invalid.
401Client Basic authentication or OAuth2 bearer authentication is required. For Basic, use client.uuid as the username and client.api_key as the password; for bearer, send a valid OAuth2 access token with the required scope.

On this page