Error codes

Errors return a JSON envelope with a stable code, a human-readable message, an optional offending param, and a request_id to reference in support requests. The same codes appear in your API request logs with this catalog’s guidance attached. See the error handling guide for retry patterns.

HTTP status codes

StatusMeaning
400Bad request: validation failed or the JSON could not be parsed.
401Missing or invalid API key.
403The key is valid but lacks a required scope.
404The resource does not exist or belongs to another merchant.
409Conflict: usually an idempotency key reuse or state conflict.
413The request body is over 1 MiB. Send a smaller body.
429Rate limited. Honor the Retry-After header.
5xxFlint server error. Retry with exponential backoff.

Error codes

  • ACCOUNT_SETUP_CONFIGURATION_CONFLICTRequest errorNot retryable

    The stored account-provisioning configuration is not supported by this application release.

    Fix: Contact Flint support to repair the account setup configuration before retrying.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • ACCOUNT_SETUP_REPAIR_REQUIREDMerchant readinessNot retryable

    The merchant is not ready for this operation.

    Fix: Complete the required merchant readiness or onboarding action before retrying.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • ACCOUNT_SETUP_UNAVAILABLEMerchant readinessNot retryable

    The merchant is not ready for this operation.

    Fix: Complete the required merchant readiness or onboarding action before retrying.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • ACH_BILLING_DETAILS_REQUIREDValidationNot retryable

    The ACH debit confirmation token is missing the billing name or billing email.

    Fix: Collect the buyer's billing name and email, create a new confirmation token, and retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • ACH_MANDATE_ACCEPTANCE_REQUIREDValidationNot retryable

    The ACH debit confirmation token does not include the buyer's online mandate acceptance.

    Fix: Collect the buyer's mandate acceptance in the payment form, create a new confirmation token, and retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • ACH_TRANSACTION_PURPOSE_UNRESOLVEDValidationNot retryable

    ACH debit cannot be offered because the order's line items do not show whether the purchase is for goods or services.

    Fix: Include a physical or digital product line item, or use service products for every line item that is not a fee. Otherwise collect payment without ACH debit.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • ACTIVE_BUNDLE_COMPONENTS_IMMUTABLEValidationNot retryable

    An active bundle cannot replace its components.

    Fix: Set the bundle to inactive, then replace components using the latest version.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • ACTIVE_DEMO_SESSION_EXISTSRequest errorNot retryable

    The request could not be completed as submitted or in its current state.

    Fix: Inspect the error response, correct the request or resource state, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • ACTIVE_LINE_ITEM_SOURCE_CHANGERequest errorNot retryable

    An active payment link cannot add, remove, or change the key or catalog source of its line items.

    Fix: Keep every existing payment_link_line_item_id with its key, variant_id, and bundle_id, or set status to inactive before replacing line items.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • ACTIVE_OPTIONS_REQUIREDValidationNot retryable

    An optioned product must contain at least one active option.

    Fix: Include at least one active option and its active values.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • ACTIVE_OPTION_SELECTOR_COLLAPSEValidationNot retryable

    The option replacement would make active variant selections indistinguishable.

    Fix: Keep enough active options and values to distinguish every active variant.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • ACTIVE_VARIANTS_REQUIRE_OPTION_BACKFILLValidationNot retryable

    An active option cannot be added while active variants lack a selection for it.

    Fix: Inactivate the variants or backfill their option selections before adding the active option.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • AFFIRM_REFUND_RETRY_NOT_ALLOWEDRequest errorNot retryable

    A failed provider refund already exists for this Affirm payment.

    Fix: Do not create a new provider refund. Use an alternative reimbursement and reconcile the failed Refund.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • AMBIGUOUS_AUTHValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • AMBIGUOUS_CATEGORYValidationNot retryable

    A category name matches more than one category.

    Fix: Use the intended category's handle instead of its name.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • AMOUNT_ABOVE_MAXValidationNot retryable

    A unit_price_overrides amount is above the line item's max_unit_price_money.

    Fix: Send an amount at or below the line item's max_unit_price_money.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • AMOUNT_BELOW_LIMITValidationNot retryable

    The amount is below the minimum allowed for the payment option.

    Fix: Send an amount at or above the payment option's minimum, or use a different payment option.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • AMOUNT_BELOW_MINValidationNot retryable

    A unit_price_overrides amount is below the line item's min_unit_price_money.

    Fix: Send an amount at or above the line item's min_unit_price_money.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • AMOUNT_EXCEEDS_BALANCERequest errorNot retryable

    The manual payment is larger than the invoice's collectible balance.

    Fix: Retrieve the invoice and record an amount_money no greater than its collectible balance.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • AMOUNT_EXCEEDS_LIMITValidationNot retryable

    The amount exceeds the maximum allowed for the payment option.

    Fix: Send a smaller amount or use a different payment option. The error message says whether the merchant can raise the limit or must contact support.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • AMOUNT_EXCEEDS_REFUNDABLEValidationNot retryable

    The refund amount is more than what remains refundable on the order or payment.

    Fix: Read the order's settlement amounts and refund no more than what remains, or omit amount_money to refund exactly the remainder.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • AMOUNT_MISMATCHRequest errorNot retryable

    The payment processor's amount for this payment intent no longer matches Flint's record.

    Fix: Do not retry the confirmation. Contact support with the request_id and the payment intent ID.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • AMOUNT_MONEY_CURRENCY_REQUIREDValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • AMOUNT_MONEY_REQUIREDValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • AMOUNT_NOT_ADJUSTABLEValidationNot retryable

    unit_price_overrides names a line item whose price buyers cannot change.

    Fix: Remove the line item from unit_price_overrides.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • AMOUNT_NOT_UPDATABLERequest errorNot retryable

    amount_money cannot change once a payment source is attached or confirmation is attempted, or when an order owns the payment intent.

    Fix: Create a new payment intent with the new amount. For a payment intent an order owns, change the order instead.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • AMOUNT_REQUIREDValidationNot retryable

    A line item needs a buyer-entered price and unit_price_overrides has none for it.

    Fix: Add the line item's key to unit_price_overrides with the price the buyer entered.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • AMOUNT_REQUIRED_FOR_MIXED_REFUND_TARGETSValidationNot retryable

    A refund that names both line items and charges needs a top-level amount_money.

    Fix: Set amount_money to the total of the named line items and charges, or send them as separate refunds.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • AMOUNT_TOO_LARGEValidationNot retryable

    The amount exceeds the maximum payment amount.

    Fix: Send an amount no greater than the maximum stated in the error message.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • AMOUNT_TOO_SMALLValidationNot retryable

    The amount is below the minimum payment amount for the currency.

    Fix: Send an amount of at least the minimum stated in the error message, in minor units.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • API_KEYS_UNAVAILABLEServer errorRetryable

    Flint could not complete the request because a required service or internal operation failed.

    Fix: Retry with exponential backoff. Contact support with the request_id if the error persists.

    Still stuck? Report it with your request ID (opens in a new tab)

  • API_KEY_ALREADY_REVOKEDRequest errorNot retryable

    The API key is already revoked.

    Fix: Retrieve the API key to confirm its status. Revocation is permanent; create a new key if you need an active credential.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • API_KEY_CHANGEDRequest errorNot retryable

    The API key changed before the update or revocation could be applied.

    Fix: Retrieve the API key, review its current state, and retry the action if it still applies.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • API_KEY_DATA_INVALIDServer errorRetryable

    Flint could not complete the request because a required service or internal operation failed.

    Fix: Retry with exponential backoff. Contact support with the request_id if the error persists.

    Still stuck? Report it with your request ID (opens in a new tab)

  • API_KEY_EXPIREDAuthenticationNot retryable

    The API key exists but is past its expiration time.

    Fix: Create or use an active API key for the target mode and merchant, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • API_KEY_MANAGEMENT_FORBIDDENAuthorizationNot retryable

    The user's merchant role does not allow API key management.

    Fix: Ask a merchant owner or admin to create the key, or use a credential whose role can manage API keys.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • API_KEY_MODE_MISMATCHAuthenticationNot retryable

    The API key is not usable for its stored payment-mode binding.

    Fix: Create or use an API key whose mode matches the target environment, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • API_KEY_NOT_FOUNDAuthenticationNot retryable

    No API key matches the provided credential.

    Fix: Check the API key value or create a new API key, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • API_KEY_REQUIREDAuthenticationNot retryable

    The request did not include an API key or accepted bearer credential.

    Fix: Send a Flint API key in X-API-Key or as Authorization: Bearer <API_KEY>, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • API_KEY_REVOKEDAuthenticationNot retryable

    The API key exists but has been revoked.

    Fix: Create or use an active API key for the target mode and merchant, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • API_KEY_SANDBOX_UNAVAILABLEAuthenticationNot retryable

    The API key is bound to a sandbox that is missing, archived, inactive, or mode-incompatible.

    Fix: Create or use a sandbox-bound test key for an active sandbox, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • API_KEY_SCOPE_INVALIDServer errorRetryable

    Flint could not complete the request because a required service or internal operation failed.

    Fix: Retry with exponential backoff. Contact support with the request_id if the error persists.

    Still stuck? Report it with your request ID (opens in a new tab)

  • API_KEY_SCOPE_UNSUPPORTEDAuthenticationNot retryable

    The API key uses a legacy or unsupported scope grant.

    Fix: Create a new API key with explicit public API scopes, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • API_VERSION_CHANGEDRequest errorNot retryable

    The API version changed before the update was committed.

    Fix: Reload the resource, review its current API version, and retry with that value as expected_api_version.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • API_VERSION_RETIREDRequest errorNot retryable

    The requested API version has retired.

    Fix: Set Flint-Version to a supported version listed in the error details.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • APPLICATION_METHOD_REQUIREDValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • ATTRIBUTE_REQUIREDValidationNot retryable

    A promotion rule is missing its attribute.

    Fix: Set attribute on every promotion rule and retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • ATTRIBUTE_UNAVAILABLEValidationNot retryable

    The attribute is not available for this merchant's risk rules.

    Fix: Use another attribute from the risk attribute registry. The error message explains why this one is unavailable.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • AUTHENTICATION_FAILEDAuthenticationNot retryable

    The request could not be authenticated.

    Fix: Send a valid Flint API key, partner install token, checkout session credential, or dashboard session for this route, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • AUTHENTICATION_REQUIREDPaymentNot retryable

    The payment attempt was declined or could not be completed.

    Fix: Use the remediation next_actions and retry only after changing the requested payment inputs.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • AUTHORIZATION_FAILEDAuthorizationNot retryable

    The authenticated caller is not authorized for this operation.

    Fix: Use credentials with access to the target merchant, environment, route, and scope, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • AUTH_CONTEXT_MISSINGServer errorRetryable

    Flint could not complete the request because a required service or internal operation failed.

    Fix: Retry with exponential backoff. Contact support with the request_id if the error persists.

    Still stuck? Report it with your request ID (opens in a new tab)

  • AUTH_REQUIREDAuthenticationNot retryable

    The request could not be authenticated.

    Fix: Send a valid Flint credential supported by this endpoint, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • AUTH_UNAVAILABLEServer errorRetryable

    Flint could not complete the request because a required service or internal operation failed.

    Fix: Retry with exponential backoff. Contact support with the request_id if the error persists.

    Still stuck? Report it with your request ID (opens in a new tab)

  • AUTH_VALIDATION_FAILEDServer errorRetryable

    Flint could not complete the request because a required service or internal operation failed.

    Fix: Retry with exponential backoff. Contact support with the request_id if the error persists.

    Still stuck? Report it with your request ID (opens in a new tab)

  • AUTOMATIC_PAYOUT_NOT_CANCELABLERequest errorNot retryable

    The request could not be completed as submitted or in its current state.

    Fix: Inspect the error response, correct the request or resource state, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • AUTOMATIC_PROMOTIONS_DISABLEDRequest errorNot retryable

    Automatic promotions are turned off in the merchant's promotion settings.

    Fix: Set promotions.automatic_enabled to true with PATCH /v1/settings first, or stop turning on automatic promotions in the field identified by param.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • AUTOMATIC_TAX_CATEGORY_UNSUPPORTEDValidationNot retryable

    The default line item tax category is not supported while automatic tax is connected.

    Fix: Set tax.default_line_item_tax_category to general, physical_goods, prepared_food, digital_goods, software, saas, services, or professional_services.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • AUTOMATIC_TAX_CHARGE_UNSUPPORTEDValidationNot retryable

    Automatic tax cannot calculate this taxable order charge.

    Fix: Automatic tax taxes shipping and delivery charges only. Mark the charge identified by param not taxable, remove it, or use external tax.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • AUTOMATIC_TAX_COMPONENTS_FORBIDDENValidationNot retryable

    The tax calculation includes components in automatic mode.

    Fix: Omit components, or use external mode with caller-supplied components.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • AUTOMATIC_TAX_CONNECTION_REQUIREDValidationNot retryable

    Automatic tax needs an active tax connection for the account.

    Fix: Connect automatic tax in the dashboard's tax settings, use external tax, or turn tax off.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • AUTOMATIC_TAX_DELAYED_CAPTURE_UNSUPPORTEDValidationNot retryable

    Automatic tax requires the order payment to be captured immediately.

    Fix: Pay with payment intents that use automatic capture, or use external tax.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • AUTOMATIC_TAX_EXEMPTION_UNSUPPORTEDValidationNot retryable

    Automatic tax cannot apply a customer tax exemption.

    Fix: Use external tax for an exempt customer, or remove the customer exemption before retrying automatic tax.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • AUTOMATIC_TAX_INCLUSIVE_PRICING_UNSUPPORTEDValidationNot retryable

    Automatic tax cannot calculate tax-inclusive prices.

    Fix: Set price_mode to additive, or use external tax for tax-inclusive prices.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • AUTOMATIC_TAX_INVOICE_INSTALLMENTS_UNSUPPORTEDValidationNot retryable

    An automatic tax invoice cannot be split into installments.

    Fix: Send a single full-balance schedule entry, omit schedule_entries, or use external tax.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • AUTOMATIC_TAX_MULTIPLE_DESTINATIONSValidationNot retryable

    Automatic tax found more than one buyer destination for taxable components.

    Fix: Ship, deliver, or pick up every taxable item the same way, or use external tax.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • AUTOMATIC_TAX_MULTIPLE_ORIGINSValidationNot retryable

    Automatic tax found more than one seller origin.

    Fix: Fulfill every taxable item from one location, split the items into separate orders, or use external tax.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • AUTOMATIC_TAX_ORIGIN_ADDRESS_REQUIREDValidationNot retryable

    A location the order ships or is picked up from has no country or postal code.

    Fix: Add a country and postal code to the location named in the message, or use external tax.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • AUTOMATIC_TAX_PARTIAL_PAYMENT_UNSUPPORTEDValidationNot retryable

    An automatic tax invoice takes one payment for the full balance.

    Fix: Record or collect the full outstanding balance in one payment, or use external tax.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • AUTOMATIC_TAX_POST_TAX_DISCOUNT_UNSUPPORTEDValidationNot retryable

    Automatic tax cannot calculate a post-tax subtotal discount.

    Fix: Use subtotal_pre_tax for the discount calculation basis, or use external tax.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • AUTOMATIC_TAX_SPLIT_PAYMENT_UNSUPPORTEDValidationNot retryable

    Automatic tax requires the order to be paid with one payment intent.

    Fix: Select a single payment intent for the full balance, or use external tax.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • BALANCE_SNAPSHOT_UNAVAILABLEServer errorRetryable

    Flint could not complete the request because a required service or internal operation failed.

    Fix: Retry with exponential backoff. Contact support with the request_id if the error persists.

    Still stuck? Report it with your request ID (opens in a new tab)

  • BALANCE_SOURCE_TYPE_REQUIREDRequest errorNot retryable

    The request could not be completed as submitted or in its current state.

    Fix: Inspect the error response, correct the request or resource state, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • BALANCE_TRANSACTION_NOT_FOUNDRequest errorNot retryable

    The request could not be completed as submitted or in its current state.

    Fix: Inspect the error response, correct the request or resource state, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • BANK_ACCOUNT_CLOSEDPaymentNot retryable

    The payment attempt was declined or could not be completed.

    Fix: Use the remediation next_actions and retry only after changing the requested payment inputs.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • BANK_ACCOUNT_NOT_FOUNDPaymentNot retryable

    The payment attempt was declined or could not be completed.

    Fix: Use the remediation next_actions and retry only after changing the requested payment inputs.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • BANK_ACCOUNT_RESTRICTEDPaymentNot retryable

    The payment attempt was declined or could not be completed.

    Fix: Use the remediation next_actions and retry only after changing the requested payment inputs.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • BANK_DEBIT_LIMIT_EXCEEDEDPaymentNot retryable

    The payment attempt was declined or could not be completed.

    Fix: Use the remediation next_actions and retry only after changing the requested payment inputs.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • BANK_DEBIT_NOT_AUTHORIZEDPaymentNot retryable

    The payment attempt was declined or could not be completed.

    Fix: Use the remediation next_actions and retry only after changing the requested payment inputs.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • BARCODE_ALREADY_EXISTSRequest errorNot retryable

    Another variant or bundle already uses this barcode.

    Fix: Use a barcode that no other variant or bundle uses.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • BILLING_INTERVAL_CHANGE_NOT_ALLOWEDAuthorizationNot retryable

    The store doesn't offer other billing intervals for this subscription.

    Fix: Change it only when the subscription's billing_interval_options lists more than one option.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • BUNDLE_COMPONENTS_REQUIREDValidationNot retryable

    An active bundle requires at least one component.

    Fix: Include at least one valid component or create the bundle as inactive.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • BUNDLE_COMPONENT_PRODUCT_NOT_ACTIVEValidationNot retryable

    A bundle component references a product that is not active.

    Fix: Use a variant whose parent product is active, or keep the bundle inactive.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • BUNDLE_COMPONENT_VARIANT_NOT_ACTIVEValidationNot retryable

    A bundle component references a variant that is not active.

    Fix: Use an active variant, or keep the bundle inactive.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • BUNDLE_IN_ACTIVE_SUBSCRIPTIONRequest errorNot retryable

    The bundle is used by an active subscription.

    Fix: Cancel every active subscription that uses the bundle before changing or retiring the bundle.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • BUNDLE_IN_ACTIVE_SUBSCRIPTION_PLANRequest errorNot retryable

    The bundle is used by an active subscription plan.

    Fix: Archive every subscription plan that uses the bundle before changing or retiring the bundle.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • BUNDLE_IN_OPEN_CHECKOUT_SESSIONRequest errorNot retryable

    The bundle is used by an open checkout session.

    Fix: Close every open checkout session that contains the bundle, or wait for them to close, before changing or retiring the bundle.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • BUNDLE_IN_OPEN_INVOICE_PAYMENT_ATTEMPTRequest errorNot retryable

    The bundle is used by an open invoice payment attempt.

    Fix: Cancel or wait for every open invoice payment attempt that contains the bundle before changing or retiring the bundle.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • BUNDLE_IN_OPEN_ORDERRequest errorNot retryable

    The bundle is used by an open order.

    Fix: Wait until every order that contains the bundle is no longer open before changing or retiring the bundle.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • BUNDLE_NOT_SELLABLEValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • BUYER_FULFILLMENT_CORRELATION_FORBIDDENAuthorizationNot retryable

    Buyer credentials cannot set merchant-owned fulfillment correlation fields.

    Fix: Remove external_system and external_reference. Set merchant correlation from a server-authenticated request.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • BUYER_INVOICE_CREDENTIAL_INVALIDAuthenticationNot retryable

    The customer session or invoice access token is invalid or expired.

    Fix: Authenticate the buyer again or use the current token from this invoice's public URL.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • BUYER_INVOICE_CREDENTIAL_REQUIREDAuthenticationNot retryable

    The endpoint requires a customer session or invoice access token.

    Fix: Send either credential in the Authorization bearer header.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • CALCULATION_BASIS_FORBIDDENValidationNot retryable

    calculation_basis was sent for a charge that uses a fixed amount.

    Fix: Omit calculation_basis for amount_money charges. Send it only with percent.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • CALCULATION_BASIS_NOT_APPLICABLEValidationNot retryable

    Service charge promotions do not use a calculation basis.

    Fix: Omit application_method.calculation_basis when discount_class is service_charge.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • CALCULATION_BASIS_REQUIREDValidationNot retryable

    A percent charge is missing calculation_basis.

    Fix: Send calculation_basis with every percent charge.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • CANCELLATION_COMMENT_TOO_LONGValidationNot retryable

    The cancellation comment is longer than 500 characters.

    Fix: Send a cancellation_comment of 500 characters or fewer.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • CANCELLATION_REASON_DUPLICATEValidationNot retryable

    The store's cancellation reason list names a reason twice.

    Fix: List each cancellation reason once.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • CANCELLATION_REASON_LIMIT_EXCEEDEDValidationNot retryable

    The store's cancellation reason list has more than 8 reasons.

    Fix: Send at most 8 cancellation_reasons, each standard code once.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • CANCELLATION_REASON_NOT_OFFEREDValidationNot retryable

    The buyer chose a reason the store does not ask about.

    Fix: Send one of the store's customer_account.buyer_capabilities.cancellation_reasons, or omit cancellation_reason_code.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • CANCEL_IMMEDIATELY_NOT_ALLOWEDAuthorizationNot retryable

    The store ends a buyer's cancellation when the billing period ends.

    Fix: Omit cancel_immediately to cancel at the end of the billing period. The store can let buyers choose with customer_account.buyer_capabilities.cancellation_timing buyer_chooses.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • CANNOT_CANCEL_EXPIRED_PAYMENTRequest errorNot retryable

    The payment intent has expired and cannot be canceled.

    Fix: Retrieve the payment intent to confirm its status. An expired payment intent needs no cancellation.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • CANNOT_CANCEL_SUCCEEDED_PAYMENTRequest errorNot retryable

    The payment intent has already succeeded and cannot be canceled.

    Fix: Create a refund to return the funds instead.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • CANNOT_PAUSERequest errorNot retryable

    The subscription cannot be paused in its current status.

    Fix: Fetch the subscription and pause it only from an active state.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • CANNOT_RESUMERequest errorNot retryable

    The subscription cannot be resumed in its current status.

    Fix: Fetch the subscription and resume it only from a paused state.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • CANNOT_RESUME_INITIAL_PAYMENT_PENDINGRequest errorNot retryable

    The subscription is still waiting for its initial payment.

    Fix: Complete or recover the initial payment instead of resuming the subscription.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • CANNOT_RESUME_PAST_DUE_PAYMENT_REQUIREDRequest errorNot retryable

    The past-due subscription must recover through payment.

    Fix: Update the payment method and create or await a payment retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • CAPABILITIES_IMMUTABLERequest errorNot retryable

    The requested capabilities differ from the ones account setup already started with.

    Fix: Omit requested_capabilities, or send the same capabilities as the earlier request.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • CAPABILITIES_UNAVAILABLEServer errorRetryable

    Flint could not complete the request because a required service or internal operation failed.

    Fix: Retry with exponential backoff. Contact support with the request_id if the error persists.

    Still stuck? Report it with your request ID (opens in a new tab)

  • CAPABILITY_DEPENDENCY_REQUIREDValidationNot retryable

    A requested capability needs another capability that the request does not include.

    Fix: Add the capability named in the error message, such as receive_payouts for accept_card_payments, or omit requested_capabilities to use the default set.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • CAPABILITY_NOT_REQUESTEDMerchant readinessNot retryable

    The operation needs a capability that was not requested when the merchant account was created.

    Fix: Check GET /v1/capabilities, then contact Flint support to add the capability to the account.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • CAPABILITY_SET_UNSUPPORTEDValidationNot retryable

    The requested onboarding capability combination is not supported by Flint's current merchant-account configuration.

    Fix: Request accept_card_payments and receive_payouts together. You may also include accept_ach_debit_payments, or omit requested_capabilities to use the default set.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • CAPABILITY_SNAPSHOT_UNAVAILABLEServer errorRetryable

    Flint could not complete the request because a required service or internal operation failed.

    Fix: Retry with exponential backoff. Contact support with the request_id if the error persists.

    Still stuck? Report it with your request ID (opens in a new tab)

  • CAPTURE_AMOUNT_EXCEEDS_CAPTURABLEValidationNot retryable

    The requested capture exceeds the authorization's current capturable amount.

    Fix: Use an amount no greater than capturable_money, or omit amount_money to capture the available authorization.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • CAPTURE_AMOUNT_MISMATCHRequest errorNot retryable

    The payment was already captured for a different amount.

    Fix: Read the payment intent. Retry only with amount_money equal to the captured amount, because no further capture is possible.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • CAPTURE_CURRENCY_MISMATCHValidationNot retryable

    The requested capture currency differs from the authorization currency.

    Fix: Send amount_money in the capturable authorization currency.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • CARD_DECLINEDPaymentNot retryable

    The payment attempt was declined or could not be completed.

    Fix: Use the remediation next_actions and retry only after changing the requested payment inputs.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • CATALOG_INVENTORY_RELATIONSHIP_INVALIDValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • CATALOG_LINE_ITEM_CURRENCY_CHANGEDValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • CATALOG_LINE_ITEM_FIELDS_READ_ONLYValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • CATALOG_LINE_ITEM_SOURCE_CHANGEDValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • CATALOG_MODIFIERS_REQUIREDValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • CATEGORY_HANDLE_EXISTSRequest errorNot retryable

    Another category already uses this handle.

    Fix: Use the existing category or choose a different handle.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • CATEGORY_MODIFIEDRequest errorRetryable

    The category changed while this update was being committed.

    Fix: Fetch the category and retry the intended update.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • CATEGORY_REFERENCEDRequest errorNot retryable

    The category is still referenced and cannot be deleted.

    Fix: Remove the category from every product, bundle, promotion, and return setting, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • CHALLENGE_FAILEDValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • CHALLENGE_REQUIREDValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • CHALLENGE_TOKEN_INVALIDValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • CHARGE_NAME_REQUIREDValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • CHARGE_NOT_ON_ORDERRequest errorNot retryable

    A charge in the request does not belong to the order or has no settled amount to refund.

    Fix: Use an order_charge_id from the order's charges that was collected by a succeeded payment.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • CHARGE_REFUND_AMOUNT_EXCEEDS_REFUNDABLERequest errorNot retryable

    The charge refund amount is more than the charge's remaining refundable amount.

    Fix: Read the order's refunds and send a charges[].amount_money no greater than what remains on that charge.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • CHARGE_TARGETS_EXCEED_REFUND_AMOUNTValidationNot retryable

    The charges in the request add up to more than the refund amount_money.

    Fix: Raise amount_money to at least the charge total, or omit it to refund exactly the named charges.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • CHARGE_TYPE_REQUIREDValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • CHARGE_VALUE_REQUIREDValidationNot retryable

    The charge has neither amount_money nor percent.

    Fix: Send exactly one of charge.amount_money or charge.percent.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • CHECKOUT_CREDENTIAL_CHANGEDAuthenticationNot retryable

    Checkout authentication was rotated before payment work became durable.

    Fix: Refresh the checkout session through its owning invoice or checkout entry point, then resume the same payment attempt if it remains available.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • CHECKOUT_CREDENTIAL_REQUIREDAuthorizationNot retryable

    Only the checkout session's own credential can call this route.

    Fix: Send X-Checkout-Session-ID and X-Checkout-Session-Secret instead of merchant authentication.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • CHECKOUT_CUSTOMER_ALREADY_AUTHORIZEDRequest errorNot retryable

    The checkout already acts for a customer, so it needs no code.

    Fix: Save or pay with that customer's cards without a code.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • CHECKOUT_CUSTOMER_CHANGEDAuthorizationNot retryable

    The order's customer is not the customer this checkout session was created for.

    Fix: Create a new checkout session for the order.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • CHECKOUT_CUSTOMER_CONFLICTRequest errorNot retryable

    The checkout customer does not match the order's customer.

    Fix: Omit customer_collection.customer_id or send the order's customer_id.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • CHECKOUT_CUSTOMER_NOT_SET_ON_ORDERRequest errorNot retryable

    The checkout names a customer, but the order has no customer.

    Fix: Set customer_id on the order first, or omit customer_collection.customer_id, then create the checkout session.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • CHECKOUT_DISCOUNT_ID_NOT_ALLOWEDAuthorizationNot retryable

    Checkout buyers cannot apply discounts by resource ID.

    Fix: Provide the buyer-facing promotion code instead.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • CHECKOUT_DISCOUNT_NOT_REMOVABLEAuthorizationNot retryable

    Checkout buyers can remove only promotion-code discounts.

    Fix: Remove a buyer-applied code discount or ask the merchant to change other discounts.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • CHECKOUT_LAUNCH_TOKEN_RESTRICTEDAuthorizationNot retryable

    The checkout launch credential is scoped to hosted checkout bootstrap and cannot authorize public API operations.

    Fix: Open the hosted checkout URL so Flint can exchange the launch credential for a checkout session credential.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • CHECKOUT_MANUAL_DISCOUNT_NOT_ALLOWEDAuthorizationNot retryable

    Checkout buyers cannot create manual discounts.

    Fix: Apply a promotion through checkout, or create the manual discount with merchant authentication.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • CHECKOUT_ORDER_UPDATE_FIELD_NOT_ALLOWEDAuthorizationNot retryable

    The checkout credential cannot update this order field.

    Fix: Send only requested_tip or tax, or use a merchant credential for other order fields.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • CHECKOUT_PAYMENT_METHOD_STATUS_UNSUPPORTEDValidationNot retryable

    A checkout session can list only active payment methods.

    Fix: Omit status or set it to active.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • CHECKOUT_PAYMENT_RESOLVINGRequest errorRetryable

    Checkout payment work is still resolving, so the competing change cannot proceed yet.

    Fix: Wait for payment work on the checkout session listed in blocking_resources to finish, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • CHECKOUT_RECOVERY_ATTEMPT_MISMATCHAuthorizationNot retryable

    The expired checkout session is in constrained recovery mode and the request targets a different payment attempt.

    Fix: Read or resume only the payment attempt identified by the checkout session recovery response.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • CHECKOUT_RECOVERY_EMAIL_ADDRESS_REQUIREDValidationNot retryable

    Checkout reminder emails need a business address on the merchant, which the reminder prints.

    Fix: Set address on the merchant with PATCH /v1/merchant, then turn checkout.recovery_email.enabled on again.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • CHECKOUT_RECOVERY_RESTRICTEDAuthorizationNot retryable

    The expired checkout session is in constrained recovery mode and cannot perform this operation.

    Fix: Read the order or owning payment attempt, or resume that exact payment attempt before the recovery deadline.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • CHECKOUT_REPLACEMENT_REQUIRES_ORDERValidationNot retryable

    replace_checkout_session_id is only valid when creating an order-backed checkout session.

    Fix: Send replace_checkout_session_id together with order_id, without quick_pay_item or subscription_plan_id.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • CHECKOUT_SAVED_PAYMENT_DETAILS_REQUIRES_MERCHANT_SCOPEValidationNot retryable

    Saved payment details for checkout can only be configured for a merchant.

    Fix: Send checkout.saved_payment_details in a merchant-scoped settings update.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • CHECKOUT_SESSIONS_UNAVAILABLEServer errorRetryable

    Flint could not complete the request because a required service or internal operation failed.

    Fix: Retry with exponential backoff. Contact support with the request_id if the error persists.

    Still stuck? Report it with your request ID (opens in a new tab)

  • CHECKOUT_SESSION_ALREADY_EXISTSRequest errorNot retryable

    An open checkout session already exists for this order.

    Fix: Use the checkout session listed in blocking_resources and existing_checkout_session_id, or replace it explicitly.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • CHECKOUT_SESSION_AUTH_REQUIREDAuthenticationNot retryable

    The request could not be authenticated.

    Fix: Send a valid Flint credential supported by this endpoint, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • CHECKOUT_SESSION_AUTH_UNAVAILABLEAuthenticationNot retryable

    The request could not be authenticated.

    Fix: Send a valid Flint credential supported by this endpoint, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • CHECKOUT_SESSION_CURRENT_CHANGEDRequest errorNot retryable

    The session named by replace_checkout_session_id is no longer the order's current open session.

    Fix: Refresh the session identified by current_checkout_session_id and blocking_resources before retrying the replacement.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • CHECKOUT_SESSION_CURRENT_STATERequest errorNot retryable

    The checkout session line item state changed after it was read.

    Fix: Use the returned line item state and latest_revision to refresh the checkout and retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • CHECKOUT_SESSION_EXPIREDRequest errorNot retryable

    The checkout session closed, so it cannot be used for this request.

    Fix: Create a new checkout session for the order and continue through it.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • CHECKOUT_SESSION_LOOKUP_FAILEDServer errorRetryable

    Flint could not complete the request because a required service or internal operation failed.

    Fix: Retry with exponential backoff. Contact support with the request_id if the error persists.

    Still stuck? Report it with your request ID (opens in a new tab)

  • CHECKOUT_SESSION_MODIFIERS_READ_ONLYRequest errorNot retryable

    This checkout session cannot modify line item modifiers.

    Fix: Inspect reason: existing_order_checkout uses the existing Order, invoice_finalized uses a finalized Invoice, and subscription_terms_locked uses locked subscription terms. Update the source resource when its state allows changes.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • CHECKOUT_SESSION_MODIFIER_FIELDS_ONLYAuthorizationNot retryable

    Checkout sessions can only update line item modifiers or an unfunded gift card recipient.

    Fix: Send only modifiers or gift_card_recipient, each with expected_version, or use an API key.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • CHECKOUT_SESSION_MODIFIER_UPDATE_LINE_ITEM_MISSINGServer errorRetryable

    Flint could not complete the request because a required service or internal operation failed.

    Fix: Retry with exponential backoff. Contact support with the request_id if the error persists.

    Still stuck? Report it with your request ID (opens in a new tab)

  • CHECKOUT_SESSION_MODIFIER_UPDATE_MISSING_ORDERServer errorRetryable

    Flint could not complete the request because a required service or internal operation failed.

    Fix: Retry with exponential backoff. Contact support with the request_id if the error persists.

    Still stuck? Report it with your request ID (opens in a new tab)

  • CHECKOUT_SESSION_NOT_FOUNDRequest errorNot retryable

    The request could not be completed as submitted or in its current state.

    Fix: Inspect the error response, correct the request or resource state, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • CHECKOUT_SESSION_NOT_OPENRequest errorNot retryable

    The request could not be completed as submitted or in its current state.

    Fix: Inspect the error response, correct the request or resource state, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • CHECKOUT_SESSION_ORDER_MISMATCHAuthorizationNot retryable

    The authenticated caller is not authorized for this operation.

    Fix: Use credentials with access to the target merchant, environment, route, and scope, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • CHECKOUT_SESSION_PAYMENT_REQUIREDAuthorizationNot retryable

    The resource is available to checkout authentication only after the checkout session is paid.

    Fix: Complete payment, then retry with the same checkout session credential.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • CHECKOUT_SESSION_REQUIREDAuthenticationNot retryable

    The request could not be authenticated.

    Fix: Send a valid Flint credential supported by this endpoint, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • CHECKOUT_SESSION_REVISION_CONFLICTValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • CHECKOUT_SESSION_REVISION_REQUIREDValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • CHECKOUT_SESSION_REVISION_UNAVAILABLEServer errorRetryable

    Flint could not complete the request because a required service or internal operation failed.

    Fix: Retry with exponential backoff. Contact support with the request_id if the error persists.

    Still stuck? Report it with your request ID (opens in a new tab)

  • CHECKOUT_SESSION_SCOPE_MISMATCHAuthorizationNot retryable

    The checkout credential cannot use this mode or checkout session.

    Fix: Use the credential issued for this checkout session.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • CHECKOUT_SESSION_SECRET_REQUIREDAuthenticationNot retryable

    The request could not be authenticated.

    Fix: Send a valid Flint credential supported by this endpoint, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • CHECKOUT_SESSION_SOURCE_CONFLICTValidationNot retryable

    The checkout session request sets more than one of quick_pay_item, order_id, or subscription_plan_id.

    Fix: Send exactly one of quick_pay_item, order_id, or subscription_plan_id.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • CHECKOUT_SESSION_SOURCE_REQUIREDValidationNot retryable

    The checkout session request sets none of quick_pay_item, order_id, or subscription_plan_id.

    Fix: Send exactly one of quick_pay_item, order_id, or subscription_plan_id.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • CHECKOUT_SESSION_UPDATE_FIELD_NOT_ALLOWEDAuthorizationNot retryable

    The credential cannot update this checkout session field.

    Fix: Send buyer_contact and timezone with the session's checkout credential, and metadata or external_reference_id with a merchant credential.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • CHECKOUT_SPLIT_PAYMENT_UNSUPPORTEDRequest errorNot retryable

    Hosted checkout collects an order with one payment method, and the order has more than one unpaid payment leg.

    Fix: Cancel each leg in payment_intent_ids with POST /v1/orders/{order_id}/payment-intents/{payment_intent_id}/cancel, then create the session again so hosted checkout collects the balance in one payment. To take a split payment, collect it in your own payment UI, for example under an embedded checkout session.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • CHECKOUT_SURFACE_CHANGE_NOT_ALLOWEDRequest errorNot retryable

    A payment is in progress on this checkout, so its surface can't change.

    Fix: Finish or cancel the payment on existing_checkout_session_id, or request the session's current surface.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • CHECKOUT_TAX_CALCULATION_LIMIT_REACHEDRate limitNot retryable

    The checkout session reached its tax calculation limit.

    Fix: Start a new checkout session or contact the merchant before calculating tax again.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • CHECKOUT_TIPPING_DISABLEDAuthorizationNot retryable

    Tipping is disabled for this checkout session.

    Fix: Continue without a tip or start a checkout session with tipping enabled.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • CHECKOUT_TIP_NOT_ALLOWEDAuthorizationNot retryable

    The requested tip is not available for this checkout session.

    Fix: Choose one of the checkout session's configured tips or enable custom tipping.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • CODES_NOT_ALLOWEDValidationNot retryable

    Codes can only be set on a promotion whose redemption_type is code.

    Fix: Remove codes, or set redemption_type to code.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • CODES_REQUIREDValidationNot retryable

    A promotion whose redemption_type is code needs at least one code.

    Fix: Provide at least one entry in codes, or set redemption_type to automatic.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • CODE_EMPTYValidationNot retryable

    The promotion code is empty.

    Fix: Send a code of 1 to 100 printable characters.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • CODE_TOO_LONGValidationNot retryable

    The promotion code is longer than 100 characters.

    Fix: Send a code of 100 characters or fewer.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • COMPONENT_REQUIREDValidationNot retryable

    A bundle component entry is missing.

    Fix: Replace the empty entry with a valid component or remove it from the array.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • CONCURRENT_MODIFICATIONRequest errorRetryable

    The resource changed while the operation was being committed.

    Fix: Fetch the current resource and retry the intended operation with its version.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • CONFIRMATION_RETURN_URL_INVALIDValidationNot retryable

    The ConfirmationToken contains a malformed payment return URL.

    Fix: Create a new ConfirmationToken using the exact payment_collection.stripe.return_url.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • CONFIRMATION_RETURN_URL_NOT_ALLOWEDValidationNot retryable

    The ConfirmationToken return URL does not match this payment's active Flint relay.

    Fix: Create a new ConfirmationToken using the exact payment_collection.stripe.return_url for this payment.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • CONFIRMATION_RETURN_URL_REQUIREDValidationNot retryable

    The ConfirmationToken does not contain Flint's payment return relay URL.

    Fix: Create a new ConfirmationToken using the exact payment_collection.stripe.return_url.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • CONFIRMATION_TOKEN_ALREADY_USEDValidationNot retryable

    The confirmation token was already used for a different payment intent.

    Fix: Create a new confirmation token for this payment intent and retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • CONFIRMATION_TOKEN_EXPIREDValidationNot retryable

    The confirmation token has expired.

    Fix: Create a new confirmation token and retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • CONFIRMATION_TOKEN_REQUIREDValidationNot retryable

    The first confirmation of this payment intent needs a confirmation token.

    Fix: Send confirmation_token. Omit it only when continuing an existing payment attempt after a client action.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • CONFIRMATION_TOKEN_SCOPE_MISMATCHValidationNot retryable

    The confirmation token was not found for this merchant and environment.

    Fix: Create a new confirmation token for this merchant in the same environment, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • CONFIRMATION_TOKEN_SDK_REQUIREDValidationNot retryable

    The confirmation token was not created by the payment processor's browser SDK, which this payment option requires for buyer authentication.

    Fix: Create the confirmation token in the browser with the payment processor's client SDK, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • CONTEXT_NOT_FOUNDRequest errorNot retryable

    The request could not be completed as submitted or in its current state.

    Fix: Inspect the error response, correct the request or resource state, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • CONTRACT_TERM_REQUIREDValidationNot retryable

    An early termination fee requires a contract term.

    Fix: Set contract_term_months, or remove early_termination_fee_money.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • CONTRACT_TOO_LONGValidationNot retryable

    The contract term is longer than 120 months.

    Fix: Send a contract_term_months value from 1 through 120.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • CONTRACT_TOO_SHORTValidationNot retryable

    The contract term is shorter than one month.

    Fix: Send a contract_term_months value from 1 through 120.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • COUNTRY_IMMUTABLERequest errorNot retryable

    The country differs from the one account setup already started with.

    Fix: Omit country, or send the same country as the earlier request.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • COUNTRY_NOT_SUPPORTEDValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • COUNTRY_REQUIREDValidationNot retryable

    A country is required to start live account setup.

    Fix: Send country as the business's uppercase ISO 3166-1 alpha-2 code, such as US.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • CREATE_ORDER_LINE_ITEM_DISCOUNT_UNSUPPORTEDValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • CREDIT_NOTE_ALLOCATION_ALREADY_REVERSEDRequest errorNot retryable

    The credit note allocation was already reversed.

    Fix: Read the allocation to confirm its reversed_at value.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • CREDIT_NOTE_ALLOCATION_EXCEEDS_BALANCERequest errorNot retryable

    The allocation exceeds an available balance.

    Fix: Use an amount no greater than both the credit note's unallocated amount and the invoice's outstanding amount.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • CREDIT_NOTE_AMOUNT_EXCEEDS_CREDITABLERequest errorNot retryable

    The correction exceeds the invoice line's remaining creditable value.

    Fix: Reduce the correction amount or quantity.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • CREDIT_NOTE_CHANGEDRequest errorNot retryable

    The credit note version changed.

    Fix: Retrieve the credit note and retry with its current version as expected_version.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • CREDIT_NOTE_CURRENCY_MISMATCHRequest errorNot retryable

    The refund currency does not match the credit note.

    Fix: Use the credit note currency.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • CREDIT_NOTE_HAS_ALLOCATIONSRequest errorNot retryable

    The credit note has active allocations.

    Fix: Reverse the allocations listed in blocking_resources before voiding the credit note. A note with a pending or succeeded refund listed there cannot be voided.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • CREDIT_NOTE_ISSUE_IN_PROGRESSRequest errorRetryable

    Another credit note is being issued for this merchant.

    Fix: Retry with the same Idempotency-Key after the current issue finishes.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • CREDIT_NOTE_NOT_DRAFTRequest errorNot retryable

    Only draft credit notes can be changed.

    Fix: Create a new draft credit note for another correction.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • CREDIT_NOTE_NOT_ISSUEDRequest errorNot retryable

    The credit note has not been issued.

    Fix: Issue the credit note before allocating it or downloading its PDF.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • CREDIT_NOTE_REFUND_EXCEEDS_BALANCERequest errorNot retryable

    The refund exceeds the available credit.

    Fix: Use an amount no greater than the credit note unallocated_money.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • CREDIT_NOTE_REFUND_INVALIDRequest errorNot retryable

    The credit note refund request is invalid.

    Fix: Use a paid invoice and a caller-chosen idempotency key.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • CURRENCY_MISMATCHValidationNot retryable

    The amount uses a different currency from the resource it applies to.

    Fix: Send the amount in the currency of the invoice, order, payment, or plan it belongs to.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • CURRENCY_REQUIREDValidationNot retryable

    The subscription plan currency is missing.

    Fix: Set currency to a three-letter ISO currency code such as USD.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • CURSOR_MISMATCHValidationNot retryable

    The webhook stream resume values disagree.

    Fix: Send either Last-Event-ID or after_event_id, or make both values identical.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • CUSTOMER_ACCOUNTS_UNAVAILABLEServer errorRetryable

    Customer account resources are temporarily unavailable.

    Fix: Retry with exponential backoff.

    Still stuck? Report it with your request ID (opens in a new tab)

  • CUSTOMER_ACCOUNT_MODE_CONFLICTValidationNot retryable

    The customer account fields do not match the selected mode.

    Fix: Send merchant_account_url and route_templates only with merchant_hosted mode, and presentation only with flint_hosted mode.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • CUSTOMER_ACCOUNT_RESOURCE_NOT_FOUNDRequest errorNot retryable

    The customer account resource was not found for this customer.

    Fix: Check the resource ID. Customer-session routes never reveal another customer's resources.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • CUSTOMER_ACCOUNT_URL_REQUIREDValidationNot retryable

    Merchant-hosted customer accounts need a merchant account URL.

    Fix: Send customer_account.merchant_account_url with customer_account.mode merchant_hosted.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • CUSTOMER_DELETION_BLOCKEDRequest errorNot retryable

    The customer still has subscriptions or saved payment methods that could remain operational after account deletion.

    Fix: Cancel every non-canceled subscription and remove every saved payment method, then retry approval.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • CUSTOMER_DELETION_PROCESSINGRequest errorNot retryable

    The customer is being deleted and cannot be changed.

    Fix: Wait for the deletion to finish, or use a different active customer.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • CUSTOMER_EMAIL_ALREADY_USEDRequest errorNot retryable

    Another customer of this merchant already uses this email address.

    Fix: Use a different email address, or update the existing customer instead.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • CUSTOMER_EMAIL_REQUIREDRequest errorNot retryable

    The customer has no email address, so there are no email preferences to read or change.

    Fix: Add an email to the customer, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • CUSTOMER_ID_NOT_CLEARABLEValidationNot retryable

    customer_id cannot be cleared from a payment intent.

    Fix: Send a customer ID, or omit customer_id to keep the current customer.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • CUSTOMER_NOT_UPDATABLERequest errorNot retryable

    customer_id can only be updated before a payment source is attached.

    Fix: Omit customer_id, or create a new payment intent for the other customer.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • CUSTOMER_PAYMENT_METHOD_MISMATCHValidationNot retryable

    The saved payment method belongs to a different customer than the payment intent.

    Fix: Use a payment method owned by the payment intent's customer.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • CUSTOMER_PAYMENT_TERM_UNAVAILABLERequest errorNot retryable

    The invoice has no customer default payment term to use.

    Fix: Attach a customer with a default invoice payment term, or choose another payment_due.type.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • CUSTOMER_SESSIONS_UNAVAILABLEServer errorRetryable

    Customer sessions are temporarily unavailable.

    Fix: Retry with exponential backoff. Contact support with the request_id if the error persists.

    Still stuck? Report it with your request ID (opens in a new tab)

  • CUSTOMER_SESSION_EXPIREDAuthenticationRetryable

    The customer session use window expired.

    Fix: Refresh the customer session with its refresh token, then retry with the new secret.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • CUSTOMER_SESSION_NOT_FOUNDRequest errorNot retryable

    The customer or customer session was not found in the selected merchant environment.

    Fix: Check the resource ID and selected environment.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • CUSTOMER_SESSION_REFRESH_EXPIREDAuthenticationNot retryable

    The customer session refresh token is invalid or expired.

    Fix: Authenticate the buyer again and mint a new customer session.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • CUSTOMER_SESSION_REFRESH_REUSEDAuthenticationNot retryable

    A rotated customer session refresh token was presented again, so the session family was revoked.

    Fix: Authenticate the buyer again and mint a new customer session.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • CUSTOMER_SESSION_REQUIREDAuthenticationNot retryable

    The endpoint requires a customer session bearer credential.

    Fix: Send the customer session secret in the Authorization bearer header.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • CUSTOMER_VERIFICATION_CODE_INVALIDValidationNot retryable

    The code is wrong, has expired, was replaced by a newer code, or has no tries left, the checkout was confirmed again after the code was used, the email or number is past its limit on wrong tries, or the customer changed its email or number or was deleted after the code was sent.

    Fix: Enter the code from the latest email or text, or request a new code.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • CUSTOMER_VERIFICATION_CUSTOMER_MISMATCHValidationNot retryable

    The customer verification belongs to another customer.

    Fix: Use the customer_id bound to the verification.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • CUSTOMER_VERIFICATION_EMAIL_NOT_ALLOWEDValidationNot retryable

    A code that confirms a saved card goes to the number given with the payment, or to the customer's email, so the request names no email.

    Fix: Remove email and send channel sms or email.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • CUSTOMER_VERIFICATION_EXPIREDRequest errorNot retryable

    The customer verification expired.

    Fix: Create a new customer verification and confirm its code.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • CUSTOMER_VERIFICATION_LIMIT_REACHEDRate limitNot retryable

    The checkout has requested as many codes of this channel as it can: 5 emailed codes, or 6 texted-code requests.

    Fix: After a texted-code request, send the code by email instead; otherwise continue without saved details.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • CUSTOMER_VERIFICATION_NOT_CONFIRMEDRequest errorNot retryable

    The customer verification has not been confirmed.

    Fix: Confirm the Flint-sent code before linking guest purchases.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • CUSTOMER_VERIFICATION_NOT_OFFEREDValidationNot retryable

    This checkout does not offer saved payment details.

    Fix: Read the checkout session and request a code only when save_payment_method_requires_verification is true.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • CUSTOMER_VERIFICATION_NOT_SENTRequest errorNot retryable

    Flint sent no code for a use_saved_payment_methods request with channel auto, the default: the email has no saved details at this merchant, a cap on codes was reached, or codes can't be sent right now.

    Fix: Show nothing about saved details, and let the buyer pay without them.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • CUSTOMER_VERIFICATION_PURPOSE_MISMATCHValidationNot retryable

    The customer verification has another purpose.

    Fix: Create a verification with purpose link_guest_purchases.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • CUSTOMER_VERIFICATION_RATE_LIMITEDRate limitRetryable

    Too many codes were requested for this email or from this network.

    Fix: Wait, then request a new code. Codes can be requested for one email 3 times in 15 minutes and 10 times in 24 hours, and one network can make 20 requests a minute and 30 texted-code requests an hour.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • CUSTOMER_VERIFICATION_TEXT_UNAVAILABLERequest errorNot retryable

    Flint can't text a code for this checkout: the email has no details saved with a mobile phone number at this merchant, a cap on texts was reached, or texts can't be sent right now.

    Fix: Offer the emailed code instead, or continue without saved details.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • CUSTOMER_VERIFICATION_UNAVAILABLEServer errorRetryable

    Customer verification is not available right now, or a texted code couldn't be checked.

    Fix: Retry in a moment, entering a texted code again, or continue without saved details.

    Still stuck? Report it with your request ID (opens in a new tab)

  • CUSTOMER_VERIFICATION_USEDRequest errorNot retryable

    The customer verification was already redeemed.

    Fix: Retry with the same Idempotency-Key, or create and confirm a new verification.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • CUSTOM_DOMAIN_LIVE_MODE_REQUIREDRequest errorNot retryable

    Checkout custom domains are available in live mode only.

    Fix: Use a live-mode API key to configure a checkout custom domain.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • CUSTOM_DOMAIN_NOT_CONFIGUREDRequest errorNot retryable

    No custom domain of this type is set.

    Fix: Set a hostname before validating it.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • CUSTOM_DOMAIN_NOT_VERIFIEDValidationNot retryable

    The customer account hostname's payment method domain is not ready for Apple Pay and Google Pay in this environment.

    Fix: Flint registers the hostname as a payment method domain when you set it. Find it with GET /v1/payment-method-domains and read validation_status and payment_options: unavailable means Flint couldn't read a wallet's status, for example while the environment's payment account isn't ready, and action_required means the registration or one of its wallets isn't active. Then set customer_account.presentation.custom_domain again, which checks the registration again; if you send an idempotency key, use a new one. Contact support with the request_id if the error persists.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • CUSTOM_DOMAIN_SUBSCRIPTION_REQUIREDRequest errorNot retryable

    Custom domains are not active for this account.

    Fix: Activate custom domains, then set the custom domain again.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • CUSTOM_DOMAIN_UNAVAILABLERequest errorNot retryable

    The custom domain is in use by another account, as the other custom hostname, or in another environment.

    Fix: Use a different hostname, or remove it where it is set and then set it again. If another account used it, verify ownership after that account removes it.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • CUSTOM_DOMAIN_VALIDATION_RATE_LIMITEDRate limitRetryable

    This custom domain was checked less than a minute ago.

    Fix: Wait for Retry-After, then validate the custom domain again.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • CUSTOM_FIELD_KEY_REQUIREDValidationNot retryable

    A custom field has no key.

    Fix: Set custom_fields[].key to a non-empty value that is unique within the payment link.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • CUSTOM_FIELD_KEY_TOO_LONGValidationNot retryable

    A custom field key is longer than 243 characters.

    Fix: Shorten custom_fields[].key to 243 characters or fewer.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • CUSTOM_FIELD_KEY_WHITESPACEValidationNot retryable

    A custom field key has leading or trailing whitespace.

    Fix: Remove the leading and trailing whitespace from custom_fields[].key.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • CUSTOM_FIELD_LABEL_REQUIREDValidationNot retryable

    A custom field has no label.

    Fix: Set custom_fields[].label to the text the buyer sees.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • CUSTOM_FIELD_OPTION_TOO_LONGValidationNot retryable

    A dropdown custom field option is longer than 4,096 characters.

    Fix: Shorten each custom_fields[].options entry to 4,096 characters or fewer.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • CUSTOM_FIELD_OPTION_WHITESPACEValidationNot retryable

    A dropdown custom field option has leading or trailing whitespace.

    Fix: Remove the leading and trailing whitespace from each custom_fields[].options entry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • DAILY_LIMIT_EXCEEDEDRate limitRetryable

    The request exceeded a Flint rate or usage limit.

    Fix: Retry with exponential backoff and jitter. Use the Retry-After header when present.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • DANGLING_EXPANSION_REFERENCEServer errorNot retryable

    A public resource referenced another resource that could not be resolved during expansion.

    Fix: Contact support with the request_id; this indicates a Flint data-integrity defect.

    Still stuck? Report it with your request ID (opens in a new tab)

  • DEFAULT_ENVIRONMENT_REQUIREDValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • DEFAULT_PAYOUT_DESTINATIONS_MANAGED_EXTERNALLYRequest errorNot retryable

    The request could not be completed as submitted or in its current state.

    Fix: Inspect the error response, correct the request or resource state, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • DEFAULT_PAYOUT_DESTINATION_INVALIDRequest errorNot retryable

    The request could not be completed as submitted or in its current state.

    Fix: Inspect the error response, correct the request or resource state, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • DEFAULT_PAYOUT_DESTINATION_REPLACEMENT_REQUIREDRequest errorNot retryable

    The request could not be completed as submitted or in its current state.

    Fix: Inspect the error response, correct the request or resource state, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • DEFAULT_PAYOUT_DESTINATION_REQUIREDRequest errorNot retryable

    The request could not be completed as submitted or in its current state.

    Fix: Inspect the error response, correct the request or resource state, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • DEFAULT_SANDBOX_CANNOT_BE_ARCHIVEDRequest errorNot retryable

    The request could not be completed as submitted or in its current state.

    Fix: Inspect the error response, correct the request or resource state, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • DEFAULT_SANDBOX_CANNOT_BE_RESETRequest errorNot retryable

    The request could not be completed as submitted or in its current state.

    Fix: Inspect the error response, correct the request or resource state, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • DEFAULT_VARIANT_REQUIREDValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • DELIVERY_CALCULATION_EXPIREDRequest errorNot retryable

    The calculation behind the delivery selection expired before payment began.

    Fix: Create a new delivery quote, select a current option, and retry payment.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • DELIVERY_CALLER_RATES_UNAVAILABLE_TO_BUYERAuthorizationNot retryable

    This checkout requires a rate supplied by the merchant server.

    Fix: Create the delivery quote from the merchant server and then let the buyer select from the resulting options.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • DELIVERY_COMMERCE_TREATMENT_UNSUPPORTEDRequest errorNot retryable

    The selected delivery obligations require incompatible commerce treatment.

    Fix: Change the delivery method or obligation configuration so the selected quantities share compatible tax, currency, and destination treatment.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • DELIVERY_CONFIGURATION_INVALIDValidationNot retryable

    The delivery configuration does not satisfy its typed contract.

    Fix: Fix the field identified by the response and retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • DELIVERY_DEPENDENCY_REVOKEDRequest errorNot retryable

    A pinned delivery dependency was revoked and can no longer authorize a new quote or selection.

    Fix: Publish or select a replacement configuration revision, then create a new quote.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • DELIVERY_DESTINATION_ADDRESS_INCOMPLETEValidationNot retryable

    The delivery address is incomplete.

    Fix: Provide line1, city, and country, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • DELIVERY_DESTINATION_ADDRESS_REQUIREDValidationNot retryable

    The order requires a complete delivery address.

    Fix: Provide delivery_destination.address and retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • DELIVERY_DESTINATION_CONTROLLED_BY_SELECTIONRequest errorNot retryable

    The current delivery selection controls the order's delivery destination.

    Fix: Change or clear the delivery selection instead of updating delivery_destination directly.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • DELIVERY_DESTINATION_COUNTRY_INVALIDValidationNot retryable

    The delivery address country is invalid.

    Fix: Use a two-letter ISO 3166-1 country code and retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • DELIVERY_DESTINATION_FIELD_TOO_LONGValidationNot retryable

    A delivery destination field exceeds its maximum length.

    Fix: Shorten the field identified by param and retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • DELIVERY_DESTINATION_FROZENRequest errorNot retryable

    The order's delivery destination can no longer be changed.

    Fix: Read the current order and use fulfillment recipient corrections for execution changes.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • DELIVERY_DESTINATION_INVALIDValidationNot retryable

    The delivery destination is invalid.

    Fix: Fix the destination field identified by the response and retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • DELIVERY_DESTINATION_NOT_APPLICABLEValidationNot retryable

    This order has no shipment or local delivery that can use a delivery destination.

    Fix: Remove delivery_destination or add a line item with a shipment or local-delivery obligation.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • DELIVERY_DESTINATION_UPDATE_CONFLICTValidationNot retryable

    The delivery destination update is ambiguous.

    Fix: Send delivery_destination as an object to replace it or null to clear it.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • DELIVERY_ELIGIBILITY_CONTEXT_CHANGEDRequest errorNot retryable

    The checkout delivery eligibility context changed after the request basis was read.

    Fix: Read the current eligibility revision and retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • DELIVERY_EXPECTED_SELECTION_REQUIREDValidationNot retryable

    The current delivery selection basis is required.

    Fix: Send the current delivery selection ID, or null when no selection exists.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • DELIVERY_EXPECTED_VERSION_INVALIDValidationNot retryable

    The expected_version write fence is not a positive integer.

    Fix: Read the current resource, then retry with its version as expected_version.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • DELIVERY_EXPECTED_VERSION_REQUIREDValidationNot retryable

    This delivery change requires an explicit expected_version write fence.

    Fix: Read the current resource, then retry with its version as expected_version.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • DELIVERY_EXTERNAL_REFERENCE_REUSEDIdempotencyNot retryable

    The delivery external reference is already bound to another selection.

    Fix: Reuse the existing selection or submit a new external reference.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • DELIVERY_FIELD_NOT_SUPPORTEDValidationNot retryable

    The request includes a field that does not apply to this delivery resource.

    Fix: Remove the field identified by param and retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • DELIVERY_FIELD_REQUIREDValidationNot retryable

    The request omits a field required by this delivery resource.

    Fix: Provide the field identified by param and retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • DELIVERY_GROUPING_UNSUPPORTEDRequest errorNot retryable

    The delivery obligations cannot form a valid set of buyer choices.

    Fix: Change the assigned delivery profiles, origin policies, or splitting rules before creating another quote.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • DELIVERY_MERCHANT_INPUT_REQUIREDAuthorizationNot retryable

    This delivery input requires merchant authentication.

    Fix: Create the quote from the merchant server with an API key.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • DELIVERY_METHODS_NOT_APPLICABLEValidationNot retryable

    The payment link has no line item that can use a delivery method.

    Fix: Clear delivery_method_ids, or use a catalog-backed line item with an applicable delivery profile.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • DELIVERY_METHOD_SERVICE_UNAVAILABLEServer errorRetryable

    Delivery method assignment is temporarily unavailable.

    Fix: Retry with exponential backoff. Contact support with the request_id if the error persists.

    Still stuck? Report it with your request ID (opens in a new tab)

  • DELIVERY_OPTION_ALREADY_SELECTEDRequest errorNot retryable

    The selected delivery option belongs to another selection.

    Fix: Read the current selection, then retry with its ID as the compare-and-swap value.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • DELIVERY_OPTION_EXPIREDRequest errorNot retryable

    The selected delivery option or its guarantee expired.

    Fix: Create a new delivery quote and select a current option.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • DELIVERY_OPTION_NOT_IN_CHOICE_GROUPValidationNot retryable

    The selected option does not belong to the specified choice group.

    Fix: Use an option ID from the same choice group in the quote response.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • DELIVERY_PICKUP_AVAILABILITY_CHANGEDRequest errorRetryable

    The current delivery selection changed during the pickup search.

    Fix: Read the current delivery selection and retry with its ID.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • DELIVERY_PICKUP_AVAILABILITY_INVALIDValidationNot retryable

    The pickup availability input is invalid.

    Fix: Fix the field identified by the response and retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • DELIVERY_PICKUP_AVAILABILITY_UNAVAILABLEServer errorRetryable

    Flint could not evaluate the pickup locations.

    Fix: Retry with exponential backoff. Contact support with the request_id if the error persists.

    Still stuck? Report it with your request ID (opens in a new tab)

  • DELIVERY_PICKUP_LOCATION_UNAVAILABLEValidationNot retryable

    The requested pickup location is not available for the configured delivery methods.

    Fix: Choose a pickup location from the configured collection and retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • DELIVERY_PREVIEW_INVALIDValidationNot retryable

    The delivery preview input is invalid.

    Fix: Fix the field identified by the response and retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • DELIVERY_PREVIEW_METHOD_TYPES_INCOMPATIBLEValidationNot retryable

    The requested methods cannot fulfill at least one line item's allowed fulfillment types.

    Fix: Change delivery_method_ids or line_items[].fulfillment.allowed_types so at least one requested method supports each line item.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • DELIVERY_PREVIEW_REQUIRES_CHECKOUTRequest errorNot retryable

    The requested preview depends on checkout-only state.

    Fix: Create or update a checkout session, then request a checkout delivery quote.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • DELIVERY_PREVIEW_UNAVAILABLEServer errorRetryable

    Flint could not construct trustworthy cart, routing, or dependency lineage for the preview.

    Fix: Retry with exponential backoff. Contact support with the request_id if the error persists.

    Still stuck? Report it with your request ID (opens in a new tab)

  • DELIVERY_PROFILE_NOT_APPLICABLEValidationNot retryable

    The selected delivery profile does not apply to the component product type.

    Fix: Use a delivery profile that supports the referenced product type.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • DELIVERY_QUOTE_BASIS_INVALIDRequest errorNot retryable

    The pending quote no longer matches the supplied checkout inputs.

    Fix: Create a new quote from the current checkout inputs.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • DELIVERY_QUOTE_EXPIREDRequest errorNot retryable

    The delivery quote or one of its options expired.

    Fix: Create a new delivery quote and select a current option.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • DELIVERY_QUOTE_INCOMPLETERequest errorNot retryable

    The delivery quote still requires caller input or rates.

    Fix: Supply every input or caller-supplied method result requested by the pending quote.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • DELIVERY_QUOTE_INPUT_CHANGEDRequest errorNot retryable

    The selected destination conflicts with address facts used by the quote.

    Fix: Create a new delivery quote using the selected destination.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • DELIVERY_QUOTE_INVALIDValidationNot retryable

    The delivery quote input is invalid.

    Fix: Fix the field identified by the response and retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • DELIVERY_QUOTE_REVOKEDRequest errorNot retryable

    The delivery quote was revoked.

    Fix: Create a new quote.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • DELIVERY_QUOTE_STALERequest errorNot retryable

    The quote no longer matches the current checkout authority.

    Fix: Create a new delivery quote and retry the selection.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • DELIVERY_QUOTE_UNAVAILABLEServer errorRetryable

    Flint could not calculate a delivery quote.

    Fix: Retry with exponential backoff. Contact support with the request_id if the error persists.

    Still stuck? Report it with your request ID (opens in a new tab)

  • DELIVERY_RECIPIENT_REQUIREDRequest errorNot retryable

    The delivery selection is missing recipient details that the selected delivery requires.

    Fix: Create a delivery selection that includes every field in missing_or_invalid_fields, with the current selection's ID as expected_delivery_selection_id, then retry payment.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • DELIVERY_REQUEST_INVALIDValidationNot retryable

    The delivery request does not satisfy the endpoint contract.

    Fix: Fix the field identified by the response and retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • DELIVERY_RESOURCE_HAS_DEPENDENCIESRequest errorNot retryable

    Current references depend on this delivery resource.

    Fix: Remove the blocking references before retrying. For delivery methods, remove the method from settings.checkout.default_delivery_method_ids with PATCH /v1/settings, and remove it from the referencing payment links' delivery_method_ids with PATCH /v1/payment-links/{payment_link_id}.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • DELIVERY_RESOURCE_NOT_FOUNDRequest errorNot retryable

    The delivery resource does not exist in the authenticated merchant environment.

    Fix: Check the resource ID and environment, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • DELIVERY_RESOURCE_VERSION_CONFLICTRequest errorNot retryable

    The delivery resource changed before the requested update was committed.

    Fix: Read the current resource version, reapply the intended change, and retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • DELIVERY_SELECTION_CHANGEDRequest errorNot retryable

    The current delivery selection changed after the request basis was read.

    Fix: Read the effective selection, create a replacement-basis quote, and retry with its exact selection ID.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • DELIVERY_SELECTION_EXPIREDRequest errorNot retryable

    The delivery selection expired before payment began.

    Fix: Create a new delivery quote, select a current option, and retry payment.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • DELIVERY_SELECTION_INCOMPLETEValidationNot retryable

    The selection does not choose one option for every choice group.

    Fix: Submit exactly one choice for every choice group in the quote.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • DELIVERY_SELECTION_NOT_MUTABLE_AFTER_PAYMENTRequest errorNot retryable

    The delivery selection can no longer be changed after payment begins.

    Fix: Read the current order and continue with its committed delivery selection.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • DELIVERY_SELECTION_REPLACEMENT_LIMITRate limitNot retryable

    This checkout reached its protected delivery selection history limit.

    Fix: Finish or restart the checkout. Terminal private payloads become eligible for redaction after their retention period.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • DELIVERY_SELECTION_UNAVAILABLEServer errorRetryable

    Delivery selection is temporarily unavailable.

    Fix: Retry with exponential backoff. Contact support with the request_id if the error persists.

    Still stuck? Report it with your request ID (opens in a new tab)

  • DELIVERY_SERVICE_UNAVAILABLEServer errorRetryable

    Delivery configuration is temporarily unavailable.

    Fix: Retry with exponential backoff. Contact support with the request_id if the error persists.

    Still stuck? Report it with your request ID (opens in a new tab)

  • DELIVERY_STATE_CONFLICTRequest errorNot retryable

    The delivery resource is not in a state that allows the operation.

    Fix: Read the current resource and choose an operation valid for its lifecycle state.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • DELIVERY_STATUS_COMBINATION_INVALIDValidationNot retryable

    A delivery status change must be requested separately from other mutable fields.

    Fix: Send status and expected_version in their own PATCH request.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • DELIVERY_STATUS_INVALIDValidationNot retryable

    The requested delivery resource status is invalid.

    Fix: Use active or inactive when creating a delivery method.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • DELIVERY_UPDATE_NOT_ALLOWEDAuthorizationNot retryable

    The store does not allow buyers to change subscription delivery.

    Fix: Ask the store to update the preference or enable customer_account.buyer_capabilities.can_update_delivery.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • DELIVERY_WINDOW_EXPIREDRequest errorNot retryable

    The selected delivery window expired.

    Fix: Create a new delivery quote and select a current window.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • DELIVERY_WINDOW_INVALIDValidationNot retryable

    The selected window was not offered by the chosen delivery option.

    Fix: Use a delivery_window_id from the selected option, or omit it when the option does not require a window.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • DEMO_SESSIONS_UNAVAILABLEServer errorRetryable

    Flint could not complete the request because a required service or internal operation failed.

    Fix: Retry with exponential backoff. Contact support with the request_id if the error persists.

    Still stuck? Report it with your request ID (opens in a new tab)

  • DEMO_SESSION_ROUTE_NOT_ALLOWEDAuthorizationNot retryable

    The demo session key cannot access this route.

    Fix: Use a merchant API key for this route, or call a route supported by demo sessions.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • DEMO_SESSION_SECRET_REPLAY_EXPIREDRequest errorNot retryable

    The request could not be completed as submitted or in its current state.

    Fix: Inspect the error response, correct the request or resource state, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • DESCRIPTION_TOO_LONGValidationNot retryable

    The description is too long.

    Fix: Use no more than 2,048 characters for a product, bundle, or subscription plan description, or 500 characters for a promotion description.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • DEVICE_DELETEDRequest errorNot retryable

    The device has been deleted.

    Fix: Use the ID of an active device.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • DEVICE_LOCATION_MISMATCHValidationNot retryable

    The device does not belong to the given location.

    Fix: Send a device_id assigned to location_id, or change location_id to the device's location.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • DISCOUNTED_ITEM_RULES_REQUIREDValidationNot retryable

    The promotion needs discounted_item_rules to identify what it discounts.

    Fix: Add application_method.discounted_item_rules. A line_item promotion can omit them only when its eligibility_rules use line_item conditions alone.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • DISCOUNT_AMOUNT_INVALIDValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • DISCOUNT_IDS_REQUIREDValidationNot retryable

    The request did not include any order discount IDs.

    Fix: Send at least one ID in order_discount_ids.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • DISCOUNT_NOT_FOUNDRequest errorNot retryable

    One or more order_discount_ids do not match a discount on this order, or an ID is repeated.

    Fix: Read the order and send each of its discount IDs at most once.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • DISCOUNT_REQUIREDValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • DISPLAY_NAME_TOO_LONGValidationNot retryable

    The promotion display_name is longer than 255 characters.

    Fix: Send a display_name of 255 characters or fewer.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • DISPUTES_UNAVAILABLEServer errorRetryable

    Flint could not complete the request because a required service or internal operation failed.

    Fix: Retry with exponential backoff. Contact support with the request_id if the error persists.

    Still stuck? Report it with your request ID (opens in a new tab)

  • DISPUTE_NOT_FOUNDRequest errorNot retryable

    The request could not be completed as submitted or in its current state.

    Fix: Inspect the error response, correct the request or resource state, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • DONATION_AMOUNT_REQUIREDValidationNot retryable

    A donation payment link needs the buyer's donation amount.

    Fix: Send the amount in unit_price_overrides under the key donation.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • DONATION_CONFIG_NOT_APPLICABLEValidationNot retryable

    Donation amount settings apply only to donation payment links.

    Fix: Remove donation_suggested_amount_money_options, donation_min_amount_money, and donation_max_amount_money, or create the link with payment_link_type set to donation.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • DONATION_LINE_ITEMS_NOT_ALLOWEDValidationNot retryable

    A donation payment link cannot include line_items.

    Fix: Remove line_items. Flint creates the donation line item for a donation payment link.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • DONATION_LINE_ITEM_MISSINGRequest errorNot retryable

    The donation payment link has no line item with an adjustable price to hold the donation amount settings.

    Fix: Replace line_items with a line item that sets allow_unit_price_adjustment to true, then update the donation amounts.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • DONATION_PLAN_NOT_ALLOWEDValidationNot retryable

    A donation payment link cannot use a subscription plan.

    Fix: Remove subscription_plan_id, or use a payment_link_type other than donation.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • DONATION_PROMOTION_NOT_ALLOWEDValidationNot retryable

    Promotions cannot be enabled on a donation payment link.

    Fix: Set promotion_config.automatic_enabled and promotion_config.codes_enabled to false, or omit them.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • DONATION_TAX_NOT_ALLOWEDValidationNot retryable

    Tax cannot be enabled on a donation payment link.

    Fix: Set tax.enabled to false or omit it.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • DONATION_TIP_NOT_ALLOWEDValidationNot retryable

    Tips cannot be configured on a donation payment link.

    Fix: Omit tip, or set only tip.enabled to false.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • DUPLICATE_BUNDLE_COMPONENT_IDValidationNot retryable

    A bundle component ID appears more than once in the replacement.

    Fix: Include each bundle_component_id only once.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • DUPLICATE_CAPABILITYValidationNot retryable

    requested_capabilities lists the same capability more than once.

    Fix: Send each capability once.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • DUPLICATE_CHARGE_TARGETValidationNot retryable

    The request names the same order charge more than once.

    Fix: Send each order_charge_id once in charges.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • DUPLICATE_CLIENT_OPTION_KEYValidationNot retryable

    A client option key appears more than once in the create request.

    Fix: Use a unique client_option_key for each option.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • DUPLICATE_CLIENT_VALUE_KEYValidationNot retryable

    A client value key appears more than once within an option.

    Fix: Use a unique client_value_key for each value in the option.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • DUPLICATE_CODERequest errorNot retryable

    The request could not be completed as submitted or in its current state.

    Fix: Inspect the error response, correct the request or resource state, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • DUPLICATE_COMPONENT_VARIANTValidationNot retryable

    A variant appears more than once in the bundle components.

    Fix: Include each variant_id only once and express the desired count with quantity.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • DUPLICATE_CUSTOM_FIELD_KEYValidationNot retryable

    Two custom fields use the same key.

    Fix: Give each custom field a unique key.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • DUPLICATE_FULFILLMENT_LINE_ITEMValidationNot retryable

    line_items lists the same order line item more than once.

    Fix: Send each order_line_item_id once, with its total quantity.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • DUPLICATE_IMAGE_EXTERNAL_REFERENCE_IDValidationNot retryable

    Two images in the gallery use the same external reference ID.

    Fix: Use a unique external_reference_id for each image in the gallery.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • DUPLICATE_IMAGE_SOURCEValidationNot retryable

    The same source URL appears more than once in the gallery.

    Fix: Include each source_url only once in the gallery.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • DUPLICATE_INVOICE_LINEValidationNot retryable

    An invoice line appears more than once in the credit note.

    Fix: Combine the correction into one credit note line per invoice line.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • DUPLICATE_INVOICE_PAYMENT_OPTION_LIMITValidationNot retryable

    Two invoice payment option limits use the same payment option and currency.

    Fix: Send one limit per payment option and currency in invoices.payment_policy.payment_option_limits.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • DUPLICATE_INVOICE_REMINDER_OFFSETValidationNot retryable

    Two invoice reminder rules use the same days_from_due.

    Fix: Send each days_from_due value once in invoices.reminder_policy.rules.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • DUPLICATE_LINE_ITEM_IDValidationNot retryable

    A subscription plan line item ID appears more than once in line_items.

    Fix: Include each subscription_plan_line_item_id only once.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • DUPLICATE_LINE_ITEM_KEYValidationNot retryable

    Two line items use the same key.

    Fix: Give each line item a unique key, or omit key to have Flint generate one.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • DUPLICATE_LINE_ITEM_TARGETValidationNot retryable

    The request names the same order line item more than once.

    Fix: Send each order_line_item_id once in line_items. Combine its quantity or amount into one entry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • DUPLICATE_OPTIONValidationNot retryable

    An option ID appears more than once in the replacement.

    Fix: Include each option_id only once.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • DUPLICATE_OPTION_NAMEValidationNot retryable

    Two product options use the same name.

    Fix: Use a unique name for each product option.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • DUPLICATE_OPTION_SELECTIONValidationNot retryable

    A variant selects more than one value for the same option.

    Fix: Select exactly one value for each option.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • DUPLICATE_OPTION_VALUEValidationNot retryable

    An option value ID appears more than once in the replacement.

    Fix: Include each option_value_id only once within its option.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • DUPLICATE_ORDER_CHARGE_IDValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • DUPLICATE_PAYMENT_OPTION_LIMITValidationNot retryable

    A payment option and currency pair has more than one limit.

    Fix: Send at most one limit for each payment option and currency.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • DUPLICATE_SCOPEValidationNot retryable

    The request includes the same scope more than once.

    Fix: Remove the duplicate scope and retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • DUPLICATE_TAX_BREAKDOWN_REFUNDValidationNot retryable

    The request includes the same tax breakdown more than once.

    Fix: Provide each tax_breakdown_id once.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • DUPLICATE_TAX_COMPONENTValidationNot retryable

    The tax calculation contains duplicate components.

    Fix: Send one component for each jurisdiction code, tax_type, and calculation_type combination.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • DUPLICATE_VALUEValidationNot retryable

    Two values in one product option use the same label.

    Fix: Use a unique value label within each option.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • EMAIL_ALREADY_LINKEDRequest errorNot retryable

    The request could not be completed as submitted or in its current state.

    Fix: Inspect the error response, correct the request or resource state, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • EMAIL_CHANGE_CONFIRMATION_EXPIREDRequest errorNot retryable

    The email change confirmation window expired.

    Fix: Request a new email change confirmation.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • EMAIL_CHANGE_CONFIRMATION_INVALIDValidationNot retryable

    The email change confirmation code is invalid.

    Fix: Enter the latest code sent to the new address.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • EMAIL_CHANGE_DELIVERY_FAILEDServer errorRetryable

    The email change confirmation could not be delivered.

    Fix: Retry the request. The current customer email remains unchanged.

    Still stuck? Report it with your request ID (opens in a new tab)

  • EMAIL_CHANGE_RATE_LIMITEDRate limitRetryable

    The customer requested too many email changes within 15 minutes.

    Fix: Wait 15 minutes, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • EMAIL_REQUIREDValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • EMBEDDED_PAYMENT_RETURN_URL_REQUIREDValidationNot retryable

    Embedded checkout needs a clean merchant return destination for redirect payment options.

    Fix: Set redirects.success_redirect_url to the HTTPS storefront URL that should recover this checkout.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • EMPTY_CAPABILITY_SETValidationNot retryable

    requested_capabilities is an empty array.

    Fix: Send at least one capability, or omit requested_capabilities to use the default set.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • EMPTY_UPDATEValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • ENVIRONMENT_GRANT_NOT_FOUNDRequest errorNot retryable

    The request could not be completed as submitted or in its current state.

    Fix: Inspect the error response, correct the request or resource state, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • ENVIRONMENT_LOOKUP_FAILEDServer errorRetryable

    Flint could not complete the request because a required service or internal operation failed.

    Fix: Retry with exponential backoff. Contact support with the request_id if the error persists.

    Still stuck? Report it with your request ID (opens in a new tab)

  • ENVIRONMENT_LOOKUP_UNAVAILABLEServer errorRetryable

    Flint could not complete the request because a required service or internal operation failed.

    Fix: Retry with exponential backoff. Contact support with the request_id if the error persists.

    Still stuck? Report it with your request ID (opens in a new tab)

  • ENVIRONMENT_REQUIREDValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • ENVIRONMENT_SELECTION_FORBIDDENAuthorizationNot retryable

    The authenticated caller is not authorized for this operation.

    Fix: Use credentials with access to the target merchant, environment, route, and scope, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • EVENT_CONFIG_NOT_APPLICABLEValidationNot retryable

    event_config applies only to event payment links.

    Fix: Remove event_config, or use a payment link whose payment_link_type is event.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • EVENT_LINE_ITEMS_REQUIREDValidationNot retryable

    An event payment link needs at least one line item for its ticket tiers.

    Fix: Add at least one line item to line_items.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • EVENT_PLAN_NOT_ALLOWEDValidationNot retryable

    An event payment link cannot use a subscription plan.

    Fix: Remove subscription_plan_id and describe ticket tiers in line_items.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • EVENT_SOLD_OUTRequest errorNot retryable

    The event does not have enough tickets left for this order.

    Fix: Request fewer tickets if some remain, or stop selling the event.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • EVENT_TICKET_QUANTITY_REQUIREDValidationNot retryable

    No tickets were selected for the event payment link.

    Fix: Set quantity_overrides to 1 or more for at least one ticket tier.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • EVENT_TIMEZONE_REQUIREDValidationNot retryable

    An event date was set without an event timezone.

    Fix: Send event_config.timezone with an IANA timezone name such as America/New_York along with event_config.event_at.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • EXACTLY_ONE_REQUIREDValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • EXPANSION_DEPENDENCY_UNAVAILABLEServer errorRetryable

    A service required for an accepted expansion is unavailable.

    Fix: Retry with exponential backoff. Contact support with the request_id if the error persists.

    Still stuck? Report it with your request ID (opens in a new tab)

  • EXPANSION_LIMIT_EXCEEDEDValidationNot retryable

    The requested expansion exceeded a route fanout or response-size limit.

    Fix: Request fewer expansions or use follow-up read/list endpoints.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • EXPANSION_RESOLUTION_FAILEDServer errorRetryable

    Flint could not resolve an accepted expansion.

    Fix: Retry with exponential backoff. Contact support with the request_id if the error persists.

    Still stuck? Report it with your request ID (opens in a new tab)

  • EXPECTED_AMOUNT_REQUIREDValidationNot retryable

    A checkout session payment was started without expected_outstanding_money.

    Fix: Send the balance the buyer approved as expected_outstanding_money. If you send the corrected request, use a new idempotency key.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • EXPECTED_VERSION_REQUIREDValidationNot retryable

    This change requires an explicit expected_version write fence.

    Fix: Read the current resource, then retry with its version as expected_version.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • EXPIRED_CARDPaymentNot retryable

    The payment attempt was declined or could not be completed.

    Fix: Use the remediation next_actions and retry only after changing the requested payment inputs.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • EXPLICIT_TAX_REFUND_NOOPRequest errorNot retryable

    The explicit tax_money equals the tax the line would refund automatically.

    Fix: Use tax_refund_mode automatic to refund the full tax, or send a smaller tax_money to withhold part of it.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • EXTERNAL_API_KEY_REQUIREDAuthorizationNot retryable

    The authenticated caller is not authorized for this operation.

    Fix: Use credentials with access to the target merchant, environment, route, and scope, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • EXTERNAL_IMAGE_NOT_ALLOWEDValidationNot retryable

    A transaction image referenced an external URL instead of a Flint-owned canonical image.

    Fix: Ingest the image on an image-bearing resource, then use the untransformed image.url returned by Flint.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • EXTERNAL_PAID_ORDER_ALLOWANCE_EXHAUSTEDRequest errorNot retryable

    The billing account reached its monthly limit for externally recorded paid orders.

    Fix: Request a higher allowance from Flint, or record the payment after the monthly limit resets.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • EXTERNAL_SERVICE_ERRORServer errorRetryable

    The payment processor could not complete a required customer or payment method operation.

    Fix: Retry with exponential backoff. Contact support with the request_id if the error persists.

    Still stuck? Report it with your request ID (opens in a new tab)

  • EXTERNAL_TAX_COMPONENTS_REQUIREDValidationNot retryable

    An external tax calculation has no components.

    Fix: Provide at least one component for each taxable line item or charge.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • FEEDBACK_REPORTS_UNAVAILABLEServer errorRetryable

    Feedback reports are temporarily unavailable.

    Fix: Retry with exponential backoff and the same idempotency key when creating a report.

    Still stuck? Report it with your request ID (opens in a new tab)

  • FEEDBACK_REPORT_NOT_FOUNDRequest errorNot retryable

    The feedback report was not found in this merchant environment.

    Fix: Check the feedback report ID and use a credential for the environment that created it.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • FIELD_NOT_ALLOWED_FOR_CALLERValidationNot retryable

    The authenticated caller is not allowed to set this field or value.

    Fix: Remove the field or use a caller authorized for that operation, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • FIELD_NOT_UPDATABLEValidationNot retryable

    This field cannot be set for this operation.

    Fix: Remove the field identified by the response and retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • FIELD_REQUIREDValidationNot retryable

    A required request field is missing.

    Fix: Supply the field named by param and retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • FIRST_NAME_REQUIREDValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • FLAT_TAX_PAYMENT_ATTRIBUTION_UNAVAILABLERequest errorNot retryable

    The flat tax is not fully attributable to refundable payment settlements.

    Fix: Read the order payment state and retry after every payment settlement is available.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • FLAT_TAX_PRICE_MODE_INVALIDValidationNot retryable

    A flat tax component uses an unsupported price mode.

    Fix: Set price_mode to additive for a flat_amount component.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • FLAT_TAX_REFUND_MUST_BE_FULLValidationNot retryable

    A flat tax must be refunded for its full remaining amount or omitted.

    Fix: Set tax_money to the full remaining flat tax amount, or omit this tax breakdown.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • FLAT_TAX_REFUND_STATE_INVALIDRequest errorNot retryable

    Stored flat-tax refund lineage is inconsistent with whole-or-nothing reversal.

    Fix: Contact support with the request_id so Flint can repair the refund lineage.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • FLAT_TAX_SCOPE_INVALIDValidationNot retryable

    A flat tax component was assigned to a line item or charge.

    Fix: Move flat tax components to the order-level tax calculation, or use a percentage component for the line item or charge.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • FLINT_WALLET_CARD_NOT_FOUNDRequest errorNot retryable

    The card is unavailable at this store or its store consent was revoked.

    Fix: List /v1/me/flint-wallet/payment-methods and select a current card handle for this store.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • FLINT_WALLET_NOT_FOUNDRequest errorNot retryable

    Cards saved with Flint are unavailable for this store account session.

    Fix: Sign in with an emailed code at a Flint-hosted store account. Merchant-created sessions, checkout sessions, email links, grants, and API keys cannot open the wallet.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • FLINT_WALLET_UNAVAILABLEServer errorRetryable

    Cards saved with Flint are temporarily unavailable.

    Fix: Retry with exponential backoff, or pay with another payment method.

    Still stuck? Report it with your request ID (opens in a new tab)

  • FRAUD_WARNING_NOT_FOUNDRequest errorNot retryable

    The request could not be completed as submitted or in its current state.

    Fix: Inspect the error response, correct the request or resource state, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • FULFILLMENT_ACTION_NOT_ALLOWEDRequest errorNot retryable

    The fulfillment cannot take the requested action now, because of its current status or because its payment has an active fulfillment hold.

    Fix: Retrieve the fulfillment and choose an action from its supported_actions. When the error includes current_resource, its supported_actions list is current.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • FULFILLMENT_ACTIVE_SHIPMENT_EXECUTIONRequest errorNot retryable

    A shipment fulfillment cannot release its quantity while it has a shipment that is not voided.

    Fix: Void the fulfillment's shipments first, or fail it with release_quantity set to false.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • FULFILLMENT_APPROVAL_REQUIREDRequest errorNot retryable

    This fulfillment requires explicit merchant approval before work begins.

    Fix: Accept the fulfillment, then advance it into preparation, movement, or completion.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • FULFILLMENT_BUNDLE_UNSUPPORTEDValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • FULFILLMENT_CHANGEDRequest errorRetryable

    The fulfillment changed after the submitted version was read.

    Fix: Read the current fulfillment and retry with its version as expected_version.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • FULFILLMENT_COMPLETEDRequest errorNot retryable

    The request could not be completed as submitted or in its current state.

    Fix: Inspect the error response, correct the request or resource state, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • FULFILLMENT_COMPLETED_DETAILS_REPLACEMENTRequest errorNot retryable

    The request could not be completed as submitted or in its current state.

    Fix: Inspect the error response, correct the request or resource state, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • FULFILLMENT_COMPLETION_TIMESTAMP_CONFLICTValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • FULFILLMENT_COMPLETION_TIMESTAMP_REQUIRES_COMPLETERequest errorNot retryable

    Completion timestamps can be recorded only on a completed fulfillment.

    Fix: Complete the fulfillment with the complete action, then correct its completion timestamp with PATCH if needed.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • FULFILLMENT_CONFIGURATION_ACTION_REQUIREDValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • FULFILLMENT_DETAILS_TYPE_MISMATCHValidationNot retryable

    The fulfillment details object does not match the fulfillment type.

    Fix: Send the details object for the fulfillment's type, such as pickup_details for a pickup fulfillment.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • FULFILLMENT_EVENT_DEDUPE_CONFLICTRequest errorNot retryable

    An event with this external_system and external_event_id already exists with different details.

    Fix: Resend the original event unchanged, or use a new external_event_id for a different event.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • FULFILLMENT_EVENT_OCCURRED_RANGE_INVALIDValidationNot retryable

    occurred_before must not be earlier than occurred_after.

    Fix: Correct the occurrence-time range and retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • FULFILLMENT_EVENT_PROVIDER_IDENTITY_INCOMPLETEValidationNot retryable

    external_system and external_event_id must be sent together.

    Fix: Send both external_system and external_event_id, or omit both.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • FULFILLMENT_EVENT_SUBJECT_INVALIDValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • FULFILLMENT_FIELD_TOO_LONGValidationNot retryable

    A fulfillment text field is longer than its limit.

    Fix: Shorten the field named by param to the length stated in the error message.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • FULFILLMENT_INACTIVERequest errorNot retryable

    The fulfillment is canceled, failed, or marked no-show, so it cannot take this change.

    Fix: Use an active fulfillment, or create a new fulfillment for the items.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • FULFILLMENT_LABEL_URL_EXTERNAL_SYSTEM_REQUIREDValidationNot retryable

    label_url points outside Flint, but external_system is missing.

    Fix: Send external_system with an external label_url, or use a Flint-hosted label URL.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • FULFILLMENT_LABEL_URL_INVALIDValidationNot retryable

    label_url is not an absolute HTTPS URL without credentials.

    Fix: Send an absolute https URL with no user name or password.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • FULFILLMENT_LINE_ITEMS_REQUIREDValidationNot retryable

    The fulfillment has no line items.

    Fix: Send at least one entry in line_items.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • FULFILLMENT_LINE_ITEM_ID_REQUIREDValidationNot retryable

    A fulfillment line item is missing order_line_item_id.

    Fix: Send order_line_item_id for every entry in line_items.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • FULFILLMENT_METHOD_ASSIGNMENT_UNSATISFIABLEValidationNot retryable

    The assigned delivery methods cannot fulfill every item that requires delivery.

    Fix: Assign, for each item, a method whose type is in the item's delivery profile allowed_types: in delivery_method_ids on the checkout session or payment link, or in settings.checkout.default_delivery_method_ids, which payment links without methods and invoice checkouts use.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • FULFILLMENT_METHOD_DUPLICATEValidationNot retryable

    The delivery method IDs include the same ID more than once.

    Fix: Include each delivery method ID only once.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • FULFILLMENT_METHOD_LIMIT_EXCEEDEDValidationNot retryable

    The request assigns more than 25 delivery methods.

    Fix: Assign at most 25 delivery method IDs.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • FULFILLMENT_METHOD_UNAVAILABLEValidationNot retryable

    A delivery method assigned to a checkout, payment link, or checkout default, or a zone, location set, or rate callback it uses, is missing or not active.

    Fix: Use IDs of active delivery methods whose zones, location sets, and rate callbacks are active. When present, blocking_resources names the resource to replace or activate.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • FULFILLMENT_NOTIFICATION_BUILD_FAILEDServer errorRetryable

    Flint could not prepare the buyer notification for this fulfillment change.

    Fix: Retry with exponential backoff. Contact support with the request_id if the error persists.

    Still stuck? Report it with your request ID (opens in a new tab)

  • FULFILLMENT_OBLIGATION_UNAVAILABLERequest errorNot retryable

    The order line item has no fulfillment requirement that this fulfillment can cover.

    Fix: Include only line items whose fulfillment requirement is required with resolution_mode manual or quote.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • FULFILLMENT_PROFILE_REQUIREDValidationNot retryable

    The bundle component needs a delivery profile.

    Fix: Set delivery_profile_id to an applicable active profile.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • FULFILLMENT_PROFILE_REVISION_UNUSABLEValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • FULFILLMENT_PROFILE_UNAVAILABLEValidationNot retryable

    The delivery profile is not available.

    Fix: Use an active delivery profile in the same environment, or omit delivery_profile_id when the catalog default applies.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • FULFILLMENT_QUANTITY_EFFECT_REQUIREDValidationNot retryable

    A failed fulfillment must say whether to release its quantity.

    Fix: Set release_quantity to true to release the items or false to preserve them, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • FULFILLMENT_QUANTITY_EXCEEDS_AVAILABLERequest errorNot retryable

    A fulfillment line item quantity is more than the quantity left to fulfill.

    Fix: Send a quantity no greater than the line item's unfulfilled quantity.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • FULFILLMENT_QUANTITY_EXCEEDS_LINE_ITEMRequest errorNot retryable

    The line item quantity would be less than the quantity in its active fulfillments.

    Fix: Keep quantity at or above the quantity in active fulfillments, or cancel those fulfillments first.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • FULFILLMENT_QUANTITY_INVALIDValidationNot retryable

    A fulfillment line item quantity is zero or negative.

    Fix: Send a quantity greater than zero for each entry in line_items.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • FULFILLMENT_REASON_INVALIDValidationNot retryable

    The fulfillment transition reason is not valid for this action.

    Fix: Use one of the reason values documented for the action and retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • FULFILLMENT_REQUIREMENT_REQUIREDValidationNot retryable

    An ad-hoc line item is missing its explicit fulfillment requirement.

    Fix: Provide the line item's fulfillment object and retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • FULFILLMENT_SCHEDULE_INVALIDValidationNot retryable

    scheduled_start_at is not earlier than scheduled_end_at.

    Fix: Send a scheduled_start_at that is earlier than scheduled_end_at.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • FULFILLMENT_SCHEDULE_NOT_ALLOWEDValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • FULFILLMENT_SCHEDULE_REQUIREDValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • FULFILLMENT_SELECTION_REQUIREDRequest errorNot retryable

    This checkout requires a delivery selection before payment can begin.

    Fix: Create a current delivery quote, select one option for every choice group, then retry payment.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • FULFILLMENT_SHIPMENT_NOT_MUTABLERequest errorNot retryable

    The shipment is past the packed stage, so its packages and contents cannot change.

    Fix: Change packages only while the shipment is created or packed.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • FULFILLMENT_SHIPMENT_NOT_VOIDABLERequest errorNot retryable

    The shipment is past the packed stage and cannot be voided.

    Fix: Void a shipment only while it is created or packed.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • FULFILLMENT_SHIPMENT_PROVIDER_REFERENCE_CONFLICTRequest errorNot retryable

    Another shipment already uses this external_system and external_reference_id.

    Fix: Send a unique external_reference_id, or repeat the original create request unchanged to get the existing shipment.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • FULFILLMENT_SHIPMENT_PROVIDER_REFERENCE_INCOMPLETEValidationNot retryable

    external_reference_id was sent without external_system.

    Fix: Send external_system together with external_reference_id.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • FULFILLMENT_SHIPMENT_TERMINALRequest errorNot retryable

    The shipment is delivered or voided, so only metadata can change.

    Fix: Send only metadata for this shipment and its packages.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • FULFILLMENT_STATUS_CONFLICTRequest errorRetryable

    The fulfillment, shipment, or package changed while this request was being saved.

    Fix: Read the current resource and retry the change.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • FULFILLMENT_STATUS_REASON_TOO_LONGValidationNot retryable

    The fulfillment transition reason_message exceeds the supported length.

    Fix: Use reason_message no longer than 500 characters.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • FULFILLMENT_TERMINALRequest errorNot retryable

    The request could not be completed as submitted or in its current state.

    Fix: Inspect the error response, correct the request or resource state, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • FULFILLMENT_TIMEZONE_REQUIREDValidationNot retryable

    A window, schedule, or expiry time was sent without the details timezone.

    Fix: Send timezone in the same details object, using an IANA name such as America/New_York.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • FULFILLMENT_TRACKING_URL_INVALIDValidationNot retryable

    tracking_url is not an absolute HTTPS URL without credentials.

    Fix: Send an absolute https URL with no user name or password.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • FULFILLMENT_TYPE_NOT_ALLOWEDRequest errorNot retryable

    A line item's delivery profile does not allow this fulfillment type.

    Fix: Use a type allowed for every included line item, or create a separate fulfillment for each type.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • FULFILLMENT_TYPE_REQUIREDValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • FULFILLMENT_WINDOW_INVALIDValidationNot retryable

    window_start_at is not earlier than window_end_at.

    Fix: Send a window_start_at that is earlier than window_end_at.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • GIFT_CARDS_UNAVAILABLEServer errorRetryable

    The gift card operation's outcome could not be confirmed.

    Fix: Retry with the same Idempotency-Key to recover the original operation; do not submit a new key for an uncertain outcome.

    Still stuck? Report it with your request ID (opens in a new tab)

  • GIFT_CARD_ALLOCATION_CHANGEDRequest errorNot retryable

    The gift card authorization or allocation changed before payment.

    Fix: Refresh the order, apply the current code when required, and accept the new allocation before payment.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • GIFT_CARD_ALLOCATION_REQUIREDRequest errorNot retryable

    The order has selected gift cards but the payment does not accept their allocation.

    Fix: Read the order and send its current gift_card_estimate amounts and order_revision in accepted_gift_card_allocation.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • GIFT_CARD_BUNDLE_NOT_SUPPORTEDValidationNot retryable

    A bundle cannot contain a gift card variant.

    Fix: Sell the gift card as a separate line item.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • GIFT_CARD_BUYER_DEVICE_REQUIREDRequest errorNot retryable

    The gift card purchase requires a valid device identifier.

    Fix: Send a stable 32-character lowercase hexadecimal identifier in Flint-Buyer-Device.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • GIFT_CARD_BUYER_REQUIREDValidationNot retryable

    Gift card purchases require an identified buyer.

    Fix: Set customer_id on the order or verify the buyer in checkout before paying.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • GIFT_CARD_CATALOG_CONFIGURATION_INVALIDValidationNot retryable

    The gift card variant has incompatible tax, inventory, or currency settings.

    Fix: Use USD, set taxable to false, and remove tax_category and inventory_item_id.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • GIFT_CARD_CHALLENGE_REQUIREDValidationNot retryable

    A gift card challenge is required after repeated failed codes.

    Fix: Show the challenge from remediation.next_actions to the buyer, then retry the same request with its proof in Flint-Gift-Card-Challenge. If there is no next action, launch the checkout session with page_origin.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • GIFT_CARD_CONFIGURATION_INVALIDValidationNot retryable

    The gift card face value, price mode, or custom amount bounds are invalid.

    Fix: Use positive USD values up to 200000 cents, bounds that contain the reference face value, and face_value or discounted price mode. Discounted pricing must collect less than the face value.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • GIFT_CARD_CONFIGURATION_NOT_APPLICABLEValidationNot retryable

    The variant's product is not a gift card.

    Fix: Omit gift_card_configuration or create a product with product_type gift_card.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • GIFT_CARD_CURRENCY_NOT_SUPPORTEDValidationNot retryable

    Gift card variants require USD.

    Fix: Use USD for unit_price_money.currency.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • GIFT_CARD_CURRENCY_UNSUPPORTEDValidationNot retryable

    Gift card value can only pay for orders in USD.

    Fix: Use an order in USD.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • GIFT_CARD_INSUFFICIENT_VALUERequest errorNot retryable

    The gift card has insufficient available value for the requested allocation.

    Fix: Refresh the balance and accept a new allocation before payment.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • GIFT_CARD_INVENTORY_NOT_SUPPORTEDValidationNot retryable

    Gift card variants cannot track inventory.

    Fix: Omit inventory_item_id and inventory_item.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • GIFT_CARD_MODIFIERS_NOT_SUPPORTEDValidationNot retryable

    Gift card variants cannot include modifiers.

    Fix: Omit modifier_set_id.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • GIFT_CARD_NOT_FOUNDRequest errorNot retryable

    The gift card resource or code is not valid in this merchant environment.

    Fix: Check the resource identity or full code and the credential's merchant and environment.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • GIFT_CARD_PRODUCT_TYPE_IMMUTABLEValidationNot retryable

    A gift_card product_type cannot change to or from another type.

    Fix: Create a separate product with the required product_type.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • GIFT_CARD_PURCHASE_CONFLICTRequest errorNot retryable

    The gift card purchase cannot be funded under its original terms or funding limits.

    Fix: Keep the original buyer and offer, resolve any existing payment attempt, and check the buyer funding limit before starting another payment.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • GIFT_CARD_PURCHASE_INVALIDValidationNot retryable

    The gift card purchase amount or recipient is invalid.

    Fix: Choose a USD face value within the variant's denomination or custom amount bounds. Use a valid recipient email, a message of at most 200 characters, and a send_at between now and 90 days from now.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • GIFT_CARD_PURCHASE_LIMIT_EXCEEDEDRequest errorNot retryable

    The gift card purchase exceeds a daily purchase limit.

    Fix: Wait until the next UTC day before starting a new purchase attempt.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • GIFT_CARD_PURCHASE_NOT_APPLICABLEValidationNot retryable

    This line item does not sell a gift card.

    Fix: Use gift_card_purchase only with a gift_card variant.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • GIFT_CARD_PURCHASE_REFUND_CONFLICTRequest errorNot retryable

    The original gift card purchase value is unavailable for this cash refund.

    Fix: Check the original funding load and pending refunds. Refund only eligible unspent value and resolve any reserved or spent value before retrying.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • GIFT_CARD_PURCHASE_SOURCE_REQUIREDValidationNot retryable

    A gift card purchase requires a catalog variant.

    Fix: Supply the variant_id of a gift_card product. Ad-hoc gift card purchase lines are not supported.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • GIFT_CARD_PURCHASE_VERIFICATION_UNAVAILABLEServer errorRetryable

    Gift card purchase identity or velocity verification is unavailable.

    Fix: Retry the original request with the same Idempotency-Key after verification becomes available.

    Still stuck? Report it with your request ID (opens in a new tab)

  • GIFT_CARD_RECIPIENT_VERIFICATION_REQUIREDAuthorizationNot retryable

    Fresh identity verification is required for gift card recipient, secret replacement, or delegation access.

    Fix: Verify your identity again, then retry the original request with the same Idempotency-Key.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • GIFT_CARD_REFUND_DESTINATION_REQUIREDRequest errorNot retryable

    The original gift card cannot accept the full refund within its lifecycle and balance cap.

    Fix: Select replacement for that gift card allocation and retry with a new Idempotency-Key.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • GIFT_CARD_STATE_CONFLICTRequest errorNot retryable

    The gift card operation conflicts with a balance, lifecycle or version constraint.

    Fix: Retrieve the current resource and resolve its stated constraint before submitting a new operation.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • GIFT_CARD_SUBSCRIPTION_NOT_SUPPORTEDValidationNot retryable

    Gift card variants cannot be sold through subscriptions.

    Fix: Use a one-time purchase.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • GIFT_CARD_SUBSCRIPTION_TENDER_UNSUPPORTEDValidationNot retryable

    Gift card value cannot pay for subscription orders.

    Fix: Remove selected gift cards and use a processor payment source.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • GIFT_CARD_TAX_NOT_SUPPORTEDValidationNot retryable

    Gift card variants cannot include tax.

    Fix: Set taxable to false and omit line_item_tax_category.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • GIFT_CARD_UNAVAILABLERequest errorNot retryable

    The gift card code is not available for this order.

    Fix: Check the current code and the issuing merchant.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • HOSTED_CHECKOUT_CALLER_RATES_UNSUPPORTEDValidationNot retryable

    A delivery method with caller_supplied pricing cannot be used by hosted checkout or a payment link.

    Fix: Use delivery methods with another pricing type in delivery_method_ids or settings.checkout.default_delivery_method_ids, or create an embedded checkout session.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • HOSTED_INSTALL_UNAVAILABLEServer errorRetryable

    Flint could not complete the request because a required service or internal operation failed.

    Fix: Retry with exponential backoff. Contact support with the request_id if the error persists.

    Still stuck? Report it with your request ID (opens in a new tab)

  • IDEMPOTENCY_CLEAR_FAILEDServer errorRetryable

    Flint could not complete the request because a required service or internal operation failed.

    Fix: Retry with exponential backoff. Contact support with the request_id if the error persists.

    Still stuck? Report it with your request ID (opens in a new tab)

  • IDEMPOTENCY_KEY_IN_PROGRESSIdempotencyRetryable

    A request with the same idempotency key is still in progress.

    Fix: Wait briefly and retry with the same idempotency key.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • IDEMPOTENCY_KEY_REQUIREDIdempotencyNot retryable

    This operation requires an idempotency key.

    Fix: Send a unique Idempotency-Key header and reuse it for retries of the same logical operation.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • IDEMPOTENCY_KEY_REUSEDIdempotencyNot retryable

    The idempotency key was reused with a different request body.

    Fix: Use the original request body with this idempotency key, or generate a new idempotency key for a new operation.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • IDEMPOTENCY_KEY_TOO_LONGIdempotencyNot retryable

    The idempotency key exceeds the supported length.

    Fix: Send an Idempotency-Key header no longer than 255 characters.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • IDEMPOTENCY_LOAD_FAILEDServer errorRetryable

    Flint could not complete the request because a required service or internal operation failed.

    Fix: Retry with exponential backoff. Contact support with the request_id if the error persists.

    Still stuck? Report it with your request ID (opens in a new tab)

  • IDEMPOTENCY_PERSIST_FAILEDServer errorRetryable

    Flint could not complete the request because a required service or internal operation failed.

    Fix: Retry with exponential backoff. Contact support with the request_id if the error persists.

    Still stuck? Report it with your request ID (opens in a new tab)

  • IDEMPOTENCY_RECORD_INVALIDServer errorRetryable

    Flint could not complete the request because a required service or internal operation failed.

    Fix: Retry with exponential backoff. Contact support with the request_id if the error persists.

    Still stuck? Report it with your request ID (opens in a new tab)

  • IDEMPOTENCY_RECOVERY_REQUIREDServer errorRetryable

    Flint could not complete the request because a required service or internal operation failed.

    Fix: Retry with exponential backoff. Contact support with the request_id if the error persists.

    Still stuck? Report it with your request ID (opens in a new tab)

  • IDEMPOTENCY_REQUEST_IN_PROGRESSIdempotencyRetryable

    The payment-link resolution with this context and idempotency key is still in progress.

    Fix: Wait briefly and retry with the same resolution_context and Idempotency-Key.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • IDENTITY_RESOLUTION_FAILEDServer errorRetryable

    Flint could not complete the request because a required service or internal operation failed.

    Fix: Retry with exponential backoff. Contact support with the request_id if the error persists.

    Still stuck? Report it with your request ID (opens in a new tab)

  • IDENTITY_UNAVAILABLEServer errorRetryable

    Flint could not reach its identity service.

    Fix: Retry the request after a short delay.

    Still stuck? Report it with your request ID (opens in a new tab)

  • IMAGE_ANIMATION_UNSUPPORTEDValidationNot retryable

    The image source is animated, but Flint accepts still images only.

    Fix: Provide a still JPEG, PNG, or WebP image, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • IMAGE_ASSET_NOT_ATTACHABLEValidationNot retryable

    The canonical image has expired or was deleted.

    Fix: Re-supply the original source_url on a catalog or branding resource.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • IMAGE_ASSET_NOT_FOUNDRequest errorNot retryable

    The canonical image does not exist in the authenticated merchant and environment, or is not attachable.

    Fix: Use an untransformed image.url returned for this merchant and environment, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • IMAGE_DIMENSIONS_EXCEEDEDValidationNot retryable

    The image dimensions exceed Flint's axis or pixel limits.

    Fix: Resize the source to at most 12,000 pixels per axis and 40 megapixels, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • IMAGE_DIMENSIONS_UNSUPPORTEDValidationNot retryable

    The image's dimensions don't fit what this image is for: a merchant icon must be square and at least 128 by 128 pixels.

    Fix: Upload a square image at least 128 by 128 pixels, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • IMAGE_FORMAT_UNSUPPORTEDValidationNot retryable

    The image format is unsupported or malformed.

    Fix: Provide a valid still JPEG, PNG, or WebP image, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • IMAGE_INGESTION_COUNT_EXCEEDEDValidationNot retryable

    The mutation contains more external image ingestions than one request allows.

    Fix: Split the change into mutations containing at most 32 external image sources.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • IMAGE_INGESTION_EXPIREDIdempotencyNot retryable

    The prior image ingestion expired and its reserved storage was cleaned up.

    Fix: Retry the request with a new idempotency key.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • IMAGE_INGESTION_IN_PROGRESSIdempotencyRetryable

    The same image ingestion step is still running.

    Fix: Wait briefly, then retry with the same idempotency key and request body.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • IMAGE_INGESTION_RESTART_REQUIREDIdempotencyRetryable

    The prior image ingestion attempt ended and cannot be resumed.

    Fix: Wait briefly for cleanup, then start a new ingestion with a new idempotency key.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • IMAGE_NOT_ATTACHABLEValidationNot retryable

    The image cannot be attached to this resource.

    Fix: Use an attachable image returned for the same merchant and environment, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • IMAGE_OWNER_NOT_MUTABLERequest errorNot retryable

    The resource no longer accepts image changes.

    Fix: Retrieve the resource and update images only while the resource is mutable.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • IMAGE_PIXEL_BUDGET_EXCEEDEDValidationNot retryable

    The mutation exceeds the total decoded image pixel budget.

    Fix: Resize the sources or split the images across smaller mutations.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • IMAGE_PROCESSING_CAPACITY_EXCEEDEDServer errorRetryable

    Image processing capacity is temporarily exhausted.

    Fix: Retry with exponential backoff. If remediation says to start a new ingestion, use a new idempotency key.

    Still stuck? Report it with your request ID (opens in a new tab)

  • IMAGE_PROCESSING_FAILEDRequest errorNot retryable

    The image could not be decoded or processed safely.

    Fix: Replace an invalid source. If remediation says to start a new ingestion, use a new idempotency key.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • IMAGE_PROCESSING_TIMEOUTServer errorRetryable

    Image processing exceeded its deadline.

    Fix: Retry with exponential backoff and a new idempotency key when remediation says to start a new ingestion.

    Still stuck? Report it with your request ID (opens in a new tab)

  • IMAGE_REVISION_MISMATCHRequest errorNot retryable

    The request could not be completed as submitted or in its current state.

    Fix: Inspect the error response, correct the request or resource state, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • IMAGE_SOURCE_FETCH_FAILEDValidationNot retryable

    The source did not return a complete supported image response.

    Fix: Check the source response, redirects, encoding, and content length, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • IMAGE_SOURCE_NOT_PUBLICValidationNot retryable

    The source URL does not resolve to an allowed public origin.

    Fix: Use a public HTTPS origin that does not resolve to private, loopback, link-local, or Flint infrastructure addresses.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • IMAGE_SOURCE_TIMEOUTServer errorRetryable

    The source host did not return the image before the fetch deadline.

    Fix: Retry with exponential backoff and a new idempotency key when remediation says to start a new ingestion, or use a more reliable source host.

    Still stuck? Report it with your request ID (opens in a new tab)

  • IMAGE_SOURCE_TOO_LARGEValidationNot retryable

    The source image exceeds the 5 MB byte limit.

    Fix: Reduce the source file below 5 MB, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • IMAGE_SOURCE_UNAVAILABLEServer errorRetryable

    The source host was temporarily unavailable.

    Fix: Retry with exponential backoff and a new idempotency key when remediation says to start a new ingestion.

    Still stuck? Report it with your request ID (opens in a new tab)

  • IMAGE_SOURCE_URL_INVALIDValidationNot retryable

    The image source URL violates Flint's HTTPS source rules.

    Fix: Use an HTTPS URL on port 443 without credentials or a fragment.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • IMAGE_STORAGE_QUOTA_EXCEEDEDRate limitNot retryable

    The merchant's stored image bytes have reached the configured quota.

    Fix: Remove unused image attachments or wait until ready unattached images expire, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • IMAGE_URL_INVALIDValidationNot retryable

    The submitted image URL is invalid.

    Fix: Use the exact untransformed image.url returned by Flint.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • IMAGE_URL_MUST_BE_CANONICALValidationNot retryable

    The image URL is a transformed delivery URL instead of the canonical asset URL.

    Fix: Use the exact image.url returned by Flint without a variant path, query, or fragment.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INCOMPLETE_OPTION_SELECTIONValidationNot retryable

    An active variant does not select one value for each active option.

    Fix: Select one active value for each active option on the product.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INCORRECT_CVCPaymentNot retryable

    The payment attempt was declined or could not be completed.

    Fix: Use the remediation next_actions and retry only after changing the requested payment inputs.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INHERIT_ONLY_VIOLATIONAuthorizationNot retryable

    An organization settings policy requires this merchant to inherit the setting, so the request cannot set it.

    Fix: Remove the setting identified by param from the request, or ask the organization to change its settings policy.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INITIAL_API_KEY_ALREADY_CREATEDRequest errorNot retryable

    The request could not be completed as submitted or in its current state.

    Fix: Inspect the error response, correct the request or resource state, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INSTANT_PAYOUTS_UNAVAILABLEMerchant readinessNot retryable

    Instant payouts are not available.

    Fix: Create a standard payout instead.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INSUFFICIENT_AVAILABLE_BALANCERequest errorNot retryable

    The request could not be completed as submitted or in its current state.

    Fix: Inspect the error response, correct the request or resource state, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INSUFFICIENT_FUNDSPaymentNot retryable

    The payment attempt was declined or could not be completed.

    Fix: Use the remediation next_actions and retry only after changing the requested payment inputs.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INSUFFICIENT_SCOPEAuthorizationNot retryable

    The API key is missing a required scope.

    Fix: Create or use an API key with the required scope, then retry the request.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INTERNAL_ERRORServer errorRetryable

    Flint returned an internal server error.

    Fix: Retry with exponential backoff. Contact support with the request_id if the error persists.

    Still stuck? Report it with your request ID (opens in a new tab)

  • INTERVAL_COUNT_TOO_LARGEValidationNot retryable

    The billing interval count is greater than 365.

    Fix: Send a billing_interval_count from 1 through 365.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INTERVAL_REQUIREDValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_ACTIONValidationNot retryable

    The request action is not supported by this operation.

    Fix: Use one of the documented action values and retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_ACTIONABLEValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_ACTIVITY_TYPEValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_ALLOCATIONValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_AMOUNTValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_AMOUNT_OFFValidationNot retryable

    The promotion amount_off_money is missing, not positive, or has no currency.

    Fix: Send application_method.amount_off_money with a positive amount and a currency.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_AMOUNT_RANGEValidationNot retryable

    A line item's min_unit_price_money is greater than its max_unit_price_money.

    Fix: Set min_unit_price_money to an amount less than or equal to max_unit_price_money.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_API_KEYAuthenticationNot retryable

    The API key credential is malformed or invalid.

    Fix: Check the API key value or create a new API key, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_API_VERSIONRequest errorNot retryable

    The requested API version is not supported.

    Fix: Set Flint-Version to a supported version listed in the error details.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_APPLICATION_METHODValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_AUTHORIZATION_HEADERAuthenticationNot retryable

    The Authorization header is malformed or uses an unsupported credential.

    Fix: Send a Flint API key or partner install token as Authorization: Bearer <token>, or use X-API-Key for API keys.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_AVAILABLE_PAYOUT_METHODValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_BALANCE_SOURCE_TYPEValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_BEARER_TOKENAuthenticationNot retryable

    The request could not be authenticated.

    Fix: Send a valid Flint credential supported by this endpoint, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_BILLING_ANCHOR_DAYValidationNot retryable

    The billing anchor day is outside the supported range.

    Fix: Set billing_anchor_day to a day from 1 through 31.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_BILLING_INTERVALValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_BILLING_INTERVAL_OPTIONSValidationNot retryable

    The offered billing interval options are invalid.

    Fix: Provide unique billing_interval and billing_interval_count pairs with supported intervals and positive counts.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_BILLING_SCHEDULE_OWNERValidationNot retryable

    The billing schedule owner is not supported.

    Fix: Use flint or external.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_BOGO_DISCOUNT_CLASSValidationNot retryable

    A buy_x_get_y promotion requires discount_class line_item.

    Fix: Set discount_class to line_item.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_BOGO_QUANTITYValidationNot retryable

    The buy_x_get_y quantities must be positive.

    Fix: Set application_method.buy_min_quantity and application_method.get_quantity to 1 or more.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_BOOLEANValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_BOOTSTRAP_SCOPESValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_BUNDLE_STATUSValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_BUSINESS_NAMEValidationNot retryable

    The business name is null, blank, or longer than 120 characters.

    Fix: Send business_name with 1 to 120 characters. Surrounding whitespace is trimmed, and the name cannot be cleared.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_BUYER_CANCELLATION_TIMINGValidationNot retryable

    The buyer cancellation timing is not supported.

    Fix: Set customer_account.buyer_capabilities.cancellation_timing to end_of_period or buyer_chooses.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_BUYER_PAUSE_MAX_CYCLESValidationNot retryable

    The longest buyer pause is outside the supported range.

    Fix: Set customer_account.buyer_capabilities.pause.max_cycles from 1 to 12, or omit it for no limit.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_BUYER_SKIP_MAX_CONSECUTIVE_SKIPSValidationNot retryable

    The consecutive skip limit is outside its allowed range.

    Fix: Set customer_account.buyer_capabilities.skip.max_consecutive_skips to an integer from 1 to 12, or omit it for no limit.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_CALCULATION_BASISValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_CANCELLATION_REASONValidationNot retryable

    The cancellation reason is not in the supported public vocabulary.

    Fix: Use requested_by_customer, duplicate, fraudulent, or abandoned as allowed for the caller.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_CANCELLATION_REASON_CODEValidationNot retryable

    The cancellation reason code is not a standard code.

    Fix: Use too_expensive, missing_features, switched_service, unused, customer_service, too_complex, low_quality, or other.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_CAPABILITYValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_CAPTURE_AMOUNTValidationNot retryable

    The requested capture amount is invalid.

    Fix: Send a positive amount in the authorization currency, or omit amount_money to capture the available authorization.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_CAPTURE_METHODValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_CASE_TYPEValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_CATEGORIESValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_CATEGORYValidationNot retryable

    A category is invalid, or the request has more than 100 categories.

    Fix: Send no more than 100 categories, each with 1 through 100 characters that include a letter or number.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_CATEGORY_DESCRIPTIONValidationNot retryable

    The category description is invalid.

    Fix: Provide a description with at most 2,048 characters, or omit it.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_CATEGORY_HANDLEValidationNot retryable

    The category handle is invalid.

    Fix: Use lowercase letters and numbers separated by single hyphens.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_CATEGORY_NAMEValidationNot retryable

    The category name is invalid.

    Fix: Provide a category name with 1 through 100 characters.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_CHANNELValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_CHARGE_AMOUNTValidationNot retryable

    The charge amount is zero or negative.

    Fix: Send amount_money with a positive amount in minor units.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_CHARGE_PERCENTValidationNot retryable

    The charge percent is outside the supported range or precision.

    Fix: Send percent greater than 0 and no more than 100, with no more than four decimal places.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_CHARGE_REFUND_AMOUNTValidationNot retryable

    A charge refund amount_money is zero or negative.

    Fix: Send a positive charges[].amount_money, or omit it to refund the charge's remaining amount.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_CHARGE_TYPEValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_CHARGE_VALUEValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_CHECKOUT_SESSIONAuthenticationNot retryable

    The request could not be authenticated.

    Fix: Send a valid Flint credential supported by this endpoint, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_CHECKOUT_SURFACEValidationNot retryable

    The checkout surface is invalid.

    Fix: Send surface as hosted or embedded.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_CODEValidationNot retryable

    The promotion code contains invalid characters or surrounding whitespace.

    Fix: Send printable characters without leading or trailing whitespace.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_COLORValidationNot retryable

    A branding color is not a six-digit hex color.

    Fix: Send the color identified by param as # followed by six hex digits, such as #FF0000.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_COMPLETION_BEHAVIORValidationNot retryable

    The order payment completion behavior is invalid.

    Fix: Use complete_order or partial_payment and retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_COMPONENTValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_COMPONENTSValidationNot retryable

    The bundle component collection is invalid.

    Fix: Send components as an array, or omit it to leave components unchanged.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_COMPONENT_POSITIONValidationNot retryable

    The bundle component position is invalid.

    Fix: Use a position of zero or greater.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_COMPONENT_QUANTITYValidationNot retryable

    The bundle component quantity is outside the supported range.

    Fix: Use a quantity from 1 through 9999.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_CORNER_RADIUSValidationNot retryable

    The branding corner radius is outside 0 to 32.

    Fix: Send branding.corner_radius from 0 through 32.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_COUNTRYValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_CREATED_AFTERValidationNot retryable

    created_after is not a valid RFC 3339 timestamp.

    Fix: Send an RFC 3339 timestamp or omit created_after.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_CREATED_BEFOREValidationNot retryable

    created_before is not a valid RFC 3339 timestamp.

    Fix: Send an RFC 3339 timestamp or omit created_before.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_CREATED_RANGEValidationNot retryable

    created_before must not be earlier than created_after.

    Fix: Correct the creation-time range and retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_CREDIT_NOTEValidationNot retryable

    A credit note text field is empty or longer than 255 characters.

    Fix: Send external_reference_id or query with 1 to 255 characters.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_CREDIT_NOTE_CORRECTION_TYPEValidationNot retryable

    The credit note correction type is invalid.

    Fix: Use quantity or amount.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_CREDIT_NOTE_LINEValidationNot retryable

    A credit note line is invalid.

    Fix: Use a positive correction within the frozen invoice line's remaining amount or quantity.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_CREDIT_NOTE_MEMOValidationNot retryable

    The credit note memo exceeds the supported length.

    Fix: Use a memo no longer than 4096 characters.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_CREDIT_NOTE_REASONValidationNot retryable

    The credit note reason is invalid.

    Fix: Use returned_goods, order_adjustment, billing_error, goodwill, or other.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_CREDIT_NOTE_STATUSValidationNot retryable

    The credit note status filter is invalid.

    Fix: Use draft, issued, or void.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_CURRENCYValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_CURRENCY_OPTIONValidationNot retryable

    A currency_options entry is invalid or not allowed here.

    Fix: Key each entry by its currency with a positive amount in that currency. Use currency_options on rules only for money attributes that are not compared with is_defined.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_CURSORValidationNot retryable

    The webhook stream resume event ID is malformed.

    Fix: Use a webhook_event_id previously returned by the stream, or omit the resume value.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_CUSTOMER_ACCOUNT_REQUESTValidationNot retryable

    A customer account resource request is invalid.

    Fix: Correct the invalid fields and retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_CUSTOMER_ACCOUNT_ROUTE_TEMPLATEValidationNot retryable

    A customer account route template is not a clean relative path with the placeholders its route allows.

    Fix: Send a path that starts with / and has no scheme, query, fragment, or .. segments. Include {resource_id} once in the order, subscription, return, and invoice templates, and no placeholder in email_preferences.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_CUSTOMER_ACCOUNT_URLValidationNot retryable

    The merchant account URL is not an absolute HTTPS URL on a merchant-owned hostname.

    Fix: Send an https URL without credentials or a fragment, on a hostname outside withflintpay.com that is not an IP address.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_CUSTOMER_SESSIONValidationNot retryable

    The customer session request contains an invalid lifetime or omits its customer.

    Fix: Fix the field described by the error and retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_CUSTOM_DOMAINValidationNot retryable

    The custom domain is not an exact subdomain.

    Fix: Send a subdomain such as pay.example.com, not a registrable domain, an IP address, or a withflintpay.com host.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_DEFAULT_FOR_CURRENCYValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_DEFAULT_SMART_TIP_AMOUNTValidationNot retryable

    The default smart tip amount is not positive or is not one of the configured smart_tip_money_options.

    Fix: Set tipping.default_smart_tip_money to one of the amounts in tipping.smart_tip_money_options.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_DEFAULT_TIP_PERCENTAGEValidationNot retryable

    The default tip percent is outside 1 to 100, has more than four decimal places, or is not one of tip_percent_options.

    Fix: Set tipping.default_tip_percent to one of the values in tipping.tip_percent_options.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_DEFAULT_VARIANTValidationNot retryable

    default_variant_id does not identify an active variant on this product.

    Fix: Send the ID of an active variant on this product.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_DELAY_DAYS_OVERRIDEValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_DELIVERY_CONFIGURATION_STATUSValidationNot retryable

    The delivery configuration status filter is invalid.

    Fix: Use configured or action_required.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_DELIVERY_EVALUATION_STATUSValidationNot retryable

    evaluation_status is not a supported delivery quote evaluation status.

    Fix: Use complete, incomplete, or degraded.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_DELIVERY_MODEValidationNot retryable

    The invoice delivery mode is invalid.

    Fix: Use merchant_default, email, or caller_managed.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_DELIVERY_PROFILE_IDValidationNot retryable

    The delivery profile ID is invalid.

    Fix: Use a valid dprof_ ID.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_DELIVERY_QUOTE_STATUSValidationNot retryable

    status is not a supported delivery quote status.

    Fix: Use active, consumed, stale, expired, or revoked.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_DELIVERY_STATUSValidationNot retryable

    The requested webhook delivery status is not supported.

    Fix: Use pending, delivered, failed, or suppressed and retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_DESCRIPTIONValidationNot retryable

    The risk rule description is blank or longer than 512 characters.

    Fix: Send a description of 1 through 512 characters.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_DIGITAL_WALLETValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_DISCOUNTValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_DISCOUNT_CALCULATION_BASISValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_DISCOUNT_CLASSValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_DISCOUNT_SCOPEValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_DISPUTE_REQUESTValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_DISPUTE_STATUSValidationNot retryable

    The dispute_status filter contains an empty or unsupported value.

    Fix: Send dispute_status as repeated keys or comma-separated values: none, warning_needs_response, warning_under_review, warning_closed, needs_response, under_review, won, lost, or prevented.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_DOMAINValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_DOMAIN_NAMEValidationNot retryable

    The payment method domain name is not an exact fully-qualified hostname.

    Fix: Send one domain or subdomain without a scheme, path, port, IP address, or wildcard.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_DONATION_AMOUNTValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_DONATION_AMOUNT_RANGEValidationNot retryable

    donation_min_amount_money is greater than donation_max_amount_money.

    Fix: Set donation_min_amount_money to an amount less than or equal to donation_max_amount_money.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_DROPDOWN_VALUEValidationNot retryable

    A custom_field_values answer is not one of the dropdown field's options.

    Fix: Send one of the field's options exactly as listed on the payment link.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_DUNNING_RETRY_DAYSValidationNot retryable

    The dunning retry period is outside 1 to 90 days.

    Fix: Send subscriptions.dunning_retry_days from 1 through 90.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_EMAIL_FORMATValidationNot retryable

    The email address is not valid.

    Fix: Send an address such as buyer@example.com, with no surrounding spaces.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_ENVIRONMENT_SELECTIONValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_EVENT_ATValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_EVENT_SOURCEValidationNot retryable

    The event_source filter contains an unsupported source.

    Fix: Use merchant, partner_app, or installed_merchants.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_EVENT_SOURCESValidationNot retryable

    The event_sources filter contains an unsupported source.

    Fix: Use merchant, partner_app, or installed_merchants.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_EVENT_TYPEValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_EXCLUSIVITY_SELECTIONValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_EXPANDValidationNot retryable

    The request included an invalid or unsupported expand path.

    Fix: Fix or remove the requested expand path; use only supported values documented for the route.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_EXPECTED_VERSIONValidationNot retryable

    The expected_version is missing or invalid.

    Fix: Send a positive version from the current resource.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_EXPIRATIONValidationNot retryable

    The checkout expiration is outside 60 to 86,400 seconds.

    Fix: Send a value from 60 through 86,400.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_EXPIRES_ATValidationNot retryable

    The request included an invalid or past expiration timestamp.

    Fix: Send expires_at as a future RFC3339 timestamp, or omit it for a non-expiring key.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_EXTERNAL_REFERENCE_IDValidationNot retryable

    The external reference ID has an invalid length.

    Fix: Use an external_reference_id of at most 255 characters, or omit it.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_FEEDBACK_KINDValidationNot retryable

    The feedback kind is not supported.

    Fix: Use one of the feedback kinds documented for feedback reports.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_FEEDBACK_SHAPEValidationNot retryable

    The feedback fields do not match the selected kind.

    Fix: Provide the required fields for the selected feedback kind and remove fields that do not apply.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_FEEDBACK_SURFACEValidationNot retryable

    The feedback surface is not supported.

    Fix: Use one of the documented Flint surfaces.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_FIELD_TYPEValidationNot retryable

    The request payload contains a field with the wrong JSON type.

    Fix: Send the field using the documented JSON type. If you send a corrected write, use a new idempotency key.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_FLAT_TAXValidationNot retryable

    The flat tax amount or currency is invalid.

    Fix: Send a positive flat_money amount in the order currency.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_FONT_FAMILYValidationNot retryable

    The branding font family is not supported.

    Fix: Use instrument_sans, system_sans, system_serif, or monospace.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_FULFILLMENT_BUYER_NOTIFICATION_BEHAVIORValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_FULFILLMENT_DETAILSValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_FULFILLMENT_EVENT_TYPEValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_FULFILLMENT_REQUIREMENTValidationNot retryable

    The inline fulfillment requirement is invalid.

    Fix: Fix the identified fulfillment field and retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_FULFILLMENT_STATUSValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_FULFILLMENT_TYPEValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_GIFT_CARD_CODEValidationNot retryable

    The gift card code is missing or exceeds 64 characters.

    Fix: Submit the full current gift card code in gift_card_code.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_GIFT_CARD_PURCHASE_REFUNDRequest errorNot retryable

    The purchase refund target does not identify original standalone payment funding.

    Fix: Supply a standalone gift_card_load_id, omit order and tender targets, and use its original payment_intent_id when specifying a payment.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_GIFT_CARD_REQUESTValidationNot retryable

    Gift card fields do not match the operation's constraints.

    Fix: Use the documented fields, currency, amount and concurrency fence for this operation.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_GIFT_CARD_SELECTIONValidationNot retryable

    The gift card selection is invalid or exceeds the 20 card limit.

    Fix: Remove a selected card before adding another when the order has 20 selections.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_HAS_PLANValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_IDValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_IDEMPOTENCY_KEYValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_IMAGE_ALTValidationNot retryable

    The image alt text exceeds the supported length.

    Fix: Shorten alt to 512 characters or fewer, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_IMAGE_EXTERNAL_REFERENCE_IDValidationNot retryable

    The image external reference ID has an invalid length.

    Fix: Use a non-empty external_reference_id of at most 255 characters, or omit it.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_INCLUDEValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_INCLUDE_DELETEDValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_INTERVALValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_INTERVAL_END_ATValidationNot retryable

    The report interval end is invalid.

    Fix: Use an RFC 3339 instant for interval_end_at.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_INTERVAL_START_ATValidationNot retryable

    The report interval start is invalid.

    Fix: Use an RFC 3339 instant for interval_start_at.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_INVENTORY_EXCEPTION_RESOLUTION_REASONValidationNot retryable

    The resolution reason_message is longer than 500 characters.

    Fix: Send reason_message of 500 characters or fewer, or omit it.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_INVENTORY_SOURCE_KEYValidationNot retryable

    An inventory.origin_policies key is not a supported origin.

    Fix: Use default, virtual_terminal, payment_link, checkout, api, or subscription as origin_policies keys.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_INVOICEValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_INVOICE_AUTOPAY_RETRY_OFFSETSValidationNot retryable

    The invoice autopay retry offsets are not unique, strictly increasing days from 1 through 30.

    Fix: Send retry_day_offsets in increasing order, each from 1 through 30 and used once.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_INVOICE_COLLECTIONValidationNot retryable

    The invoice collection input contains fields that do not apply to its mode.

    Fix: Send only the fields supported by the selected collection mode.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_INVOICE_COLLECTION_MODEValidationNot retryable

    The invoice collection mode is invalid.

    Fix: Use merchant_default, buyer_initiated, automatic, or external.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_INVOICE_DRAFT_SOURCEValidationNot retryable

    The invoice draft source is invalid.

    Fix: Provide exactly one valid order_id or quick_pay source.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_INVOICE_LATE_FEE_AMOUNTRequest errorNot retryable

    The calculated late fee is zero or exceeds the supported balance.

    Fix: Review the frozen policy and current principal balance.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_INVOICE_LATE_FEE_REASONValidationNot retryable

    The waiver reason_message is missing or too long.

    Fix: Provide reason_message between 1 and 4096 characters.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_INVOICE_LATE_FEE_SCHEDULEValidationNot retryable

    The schedule entry does not match the invoice.

    Fix: Provide an entry from the scheduled invoice, or omit it for an unscheduled invoice.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_INVOICE_PAYMENT_DUEValidationNot retryable

    The invoice payment due input does not match its due type.

    Fix: Provide the fields required by the selected type and remove fields that do not apply.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_INVOICE_PAYMENT_DUE_TYPEValidationNot retryable

    The invoice payment due type is invalid.

    Fix: Use none, absolute, payment_terms, customer_default, or merchant_default.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_INVOICE_PAYMENT_OPTION_LIMITValidationNot retryable

    An invoice payment option limit is missing a positive amount or a currency.

    Fix: Send max_total_money with a positive amount in minor units and a currency for each limit.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_INVOICE_PAYMENT_POLICYValidationNot retryable

    The invoice payment policy is invalid.

    Fix: Use supported payment options and valid per-option limits.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_INVOICE_PAYMENT_TERMValidationNot retryable

    The invoice payment term is invalid.

    Fix: Correct the calculation or late fee fields and retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_INVOICE_REMINDER_OFFSETValidationNot retryable

    An invoice reminder rule's days_from_due is outside -90 to 365.

    Fix: Send each days_from_due from -90 through 365.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_INVOICE_REPLY_TO_EMAILValidationNot retryable

    The invoice reply-to address is not a valid email address.

    Fix: Send invoices.reply_to_email as a single bare address, such as billing@example.com.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_INVOICE_TIMEZONEValidationNot retryable

    The invoice timezone is not a valid IANA timezone name.

    Fix: Set invoices.timezone to an IANA timezone name such as America/New_York.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_JSONValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Send valid JSON. If you send a corrected write, use a new idempotency key.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_LINE_ITEMValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_LINE_ITEMSValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_LINE_ITEM_REFUND_AMOUNTValidationNot retryable

    A line item refund amount is zero or negative, or nothing remains after its refund adjustments.

    Fix: Send a positive line_items[].amount_money, and keep refund adjustments below the line's refund amount.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_LINE_ITEM_REFUND_QUANTITYValidationNot retryable

    A line item refund quantity is zero or negative.

    Fix: Send a positive line_items[].quantity, or omit it to refund the line's remaining quantity.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_LIST_ALIASValidationNot retryable

    A list_alias in the predicate is not a lowercase identifier.

    Fix: Use the alias of a risk list: a lowercase letter followed by lowercase letters, digits, or underscores.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_LIST_ITEM_COUNTValidationNot retryable

    The request adds no risk list items or more than 500.

    Fix: Send 1 through 500 values in one request.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_LOW_STOCK_THRESHOLDValidationNot retryable

    The low stock threshold is negative.

    Fix: Send inventory.low_stock_threshold as 0 or greater. 0 turns off low stock alerts.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_MAX_AMOUNTValidationNot retryable

    The max_amount filter is not a single positive integer in minor units.

    Fix: Send max_amount once as a positive integer in minor units and include its three-letter currency, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_MAX_APPLICATIONS_PER_ORDERValidationNot retryable

    The promotion max_applications_per_order is less than 1.

    Fix: Set application_method.max_applications_per_order to 1 or more, or omit it.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_MAX_COMPLETIONSValidationNot retryable

    max_completions is less than 1.

    Fix: Set max_completions to 1 or more, or omit it for no limit.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_MAX_DISCOUNTED_QUANTITYValidationNot retryable

    The promotion max_discounted_quantity is not positive or does not apply to this promotion.

    Fix: Use a positive value with allocation each on a line_item or service_charge promotion, or omit application_method.max_discounted_quantity.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_MAX_LENGTHValidationNot retryable

    A custom field max_length is outside the supported range.

    Fix: Set custom_fields[].max_length from 1 through 4,096, or omit it to use the default.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_MAX_PROMOTIONS_PER_ORDERValidationNot retryable

    The maximum promotions per order is outside 1 to 10.

    Fix: Send promotions.max_promotions_per_order from 1 through 10.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_MAX_TOTAL_QUANTITYValidationNot retryable

    event_config.max_total_quantity is less than 1.

    Fix: Set event_config.max_total_quantity to 1 or more, or omit it for no event capacity limit.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_MAX_USESValidationNot retryable

    The max_uses limit is not a positive number.

    Fix: Set max_uses to 1 or more.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_MERCHANT_ADDRESSValidationNot retryable

    A merchant address field is too long, or the country is not a two-letter country code.

    Fix: Keep line1 and line2 within 255 characters, city and state within 100, and postal_code within 20, and set country to an uppercase ISO 3166-1 alpha-2 code such as US.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_MERCHANT_SELECTIONRequest errorNot retryable

    The requested merchant is unavailable to this developer identity.

    Fix: Retry with a merchant_id from selectable_merchants.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_METADATAValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_METADATA_KEYValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_METHODValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_MINIMUM_BALANCE_AMOUNTValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_MINIMUM_BALANCE_BY_CURRENCYValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_MINIMUM_BALANCE_CURRENCYValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_MIN_AMOUNTValidationNot retryable

    The min_amount filter is not a single positive integer in minor units.

    Fix: Send min_amount once as a positive integer in minor units and include its three-letter currency, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_MODEValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_MODIFIER_GROUPValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_MODIFIER_GROUP_STATUSValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_MODIFIER_GROUP_TYPEValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_MODIFIER_SETValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_MODIFIER_SET_IDValidationNot retryable

    modifier_set_id is not a valid modifier set ID.

    Fix: Send an ms_ ID returned by the modifier set API, or null to clear the attachment.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_MODIFIER_SET_STATUSValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_MODIFIER_STATUSValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_MONEYValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_MONTHLY_PAYOUT_DAYValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_NAMEValidationNot retryable

    The name is missing, blank, or too long.

    Fix: Send a non-empty name. A risk list name can be up to 255 characters.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_NOTIFICATION_TYPEValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_OAUTH_TOKENAuthenticationNot retryable

    The CLI OAuth grant is invalid or expired.

    Fix: Run flint auth login, then retry with a valid CLI access token.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_ONBOARDING_SESSIONAuthenticationNot retryable

    The request could not be authenticated.

    Fix: Send a valid Flint credential supported by this endpoint, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_OPERANDValidationNot retryable

    A comparison value does not fit its attribute or operator.

    Fix: Fix the value the error message describes. A values list holds 1 through 100 literals.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_OPERATORValidationNot retryable

    The promotion rule operator is not valid for its attribute.

    Fix: Use one of the operators the error message lists for that attribute.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_OPTIONSValidationNot retryable

    The product option collection is invalid.

    Fix: Send options as an array, or omit it to leave options unchanged.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_OPTION_POSITIONValidationNot retryable

    The product option position is invalid.

    Fix: Use a position of zero or greater.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_OPTION_STATUSValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_OPTION_VALUEValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_OPTION_VALUE_POSITIONValidationNot retryable

    The product option value position is invalid.

    Fix: Use a position of zero or greater.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_OPTION_VALUE_STATUSValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_ORDER_STATUSRequest errorNot retryable

    The order cannot be changed in its current status.

    Fix: Read the order and retry only while its status permits this change.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_ORGANIZATION_IDValidationNot retryable

    The organization_id is empty or identifies a deleted organization.

    Fix: Send the ID of an active organization.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_ORIGINValidationNot retryable

    The requested origin is not supported.

    Fix: Use a documented origin value and retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_PACKAGINGValidationNot retryable

    The shipment packaging choice is missing or unsupported.

    Fix: Set shipment.packaging to single_package.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_PAGE_ORIGINValidationNot retryable

    page_origin is not a valid checkout page origin, or the session is not embedded.

    Fix: Send the origin of your checkout page, such as https://shop.example.com, with surface embedded. Leave page_origin out for hosted sessions.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_PAGE_SIZEValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_PAGE_TOKENValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_PARENT_ORGANIZATIONValidationNot retryable

    The parent organization is deleted or is the organization itself.

    Fix: Set parent_organization_id to a different active organization.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_PARTNER_APPValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_PARTNER_TOKENAuthenticationNot retryable

    The partner install token is invalid or expired.

    Fix: Refresh or reinstall the partner app authorization, then retry with a valid partner install token.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_PAYMENTSValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_PAYMENT_FLOWValidationNot retryable

    The payment_flow filter contains an empty or unsupported value.

    Fix: Send payment_flow as a comma-separated list of checkout, payment_link, invoice, subscription_initial, subscription_renewal, virtual_terminal, or api.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_PAYMENT_LIMIT_RANGEValidationNot retryable

    The saved payment limits leave a payment option with no valid amount range.

    Fix: Ask an owner of the merchant's organization to correct the payment limits so each minimum is no greater than its maximum, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_PAYMENT_METHOD_TYPEValidationNot retryable

    The payment method type is missing or not supported for this request.

    Fix: Send a type the field accepts. Saved payment methods accept only card.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_PAYMENT_OPTIONSValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_PAYMENT_OPTION_LIMITValidationNot retryable

    A payment option limit is missing a positive amount or a currency.

    Fix: Set max_total_money with a positive amount and a currency on each payment option limit.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_PAYMENT_OPTION_RESOLVE_REQUESTValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_PAYMENT_SOURCEValidationNot retryable

    The payment source is unknown, not active, or could not be resolved.

    Fix: Send an active saved payment_method_id, or collect a new token or confirmation_token, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_PAYMENT_STATUSValidationNot retryable

    The requested payment status is not supported.

    Fix: Use unpaid, partially_paid, or paid and retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_PERCENT_OFFValidationNot retryable

    The promotion percentage is outside 1 to 100 or has more than 4 decimal places.

    Fix: Send application_method.percent_off, or application_method.get_percent_off for buy_x_get_y, between 1 and 100 with at most 4 decimal places.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_PHONE_FORMATValidationNot retryable

    The phone number is not in E.164 format.

    Fix: Send the number with a plus sign and country code, such as +14155551234.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_PREDICATEValidationNot retryable

    The risk rule predicate is not valid JSON.

    Fix: Send predicate as a JSON object that follows the risk rule predicate grammar.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_PREDICATE_GROUPValidationNot retryable

    An all or any node has no child nodes or more than 50.

    Fix: Put 1 through 50 nodes in each all or any node.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_PREDICATE_NODEValidationNot retryable

    A risk rule predicate node has the wrong shape.

    Fix: Make each node either a comparison with attribute and operator, or an all, any, or not node that contains only that field.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_PRICEValidationNot retryable

    A price or fee amount is zero or negative.

    Fix: Send a positive amount. A modifier unit_price_delta_money amount can also be zero.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_PRODUCT_CREATE_SHAPEValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_PRODUCT_TYPEValidationNot retryable

    The product_type is not supported.

    Fix: Use physical, service, fee, digital, or gift_card.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_PURPOSEValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_QUANTITYValidationNot retryable

    A quantity is outside the allowed range, or a line or amount is too large at that quantity.

    Fix: Send a line quantity from 1 through 9,999. For a subscription, choose a quantity that keeps every line at 9,999 units or fewer once multiplied. If the amount is too large, lower the quantity, the line quantities, or the line prices.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_QUANTITY_OPTIONSValidationNot retryable

    The offered quantity options are invalid.

    Fix: Provide unique quantities from 1 to 100.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_QUANTITY_RANGEValidationNot retryable

    A line item's min_quantity or max_quantity is invalid.

    Fix: Set min_quantity and max_quantity to 1 or more, with min_quantity no greater than max_quantity.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_QUERYValidationNot retryable

    The query value has an invalid length.

    Fix: Use a query of at most 255 characters, or omit it.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_QUERY_PARAMETERValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_RANGEValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_REASONValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_RECOVERY_EMAIL_DELAYValidationNot retryable

    The checkout reminder delay is outside the supported range.

    Fix: Send checkout.recovery_email.delay_seconds between 900 and 86400, in multiples of 60.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_RECURRENCE_TYPEValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_REDEMPTION_TYPEValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_REFUND_ADJUSTMENT_AMOUNTValidationNot retryable

    A refund adjustment amount_money is zero or negative.

    Fix: Send a positive line_items[].refund_adjustments[].amount_money.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_REFUND_ADJUSTMENT_APPLIES_TOValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_REFUND_ADJUSTMENT_REASON_CODEValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_REFUND_ADJUSTMENT_REFUND_AMOUNTValidationNot retryable

    An adjustment refund amount_money is zero or negative.

    Fix: Send a positive line_items[].adjustment_refunds[].amount_money.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_REFUND_ADJUSTMENT_TARGETValidationNot retryable

    A restocking_fee adjustment must use applies_to none.

    Fix: Set applies_to to none for restocking_fee adjustments.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_REFUND_ADJUSTMENT_TYPEValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_REFUND_METHODValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_REFUND_REASONValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_REFUND_STATUSValidationNot retryable

    The requested refund status is not supported.

    Fix: Use none, partially_refunded, or refunded and retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_REFUND_TENDER_ALLOCATIONValidationNot retryable

    The refund allocations do not identify valid original tenders and amounts.

    Fix: Use payment_intent or gift_card_redemption, its original resource ID, positive money in its currency, and a gift card destination only for gift card tenders.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_REPORT_INTERVALValidationNot retryable

    The report interval is invalid.

    Fix: Set interval_end_at after interval_start_at.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_REPORT_TYPEValidationNot retryable

    The report type is not supported.

    Fix: Use a report_type listed in the reports reference.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_REQUESTValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_REQUEST_BODYValidationNot retryable

    The request body is invalid.

    Fix: Send valid JSON that matches the request schema and contains no unknown fields.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_RESOURCE_IDValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_RESOURCE_TYPEValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_RETENTION_OFFER_KINDValidationNot retryable

    The retention offer kind is not supported.

    Fix: Set customer_account.buyer_capabilities.retention_offer.kind to none or pause_instead.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_RETENTION_OFFER_PAUSE_CYCLESValidationNot retryable

    The offered pause length is outside the supported range.

    Fix: Set customer_account.buyer_capabilities.retention_offer.pause_cycles from 1 to 12.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_RETURN_URLValidationNot retryable

    The return_url is not an address of the merchant's customer account.

    Fix: Send an HTTPS URL on the merchant's customer account: /{merchant_id} on Flint's account host, the merchant's active custom account domain, or the host of customer_account.merchant_account_url.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_REVIEW_STATUSValidationNot retryable

    The review status filter is invalid.

    Fix: Use open, resolving, or closed.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_REWARD_SELECTIONValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_RISK_LEVELValidationNot retryable

    The risk_level filter contains an empty or unsupported value.

    Fix: Send risk_level as a comma-separated list of normal, elevated, highest, or not_assessed.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_RISK_LIST_ALIASValidationNot retryable

    The risk list alias is not a lowercase identifier.

    Fix: Send an alias that starts with a lowercase letter and contains only lowercase letters, digits, and underscores, up to 128 characters.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_RISK_LIST_ITEM_TYPEValidationNot retryable

    The risk list item_type is not supported.

    Fix: Send card_fingerprint, card_bin, email, email_domain, ip_address, country, customer_id, string, or case_sensitive_string.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_ROLEValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_RULE_ACTIONValidationNot retryable

    The risk rule action is not supported.

    Fix: Set action to allow, block, review, or require_3ds.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_RULE_GROUPValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_RULE_OPERATORValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_RULE_VALUEValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_SANDBOX_IDValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_SCHEDULEValidationNot retryable

    The promotion schedule ends at or before it starts.

    Fix: Set schedule.ends_at later than schedule.starts_at.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_SCOPEValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_SHIPMENT_DIMENSIONSValidationNot retryable

    Package dimensions need a positive length, width, and height and a unit.

    Fix: Send dimensions with length, width, and height greater than 0 and a unit.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_SHIPMENT_DIRECTIONValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_SHIPMENT_PACKAGE_ITEM_QUANTITYValidationNot retryable

    The package item quantity is zero or negative.

    Fix: Send a quantity greater than 0.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_SHIPMENT_WEIGHTValidationNot retryable

    Package weight needs a positive value and a unit of gram, kilogram, ounce, or pound.

    Fix: Send weight.value greater than 0 and weight.unit as gram, kilogram, ounce, or pound.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_SMART_TIP_AMOUNTValidationNot retryable

    A smart tip amount is not positive.

    Fix: Send each tipping.smart_tip_money_options amount as a positive integer in minor units.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_SMART_TIP_AMOUNTS_COUNTValidationNot retryable

    The smart_tip_money_options list does not contain exactly 3 amounts.

    Fix: Send exactly 3 amounts in smart_tip_money_options, or omit the field.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_SORT_BYValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_SORT_DIRECTIONValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_SORT_FIELDValidationNot retryable

    The requested subscription sort field is not supported.

    Fix: Use created_at, updated_at, or next_billing_at.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_SOURCEValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_SOURCE_CONTEXTValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_STACKING_MODEValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_STATEMENT_DESCRIPTORValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_STATUSValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_STATUS_BUCKETValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_STATUS_FOR_CAPTURERequest errorNot retryable

    The payment intent is not awaiting capture.

    Fix: Capture only a payment intent whose status is requires_capture. Retrieve it to check its current status.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_STATUS_TRANSITIONRequest errorNot retryable

    The resource cannot move to the requested status from its current status. For example, only an open checkout session can be closed.

    Fix: Retrieve the resource and continue from its current status.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_SUBSCRIPTION_DELIVERY_MIGRATION_METHODSValidationNot retryable

    The delivery methods must differ.

    Fix: Send different from_delivery_method_id and to_delivery_method_id values.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_SUBSCRIPTION_OFFER_TARGETSValidationNot retryable

    One or more catalog targets cannot be subscribed.

    Fix: Select active physical, digital, or service products or variants. Read details for each failing target.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_SUBSCRIPTION_PLAN_LINE_ITEM_IDValidationNot retryable

    The item ID does not identify an item on this plan.

    Fix: Use a subscription_plan_line_item_id from this plan, or omit the ID to create an item.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_SUGGESTED_AMOUNTValidationNot retryable

    A suggested donation amount is less than 1 in minor units.

    Fix: Set each donation_suggested_amount_money_options amount to 1 or more.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_SUPPORT_EMAILValidationNot retryable

    The support email address is not valid.

    Fix: Send a plain email address of at most 320 characters without a display name, or an empty string to clear it.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_SUPPORT_PHONEValidationNot retryable

    The support phone number is not in E.164 format.

    Fix: Send support_phone in E.164 format with 7 to 15 digits, such as +12125551234, or an empty string to clear it.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_SUPPORT_URLValidationNot retryable

    The support URL is not a valid http or https URL.

    Fix: Send an absolute http or https URL of at most 2,048 characters with no surrounding whitespace, or an empty string to clear it.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_SURFACE_ROUTEValidationNot retryable

    The surface route is not a canonical public API route.

    Fix: Use the documented route template without a host, query string, or concrete resource ID.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_SWAP_VARIANTSValidationNot retryable

    The plan line contains an unsupported swap variant.

    Fix: Use at most 25 distinct active variants from the same product. Only variant lines support swaps.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_TAX_ADJUSTMENT_AUDIT_ACTOR_TYPEValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_TAX_ADJUSTMENT_REASON_CODEValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_TAX_BREAKDOWN_REFUND_AMOUNTValidationNot retryable

    A line item tax breakdown refund tax_money is zero or negative.

    Fix: Send a positive tax_money for each tax breakdown, or leave out breakdowns with nothing to refund.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_TAX_CALCULATION_TYPEValidationNot retryable

    The tax component calculation type is invalid.

    Fix: Use percentage for a line item or charge, or flat_amount for an order-scoped component.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_TAX_CATEGORYValidationNot retryable

    The tax category is invalid for this taxable item or charge.

    Fix: Use a documented Flint tax category for the field identified by param.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_TAX_IDENTITYValidationNot retryable

    The tax identity is invalid.

    Fix: Send printable legal_name and tax ID values, list each tax ID once, and reference only this identity's document_tax_id values.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_TAX_JURISDICTIONValidationNot retryable

    The external tax jurisdiction is invalid.

    Fix: Provide a US jurisdiction with a valid code, two-letter state, level, and name.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_TAX_MODEValidationNot retryable

    The tax calculation mode is invalid.

    Fix: Set mode to automatic or external.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_TAX_MONEYValidationNot retryable

    The explicit tax_money amount is negative.

    Fix: Send a tax_money amount of zero or more.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_TAX_PERCENTAGEValidationNot retryable

    A tax percentage is outside the supported range or precision.

    Fix: Set percent from 0 through 100 with at most four decimal places.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_TAX_PRICE_MODEValidationNot retryable

    The tax price mode is invalid.

    Fix: Set price_mode to additive or inclusive.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_TAX_REFUND_MODEValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_TAX_TYPEValidationNot retryable

    The tax component type does not match its calculation type.

    Fix: Use sales_tax or use_tax with percentage, and retail_delivery_fee with flat_amount.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_TEMPLATEValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_TIMESTAMPValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_TIMEZONEValidationNot retryable

    The timezone is not a valid IANA timezone name.

    Fix: Use an IANA timezone name such as America/New_York.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_TIPValidationNot retryable

    The requested tip must use one value type.

    Fix: Send exactly one of amount_money or percent.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_TIP_AMOUNTValidationNot retryable

    The requested tip amount is invalid.

    Fix: Send a positive amount in minor units.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_TIP_PERCENTValidationNot retryable

    A tip percent is outside the allowed range or exceeds the supported precision.

    Fix: Send each tip percent from 1 through 100 with at most four decimal places.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_TIP_PERCENTAGES_COUNTValidationNot retryable

    The tip_percent_options list does not contain exactly 3 percentages.

    Fix: Send exactly 3 values in tip_percent_options, or omit the field.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_TOTALSValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_TRANSACTION_PURPOSEValidationNot retryable

    The transaction purpose is not supported.

    Fix: Use goods, services, or other and retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_TYPEValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_UPDATED_AFTERValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_UPDATED_BEFOREValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_UPDATE_MASKValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_URLValidationNot retryable

    A URL in the request is malformed or does not use HTTPS where HTTPS is required.

    Fix: Send an absolute https URL with a host in the field identified by param.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_URL_HOSTValidationNot retryable

    The URL host does not resolve to a public IP address.

    Fix: Use a URL whose hostname resolves to a public IP address, not localhost or a private network.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_URL_SCHEMEValidationNot retryable

    The webhook endpoint URL does not use HTTPS.

    Fix: Send a url that starts with https://.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_USAGEValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_VALUESValidationNot retryable

    The promotion rule values do not fit its operator.

    Fix: Omit values for is_defined rules, and send more than one value only with the in operator.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_VALUE_TYPEValidationNot retryable

    A promotion rule value has the wrong type for its attribute.

    Fix: Send each value with the type the attribute expects, such as a string, number, boolean, or money object.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_VARIANT_STATUSValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_VERIFICATIONAuthenticationNot retryable

    The request could not be authenticated.

    Fix: Send a valid Flint credential supported by this endpoint, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_WEBHOOK_ENDPOINTValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_WEBHOOK_ENDPOINT_SOURCEValidationNot retryable

    The update sets partner event sources, partner_app_id, or mode on a merchant webhook endpoint.

    Fix: Send event_sources as [merchant] or omit it, and remove partner_app_id and mode.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_WEBHOOK_EVENTValidationNot retryable

    The webhook endpoint's event_sources cannot deliver the requested event_type.

    Fix: Send an event_type that the endpoint's event_sources can deliver.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_WEBSITE_URLValidationNot retryable

    The merchant website URL is not valid for account onboarding.

    Fix: Send the merchant's real, publicly reachable business website URL in profile.website_url, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVALID_WEEKLY_PAYOUT_DAYValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVENTORY_ADJUSTMENT_NOT_FOUNDRequest errorNot retryable

    The inventory adjustment was not found in this merchant environment.

    Fix: Check the inventory adjustment ID and environment.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVENTORY_ALLOCATION_POLICY_IN_USERequest errorNot retryable

    The inventory allocation policy has active reservations.

    Fix: Close or move the active reservations before making the policy inactive.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVENTORY_CHANGEDRequest errorNot retryable

    The inventory basis changed before the mutation committed.

    Fix: Read the current version or routing basis and retry with a new idempotency key when the logical request changes.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVENTORY_CONDITION_INVALIDValidationNot retryable

    The requested inventory quantities violate a physical-condition invariant.

    Fix: Correct the condition quantities and retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVENTORY_COUNT_CHANGEDRequest errorNot retryable

    The inventory count version, lifecycle state, or captured physical revision changed.

    Fix: Read the current count and level revisions, then retry if its state still allows the operation.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVENTORY_COUNT_NOT_FOUNDRequest errorNot retryable

    The inventory count was not found in this merchant environment.

    Fix: Check the inventory count ID and environment.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVENTORY_COUNT_PHYSICAL_REVISION_CHANGEDRequest errorNot retryable

    Physical stock at this level changed after the count captured it.

    Fix: Recount the affected inventory item at this location, then submit the observation again.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVENTORY_DEMAND_DUPLICATEValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVENTORY_DEMAND_INVALIDValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVENTORY_EVENT_PROVENANCE_INVALIDValidationNot retryable

    The physical inventory event provenance is structurally invalid.

    Fix: Correct the event time, source system, external source, actor, or observation sequence and retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVENTORY_INSUFFICIENTRequest errorNot retryable

    Current eligible inventory cannot satisfy the complete demand.

    Fix: Change demand, replenish stock, or change the routing source before retrying.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVENTORY_ITEM_INACTIVEValidationNot retryable

    The inventory item is not active, so it cannot be assigned to a variant.

    Fix: Activate the inventory item, or assign another active inventory item.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVENTORY_ITEM_IN_USERequest errorNot retryable

    The inventory item has active dependencies.

    Fix: Remove the reported catalog, level, reservation, or transfer dependencies before making it inactive or retiring it.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVENTORY_ITEM_NAME_INVALIDValidationNot retryable

    The inline inventory item name is missing or too long.

    Fix: Send an inventory_item.name with 1 through 255 characters.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVENTORY_ITEM_NOT_FOUNDRequest errorNot retryable

    The inventory resource was not found in this merchant environment.

    Fix: Check the resource ID and environment.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVENTORY_ITEM_REFERENCE_REQUIREDValidationNot retryable

    The variant sets both inventory_item_id and inventory_item.

    Fix: Send inventory_item_id to use an existing inventory item, or inventory_item to create one, but not both.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVENTORY_ITEM_UNAVAILABLERequest errorNot retryable

    The inventory item does not accept new sale or routing use.

    Fix: Activate the item or use another active inventory item.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVENTORY_LEVEL_NOT_FOUNDRequest errorNot retryable

    The inventory level was not found in this merchant environment.

    Fix: Check the inventory level ID and environment.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVENTORY_LOCATION_ALLOCATION_INACTIVERequest errorNot retryable

    The Location inventory capability rejects new claims.

    Fix: Activate allocation for the Location or choose another Location.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVENTORY_LOCATION_INELIGIBLERequest errorNot retryable

    The Location cannot supply this inventory demand.

    Fix: Inspect eligibility_reason, then change the routing source, configure the Location, or replenish inventory before retrying.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVENTORY_LOCATION_NOT_CONFIGUREDRequest errorNot retryable

    The Location does not have an active inventory capability.

    Fix: Configure and activate the Location inventory capability.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVENTORY_MOVEMENT_NOT_FOUNDRequest errorNot retryable

    The inventory movement was not found in this merchant environment.

    Fix: Check the inventory movement ID and environment.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVENTORY_POLICY_INVALIDValidationNot retryable

    The allocation policy request is structurally invalid.

    Fix: Correct the policy groups, ordering, splitting behavior, or limits and retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVENTORY_POLICY_NOT_FOUNDRequest errorNot retryable

    The inventory allocation policy was not found in this merchant environment.

    Fix: Check the inventory allocation policy ID and environment.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVENTORY_QUANTITY_CONFLICTRequest errorNot retryable

    The requested reservation transition exceeds the eligible quantity.

    Fix: Read the reservation lines and submit cumulative targets within the active quantities.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVENTORY_RECEIPT_CONFLICTRequest errorNot retryable

    The inventory receipt conflicts with current inventory lineage.

    Fix: Read the linked consumed quantities and retry with a valid remaining return quantity.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVENTORY_RECEIPT_INVALIDValidationNot retryable

    The inventory receipt request is structurally invalid.

    Fix: Correct the receiving Location, disposition, lineage, and quantities and retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVENTORY_RECEIPT_NOT_FOUNDRequest errorNot retryable

    The inventory receipt was not found in this merchant environment.

    Fix: Check the inventory receipt ID and environment.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVENTORY_RESERVATION_EXISTSRequest errorNot retryable

    The owner slot already has an active reservation.

    Fix: Read or replace the active reservation identified by the conflict details.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVENTORY_RESERVATION_EXPIREDRequest errorNot retryable

    The reservation is no longer an active stock claim.

    Fix: Create a new route-and-hold reservation.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVENTORY_RESERVATION_NOT_FOUNDRequest errorNot retryable

    The inventory reservation was not found in this merchant environment.

    Fix: Check the inventory reservation ID and environment.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVENTORY_RESERVATION_OWNER_MISMATCHAuthorizationNot retryable

    The caller cannot mutate this reservation owner type.

    Fix: Use the workflow that owns the reservation.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVENTORY_ROUTING_LOCATION_LIMIT_EXCEEDEDRequest errorNot retryable

    The demand requires more Locations than the allocation policy allows.

    Fix: Reduce demand, replenish inventory, or increase the policy's maximum_locations_per_assignment and retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVENTORY_ROUTING_SOURCE_INVALIDValidationNot retryable

    The inventory routing source does not match a supported branch.

    Fix: Send exactly one valid fixed Location, allocation policy, or immutable policy version reference.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVENTORY_ROUTING_SOURCE_REQUIREDValidationNot retryable

    Tracked demand requires an explicit inventory routing source.

    Fix: Use line items that do not track inventory, or send inventory_routing_source with a fixed Location, active policy, or immutable policy version.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVENTORY_ROUTING_TOO_COMPLEXValidationNot retryable

    The routing request exceeds a published structural limit.

    Fix: Reduce the number of demand lines, assignment edges, policy Locations, or split Locations and retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVENTORY_ROUTING_UNAVAILABLEServer errorRetryable

    A required routing dependency could not calculate authoritative ordering evidence.

    Fix: Retry after the routing dependency recovers.

    Still stuck? Report it with your request ID (opens in a new tab)

  • INVENTORY_SHORTAGERequest errorNot retryable

    The requested committed quantity is not protected by physical stock.

    Fix: Replenish, release, cancel, or explicitly reallocate the affected claim.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVENTORY_SOURCE_SEQUENCE_CHANGEDRequest errorNot retryable

    The physical observation sequence is stale or conflicting.

    Fix: Read the accepted source sequence and submit a strictly newer absolute observation.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVENTORY_TRANSFER_ACTION_NOT_ALLOWEDRequest errorNot retryable

    The requested inventory transfer action is not available.

    Fix: Choose an action from supported_actions and retry with the current version.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVENTORY_TRANSFER_CHANGEDRequest errorNot retryable

    The inventory transfer version or lifecycle state changed.

    Fix: Read the current transfer and retry if its state still allows the operation.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVENTORY_TRANSFER_INVALIDValidationNot retryable

    The inventory transfer request is structurally invalid.

    Fix: Correct the Locations, lines, physical conditions, or cumulative targets and retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVENTORY_TRANSFER_NOT_FOUNDRequest errorNot retryable

    The inventory transfer was not found in this merchant environment.

    Fix: Check the inventory transfer ID and environment.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVENTORY_UNAVAILABLERequest errorNot retryable

    Stock could not be held for this order's tracked line items.

    Fix: Check availability for the order's routing source, then replenish, widen the allocation policy, or reduce the quantity.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVOICE_ACCESS_AUTH_UNAVAILABLEServer errorRetryable

    Invoice access authentication is temporarily unavailable.

    Fix: Retry with exponential backoff. Contact support with the request_id if the error persists.

    Still stuck? Report it with your request ID (opens in a new tab)

  • INVOICE_AUTOPAY_PAYMENT_METHOD_REQUIREDValidationNot retryable

    Automatic invoice collection has no saved card to charge.

    Fix: Set collection.payment_method_id or configure a default card for the customer.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVOICE_AUTOPAY_PAYMENT_METHOD_UNSUPPORTEDValidationNot retryable

    Automatic invoice collection requires a reusable saved card.

    Fix: Choose an active reusable card that belongs to the invoice customer.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVOICE_AUTOPAY_RETRY_LIMIT_EXCEEDEDValidationNot retryable

    The invoice autopay retry policy has more than 5 retry offsets.

    Fix: Send at most 5 values in invoices.autopay_retry_policy.retry_day_offsets.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVOICE_BALANCE_CHANGEDRequest errorNot retryable

    The invoice balance changed after the payment request was prepared.

    Fix: Refresh the invoice and rebuild the payment selection from its current collectible balance.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVOICE_CHECKOUT_REPLACEMENT_NOT_ALLOWEDValidationNot retryable

    Invoice-owned checkout sessions cannot be replaced through generic checkout creation.

    Fix: Manage checkout through the invoice listed in blocking_resources using POST /v1/invoices/{invoice_id}/checkout-session.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVOICE_COLLECTION_BLOCKEDRequest errorRetryable

    Invoice collection is blocked until inventory is available.

    Fix: Resolve the inventory block, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVOICE_COLLECTION_CHANGEDRequest errorNot retryable

    The invoice collection state changed after the request was prepared.

    Fix: Refresh the invoice, then rebuild the request from its current state.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVOICE_COLLECTION_MODE_UNSUPPORTEDRequest errorNot retryable

    The invoice collection mode does not support this payment flow.

    Fix: Use hosted checkout for buyer_initiated invoices or POST /collect for automatic invoices.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVOICE_COST_COMPARISON_REQUIRES_OPTIONSValidationNot retryable

    Showing a cost comparison needs ACH debit and at least one card payment option enabled.

    Fix: Add ach_debit and card, apple_pay, or google_pay to invoices.payment_policy.enabled_payment_options, or set show_cost_comparison to false.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVOICE_DRAFT_CHANGEDRequest errorNot retryable

    The invoice changed before this update completed.

    Fix: Retrieve the invoice and retry with its current version as expected_version.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVOICE_HAS_ISSUED_CREDIT_NOTEValidationNot retryable

    The invoice has an issued credit note.

    Fix: Void the issued credit notes listed in blocking_resources before voiding the invoice.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVOICE_ISSUE_IN_PROGRESSRequest errorRetryable

    Invoice issue state changed before the request could complete.

    Fix: Retry with the same Idempotency-Key.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVOICE_LATE_FEE_NOT_COLLECTIBLERequest errorNot retryable

    The invoice has no eligible balance for this action.

    Fix: Use an open or partially paid invoice with unpaid principal for assessment or an unpaid fee for waiver.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVOICE_LATE_FEE_NOT_DUERequest errorNot retryable

    The late fee grace period has not elapsed.

    Fix: Wait until the invoice due date and frozen grace period have passed.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVOICE_LATE_FEE_NOT_FOUNDRequest errorNot retryable

    The invoice late fee was not found.

    Fix: Use a fee ID returned by this invoice in the selected environment.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVOICE_LATE_FEE_POLICY_REQUIREDRequest errorNot retryable

    The invoice has no frozen late fee policy.

    Fix: Assess fees only on invoices issued with a late fee policy.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVOICE_LOCKED_ORDER_FINANCIALSRequest errorNot retryable

    An active invoice controls the order's financial fields.

    Fix: Void the invoice listed in blocking_resources before changing the order financial fields.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVOICE_NOT_COLLECTIBLERequest errorNot retryable

    The invoice is not open or partially paid with a balance remaining.

    Fix: Collect only open or partially_paid invoices with a positive outstanding_money.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVOICE_NOT_CREDITABLERequest errorNot retryable

    The invoice cannot receive a credit note in its current state.

    Fix: Use an issued invoice that has not been voided.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVOICE_NOT_DRAFTRequest errorNot retryable

    The invoice is no longer a draft. After an invoice is issued, only reminders_paused can be changed.

    Fix: Read the current invoice. To change it after issue, send only reminders_paused, or correct it with a credit note.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVOICE_NOT_FOUNDRequest errorNot retryable

    The request could not be completed as submitted or in its current state.

    Fix: Inspect the error response, correct the request or resource state, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVOICE_NOT_ISSUEDRequest errorNot retryable

    The invoice has not been issued and has no public link.

    Fix: Issue the invoice before managing its public link.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVOICE_NOT_MARKABLE_UNCOLLECTIBLERequest errorNot retryable

    The invoice cannot be marked uncollectible in its current state.

    Fix: Use an open or partially_paid invoice with a positive outstanding balance and no active payment attempt.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVOICE_NOT_REVERSIBLERequest errorNot retryable

    The invoice payment cannot be reversed.

    Fix: Check the payment and invoice state before retrying.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVOICE_NOT_VOIDABLERequest errorNot retryable

    The invoice cannot be voided in its current state.

    Fix: Void only an unpaid draft or open invoice.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVOICE_PAYMENT_ALREADY_SETTLEDRequest errorNot retryable

    The invoice payment settled before cancellation completed.

    Fix: Read the settled attempt and current invoice.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVOICE_PAYMENT_ATTEMPT_ACTIVERequest errorRetryable

    An invoice payment attempt is open.

    Fix: Wait for it to finish or cancel it before retrying.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVOICE_PAYMENT_FAILEDPaymentNot retryable

    The invoice payment failed.

    Fix: Read the payment attempt, then direct the buyer to the invoice public URL or retry with a new Idempotency-Key.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVOICE_PAYMENT_NOT_APPLIEDRequest errorRetryable

    The invoice is paid, but the selected payment intent has not been applied to it yet.

    Fix: Wait for invoice payment processing to finish, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVOICE_PAYMENT_OPTIONS_REQUIREDValidationNot retryable

    Buyer-initiated collection requires at least one payment option.

    Fix: Enable a supported payment option in collection.payment_policy.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVOICE_PAYMENT_OPTION_LIMIT_EXCEEDEDValidationNot retryable

    The invoice payment policy has more than 100 payment option limits.

    Fix: Send at most 100 items in invoices.payment_policy.payment_option_limits.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVOICE_PAYMENT_OPTION_LIMIT_NOT_ENABLEDValidationNot retryable

    An invoice payment option limit names a payment option that is not enabled.

    Fix: Add the payment option to invoices.payment_policy.enabled_payment_options, or remove its limit.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVOICE_PAYMENT_PROCESSINGRequest errorRetryable

    An invoice payment attempt is processing.

    Fix: Wait for it to settle, fail, or be canceled before retrying.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVOICE_PAYMENT_RESOLVINGRequest errorRetryable

    Invoice payment work is still resolving, so competing collection or mutation cannot proceed yet.

    Fix: Wait for the payment resources listed in blocking_resources to finish, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVOICE_PAYMENT_TERM_CHANGEDRequest errorRetryable

    The invoice payment term changed before this update completed.

    Fix: Fetch the payment term and retry the update.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVOICE_PAYMENT_TERM_CURRENCY_MISMATCHRequest errorNot retryable

    The payment term's fixed late fee uses a different currency than the invoice.

    Fix: Choose a payment term whose fixed late fee uses the invoice currency.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVOICE_PAYMENT_TERM_IN_USERequest errorNot retryable

    The invoice payment term is still used as a default.

    Fix: Clear default_invoice_payment_term_id on the customers listed in blocking_resources. For a merchant reference, set invoices.default_invoice_payment_term_id to null with PATCH /v1/settings, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVOICE_PAYMENT_TERM_UNAVAILABLERequest errorNot retryable

    The selected invoice payment term is not active for this merchant environment.

    Fix: Choose an active invoice payment term and retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVOICE_PDF_UNAVAILABLERequest errorRetryable

    The invoice PDF is unavailable.

    Fix: Retry after the invoice artifact is generated.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVOICE_REMINDER_CHANGEDRequest errorRetryable

    The invoice changed while the reminder was being prepared.

    Fix: Retry the reminder request.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVOICE_REMINDER_RATE_LIMITEDRate limitRetryable

    A reminder was already sent for this invoice recently.

    Fix: Wait five minutes, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVOICE_REMINDER_RULE_LIMIT_EXCEEDEDValidationNot retryable

    The invoice reminder policy has more than 20 rules.

    Fix: Send at most 20 rules in invoices.reminder_policy.rules.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVOICE_SCHEDULE_ENTRY_NOT_COLLECTIBLERequest errorNot retryable

    The invoice has no collectible schedule entry, or the selected entry is not the next one due.

    Fix: Wait until the next entry is due and has an outstanding balance, then collect it. Omit invoice_schedule_entry_id if the invoice has no schedule.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVOICE_SCHEDULE_INVALIDValidationNot retryable

    The invoice schedule is invalid.

    Fix: Correct the complete schedule and replace it again.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVOICE_SOURCE_CONFLICTValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVOICE_SOURCE_REQUIREDValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVOICE_TAX_SNAPSHOT_MISSINGValidationNot retryable

    The invoice has no frozen automatic tax calculation to collect against.

    Fix: Void the invoice and issue it again, then collect payment.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVOICE_TAX_SNAPSHOT_STALERequest errorNot retryable

    The order changed after the invoice froze its automatic tax calculation.

    Fix: Void the invoice and issue it again, then collect payment.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • INVOICE_TIMEZONE_REQUIREDRequest errorNot retryable

    The payment term needs an invoice timezone, and none is set.

    Fix: Set invoices.timezone in settings, or use an on_receipt payment term without a late fee.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • ITEMS_REQUIREDValidationNot retryable

    The item collection is empty or missing.

    Fix: Provide at least one item in line_items.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • LAST_NAME_REQUIREDValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • LATEST_REVISIONRequest errorNot retryable

    The request could not be completed as submitted or in its current state.

    Fix: Inspect the error response, correct the request or resource state, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • LINE_ITEM_AMOUNT_REQUIREDValidationNot retryable

    An ad hoc line item has no price.

    Fix: Set unit_price_money or allow_unit_price_adjustment on the line item, or use variant_id or bundle_id.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • LINE_ITEM_DISCOUNT_NO_CHARGE_IDSValidationNot retryable

    A line_item class manual discount cannot target order charges.

    Fix: Remove manual.order_charge_ids, or use the service_charge discount class to discount charges.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • LINE_ITEM_DISCOUNT_REQUIRES_IDSValidationNot retryable

    A line_item class manual discount does not name any order line items.

    Fix: Send at least one ID in manual.order_line_item_ids, or use the order discount class.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • LINE_ITEM_INVALID_QUANTITYValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • LINE_ITEM_KEY_WHITESPACEValidationNot retryable

    A line item key has leading or trailing whitespace.

    Fix: Remove the leading and trailing whitespace from line_items[].key.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • LINE_ITEM_NAME_REQUIREDValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • LINE_ITEM_NAME_TOO_LONGValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • LINE_ITEM_NEGATIVE_PRICEValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • LINE_ITEM_NOT_FOUNDRequest errorNot retryable

    The order_line_item_id does not identify a line item on this order.

    Fix: Read the order and use an order_line_item_id from its line_items.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • LINE_ITEM_NOT_ON_ORDERRequest errorNot retryable

    A line item in the request does not belong to the order or has no settled amount to refund.

    Fix: Use an order_line_item_id from the order's line_items that was collected by a succeeded payment.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • LINE_ITEM_PRICE_REQUIREDValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • LINE_ITEM_QUANTITY_TOO_LARGEValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • LINE_ITEM_REFUND_AMOUNT_EXCEEDS_REFUNDABLEValidationNot retryable

    The line item refund amount is more than the line's remaining refundable amount.

    Fix: Read the line item's refunded_money and refund no more than the remaining amount.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • LINE_ITEM_REFUND_QUANTITY_EXCEEDS_REFUNDABLEValidationNot retryable

    The line item refund quantity is more than the line's remaining refundable quantity.

    Fix: Read the line item's refunded_quantity and refund no more than the remaining units.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • LINE_ITEM_REFUND_TARGET_AMBIGUOUSValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • LINE_ITEM_SOURCE_CONFLICTValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • LINE_ITEM_TARGETS_EXCEED_REFUND_AMOUNTValidationNot retryable

    The line items in the request add up to more than the refund amount_money.

    Fix: Raise amount_money to at least the line item total, or omit it to refund exactly the named lines.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • LINE_ITEM_UNIT_PRICE_REQUIREDValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • LIST_IN_USERequest errorNot retryable

    The request could not be completed as submitted or in its current state.

    Fix: Inspect the error response, correct the request or resource state, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • LIST_RESERVEDRequest errorNot retryable

    The request could not be completed as submitted or in its current state.

    Fix: Inspect the error response, correct the request or resource state, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • LOCATION_CHANGEDRequest errorNot retryable

    The Location version changed.

    Fix: Read the current Location and retry against its version.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • LOCATION_CONFLICTRequest errorNot retryable

    A Location mutation conflicted with the current version or an active dependency.

    Fix: Use the current version or remove the reported dependency before retrying.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • LOCATION_GEOGRAPHY_CHANGEDRequest errorNot retryable

    The Location geography revision changed.

    Fix: Read the current Location geography and retry against its geography revision.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • LOCATION_GEOGRAPHY_INVALIDValidationNot retryable

    The Location geography input is structurally invalid.

    Fix: Correct the address, timezone, coordinate, or coordinate source and retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • LOCATION_INVALIDValidationNot retryable

    The Location request is structurally invalid.

    Fix: Correct the reported Location field and retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • LOCATION_INVENTORY_CHANGEDRequest errorNot retryable

    The Location inventory capability revision changed.

    Fix: Read the current inventory capability and retry against its revision.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • LOCATION_IN_USERequest errorNot retryable

    The Location has active dependencies.

    Fix: Remove or close the reported dependencies before archiving the Location.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • LOCATION_NOT_ACTIVERequest errorNot retryable

    The Location is not active for a new dependency or claim.

    Fix: Activate the Location or choose another active Location.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • LOCATION_NOT_FOUNDRequest errorNot retryable

    The Location was not found in this merchant environment.

    Fix: Check the Location ID and environment.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • LOCATION_TOO_LONGValidationNot retryable

    The event venue is longer than 500 characters.

    Fix: Shorten event_config.venue to 500 characters or fewer.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • LOCATION_UNAVAILABLERequest errorNot retryable

    The Location is not active in this environment.

    Fix: Use the ID of an active Location, or activate the Location before retrying.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • MAX_BOUND_VIOLATIONAuthorizationNot retryable

    The new value is above the maximum an organization settings policy allows.

    Fix: Send a value at or below the organization's maximum for the setting identified by param, or ask the organization to change its settings policy.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • MAX_LENGTH_NOT_APPLICABLEValidationNot retryable

    max_length applies only to text and textarea custom fields.

    Fix: Remove max_length from dropdown and checkbox custom fields.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • MEMBERSHIP_REQUIREDAuthorizationNot retryable

    The user who created the API key has no direct membership in this organization.

    Fix: Use an API key created by a direct member of the organization.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • MERCHANTS_UNAVAILABLEServer errorRetryable

    Flint could not complete the request because a required service or internal operation failed.

    Fix: Retry with exponential backoff. Contact support with the request_id if the error persists.

    Still stuck? Report it with your request ID (opens in a new tab)

  • MERCHANT_ACCESS_REQUIREDAuthorizationNot retryable

    The authenticated caller is not authorized for this operation.

    Fix: Use credentials with access to the target merchant, environment, route, and scope, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • MERCHANT_ACCOUNT_DOMAIN_NOT_VERIFIEDValidationNot retryable

    The merchant account URL is not on an active verified payment method domain or one of its subdomains.

    Fix: Flint registers the URL's hostname as a payment method domain when you save it. Read it with GET /v1/payment-method-domains, run its check again with PATCH status active once the hostname serves your site, then save merchant_account_url again; if you send an idempotency key, use a new one.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • MERCHANT_ACCOUNT_NOT_READYRequest errorNot retryable

    The merchant payment account is not ready for domain registration.

    Fix: Complete merchant payment onboarding in the selected environment, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • MERCHANT_ACCOUNT_SESSION_ACCOUNT_SETUP_REPAIR_REQUIREDServer errorRetryable

    Flint could not complete the request because a required service or internal operation failed.

    Fix: Retry with exponential backoff. Contact support with the request_id if the error persists.

    Still stuck? Report it with your request ID (opens in a new tab)

  • MERCHANT_ACCOUNT_SESSION_ACCOUNT_SETUP_REQUIREDServer errorRetryable

    Flint could not complete the request because a required service or internal operation failed.

    Fix: Retry with exponential backoff. Contact support with the request_id if the error persists.

    Still stuck? Report it with your request ID (opens in a new tab)

  • MERCHANT_ACCOUNT_SESSION_ACCOUNT_SETUP_UNAVAILABLEServer errorRetryable

    Flint could not complete the request because a required service or internal operation failed.

    Fix: Retry with exponential backoff. Contact support with the request_id if the error persists.

    Still stuck? Report it with your request ID (opens in a new tab)

  • MERCHANT_ACCOUNT_SESSION_CONTROLLER_MISMATCHMerchant readinessNot retryable

    The merchant is not ready for this operation.

    Fix: Complete the required merchant readiness or onboarding action before retrying.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • MERCHANT_ACCOUNT_SESSION_INELIGIBLEMerchant readinessNot retryable

    The merchant is not ready for this operation.

    Fix: Complete the required merchant readiness or onboarding action before retrying.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • MERCHANT_ACCOUNT_SESSION_INVALID_COMPONENTValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • MERCHANT_ACCOUNT_SESSION_INVALID_LAUNCH_TOKENServer errorRetryable

    Flint could not complete the request because a required service or internal operation failed.

    Fix: Retry with exponential backoff. Contact support with the request_id if the error persists.

    Still stuck? Report it with your request ID (opens in a new tab)

  • MERCHANT_ACCOUNT_SESSION_INVALID_POLICY_COMBINATIONValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • MERCHANT_ACCOUNT_SESSION_LAUNCH_TOKEN_SCOPE_MISMATCHServer errorRetryable

    Flint could not complete the request because a required service or internal operation failed.

    Fix: Retry with exponential backoff. Contact support with the request_id if the error persists.

    Still stuck? Report it with your request ID (opens in a new tab)

  • MERCHANT_ACCOUNT_SESSION_POLICY_NOT_SUPPORTED_BY_COMPONENTValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • MERCHANT_ACCOUNT_SESSION_PREPARATION_FAILEDServer errorRetryable

    Flint could not complete the request because a required service or internal operation failed.

    Fix: Retry with exponential backoff. Contact support with the request_id if the error persists.

    Still stuck? Report it with your request ID (opens in a new tab)

  • MERCHANT_ACCOUNT_SESSION_PROVIDER_GRANT_MISMATCHServer errorRetryable

    Flint could not complete the request because a required service or internal operation failed.

    Fix: Retry with exponential backoff. Contact support with the request_id if the error persists.

    Still stuck? Report it with your request ID (opens in a new tab)

  • MERCHANT_ACCOUNT_SESSION_TARGETED_REMEDIATION_UNAVAILABLEValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • MERCHANT_ACCOUNT_SESSION_UNAVAILABLEServer errorRetryable

    Flint could not complete the request because a required service or internal operation failed.

    Fix: Retry with exponential backoff. Contact support with the request_id if the error persists.

    Still stuck? Report it with your request ID (opens in a new tab)

  • MERCHANT_ACCOUNT_SESSION_UNMAPPABLE_REQUIREMENT_IDValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • MERCHANT_ADDRESS_INCOMPLETEValidationNot retryable

    The merchant address is missing a required field.

    Fix: Send address with line1, city, state, postal_code, and country, or send address as null to clear it.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • MERCHANT_CHANGEDRequest errorNot retryable

    The merchant profile version changed.

    Fix: Retrieve the merchant and retry with its current version as expected_version.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • MERCHANT_CONTEXT_MISSINGServer errorRetryable

    Flint could not complete the request because a required service or internal operation failed.

    Fix: Retry with exponential backoff. Contact support with the request_id if the error persists.

    Still stuck? Report it with your request ID (opens in a new tab)

  • MERCHANT_ENVIRONMENT_NOT_FOUNDRequest errorNot retryable

    The merchant environment for this request could not be resolved.

    Fix: Check the merchant and environment your credential selects. Contact support with the request_id if the error persists.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • MERCHANT_FINANCE_READ_FAILEDServer errorRetryable

    Flint could not read the merchant billing projection.

    Fix: Retry with exponential backoff. Contact support with the request_id if the error persists.

    Still stuck? Report it with your request ID (opens in a new tab)

  • MERCHANT_NOT_LOADEDServer errorRetryable

    Flint could not complete the request because a required service or internal operation failed.

    Fix: Retry with exponential backoff. Contact support with the request_id if the error persists.

    Still stuck? Report it with your request ID (opens in a new tab)

  • MERCHANT_ONBOARDING_REQUIREDMerchant readinessNot retryable

    The merchant is not ready for this operation.

    Fix: Complete the required merchant readiness or onboarding action before retrying.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • MERCHANT_PROCESSING_RESTRICTEDMerchant readinessNot retryable

    The merchant's payment account is restricted and cannot accept payments.

    Fix: Retrieve the merchant to find the required remediation, resolve it, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • MERCHANT_READINESS_UNAVAILABLEServer errorRetryable

    Flint could not complete the request because a required service or internal operation failed.

    Fix: Retry with exponential backoff. Contact support with the request_id if the error persists.

    Still stuck? Report it with your request ID (opens in a new tab)

  • MERCHANT_SELECTION_REQUIREDRequest errorNot retryable

    A merchant must be selected before creating an onboarding session.

    Fix: Retry with a merchant_id from selectable_merchants.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • METADATA_KEY_TOO_LONGValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • METADATA_TOO_LARGEValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • METADATA_TOO_MANY_KEYSValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • METADATA_VALUE_TOO_LONGValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • METHOD_NOT_ALLOWEDRequest errorNot retryable

    The route exists, but does not support the requested HTTP method.

    Fix: Use one of the methods supported by the route, as listed in the Allow header.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • ME_CUSTOMER_ID_FORBIDDENValidationNot retryable

    The customer is determined by the customer session on every /v1/me route.

    Fix: Remove customer_id from the query string and request body, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • MINIMUM_BALANCE_CURRENCY_MISMATCHValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • MINIMUM_BALANCE_REQUIREDValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • MIN_BOUND_VIOLATIONAuthorizationNot retryable

    The new value is below the minimum an organization settings policy allows.

    Fix: Send a value at or above the organization's minimum for the setting identified by param, or ask the organization to change its settings policy.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • MISSING_CURRENCYValidationNot retryable

    The unit price has no currency.

    Fix: Set unit_price_money.currency to a three-letter ISO 4217 currency code.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • MISSING_DISPLAY_NAMEValidationNot retryable

    The promotion display_name is empty.

    Fix: Send a non-empty display_name, or omit it to keep the current value.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • MISSING_EXCLUSIVITY_GROUPValidationNot retryable

    The promotion exclusivity is missing its group.

    Fix: Set exclusivity.group to a non-empty name, or omit exclusivity.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • MISSING_LINE_ITEMSValidationNot retryable

    The request must include at least one line item.

    Fix: Add at least one line item and retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • MISSING_REQUIRED_FIELDValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • MISSING_URLValidationNot retryable

    The webhook endpoint URL is missing.

    Fix: Send url as a public HTTPS URL.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • MIXED_VARIANT_CURRENCIESValidationNot retryable

    Product variants use different currencies.

    Fix: Use one currency for every variant in the product.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • MODIFIERS_REQUIREDValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • MODIFIERS_UNAVAILABLEValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • MODIFIER_CURRENCY_MISMATCHValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • MODIFIER_DEFAULT_INVALIDValidationNot retryable

    The modifier defaults conflict with the group's selection limits.

    Fix: Set selected_by_default to true for any modifier with default_quantity, select no more defaults than max_selected, and keep default quantities within max_total_quantity.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • MODIFIER_DUPLICATE_SELECTIONValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • MODIFIER_GROUP_CHANGEDRequest errorNot retryable

    The modifier group version changed.

    Fix: Retrieve the modifier group and retry with its current version as expected_version.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • MODIFIER_GROUP_IN_USERequest errorNot retryable

    The modifier group is used by a modifier set that is not archived.

    Fix: Remove the group from every modifier set that uses it, or archive those sets, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • MODIFIER_GROUP_NAME_REQUIREDValidationNot retryable

    The modifier group name is missing.

    Fix: Provide a non-empty modifier group name.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • MODIFIER_GROUP_REQUIREDValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • MODIFIER_GROUP_UNAVAILABLERequest errorNot retryable

    A referenced modifier group was archived before the modifier set was saved.

    Fix: Retrieve the modifier group, replace it with an active reusable modifier group, and retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • MODIFIER_IN_USERequest errorNot retryable

    A modifier cannot be archived while its group is used by a modifier set that is not archived.

    Fix: Keep every existing modifier in the replacement, setting it to inactive if needed, while a modifier set uses the group.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • MODIFIER_METADATA_UNSUPPORTEDValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • MODIFIER_NAME_REQUIREDValidationNot retryable

    A modifier name is missing.

    Fix: Provide a non-empty name for each modifier.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • MODIFIER_OVERRIDE_INVALIDValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • MODIFIER_QUANTITY_INVALIDValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • MODIFIER_SELECTION_ID_INVALIDValidationNot retryable

    order_line_item_modifier_id does not match an existing modifier selection on the line item.

    Fix: Send the order_line_item_modifier_id of the existing selection for the same modifier, or omit it to add a new selection.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • MODIFIER_SELECTION_LIMIT_EXCEEDEDValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • MODIFIER_SET_GROUP_SOURCE_INVALIDValidationNot retryable

    The referenced modifier group is defined inline by a modifier set and cannot be reused.

    Fix: Use source existing with a reusable modifier group ID, or define the group with source inline.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • MODIFIER_SET_IN_USERequest errorNot retryable

    The modifier set is attached to a product, variant, or bundle.

    Fix: Set modifier_set_id to null on every product, variant, and bundle that uses the set, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • MODIFIER_SET_NAME_REQUIREDValidationNot retryable

    The modifier set name is missing.

    Fix: Provide a non-empty modifier set name.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • MODIFIER_SET_VERSION_CONFLICTRequest errorNot retryable

    The modifier set version changed.

    Fix: Retrieve the modifier set and retry with its current version as expected_version.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • MODIFIER_SOURCE_UNSUPPORTEDValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • MODIFIER_TEXT_INVALIDValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • MODIFIER_UNAVAILABLEValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • MONEY_MOVEMENT_HISTORY_STATUS_INVALIDServer errorRetryable

    Flint could not complete the request because a required service or internal operation failed.

    Fix: Retry with exponential backoff. Contact support with the request_id if the error persists.

    Still stuck? Report it with your request ID (opens in a new tab)

  • MONEY_MOVEMENT_OPERATION_BLOCKEDRequest errorNot retryable

    The request could not be completed as submitted or in its current state.

    Fix: Inspect the error response, correct the request or resource state, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • MONEY_MOVEMENT_PROVIDER_NOT_CONFIGUREDRequest errorNot retryable

    The request could not be completed as submitted or in its current state.

    Fix: Inspect the error response, correct the request or resource state, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • MONEY_MOVEMENT_PROVIDER_OPERATION_FAILEDServer errorRetryable

    Flint could not complete the request because a required service or internal operation failed.

    Fix: Retry with exponential backoff. Contact support with the request_id if the error persists.

    Still stuck? Report it with your request ID (opens in a new tab)

  • MONTHLY_PAYOUT_DAYS_NOT_ALLOWEDValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • MONTHLY_PAYOUT_DAYS_REQUIREDValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • MULTIPLE_IDENTITIES_FOUNDRequest errorNot retryable

    The request could not be completed as submitted or in its current state.

    Fix: Inspect the error response, correct the request or resource state, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • NAME_REQUIREDValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • NAME_TOO_LONGValidationNot retryable

    The name is longer than this resource allows.

    Fix: Shorten the name to the maximum length in the error message.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • NORMALIZED_IMAGE_TOO_LARGEValidationNot retryable

    The normalized image exceeds Flint's canonical byte limit.

    Fix: Reduce the source dimensions or complexity, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • NOTE_TOO_LONGValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • NOTHING_TO_REFUNDValidationNot retryable

    Nothing remains to refund: the order or payment is fully refunded, or a bank return already took the money back.

    Fix: Treat the refund as already complete. List the order's refunds and disputes to see where the money went.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • NOTHING_TO_REFUND_FOR_CHARGERequest errorNot retryable

    A charge in the request has nothing left to refund.

    Fix: Remove the fully refunded charge from charges and retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • NOTHING_TO_REFUND_FOR_LINE_ITEMValidationNot retryable

    A line item in the request has nothing left to refund.

    Fix: Remove the fully refunded line item from line_items and retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • NOTHING_TO_REFUND_FOR_TAX_BREAKDOWNRequest errorNot retryable

    The selected flat tax has no refundable amount remaining.

    Fix: Remove the tax breakdown from the request or read the order and its refunds before retrying.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • NO_DISCOUNTABLE_BALANCEValidationNot retryable

    No order balance is eligible for the requested discount.

    Fix: Remove the discount or add eligible line item value, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • NO_FIELDS_TO_UPDATEValidationNot retryable

    The update contains no mutable fields.

    Fix: Provide at least one mutable field documented for this resource.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • NO_PAYMENTS_FOR_ORDERValidationNot retryable

    The order has no succeeded payments to refund.

    Fix: Wait for a processing payment to succeed before refunding, or leave the order unrefunded if nothing was collected.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • NULL_NOT_ALLOWEDValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • OAUTH_CONTEXT_MISMATCHAuthorizationNot retryable

    A Flint context header does not match the OAuth token's binding.

    Fix: Remove the header, or run flint auth login for the requested merchant, mode, and environment.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • OAUTH_UNAVAILABLEServer errorRetryable

    Flint could not complete the request because a required service or internal operation failed.

    Fix: Retry with exponential backoff. Contact support with the request_id if the error persists.

    Still stuck? Report it with your request ID (opens in a new tab)

  • ONBOARDING_CONTROLLER_VERSION_UNSUPPORTEDMerchant readinessNot retryable

    The application release cannot resume the provider-account controller policy frozen on this onboarding attempt.

    Fix: Contact Flint support before retrying. Account setup cannot resume until Flint restores support for this account's setup configuration.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • ONBOARDING_DIRECT_OWNER_REQUIREDAuthorizationNot retryable

    The direct merchant owner who initiated onboarding no longer authorizes initial provider-account setup.

    Fix: Have the initiating direct owner retry, or restart before provider provisioning under the current direct owner.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • ONBOARDING_PARTNER_AUTH_UNSUPPORTEDAuthenticationNot retryable

    The request could not be authenticated.

    Fix: Send a valid Flint credential supported by this endpoint, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • ONBOARDING_PROFILE_PROVIDER_MANAGEDRequest errorNot retryable

    The account profile is managed through the embedded account experience after provider account setup begins.

    Fix: Open an account-management session and edit the profile there.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • ONBOARDING_SESSION_REQUIREDAuthenticationNot retryable

    The request could not be authenticated.

    Fix: Send a valid Flint credential supported by this endpoint, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • ONBOARDING_SESSION_TOKEN_FAILEDServer errorRetryable

    Flint could not complete the request because a required service or internal operation failed.

    Fix: Retry with exponential backoff. Contact support with the request_id if the error persists.

    Still stuck? Report it with your request ID (opens in a new tab)

  • ONBOARDING_UNAVAILABLEServer errorRetryable

    Flint could not complete the request because a required service or internal operation failed.

    Fix: Retry with exponential backoff. Contact support with the request_id if the error persists.

    Still stuck? Report it with your request ID (opens in a new tab)

  • OPTIONS_REQUIREDValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • OPTION_REQUIREDValidationNot retryable

    A product option entry is missing.

    Fix: Replace the empty entry with a valid option or remove it from the array.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • OPTION_VALUES_REQUIREDValidationNot retryable

    An active product option has no active values.

    Fix: Include at least one active value or mark the option inactive.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • OPTION_VALUE_REFERENCE_REQUIREDValidationNot retryable

    A variant selection does not identify an option value.

    Fix: Set option_value_id, or use both client_option_key and client_value_key during product creation.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • OPTION_VALUE_REQUIREDValidationNot retryable

    A product option value entry is missing.

    Fix: Replace the empty entry with a valid option value or remove it from the array.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • OPTION_VALUE_TOO_LONGValidationNot retryable

    The product option value label is too long.

    Fix: Use a value label with no more than 255 characters.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • ORDERS_UNAVAILABLEServer errorRetryable

    Flint could not complete the request because a required service or internal operation failed.

    Fix: Retry with exponential backoff. Contact support with the request_id if the error persists.

    Still stuck? Report it with your request ID (opens in a new tab)

  • ORDER_ALREADY_CLOSEDRequest errorNot retryable

    The order is already closed.

    Fix: Read the order and continue from its current terminal state instead of closing it again.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • ORDER_ALREADY_HAS_ACTIVE_INVOICERequest errorNot retryable

    The order already has an active invoice.

    Fix: Use the invoice listed in blocking_resources or void it before creating another.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • ORDER_ALREADY_HAS_PAYMENTSRequest errorNot retryable

    The order already has a payment, so it cannot be invoiced.

    Fix: Inspect the payments and owning invoices listed in blocking_resources. Invoice an unpaid order, or collect the remaining balance another way.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • ORDER_ALREADY_HAS_REFUNDSRequest errorNot retryable

    The order has a refund, so it cannot be invoiced.

    Fix: Inspect the refunds listed in blocking_resources. Invoice an order that has no refunds.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • ORDER_ALREADY_PAIDRequest errorNot retryable

    Order charges cannot change after the order has received a successful payment.

    Fix: Keep the current charges. Change charges only before the order receives a payment.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • ORDER_CHANGED_REFRESH_REQUIREDRequest errorNot retryable

    The order changed after the caller prepared the request.

    Fix: Refresh the order or checkout session and rebuild the request from current state.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • ORDER_CHARGE_ID_REQUIREDValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • ORDER_CHARGE_NOT_FOUNDValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • ORDER_CHARGE_TAX_INPUT_REQUIREDValidationNot retryable

    A taxable order charge is missing required tax input.

    Fix: Provide the charge tax field identified by param, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • ORDER_CHECKOUT_SESSION_CHANGEDRequest errorRetryable

    The order's open checkout session changed while this request was running.

    Fix: Retry the request.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • ORDER_CLOSEDRequest errorNot retryable

    The order is closed and cannot accept this change.

    Fix: Read the order and continue from its current state.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • ORDER_COLLECTION_ALREADY_ACTIVERequest errorNot retryable

    Another collection flow is already active for this order.

    Fix: Finish or close the collection resource listed in blocking_resources before starting another flow.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • ORDER_COLLECTION_IN_PROGRESSRequest errorNot retryable

    A checkout or invoice flow currently owns collection for the order.

    Fix: Finish or close the collection resource listed in blocking_resources before starting another payment.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • ORDER_CONFLICTRequest errorRetryable

    The order changed before this request could commit.

    Fix: Read the current order and retry the intended change.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • ORDER_CURRENCY_REQUIREDRequest errorNot retryable

    The order has no line items, so it has no currency for a charge.

    Fix: Add at least one line item to the order before adding charges.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • ORDER_CUSTOMER_ALREADY_SETValidationNot retryable

    The order already belongs to a customer and cannot be reassigned.

    Fix: Keep the current customer_id or create a new order for a different customer.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • ORDER_CUSTOMER_CHECKOUT_ACTIVERequest errorNot retryable

    An open checkout already owns collection for the order, so customer authority cannot change under its issued credential.

    Fix: Close the checkout session listed in blocking_resources before setting customer_id.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • ORDER_CUSTOMER_NOT_CLEARABLEValidationNot retryable

    The order customer cannot be cleared.

    Fix: Keep the current customer_id.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • ORDER_CUSTOMER_NOT_UPDATABLE_AFTER_PAYMENTValidationNot retryable

    The order customer cannot change after payment begins.

    Fix: Set customer_id before starting payment, or keep the current customer.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • ORDER_DELAYED_CAPTURE_SPLIT_PAYMENT_UNSUPPORTEDValidationNot retryable

    Delayed capture currently supports only one payment leg per order attempt.

    Fix: Use a single manual-capture leg, or use automatic capture for split payment.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • ORDER_DELIVERY_DESTINATION_REPRICE_REQUIREDRequest errorNot retryable

    The new delivery destination changes shipping or tax, or the paid delivery method is unavailable.

    Fix: Refund and cancel the order, or contact the buyer before arranging delivery to a different destination.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • ORDER_DISCOUNT_NO_CHARGE_IDSValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • ORDER_DISCOUNT_NO_LINE_ITEM_IDSValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • ORDER_FINANCIAL_MUTATION_NOT_ALLOWEDRequest errorNot retryable

    The order's financial fields cannot change after a refund is created.

    Fix: Use an explicit refund or credit adjustment instead of changing the order total.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • ORDER_HAS_ACTIVE_PAYMENT_INTENTRequest errorNot retryable

    The order has an active payment intent, so the invoice cannot be sent.

    Fix: Cancel the payment intents listed in blocking_resources, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • ORDER_HAS_MANUAL_PAYMENTSRequest errorNot retryable

    The order has recorded manual payments, so the invoice cannot be sent.

    Fix: Reverse the manual payments on the invoices listed in blocking_resources, or collect the remaining balance on the existing invoice.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • ORDER_HAS_NO_CHARGESRequest errorNot retryable

    The request names charges, but the order has no charges.

    Fix: Remove charges from the request, or refund the order's line items or amount_money instead.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • ORDER_HAS_NO_LINE_ITEMSRequest errorNot retryable

    The order has no line items.

    Fix: Add line items to the order before issuing its invoice, or refund by amount_money without line_items.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • ORDER_HAS_NO_REFUNDABLE_CHARGESRequest errorNot retryable

    The request names charges, but none of the order's charges has a settled amount left to refund.

    Fix: Remove charges from the request, or refund the order's line items or amount_money instead.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • ORDER_HAS_NO_REFUNDABLE_LINE_ITEMSRequest errorNot retryable

    The request names line items, but none of the order's line items has a settled amount left to refund for this payment.

    Fix: Remove line_items from the request, or refund the order's charges or amount_money instead.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • ORDER_HAS_OPEN_CHECKOUTRequest errorNot retryable

    The order has an open checkout session, so the invoice cannot be sent.

    Fix: Close the checkout sessions listed in blocking_resources, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • ORDER_INVENTORY_EXCEPTION_NOT_RESOLVABLERequest errorNot retryable

    The order has no paid inventory failure to resolve.

    Fix: Resolve only orders whose inventory_exception_status is paid_inventory_failed.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • ORDER_INVENTORY_EXCEPTION_UNRESOLVEDRequest errorNot retryable

    The order has an unresolved paid inventory failure, so its fulfillments cannot change.

    Fix: Resolve the order's inventory exception, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • ORDER_LINE_ITEM_ID_REQUIREDValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • ORDER_LINE_ITEM_NOT_FOUNDValidationNot retryable

    An ID in manual.order_line_item_ids does not identify a line item on this order.

    Fix: Read the order and send order_line_item_id values from its line_items.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • ORDER_LINE_ITEM_TAX_INPUT_REQUIREDValidationNot retryable

    A taxable order line item is missing required tax input.

    Fix: Provide the line item tax field identified by param, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • ORDER_LINE_ITEM_VERSION_CONFLICTRequest errorRetryable

    The line item changed after it was read.

    Fix: Read the current order, then retry with the line item's version as expected_version.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • ORDER_NOT_FOUNDRequest errorNot retryable

    The request could not be completed as submitted or in its current state.

    Fix: Inspect the error response, correct the request or resource state, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • ORDER_NOT_FULFILLABLERequest errorNot retryable

    Fulfillments can change only while the order's payment_status is paid.

    Fix: Read the order and retry after its payment_status is paid.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • ORDER_NOT_OPENRequest errorNot retryable

    The order is closed or fully paid, so it cannot accept this action.

    Fix: Read the order and continue from its current state, or use an open order with an unpaid balance.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • ORDER_NOT_PAYABLERequest errorNot retryable

    The order is not open for payment.

    Fix: Read the order and start or capture payments only while its status is open and it is not fully paid.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • ORDER_OWNED_PAYMENT_INTENT_REQUIREDValidationNot retryable

    The selected payment intent is not owned by this order.

    Fix: Create payment intents through the order-scoped route, then select those IDs, or use payment_source for a one-shot payment.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • ORDER_PAYMENT_ATTEMPT_ACTIVERequest errorNot retryable

    The order has lock-owning payment work in progress.

    Fix: Read active_payment_attempt. Resume it only when is_resumable is true; otherwise cancel, capture, or resolve it as allowed.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • ORDER_PAYMENT_AUTHORIZATION_NOT_FOUNDRequest errorNot retryable

    The order has no active payment authorization for this payment intent.

    Fix: Read the order's payment attempts and capture or cancel the payment intent of the attempt whose status is requires_capture.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • ORDER_PAYMENT_CUSTOMER_MISMATCHRequest errorNot retryable

    The order's customer does not match the customer of the selected payment intents or of this checkout.

    Fix: Use payment intents and a checkout for the order's customer_id, or ask the merchant to update the order's customer.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • ORDER_PAYMENT_FLOW_REQUIREDRequest errorNot retryable

    The payment intent belongs to an order.

    Fix: Follow remediation.next_actions to pay, capture, or cancel through the owning order. Use a credential with commerce.orders.write and provide any required_fields.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • ORDER_PAYMENT_INTENT_CREATE_IN_PROGRESSIdempotencyRetryable

    Creation of an order-owned payment intent with this idempotency key is still in progress.

    Fix: Wait for the Retry-After delay, then retry the same request with the same idempotency key.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • ORDER_PAYMENT_INTENT_CREATE_REQUIRES_REVIEWServer errorNot retryable

    Flint could not automatically reconcile the creation of the order's payment intent.

    Fix: Contact support with the request_id and the order ID. Do not start another payment for the order until support confirms the payment intent's state.

    Still stuck? Report it with your request ID (opens in a new tab)

  • ORDER_PAYMENT_LEG_ALREADY_SETTLEDRequest errorNot retryable

    The order payment leg already settled and cannot be canceled.

    Fix: Create a refund or reversal instead of canceling the payment.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • ORDER_PAYMENT_LEG_CHECKOUT_ACTIVERequest errorNot retryable

    A hosted checkout session is open for the order, and the order already has an unpaid payment leg.

    Fix: Cancel the leg in payment_intent_ids with POST /v1/orders/{order_id}/payment-intents/{payment_intent_id}/cancel before you stage another, or close the session in existing_checkout_session_id and collect the split payment in your own payment UI.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • ORDER_PERCENTAGE_TAX_FORBIDDENValidationNot retryable

    An order-scoped tax component uses percentage calculation.

    Fix: Use flat_amount for an order-scoped component. Put percentage components on line items or charges.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • ORDER_RECEIPT_EMAIL_ON_FILEValidationNot retryable

    This order already has a receipt email.

    Fix: Omit email to send to the address on file.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • ORDER_RECEIPT_EMAIL_UNAVAILABLERequest errorNot retryable

    The order does not have an email address that can receive a receipt.

    Fix: Add an email address to the customer or order, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • ORDER_RECEIPT_MERCHANT_MANAGEDRequest errorNot retryable

    Flint receipt delivery is disabled because the merchant sends its own receipts.

    Fix: Contact the merchant to request another receipt.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • ORDER_RECEIPT_NOT_AVAILABLERequest errorNot retryable

    The order does not have a paid receipt that can be sent.

    Fix: Check that the order has a successful payment before retrying.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • ORDER_RECEIPT_RECIPIENT_LIMIT_REACHEDRequest errorNot retryable

    This order already sent receipts to 3 email addresses, the limit for checkout credentials.

    Fix: Send to an address already used, or send the receipt with a secret API key.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • ORDER_RECEIPT_RECIPIENT_RESTRICTEDRequest errorNot retryable

    This checkout link cannot send a receipt to a new email address.

    Fix: Omit email to send the receipt to the email given for the order.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • ORDER_RECEIPT_RESEND_RATE_LIMITEDRate limitRetryable

    A receipt was already resent for this order recently.

    Fix: Wait five minutes, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • ORDER_RECONCILIATION_REQUIREDServer errorNot retryable

    The order payment state requires operational reconciliation before more money movement is safe.

    Fix: Do not retry blindly. Surface support and include the request_id and order ID.

    Still stuck? Report it with your request ID (opens in a new tab)

  • ORDER_REQUIRED_FOR_CHARGE_REFUNDValidationNot retryable

    Charge refunds need an order, and the payment intent has none.

    Fix: Send an order_id, or refund the payment intent by amount_money without charges.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • ORDER_REQUIRED_FOR_LINE_ITEM_REFUNDValidationNot retryable

    Line item refunds need an order, and the payment intent has none.

    Fix: Send an order_id, or refund the payment intent by amount_money without line_items.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • ORDER_REQUIRED_FOR_TAX_BREAKDOWN_REFUNDValidationNot retryable

    An order-scoped tax refund requires order_id.

    Fix: Provide the order_id that owns the tax breakdown.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • ORDER_REQUIRED_FOR_TENDER_REFUNDValidationNot retryable

    The refund allocations require an order_id to identify the original order.

    Fix: Provide the order_id that owns the original tenders and retry with a new Idempotency-Key.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • ORDER_REVISION_REQUIREDValidationNot retryable

    The order write omitted the required order_revision.

    Fix: Read the order and submit its order_revision.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • ORDER_STATUS_NOT_CLOSABLERequest errorNot retryable

    The order's current status does not allow it to be closed.

    Fix: Read the order and complete the actions supported by its current status before retrying.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • ORDER_TAX_CALCULATION_FAILEDServer errorRetryable

    Flint could not calculate tax.

    Fix: Retry with exponential backoff. Contact support with the request_id if the error persists.

    Still stuck? Report it with your request ID (opens in a new tab)

  • ORDER_TAX_FULL_ADDRESS_REQUIREDValidationNot retryable

    Automatic tax needs a full street address for the order's tax location.

    Fix: Update the order's tax.location.address with line1, city, state, postal_code, and country, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • ORDER_TAX_LOCATION_INVALIDValidationNot retryable

    The tax location is invalid or cannot be placed.

    Fix: Correct the address field identified by param, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • ORDER_TAX_LOCATION_REQUIREDValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • ORDER_TAX_NOT_READYRequest errorRetryable

    Automatic tax has not finished calculating for this order.

    Fix: Retry after the order tax status is calculated, exempt, or not_required.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • ORDER_TAX_NOT_UPDATABLE_AFTER_PAYMENTRequest errorNot retryable

    The order tax settings cannot change after payment begins.

    Fix: Set tax before starting payment, or keep the current tax settings.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • ORDER_TAX_RATE_UNAVAILABLEServer errorNot retryable

    Flint has no tax rate it can reproduce for the order's tax location.

    Fix: Use external tax, or contact support with the request_id.

    Still stuck? Report it with your request ID (opens in a new tab)

  • ORDER_TAX_UNSUPPORTED_COUNTRYValidationNot retryable

    Automatic tax does not support the selected country.

    Fix: Provide a US tax location, or use external tax.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • ORDER_TIP_MODEL_UNSUPPORTEDRequest errorNot retryable

    This order does not support requested-tip changes.

    Fix: Create a new order to use the current requested-tip model.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • ORDER_TOTAL_BELOW_NET_COLLECTEDValidationNot retryable

    The change would reduce the order total below the amount already collected.

    Fix: Use an explicit refund or credit adjustment instead of reducing the order total.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • ORDER_UNAVAILABLEServer errorRetryable

    Flint could not complete the request because a required service or internal operation failed.

    Fix: Retry with exponential backoff. Contact support with the request_id if the error persists.

    Still stuck? Report it with your request ID (opens in a new tab)

  • ORGANIZATION_CYCLEValidationNot retryable

    The new parent organization is a descendant of this organization.

    Fix: Choose a parent_organization_id outside this organization's subtree.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • ORGANIZATION_HAS_ACTIVE_DESCENDANTSRequest errorNot retryable

    The organization still has active child organizations.

    Fix: Delete or move its child organizations, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • ORGANIZATION_LINKED_TO_MERCHANTRequest errorNot retryable

    The organization is still linked to an active merchant.

    Fix: Move the merchant to another organization, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • ORG_SCOPE_RESOLUTION_FAILEDServer errorRetryable

    Flint could not complete the request because a required service or internal operation failed.

    Fix: Retry with exponential backoff. Contact support with the request_id if the error persists.

    Still stuck? Report it with your request ID (opens in a new tab)

  • OUTBOUND_PACKAGE_RETURN_FIELDS_FORBIDDENValidationNot retryable

    return_line_items applies only to packages on return shipments.

    Fix: Remove return_line_items, or create the package on a return shipment.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • OUTBOUND_SHIPMENT_RETURN_FIELDS_FORBIDDENValidationNot retryable

    return_id and return_line_items apply only to return shipments.

    Fix: Set direction to return, or remove return_id and return_line_items.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • OWNERSHIP_TRANSFER_FORBIDDENAuthorizationNot retryable

    Only the organization owner can transfer ownership.

    Fix: Use an API key created by the current organization owner.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • OWNERSHIP_TRANSFER_REQUIREDAuthorizationNot retryable

    The owner role cannot be granted through a membership change.

    Fix: Grant admin, operator, or viewer, or use the transfer ownership endpoint to change the owner.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • PACKAGE_ACTION_NOT_ALLOWEDRequest errorNot retryable

    The package cannot perform the requested action from its current state.

    Fix: Read current_resource.supported_actions and choose one of the listed actions.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • PACKAGE_CHANGEDRequest errorRetryable

    The package changed after the submitted version was read.

    Fix: Read the current package and retry with its version as expected_version.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • PACKAGE_PARENT_CHANGEDRequest errorRetryable

    The package's shipment or fulfillment changed while the transition was running.

    Fix: Retry the same package transition.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • PACKAGE_REQUIREDValidationNot retryable

    The shipment has no package input.

    Fix: Provide shipment.package, even when it is an empty object.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • PARTIAL_CAPTURE_NOT_SUPPORTEDValidationNot retryable

    Affirm authorizations must be captured in full.

    Fix: Omit amount_money, or send the full capturable amount.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • PARTNER_APP_INSTALL_NOT_FOUNDRequest errorNot retryable

    The request could not be completed as submitted or in its current state.

    Fix: Inspect the error response, correct the request or resource state, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • PARTNER_APP_MANAGEMENT_REQUIRES_LIVE_KEYAuthorizationNot retryable

    Partner app management requires a live API key.

    Fix: Use a live management key from Dashboard, Developers, API keys.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • PARTNER_APP_NOT_FOUNDRequest errorNot retryable

    The request could not be completed as submitted or in its current state.

    Fix: Inspect the error response, correct the request or resource state, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • PARTNER_AUTH_UNSUPPORTEDAuthenticationNot retryable

    The request could not be authenticated.

    Fix: Send a valid Flint credential supported by this endpoint, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • PARTNER_TOKEN_VALIDATION_FAILEDServer errorRetryable

    Flint could not complete the request because a required service or internal operation failed.

    Fix: Retry with exponential backoff. Contact support with the request_id if the error persists.

    Still stuck? Report it with your request ID (opens in a new tab)

  • PAUSE_DURATION_REQUIREDValidationNot retryable

    The store limits how long buyers may pause, so the pause needs a length.

    Fix: Send pause_duration_cycles from 1 to the store's customer_account.buyer_capabilities.pause.max_cycles.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • PAUSE_DURATION_TOO_LONGValidationNot retryable

    The pause is longer than the store lets buyers pause.

    Fix: Send pause_duration_cycles from 1 to the store's customer_account.buyer_capabilities.pause.max_cycles.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • PAUSE_NOT_ALLOWEDAuthorizationNot retryable

    The store doesn't let buyers pause subscriptions.

    Fix: Offer the buyer cancellation instead. The store can turn on customer_account.buyer_capabilities.pause.enabled.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • PAYMENT_ACTION_EXPIREDPaymentNot retryable

    The payment attempt was declined or could not be completed.

    Fix: Use the remediation next_actions and retry only after changing the requested payment inputs.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • PAYMENT_ACTION_WINDOW_TOO_SHORTRequest errorNot retryable

    The hosted payment attempt does not have enough remaining time to start a redirect payment.

    Fix: Start a fresh order payment attempt or choose card.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • PAYMENT_ALREADY_CANCELEDRequest errorNot retryable

    The payment intent has already been canceled.

    Fix: Retrieve the payment intent to confirm its status. No further cancellation is needed.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • PAYMENT_ALREADY_SETTLEDRequest errorNot retryable

    The payment method setup for this payment attempt has succeeded and cannot be canceled.

    Fix: Read the payment attempt and continue from its completed state instead of canceling it.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • PAYMENT_ALREADY_SUCCEEDEDRequest errorNot retryable

    The payment intent has already succeeded.

    Fix: Retrieve the payment intent. No further confirmation is needed.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • PAYMENT_AMOUNT_CHANGEDRequest errorNot retryable

    The payment intent amount changed while the confirmation was starting.

    Fix: Retrieve the payment intent to check its amount, then confirm again.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • PAYMENT_ATTEMPT_FROZENRequest errorRetryable

    A linked payment attempt currently prevents the requested order transition.

    Fix: Wait for the payment intent in blocking_resources to finish, then read the order before retrying.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • PAYMENT_ATTEMPT_ID_REQUIREDValidationNot retryable

    An active order payment authorization must be mutated through its owning payment attempt.

    Fix: Send the order_payment_attempt_id returned by PayOrder or active_payment_attempt.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • PAYMENT_ATTEMPT_IN_PROGRESSRequest errorRetryable

    A payment attempt owns the resource.

    Fix: Wait for the payment attempt listed in blocking_resources to finish, fail, or expire, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • PAYMENT_ATTEMPT_MISMATCHRequest errorNot retryable

    The submitted payment attempt does not own the selected payment intent.

    Fix: Refresh the order or payment attempt, then send the owning order_payment_attempt_id.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • PAYMENT_ATTEMPT_NOT_CANCELABLERequest errorNot retryable

    The payment attempt already finished and cannot be canceled.

    Fix: Read the attempt status. A failed or expired attempt holds nothing to cancel, and settled money needs a refund instead.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • PAYMENT_ATTEMPT_NOT_RESUMABLERequest errorNot retryable

    The requested payment attempt cannot be resumed from its current status.

    Fix: Read the attempt status and start, cancel, or capture only the work allowed by that state.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • PAYMENT_ATTEMPT_REQUIRES_CAPTURERequest errorNot retryable

    An authorized payment attempt is waiting to be captured or canceled.

    Fix: Capture or cancel the payment attempt listed in blocking_resources, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • PAYMENT_ATTEMPT_RESUME_CONFLICTValidationNot retryable

    A payment-attempt resume request included fields that belong to a new start.

    Fix: Send order_payment_attempt_id alone, with only an optional expected_outstanding_money assertion.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • PAYMENT_ATTEMPT_STILL_PROCESSINGRequest errorRetryable

    A previous payment attempt is still processing.

    Fix: Wait for the payment attempt or owning order in blocking_resources to finish processing, then read the order and retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • PAYMENT_AUTHORIZATION_EXPIREDRequest errorNot retryable

    The payment authorization has expired and can no longer be captured.

    Fix: Start a new payment for the order instead of capturing this authorization.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • PAYMENT_AUTHORIZATION_NOT_CAPTURABLERequest errorNot retryable

    The payment intent has no active authorization to capture or cancel.

    Fix: Read the payment intent and capture or cancel only while its status is requires_capture.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • PAYMENT_BLOCKEDPaymentNot retryable

    The payment attempt was declined or could not be completed.

    Fix: Use the remediation next_actions and retry only after changing the requested payment inputs.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • PAYMENT_CANCELEDRequest errorNot retryable

    The payment intent has been canceled and cannot be confirmed.

    Fix: Create a new payment intent to collect this payment.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • PAYMENT_CAPTURE_METHOD_NOT_ALLOWEDValidationNot retryable

    The requested capture method is not allowed for this order payment caller or start shape.

    Fix: Use automatic capture, or create an explicit merchant-authorized payment leg for delayed capture.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • PAYMENT_CONFIRMATION_STATE_CHANGEDRequest errorNot retryable

    The confirmation request no longer matches the PaymentIntent's durable attempt.

    Fix: Refresh the PaymentIntent, then start a new confirmation only if its current state permits it.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • PAYMENT_CONFIRM_IN_PROGRESSRequest errorNot retryable

    A different confirmation of this payment intent is already in progress.

    Fix: Wait for confirmation of the payment intent in blocking_resources to finish. Confirm again only if it still requires confirmation.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • PAYMENT_EXPIREDRequest errorNot retryable

    The payment intent has expired and cannot be confirmed.

    Fix: Create a new payment intent to collect this payment.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • PAYMENT_FAILEDPaymentNot retryable

    The payment attempt was declined or could not be completed.

    Fix: Use the remediation next_actions and retry only after changing the requested payment inputs.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • PAYMENT_INTENT_CANNOT_BE_UPDATEDRequest errorNot retryable

    The payment intent is processing, succeeded, canceled, or expired and can no longer be updated.

    Fix: Retrieve the payment intent to check its status. Create a new payment intent if you need different values.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • PAYMENT_INTENT_DISPUTEDRequest errorNot retryable

    A payment has an active or lost chargeback and cannot be refunded.

    Fix: Read the payment's dispute_status and refund an eligible payment instead.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • PAYMENT_INTENT_LIMIT_REACHEDRequest errorNot retryable

    The order has reached its lifetime limit of payment intents.

    Fix: Create a new order to collect this payment.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • PAYMENT_INTENT_NOT_CANCELABLERequest errorNot retryable

    The payment is processing and cannot be canceled because its bank debit was already submitted.

    Fix: Wait for the payment to succeed or fail. Refund it after it succeeds if needed.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • PAYMENT_INTENT_NOT_FOUNDRequest errorNot retryable

    The request could not be completed as submitted or in its current state.

    Fix: Inspect the error response, correct the request or resource state, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • PAYMENT_INTENT_NOT_PART_OF_ORDERValidationNot retryable

    The payment intent does not belong to the order in the request.

    Fix: Send the order_id that owns the payment intent, or send only payment_intent_id.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • PAYMENT_INTENT_NOT_REFUNDABLEValidationNot retryable

    Only a succeeded payment intent can be refunded.

    Fix: Cancel an uncaptured authorization instead, or wait for a processing payment to succeed.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • PAYMENT_INTENT_ORDER_MISMATCHRequest errorNot retryable

    The payment intent is not linked to this order.

    Fix: Send a payment_intent_id that belongs to the order in the path.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • PAYMENT_LEG_SELECTION_REQUIREDValidationNot retryable

    The order payment request needs an explicit payment-leg selection.

    Fix: Select the payment intents listed in the error details, create an order-owned leg, or use payment_source when no selectable leg exists.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • PAYMENT_METHOD_CUSTOMER_MISMATCHValidationNot retryable

    The payment method belongs to a different customer.

    Fix: Use an active payment method owned by the subscription customer.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • PAYMENT_METHOD_DECLINEDPaymentNot retryable

    The payment attempt was declined or could not be completed.

    Fix: Use the remediation next_actions and retry only after changing the requested payment inputs.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • PAYMENT_METHOD_DOMAINS_UNAVAILABLEServer errorRetryable

    Payment method domain records are temporarily unavailable.

    Fix: Retry with exponential backoff. Contact support with the request_id if the error persists.

    Still stuck? Report it with your request ID (opens in a new tab)

  • PAYMENT_METHOD_DOMAIN_ALREADY_EXISTSRequest errorNot retryable

    The exact domain is already registered in this merchant environment.

    Fix: Use the payment_method_domain_id returned in error.details.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • PAYMENT_METHOD_DOMAIN_NOT_FOUNDRequest errorNot retryable

    The payment method domain was not found in this merchant environment.

    Fix: Check the payment_method_domain_id and selected environment.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • PAYMENT_METHOD_DOMAIN_OPERATION_IN_PROGRESSRequest errorRetryable

    Another payment method domain operation is still in progress.

    Fix: Wait for the active operation to finish, then retry with the same Idempotency-Key.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • PAYMENT_METHOD_DOMAIN_REGISTRATION_FAILEDServer errorRetryable

    The external wallet domain registration could not be updated.

    Fix: Retry the same logical request with the same Idempotency-Key. Contact support with the request_id if the error persists.

    Still stuck? Report it with your request ID (opens in a new tab)

  • PAYMENT_METHOD_HAS_ACTIVE_SUBSCRIPTIONSRequest errorNot retryable

    A subscription that is not canceled still uses the payment method.

    Fix: Move each subscription to another payment method or cancel it, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • PAYMENT_METHOD_NOT_ACTIVERequest errorNot retryable

    The saved payment method is not active.

    Fix: Use an active saved payment method, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • PAYMENT_METHOD_NOT_READYRequest errorRetryable

    The payment method setup has not finished.

    Fix: Wait for payment_method.saved or poll until the payment method is active, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • PAYMENT_METHOD_ON_SESSION_ONLYValidationNot retryable

    The buyer saved this card for checkout only, so Flint does not charge it without them.

    Fix: Use a payment method whose usage is off_session, or collect a card the buyer saves for future charges.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • PAYMENT_METHOD_REQUIREDValidationNot retryable

    A required saved payment method was not provided or could not be resolved.

    Fix: Provide or collect an active saved payment method, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • PAYMENT_METHOD_SAVE_CODE_LIMIT_REACHEDRate limitRetryable

    Too many codes were requested to confirm this card.

    Fix: Wait a few minutes, or use the other channel.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • PAYMENT_METHOD_SAVE_EMAIL_UNAVAILABLERequest errorNot retryable

    An emailed code can't confirm this card: the customer's email isn't the email this checkout's payment was made with.

    Fix: Confirm the card with the code texted to the number given with the payment.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • PAYMENT_METHOD_SAVE_NOT_PENDINGRequest errorNot retryable

    The card from this checkout's payment no longer waits for confirmation: it is saved, or was not confirmed within 24 hours.

    Fix: Read payment_method_save on the checkout session.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • PAYMENT_METHOD_SAVE_NOT_READYRequest errorRetryable

    No card from this checkout's payment waits for confirmation yet; the payment may still be finishing.

    Fix: Read the checkout session again in a few seconds, then request the code.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • PAYMENT_METHOD_TEMPORARILY_UNAVAILABLEPaymentNot retryable

    The payment attempt was declined or could not be completed.

    Fix: Use the remediation next_actions and retry only after changing the requested payment inputs.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • PAYMENT_METHOD_UNAVAILABLEPaymentNot retryable

    The payment attempt was declined or could not be completed.

    Fix: Use the remediation next_actions and retry only after changing the requested payment inputs.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • PAYMENT_NOT_COMPLETEDPaymentNot retryable

    The payment attempt was declined or could not be completed.

    Fix: Use the remediation next_actions and retry only after changing the requested payment inputs.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • PAYMENT_NOT_REQUIREDValidationNot retryable

    The collection context has no outstanding balance to charge.

    Fix: Complete the zero-balance order without a payment source, or use setup_payment_source for an allowed future-billing setup.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • PAYMENT_OPERATION_IN_PROGRESSRequest errorRetryable

    Another operation is in progress for this payment intent.

    Fix: Wait for the operation on the payment intent listed in blocking_resources to finish, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • PAYMENT_OPTIONS_NOT_COMPARABLEValidationNot retryable

    Cost comparison needs ACH debit and at least one card payment option.

    Fix: Enable ach_debit and card, apple_pay, or google_pay, or set show_cost_comparison to false.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • PAYMENT_OPTIONS_REQUIREDValidationNot retryable

    A standalone PaymentIntent requires an explicit non-empty payment_options list.

    Fix: Provide at least one supported Flint payment option and retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • PAYMENT_OPTION_LIMIT_EXCEEDEDValidationNot retryable

    The invoice balance exceeds the configured limit for this payment option.

    Fix: Use an allowed payment option with a sufficient limit.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • PAYMENT_OPTION_LIMIT_NOT_ENABLEDValidationNot retryable

    A payment option limit refers to a payment option that is not enabled.

    Fix: Add the payment option to enabled_payment_options or remove its limit.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • PAYMENT_OPTION_NOT_ALLOWEDValidationNot retryable

    The saved payment method is not allowed by this invoice.

    Fix: Use the frozen saved card for automatic collection.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • PAYMENT_OPTION_NOT_READYRequest errorNot retryable

    The payment option has one or more readiness blockers.

    Fix: Use the error details to identify every blocker, its reason, and the responsible next step.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • PAYMENT_OPTION_RESOLVE_FAILEDServer errorRetryable

    Flint could not complete the request because a required service or internal operation failed.

    Fix: Retry with exponential backoff. Contact support with the request_id if the error persists.

    Still stuck? Report it with your request ID (opens in a new tab)

  • PAYMENT_OPTION_UNAVAILABLERequest errorNot retryable

    The requested payment option is not available for this merchant, amount, or checkout.

    Fix: Choose a payment option that is enabled and available for this merchant and amount, or enable one in settings, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • PAYMENT_PROCESSING_UNAVAILABLEServer errorRetryable

    Payment processing is temporarily unavailable for this merchant environment.

    Fix: Retry with exponential backoff. Contact support with the request_id if processing remains unavailable.

    Still stuck? Report it with your request ID (opens in a new tab)

  • PAYMENT_PROCESSOR_ERRORServer errorRetryable

    The payment processor returned an error while handling the request.

    Fix: Retry with exponential backoff using the same Idempotency-Key. Contact support with the request_id if the error persists.

    Still stuck? Report it with your request ID (opens in a new tab)

  • PAYMENT_PROCESSOR_REJECTEDRequest errorNot retryable

    The payment processor rejected the request.

    Fix: Retrieve the payment intent to check its current status and amount, correct the request if needed, then retry with a new Idempotency-Key.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • PAYMENT_PROCESSOR_UNAVAILABLEMerchant readinessNot retryable

    The merchant has no payment processor account set up for this environment.

    Fix: Complete the merchant's onboarding requirements for this environment, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • PAYMENT_RETURN_URL_INVALIDValidationNot retryable

    The payment return destination violates Flint's clean redirect rules.

    Fix: Use an absolute HTTPS URL without credentials, a query, or a fragment. Test-mode loopback URLs may use HTTP.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • PAYMENT_RETURN_URL_REQUIREDValidationNot retryable

    A redirect-capable payment option requires a clean browser return destination.

    Fix: Set payment_return_url to an absolute HTTPS URL without credentials, a query, or a fragment.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • PAYMENT_REVIEW_OPENRequest errorNot retryable

    The payment has an open risk review and must be approved before it can be captured.

    Fix: Approve the review named in blocking_resources and remediation.next_actions, then retry the capture.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • PAYMENT_SOURCE_CONFLICTValidationNot retryable

    The request supplied mutually exclusive payment credentials.

    Fix: Keep exactly one credential field from conflicting_fields and retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • PAYMENT_SOURCE_NOT_ALLOWEDRequest errorNot retryable

    The submitted payment source is not allowed for this caller or payment mode.

    Fix: Use a payment source allowed for the authenticated caller and retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • PAYMENT_SOURCE_NOT_UPDATABLERequest errorNot retryable

    A payment source can be attached only while the payment intent requires a payment method.

    Fix: Retrieve the payment intent to check its status. Complete its pending action, or create a new order payment intent for the new payment source.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • PAYMENT_SOURCE_OWNERSHIP_MISMATCHAuthorizationNot retryable

    The saved payment method is not owned by the customer authorized for this order payment.

    Fix: Use a saved payment method owned by the checkout customer, or collect a new payment source.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • PAYMENT_SOURCE_REQUIREDValidationNot retryable

    The payment start request does not include a payment source.

    Fix: Submit payment_intents with credentials, payment_source, setup_payment_source, or a resumable order_payment_attempt_id.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • PAYMENT_SOURCE_SELECTION_CONFLICTValidationNot retryable

    The request supplied both a legacy payment source selection and payment options.

    Fix: Remove payment_source_selection and use payment_options for the order payment.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • PAYMENT_SOURCE_SELECTION_REQUIREDRequest errorNot retryable

    The payment source selection did not choose a supported source.

    Fix: Select the card branch in payment_source_selection and retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • PAYMENT_SOURCE_UNAVAILABLERequest errorNot retryable

    The submitted payment source is no longer available for this attempt.

    Fix: Collect or select another payment source and start a new attempt.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • PAYMENT_START_SHAPE_CONFLICTValidationNot retryable

    The request mixed mutually exclusive order payment start shapes.

    Fix: Keep exactly one of payment_source, payment_intents, or setup_payment_source and retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • PAYMENT_UPDATE_REJECTEDRequest errorNot retryable

    The payment update was rejected.

    Fix: Check the requested fields, then send the corrected update with a new Idempotency-Key.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • PAYMENT_UPDATE_UNAVAILABLEServer errorRetryable

    Payment updates are temporarily unavailable.

    Fix: Retry the update with the same Idempotency-Key using exponential backoff. Contact support with the request_id if the error persists.

    Still stuck? Report it with your request ID (opens in a new tab)

  • PAYOUTS_NOT_ENABLEDMerchant readinessNot retryable

    Payouts are not enabled for this merchant.

    Fix: Check blocked_reasons and next_actions on GET /v1/capabilities, complete them, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • PAYOUT_DELAY_PROVIDER_CONTROLLEDRequest errorNot retryable

    The request could not be completed as submitted or in its current state.

    Fix: Inspect the error response, correct the request or resource state, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • PAYOUT_DESTINATIONS_MANAGEMENT_UNAVAILABLEMerchant readinessNot retryable

    Payout destinations cannot be managed for this merchant.

    Fix: Check the manage_payout_destinations capability on GET /v1/capabilities, complete its next actions, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • PAYOUT_DESTINATION_NOT_FOUNDRequest errorNot retryable

    The request could not be completed as submitted or in its current state.

    Fix: Inspect the error response, correct the request or resource state, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • PAYOUT_DESTINATION_UPDATE_EMPTYValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • PAYOUT_ENTRIES_UNAVAILABLEServer errorRetryable

    Authoritative payout allocation evidence is temporarily unavailable.

    Fix: Retry after the Retry-After delay. Contact support with the request_id if the error persists.

    Still stuck? Report it with your request ID (opens in a new tab)

  • PAYOUT_FEE_NOT_DETERMINABLERequest errorNot retryable

    The request could not be completed as submitted or in its current state.

    Fix: Inspect the error response, correct the request or resource state, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • PAYOUT_NOT_CANCELABLERequest errorNot retryable

    The request could not be completed as submitted or in its current state.

    Fix: Inspect the error response, correct the request or resource state, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • PAYOUT_NOT_FOUNDRequest errorNot retryable

    The request could not be completed as submitted or in its current state.

    Fix: Inspect the error response, correct the request or resource state, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • PAYOUT_SETTINGS_MANAGED_EXTERNALLYRequest errorNot retryable

    The request could not be completed as submitted or in its current state.

    Fix: Inspect the error response, correct the request or resource state, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • PAYOUT_SETTINGS_MANAGEMENT_UNAVAILABLEMerchant readinessNot retryable

    Payout settings cannot be managed for this merchant.

    Fix: Check the manage_payout_settings capability on GET /v1/capabilities, complete its next actions, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • PAYOUT_SETTINGS_SNAPSHOT_UNAVAILABLEServer errorRetryable

    Flint could not complete the request because a required service or internal operation failed.

    Fix: Retry with exponential backoff. Contact support with the request_id if the error persists.

    Still stuck? Report it with your request ID (opens in a new tab)

  • PAYOUT_SETTINGS_UPDATE_EMPTYValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • PAYOUT_STATUS_NOT_CANCELABLERequest errorNot retryable

    The payout's current status does not allow cancellation.

    Fix: Inspect current_status and retrieve the payout to confirm its outcome.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • PLAN_ARCHIVEDRequest errorNot retryable

    The subscription plan is archived and cannot be updated.

    Fix: Create a new subscription plan instead of updating the archived one.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • PLAN_HAS_ACTIVE_SUBSCRIPTIONSRequest errorNot retryable

    The subscription plan has active subscriptions.

    Fix: Cancel every active subscription on the plan, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • PLAN_HAS_OPEN_CHECKOUT_SESSIONSRequest errorNot retryable

    The subscription plan is used by an open checkout session.

    Fix: Close every open checkout session for the plan, or wait for them to close, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • PLAN_NOT_ACTIVERequest errorNot retryable

    The subscription plan is not active.

    Fix: Use an active subscription plan.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • PORTAL_ORDER_ID_REQUIREDValidationNot retryable

    A customer session can read delivery records only for a named order, so order_id is required.

    Fix: Add order_id to the query string with the ID of an order that belongs to the customer session's customer, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • PRICE_TOO_HIGHValidationNot retryable

    The unit price amount exceeds the maximum.

    Fix: Send a unit_price_money.amount of 99,999,999 or less, in minor units.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • PROCESSING_ERRORPaymentNot retryable

    The payment attempt was declined or could not be completed.

    Fix: Use the remediation next_actions and retry only after changing the requested payment inputs.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • PROCESSING_FEE_PRICING_NOT_AUTHORIZEDValidationNot retryable

    No authorized processing price covers this payment, so it was rejected before reaching the processor.

    Fix: Contact the merchant account owner to confirm that this payment option and amount are enabled. Retrying the same request will not succeed until the account configuration changes.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • PROCESSING_FEE_PRICING_UNAVAILABLEServer errorRetryable

    Flint could not resolve the processing price for this payment. No payment was submitted to the processor.

    Fix: Retry the same logical request with the same idempotency key. Contact support with the request_id if it persists.

    Still stuck? Report it with your request ID (opens in a new tab)

  • PROCESSOR_NOT_CONFIGUREDMerchant readinessNot retryable

    The merchant has not finished live account setup with the payment processor.

    Fix: Complete merchant onboarding, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • PRODUCT_IN_ACTIVE_PLANRequest errorNot retryable

    The product is used by an active subscription plan.

    Fix: Archive every subscription plan that uses the product, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • PRODUCT_IN_ACTIVE_SUBSCRIPTIONRequest errorNot retryable

    The product is used by an active subscription.

    Fix: Cancel every active subscription that uses the product, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • PRODUCT_IN_OPEN_CHECKOUT_SESSIONRequest errorNot retryable

    The product is used by an open checkout session.

    Fix: Close every open checkout session that contains the product, or wait for them to close, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • PRODUCT_IN_OPEN_INVOICE_PAYMENT_ATTEMPTRequest errorNot retryable

    The product is used by an open invoice payment attempt.

    Fix: Cancel or wait for every open invoice payment attempt that contains the product, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • PRODUCT_IN_OPEN_ORDERRequest errorNot retryable

    The product is used by an open order, so its display fields and default variant cannot change.

    Fix: Wait until every order that contains the product is no longer open, then retry. To stop selling it now, update only its status to inactive.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • PRODUCT_IN_USERequest errorNot retryable

    The product is used by an open order, so it cannot be deleted.

    Fix: Wait until every order that contains the product is no longer open, then retry. To stop selling it now, set its status to inactive.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • PRODUCT_LINE_ITEM_SOURCE_UNSUPPORTEDValidationNot retryable

    The line item identifies a product without a sellable variant or bundle.

    Fix: Provide variant_id, bundle_id, or ad-hoc line item fields instead of product_id alone.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • PRODUCT_OPTIONS_REQUIREDRequest errorNot retryable

    The product has no active options, so it cannot have additional variants.

    Fix: Add an active option to the product before creating variants, or change the simple product through its default variant.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • PRODUCT_OPTION_ALREADY_EXISTSRequest errorNot retryable

    Another active option on this product already uses this name.

    Fix: Use a name that no other active option on the product uses.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • PRODUCT_OPTION_VALUE_ALREADY_EXISTSRequest errorNot retryable

    Another active value in this option already uses this label.

    Fix: Use a label that no other active value in the option uses.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • PROFILE_RECONCILIATION_PENDINGServer errorRetryable

    The account accepted the profile update, but Flint has not finished reconciling the profile.

    Fix: Retry with the same idempotency key.

    Still stuck? Report it with your request ID (opens in a new tab)

  • PROFILE_UPDATE_STATUS_UNKNOWNServer errorRetryable

    Flint could not confirm the account profile update.

    Fix: Retry with the same idempotency key.

    Still stuck? Report it with your request ID (opens in a new tab)

  • PROFILE_WRITE_LIVE_MODE_REQUIREDRequest errorNot retryable

    Provider-backed merchant profile fields cannot be changed with a sandbox credential.

    Fix: Use a live-mode credential to update the business name or the support or website profile fields.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • PROMOTION_CODES_DISABLEDRequest errorNot retryable

    Promotion codes are turned off in the merchant's promotion settings.

    Fix: Set promotions.codes_enabled to true with PATCH /v1/settings first, or stop turning on promotion codes in the field identified by param.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • PROMOTION_CONFLICTValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • PROMOTION_DECLINEDValidationNot retryable

    The promotion could not be applied to this order.

    Fix: Use reason to correct the promotion or order inputs, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • PROMOTION_FILTER_TARGET_CONFLICTValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • PROMOTION_HAS_ACTIVE_SUBSCRIPTION_OFFERSRequest errorNot retryable

    Active subscription offers use this promotion, and an offer's discount must apply to every renewal.

    Fix: Remove the promotion from the offers in blocking_resources, or make those offers inactive, then change the recurrence.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • PROMOTION_ID_REQUIREDValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • PROMOTION_NOT_CODE_GATEDValidationNot retryable

    The promotion is automatic, so it cannot have promotion codes.

    Fix: Create codes only for a promotion whose redemption_type is code.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • PROMOTION_NOT_FOUNDRequest errorNot retryable

    The promotion ID, or the promotion behind the promotion code, does not identify a promotion in this environment.

    Fix: Check the promotion ID or code and the environment, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • PROMOTION_NOT_REDEEMABLEValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • PROMOTION_NO_ACTIVE_CODESValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • PROMOTION_SHAPE_IMMUTABLERequest errorNot retryable

    A redeemed promotion cannot change its discount_class or application_method type.

    Fix: Keep the current discount_class and application_method type, or create a new promotion.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • PROVIDER_ACCOUNT_CLEANUP_REQUIREDMerchant readinessNot retryable

    The merchant is not ready for this operation.

    Fix: Complete the required merchant readiness or onboarding action before retrying.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • PROVIDER_READINESS_UNAVAILABLEServer errorRetryable

    Flint could not evaluate payment option provider readiness.

    Fix: Retry with exponential backoff. Contact support with the request_id if the error persists.

    Still stuck? Report it with your request ID (opens in a new tab)

  • PROVISIONING_FAILEDServer errorRetryable

    Flint could not complete the request because a required service or internal operation failed.

    Fix: Retry with exponential backoff. Contact support with the request_id if the error persists.

    Still stuck? Report it with your request ID (opens in a new tab)

  • QUANTITY_ABOVE_MAXValidationNot retryable

    A quantity_overrides value is above the line item's max_quantity or above 9,999.

    Fix: Send a quantity at or below the line item's max_quantity and no more than 9,999.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • QUANTITY_BELOW_MINValidationNot retryable

    A quantity_overrides value is below the line item's min_quantity or below 1.

    Fix: Send a quantity of at least 1 and at or above the line item's min_quantity.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • QUANTITY_CHANGE_NOT_ALLOWEDAuthorizationNot retryable

    The store doesn't offer other quantities for this subscription.

    Fix: Change it only when the subscription's quantity_options lists more than one option.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • QUANTITY_NOT_ADJUSTABLEValidationNot retryable

    quantity_overrides names a line item whose quantity buyers cannot change.

    Fix: Remove the line item from quantity_overrides.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • RANGE_REQUIREDValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • RATE_LIMIT_EXCEEDEDRate limitRetryable

    The request exceeded the configured rate limit.

    Fix: Retry with exponential backoff and jitter. Use the Retry-After header when present.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • RECEIPT_EMAIL_NOT_UPDATABLERequest errorNot retryable

    receipt_email can only be updated before the payment is confirmed.

    Fix: Omit receipt_email from the update.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • RECIPIENT_EMAIL_REQUIREDValidationNot retryable

    Invoice email delivery requires a recipient email.

    Fix: Set recipient_email or issue with caller_managed delivery.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • REFUND_ADJUSTMENTS_EXCEED_AUTOMATICRequest errorNot retryable

    The line item's refund adjustments and withheld tax equal or exceed the line's automatic refund amount.

    Fix: Lower the refund_adjustments amounts or withheld tax so part of the line is still refunded, or leave the line out of the refund.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • REFUND_ADJUSTMENT_AMOUNT_MONEY_REQUIREDValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • REFUND_ADJUSTMENT_AUDIT_ACTOR_ID_REQUIREDValidationNot retryable

    tax_adjustment_audit.actor_id is empty.

    Fix: Send the ID of the person or system that approved the tax adjustment in actor_id.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • REFUND_ADJUSTMENT_AUDIT_ACTOR_ID_TOO_LONGValidationNot retryable

    tax_adjustment_audit.actor_id is longer than 255 characters.

    Fix: Send an actor_id of 255 characters or fewer.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • REFUND_ADJUSTMENT_AUDIT_SOURCE_REQUIREDValidationNot retryable

    tax_adjustment_audit.source is empty.

    Fix: Send the application or process that made the tax adjustment in source.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • REFUND_ADJUSTMENT_AUDIT_SOURCE_TOO_LONGValidationNot retryable

    tax_adjustment_audit.source is longer than 255 characters.

    Fix: Send a source of 255 characters or fewer.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • REFUND_ADJUSTMENT_LINE_ITEM_MISMATCHRequest errorNot retryable

    The adjustment being refunded belongs to a different line item than the one in the request.

    Fix: Move the adjustment_refunds entry under the line_items entry whose order_line_item_id matches the adjustment.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • REFUND_ADJUSTMENT_NOT_FOUNDRequest errorNot retryable

    The refund_line_item_adjustment_id does not match an adjustment from an earlier refund of this order.

    Fix: Use a refund_line_item_adjustment_id from line_item_allocations[].adjustments on one of the order's refunds.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • REFUND_ADJUSTMENT_PAYMENT_INTENT_MISMATCHRequest errorNot retryable

    The adjustment being refunded was withheld from a different payment than the payment_intent_id in the request.

    Fix: Send the payment_intent_id the adjustment was withheld from, or omit payment_intent_id and refund by order_id.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • REFUND_ADJUSTMENT_PAYMENT_INTENT_NOT_REFUNDABLERequest errorNot retryable

    A named line item or adjustment refund is tied to a payment that has nothing left to refund on the order.

    Fix: Remove the target tied to that payment, or refund it from a payment that still has a refundable amount.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • REFUND_ADJUSTMENT_REASON_DESCRIPTION_REQUIREDValidationNot retryable

    An adjustment reason with code other has no description.

    Fix: Send reason.description in refund_adjustments[].reason or tax_adjustment_reason when its code is other.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • REFUND_ADJUSTMENT_REASON_DESCRIPTION_TOO_LONGValidationNot retryable

    An adjustment reason description is longer than 1,024 characters.

    Fix: Shorten the description in refund_adjustments[].reason or tax_adjustment_reason to 1,024 characters or fewer.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • REFUND_ADJUSTMENT_REASON_REQUIREDValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • REFUND_ADJUSTMENT_REFUND_AMOUNT_MONEY_REQUIREDValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • REFUND_ADJUSTMENT_REFUND_EXCEEDS_PAYMENT_INTENT_REFUNDABLERequest errorNot retryable

    The line items and adjustment refunds tied to one payment add up to more than that payment can still refund.

    Fix: Read the order's payments and refunds, and lower the named line items or adjustment_refunds amounts for that payment.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • REFUND_ADJUSTMENT_REFUND_EXCEEDS_REMAININGRequest errorNot retryable

    The adjustment refund amount is more than the adjustment's remaining withheld amount.

    Fix: Read the adjustment's remaining_money on the original refund and send no more than that amount.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • REFUND_AMOUNT_NOT_ALLOCATEDRequest errorNot retryable

    Part of amount_money cannot be assigned to the order's line items, charges, tips, or tax.

    Fix: Lower amount_money to the total of the named targets, or name more line items or charges.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • REFUND_INSUFFICIENT_AVAILABLE_BALANCERequest errorRetryable

    The connected account does not have enough available balance to issue the refund.

    Fix: Restore the connected account's available balance, then create the refund again with a new idempotency key.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • REFUND_LINE_ITEM_ADJUSTMENT_ID_REQUIREDValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • REFUND_SUBMISSION_DEADLINE_EXPIREDRequest errorNot retryable

    The payment method's provider refund-submission window has ended.

    Fix: Reimburse the customer outside the original payment method and preserve the Refund history for reconciliation.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • REFUND_TARGETS_EXCEED_REFUND_AMOUNTValidationNot retryable

    The line items, charges, and tax breakdowns in the request add up to more than amount_money or their tender_allocations.

    Fix: Raise amount_money or the tender_allocations amounts to cover every named target, or remove targets.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • REFUND_TARGETS_NOT_ALLOCATEDRequest errorNot retryable

    Some named line items, charges, or tax breakdowns were paid by a tender the refund does not return money to.

    Fix: Add tender_allocations for the payments that funded the named targets, or remove those targets.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • REFUND_TENDER_CAPACITY_CONFLICTRequest errorNot retryable

    Refund allocations exceed an original tender's remaining value or do not cover the selected order components.

    Fix: Read the order and its refunds, include pending refunds in capacity, cover selected order components, and submit revised allocations with a new Idempotency-Key.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • REFUND_TENDER_NOT_FOUNDRequest errorNot retryable

    The original gift card redemption is not valid in this merchant environment.

    Fix: Check gift_card_redemption_id and the credential's merchant and environment.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • REPORTING_TIMEZONE_REQUIREDValidationNot retryable

    The reporting timezone is blank.

    Fix: Send reporting_timezone as an IANA timezone name such as America/New_York.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • REPORTING_UNAVAILABLEServer errorRetryable

    Reporting is temporarily unavailable.

    Fix: Retry the request. Contact support with the request_id if the error persists.

    Still stuck? Report it with your request ID (opens in a new tab)

  • REPORT_DOWNLOAD_EXPIREDRequest errorNot retryable

    The report download expired.

    Fix: Create a new report for the same interval.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • REPORT_INTERVAL_INCOMPLETEValidationNot retryable

    The report interval has not finished yet.

    Fix: Use an interval_end_at at or before the current time.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • REPORT_INTERVAL_TOO_LARGEValidationNot retryable

    The report interval exceeds the limit for its report type.

    Fix: Request a shorter interval.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • REPORT_NOT_FOUNDRequest errorNot retryable

    The report or download was not found.

    Fix: Check the Flint report ID and the API key environment.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • REQUEST_BODY_NOT_ALLOWEDValidationNot retryable

    This operation does not accept request fields.

    Fix: Send an empty request body or {}.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • REQUEST_BODY_TOO_LARGERequest errorNot retryable

    The request body is larger than the endpoint accepts.

    Fix: Send a body within the limit named in the error message. Split a large write into several requests, such as adding order line items in batches.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • REQUEST_FAILEDRequest errorNot retryable

    The request could not be completed as submitted or in its current state.

    Fix: Inspect the error response, correct the request or resource state, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • REQUEST_TIMEOUTServer errorRetryable

    The request timed out before Flint could complete it.

    Fix: Retry with exponential backoff. Contact support with the request_id if the timeout persists.

    Still stuck? Report it with your request ID (opens in a new tab)

  • REQUIRED_CUSTOM_FIELD_MISSINGValidationNot retryable

    A required custom field has no answer.

    Fix: Send a non-empty answer in custom_field_values for every required custom field.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • RESERVED_FIELD_NOT_YET_SUPPORTEDValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • RESERVED_METADATA_KEYValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • RESOURCE_LIMIT_EXCEEDEDValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • RESOURCE_NOT_FOUNDRequest errorNot retryable

    The requested resource could not be found for the authenticated merchant and environment.

    Fix: Check the resource ID, mode, and merchant context, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • RESOURCE_TIMELINE_TOKEN_INVALIDServer errorRetryable

    Flint could not complete the request because a required service or internal operation failed.

    Fix: Retry with exponential backoff. Contact support with the request_id if the error persists.

    Still stuck? Report it with your request ID (opens in a new tab)

  • RETENTION_OFFER_PAUSE_CYCLES_NOT_ALLOWEDValidationNot retryable

    A pause length was sent for a retention offer that isn't a pause.

    Fix: Remove retention_offer.pause_cycles, or set retention_offer.kind to pause_instead.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • RETENTION_OFFER_PAUSE_CYCLES_REQUIREDValidationNot retryable

    A pause_instead offer needs its pause length.

    Fix: Set customer_account.buyer_capabilities.retention_offer.pause_cycles from 1 to 12.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • RETENTION_OFFER_PAUSE_TOO_LONGValidationNot retryable

    The offered pause is longer than the store lets buyers pause.

    Fix: Set retention_offer.pause_cycles to at most pause.max_cycles, or raise pause.max_cycles.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • RETENTION_OFFER_REQUIRES_PAUSEValidationNot retryable

    A pause_instead offer needs buyers to be able to pause.

    Fix: Set pause.enabled to true, or set retention_offer.kind to none.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • RETURN_ACTION_NOT_ALLOWEDRequest errorNot retryable

    The requested Return action is not available in the current lifecycle state.

    Fix: Read the resource's supported_actions and current blockers before choosing the next action.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • RETURN_CHECKOUT_REQUIREDRequest errorNot retryable

    This order collects a return balance.

    Fix: Use POST /v1/return-resolutions/{return_resolution_id}/checkout-session.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • RETURN_COMPLETION_BLOCKEDRequest errorNot retryable

    The Return still has completion blockers.

    Fix: Read completion_blockers, resolve each outstanding fact or effect, and retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • RETURN_DECISION_SCOPE_REQUIREDAuthorizationNot retryable

    The buyer Return request includes merchant-only fields or a choice unavailable under the return policy.

    Fix: Omit merchant-only fields and choose a policy-allowed return or resolution. Ask the merchant to review other requests.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • RETURN_DISPOSITION_QUANTITY_EXCEEDEDRequest errorNot retryable

    The disposition exceeds available receipt or finalized inspection capacity.

    Fix: Read the current receipt or inspection line capacity and submit an available quantity.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • RETURN_FULFILLMENT_ALLOCATION_AMBIGUOUSRequest errorNot retryable

    The Order line belongs to multiple completed Fulfillments.

    Fix: Choose one of the candidate fulfillment_id values returned by the error.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • RETURN_INSPECTION_QUANTITY_EXCEEDEDRequest errorNot retryable

    The inspection exceeds current receipt-line capacity.

    Fix: Read the current receipt line and inspect only its available quantity.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • RETURN_INVALIDValidationNot retryable

    The Return request is structurally or semantically invalid.

    Fix: Correct the fields identified by the error and retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • RETURN_LINE_CANCELLATION_CONFLICTRequest errorNot retryable

    The requested Return line quantity is no longer safely cancelable.

    Fix: Use available_quantity and blocking_resources to cancel a smaller quantity or resolve the blocking work first.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • RETURN_NOT_FOUNDRequest errorNot retryable

    The Return resource was not found in this merchant environment.

    Fix: Check the resource ID and environment.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • RETURN_PACKAGE_ALLOCATION_EXCEEDS_SHIPMENTValidationNot retryable

    A package quantity exceeds the quantity the return shipment declares for that Return line.

    Fix: Send a quantity no greater than the shipment's return_line_items quantity for that line.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • RETURN_PACKAGE_LINE_DUPLICATEDValidationNot retryable

    A Return line appears more than once in the package's return_line_items.

    Fix: List each return_line_item_id once and combine its quantity.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • RETURN_PACKAGE_LINE_ITEMS_REQUIREDValidationNot retryable

    A package on a return shipment needs at least one return line item.

    Fix: Send return_line_items with the shipment's Return lines that this package carries.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • RETURN_PACKAGE_QUANTITY_INVALIDValidationNot retryable

    A return_line_items quantity is not greater than zero.

    Fix: Send a positive quantity for each return line item.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • RETURN_POLICY_CONFLICTRequest errorNot retryable

    More than one Return policy matched with the same precedence.

    Fix: Change policy priority or scope so the evaluation has one deterministic winner.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • RETURN_RECEIPT_QUANTITY_EXCEEDEDRequest errorNot retryable

    The receipt verification exceeds outstanding handback capacity.

    Fix: Read the Return line quantities and verify only the available quantity.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • RETURN_SHIPMENT_INVALIDValidationNot retryable

    The return line items do not match the Return or this fulfillment.

    Fix: Correct return_id and return_line_items as described in the error message, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • RETURN_SHIPMENT_LINE_ITEMS_REQUIREDValidationNot retryable

    A return shipment needs at least one return line item.

    Fix: Send return_line_items with the Return lines this shipment carries.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • RETURN_SHIPMENT_QUANTITY_INVALIDValidationNot retryable

    A return_line_items quantity is not greater than zero.

    Fix: Send a positive quantity for each return line item.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • RETURN_VALUE_EXCEEDEDRequest errorNot retryable

    The proposed resolution exceeds available Return quantity or value.

    Fix: Preview or read the current Return and allocate only unreserved value.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • RETURN_VERSION_CONFLICTRequest errorNot retryable

    The Return resource changed before the mutation committed.

    Fix: Read the current version, reconcile the change, and retry with the current expected version.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • REVERSAL_EXCEEDS_MANUAL_PAYMENTSRequest errorNot retryable

    The reversal is larger than the manual payments applied to the invoice.

    Fix: Retrieve the invoice and reverse no more than its applied manual payment amount.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • REVIEW_ALREADY_CLOSEDRequest errorNot retryable

    The review is already closed.

    Fix: Retrieve the review to inspect its outcome and closed reason.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • REVIEW_NOT_FOUNDRequest errorNot retryable

    The request could not be completed as submitted or in its current state.

    Fix: Inspect the error response, correct the request or resource state, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • REVIEW_RESOLUTION_IN_PROGRESSRequest errorNot retryable

    A different review resolution is already in progress.

    Fix: Retrieve the review to inspect its pending action and resolution start time before retrying.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • RISK_ACTION_NOT_SUPPORTED_FOR_PAYMENT_FLOWRequest errorNot retryable

    A risk rule requires 3D Secure, which this payment flow cannot complete because the cardholder is not present.

    Fix: Send the customer a payment link, or change the rule to skip this payment_flow.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • RISK_ACTION_NOT_SUPPORTED_FOR_PAYMENT_OPTIONRequest errorNot retryable

    A risk rule requires an action, such as review or 3D Secure, that the selected payment option does not support.

    Fix: Use a different payment option, or change the risk rule.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • RISK_CONTROL_CONFLICTRequest errorNot retryable

    The request could not be completed as submitted or in its current state.

    Fix: Inspect the error response, correct the request or resource state, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • RISK_EVALUATION_UNAVAILABLEServer errorRetryable

    Flint could not complete the request because a required service or internal operation failed.

    Fix: Retry with exponential backoff. Contact support with the request_id if the error persists.

    Still stuck? Report it with your request ID (opens in a new tab)

  • RISK_LIST_ALIAS_ALREADY_EXISTSRequest errorNot retryable

    The request could not be completed as submitted or in its current state.

    Fix: Inspect the error response, correct the request or resource state, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • RISK_RESOURCE_NOT_FOUNDRequest errorNot retryable

    The request could not be completed as submitted or in its current state.

    Fix: Inspect the error response, correct the request or resource state, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • ROLE_ASSIGNMENT_FORBIDDENAuthorizationNot retryable

    Your organization role cannot assign the requested role.

    Fix: Assign a role below your own: owners can assign admin, operator, or viewer, and admins can assign operator or viewer.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • ROLE_MANAGEMENT_FORBIDDENAuthorizationNot retryable

    Your organization role cannot change this member's current role.

    Fix: Ask a member with a higher role to make the change. Owners manage admins, operators, and viewers; admins manage operators and viewers.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • ROOT_ORGANIZATION_CREATION_FORBIDDENAuthorizationNot retryable

    API callers cannot create a root organization.

    Fix: Send parent_organization_id for an organization you manage, and do not clear the parent of an existing organization.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • ROUTE_NOT_FOUNDRequest errorNot retryable

    No public API route matched the request path.

    Fix: Check the path and remove unsupported trailing slashes or legacy routes before retrying.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • RULES_REQUIREDValidationNot retryable

    A promotion rule group that requires rules is empty or missing.

    Fix: Add at least one rule or nested group to the rule group named by param. A buy_x_get_y promotion requires qualifying_item_rules.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • RULE_ACTION_UNAVAILABLE_AT_STAGEValidationNot retryable

    This risk rule action cannot be combined with post-authorization attributes.

    Fix: Use only pre-authorization attributes with this action, or choose an action that runs after authorization.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • RULE_LIMIT_EXCEEDEDRequest errorNot retryable

    The request could not be completed as submitted or in its current state.

    Fix: Inspect the error response, correct the request or resource state, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • RULE_RESERVEDRequest errorNot retryable

    The request could not be completed as submitted or in its current state.

    Fix: Inspect the error response, correct the request or resource state, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • SANDBOXES_UNAVAILABLEServer errorRetryable

    Flint could not complete the request because a required service or internal operation failed.

    Fix: Retry with exponential backoff. Contact support with the request_id if the error persists.

    Still stuck? Report it with your request ID (opens in a new tab)

  • SANDBOX_ALREADY_EXISTSRequest errorNot retryable

    The request could not be completed as submitted or in its current state.

    Fix: Inspect the error response, correct the request or resource state, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • SANDBOX_ARCHIVEDRequest errorNot retryable

    The request could not be completed as submitted or in its current state.

    Fix: Inspect the error response, correct the request or resource state, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • SANDBOX_ARCHIVE_FAILEDServer errorRetryable

    Flint could not complete the request because a required service or internal operation failed.

    Fix: Retry with exponential backoff. Contact support with the request_id if the error persists.

    Still stuck? Report it with your request ID (opens in a new tab)

  • SANDBOX_BOOTSTRAP_FAILEDServer errorRetryable

    Flint could not complete the request because a required service or internal operation failed.

    Fix: Retry with exponential backoff. Contact support with the request_id if the error persists.

    Still stuck? Report it with your request ID (opens in a new tab)

  • SANDBOX_CREATE_FAILEDServer errorRetryable

    Flint could not complete the request because a required service or internal operation failed.

    Fix: Retry with exponential backoff. Contact support with the request_id if the error persists.

    Still stuck? Report it with your request ID (opens in a new tab)

  • SANDBOX_ID_NOT_ALLOWEDValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • SANDBOX_ID_REQUIREDValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • SANDBOX_INACTIVERequest errorNot retryable

    The request could not be completed as submitted or in its current state.

    Fix: Inspect the error response, correct the request or resource state, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • SANDBOX_LIST_FAILEDServer errorRetryable

    Flint could not complete the request because a required service or internal operation failed.

    Fix: Retry with exponential backoff. Contact support with the request_id if the error persists.

    Still stuck? Report it with your request ID (opens in a new tab)

  • SANDBOX_LOOKUP_FAILEDServer errorRetryable

    Flint could not complete the request because a required service or internal operation failed.

    Fix: Retry with exponential backoff. Contact support with the request_id if the error persists.

    Still stuck? Report it with your request ID (opens in a new tab)

  • SANDBOX_MANAGEMENT_REQUIRES_LIVE_KEYAuthorizationNot retryable

    Sandbox management requires a live API key.

    Fix: Use a live management key from Dashboard, Developers, API keys.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • SANDBOX_NOT_ACCESSIBLEAuthorizationNot retryable

    The authenticated caller is not authorized for this operation.

    Fix: Use credentials with access to the target merchant, environment, route, and scope, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • SANDBOX_NOT_FOUNDRequest errorNot retryable

    The request could not be completed as submitted or in its current state.

    Fix: Inspect the error response, correct the request or resource state, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • SANDBOX_PLANE_UNAVAILABLEServer errorRetryable

    Flint could not complete the request because a required service or internal operation failed.

    Fix: Retry with exponential backoff. Contact support with the request_id if the error persists.

    Still stuck? Report it with your request ID (opens in a new tab)

  • SANDBOX_RESET_FAILEDServer errorRetryable

    Flint could not complete the request because a required service or internal operation failed.

    Fix: Retry with exponential backoff. Contact support with the request_id if the error persists.

    Still stuck? Report it with your request ID (opens in a new tab)

  • SANDBOX_RESET_UNAVAILABLEServer errorRetryable

    Flint could not complete the request because a required service or internal operation failed.

    Fix: Retry with exponential backoff. Contact support with the request_id if the error persists.

    Still stuck? Report it with your request ID (opens in a new tab)

  • SANDBOX_SELECTION_FORBIDDENAuthorizationNot retryable

    The authenticated caller is not authorized for this operation.

    Fix: Use credentials with access to the target merchant, environment, route, and scope, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • SANDBOX_SELECTION_REQUIREDAuthenticationNot retryable

    The test-mode API key is not bound to a sandbox.

    Fix: Create or use a sandbox-bound test key for the sandbox this request should target, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • SAVE_PAYMENT_METHOD_CREDENTIAL_REQUIREDValidationNot retryable

    Saving a card requires one newly collected card sent as a confirmation_token.

    Fix: Send the card the buyer typed as the only credential, in a confirmation_token, with save_payment_method.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • SAVE_PAYMENT_METHOD_NOT_OFFEREDValidationNot retryable

    This checkout does not offer saving the buyer's card.

    Fix: Read the checkout session with its checkout credential and send save_payment_method only when save_payment_method_offered is true.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • SAVE_PAYMENT_METHOD_PHONE_INVALIDValidationNot retryable

    save_payment_method_phone must be a US or Canadian mobile phone number in E.164 format.

    Fix: Send the number with +1, such as +14155552671, or save the card without a number.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • SAVE_PAYMENT_METHOD_PHONE_NOT_ALLOWEDValidationNot retryable

    save_payment_method_phone applies only with save_payment_method, while the checkout acts for no customer or for the customer whose email the buyer confirmed in it.

    Fix: Send save_payment_method without save_payment_method_phone when the checkout acts for the customer the merchant named or a texted code bound it, or with save_payment_method: true otherwise.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • SAVE_PAYMENT_METHOD_PHONE_NOT_OFFEREDValidationNot retryable

    This checkout can't text a code to confirm a saved card.

    Fix: Read the checkout session and send save_payment_method_phone only when save_payment_method_phone_offered is true.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • SAVE_PAYMENT_METHOD_TOKEN_MISMATCHValidationNot retryable

    The confirmation_token does not match the buyer's choice to save the card.

    Fix: Create the confirmation_token with setup_future_usage on_session when the buyer saves the card, and without setup_future_usage when they do not.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • SAVE_PAYMENT_METHOD_UNSUPPORTEDValidationNot retryable

    Only a card typed into checkout can be saved for faster checkout.

    Fix: Send wallet, bank, and Affirm payments without save_payment_method.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • SAVE_PAYMENT_METHOD_VERIFICATION_REQUIREDValidationNot retryable

    Saving the card needs the buyer's email confirmed in this checkout first.

    Fix: Request a code with POST /v1/checkout-sessions/{checkout_session_id}/customer-verifications, confirm it, then pay again with the checkout credential the confirmation returned.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • SCHEDULED_SEND_IN_PASTValidationNot retryable

    The scheduled send time is not in the future.

    Fix: Set scheduled_send_at to a future time, or omit it to keep the invoice as a draft.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • SCOPES_REQUIREDValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • SCOPE_NOT_ALLOWEDValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • SCOPE_NOT_ALLOWED_FOR_KEY_MODEValidationNot retryable

    The requested scope is not available for the target API key mode.

    Fix: Remove the scope or create or use a live key from Dashboard, Developers, API keys.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • SELECTED_OPTIONS_REQUIREDValidationNot retryable

    A variant of an optioned product has no selected option values.

    Fix: Send selected_option_values with one value for each active option.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • SELF_ROLE_EDITS_FORBIDDENAuthorizationNot retryable

    A member cannot change their own organization role.

    Fix: Use an API key created by a different member to change this user's role.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • SENSITIVE_IDEMPOTENCY_ENCRYPTION_INVALIDServer errorRetryable

    Flint could not complete the request because a required service or internal operation failed.

    Fix: Retry with exponential backoff. Contact support with the request_id if the error persists.

    Still stuck? Report it with your request ID (opens in a new tab)

  • SENSITIVE_IDEMPOTENCY_ENCRYPTION_UNCONFIGUREDServer errorRetryable

    Flint could not complete the request because a required service or internal operation failed.

    Fix: Retry with exponential backoff. Contact support with the request_id if the error persists.

    Still stuck? Report it with your request ID (opens in a new tab)

  • SENSITIVE_IDEMPOTENCY_RESULT_INVALIDServer errorNot retryable

    A secret-bearing mutation did not provide the recovery metadata required for safe durable replay.

    Fix: Do not retry blindly. Contact Flint support with the request_id.

    Still stuck? Report it with your request ID (opens in a new tab)

  • SERVER_GENERATED_IDValidationNot retryable

    The request supplied an ID that Flint assigns during creation.

    Fix: Remove the server-generated ID from the create request.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • SERVICE_CHARGE_DISCOUNT_NO_LINE_ITEM_IDSValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • SERVICE_CHARGE_DISCOUNT_REQUIRES_CHARGE_IDSValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • SERVICE_CHARGE_DISCOUNT_SCOPE_INVALIDValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • SERVICE_TIMEZONE_REQUIREDValidationNot retryable

    Scheduling this service fulfillment needs a timezone, and the fulfillment has none.

    Fix: Send timezone with an IANA timezone name when scheduling, or set the service fulfillment's timezone first.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • SERVICE_UNAVAILABLEServer errorRetryable

    A service required to complete the request is temporarily unavailable.

    Fix: Retry with exponential backoff. Contact support with the request_id if the error persists.

    Still stuck? Report it with your request ID (opens in a new tab)

  • SETTINGS_CONCURRENT_MODIFICATIONRequest errorRetryable

    The catalog default changed after it was read.

    Fix: Read settings, reapply the intended change, and retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • SETTINGS_UNAVAILABLEServer errorRetryable

    Flint could not complete the request because a required service or internal operation failed.

    Fix: Retry with exponential backoff. Contact support with the request_id if the error persists.

    Still stuck? Report it with your request ID (opens in a new tab)

  • SETTINGS_WRITE_FORBIDDENAuthorizationNot retryable

    The credential is not allowed to change settings.

    Fix: Use an API key with the settings.write scope.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • SETUP_SOURCE_NON_ZERO_ORDERValidationNot retryable

    setup_payment_source can only be used when the order has no balance to pay.

    Fix: Pay the outstanding balance with payment_source or payment_intents, or use setup_payment_source only for a zero-balance subscription order.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • SETUP_SOURCE_SUBSCRIPTION_REQUIREDValidationNot retryable

    setup_payment_source can only be used for an order that creates a subscription.

    Fix: Complete the zero-balance order without a payment source, or use an order created from a subscription plan.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • SHIPMENT_CHANGEDRequest errorRetryable

    The shipment changed after the submitted version was read.

    Fix: Read the current shipment and retry with its version as expected_version.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • SHIPMENT_CREATED_RANGE_INVALIDValidationNot retryable

    created_after must be earlier than created_before.

    Fix: Send a created_after value earlier than created_before.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • SHIPMENT_HANDOFF_RANGE_INVALIDValidationNot retryable

    handed_off_after must be earlier than handed_off_before.

    Fix: Send a handed_off_after value earlier than handed_off_before.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • SHIPMENT_PACKAGE_ITEM_LINE_ITEM_NOT_IN_FULFILLMENTRequest errorNot retryable

    The order_line_item_id is not part of this package's fulfillment.

    Fix: Use an order_line_item_id from the fulfillment's line_items.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • SHIPMENT_PACKAGE_ITEM_QUANTITY_EXCEEDS_FULFILLMENTRequest errorNot retryable

    The package items for this order line item would exceed its fulfillment quantity.

    Fix: Reduce quantity so the line's package items total no more than its quantity on the fulfillment.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • SHIPMENT_PACKAGE_NOT_MUTABLERequest errorNot retryable

    The package's contents can change only while its status is created or packed.

    Fix: Change items only on packages whose status is created or packed.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • SHIPMENT_PACKAGE_NOT_VOIDABLERequest errorNot retryable

    A package can be voided only while its status is created or packed.

    Fix: Read the package status, and void a package or its shipment only while every affected package is created or packed.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • SHIPMENT_PACKAGE_PROVIDER_REFERENCE_CONFLICTRequest errorNot retryable

    Another package already uses this external_system and external_reference_id.

    Fix: Use a different external_reference_id, or resend the original request unchanged to replay it.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • SHIPMENT_PACKAGE_PROVIDER_REFERENCE_INCOMPLETEValidationNot retryable

    external_reference_id is set without external_system.

    Fix: Send external_system together with external_reference_id.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • SHIPMENT_PACKAGE_TERMINALRequest errorNot retryable

    A delivered, returned, or voided package allows only metadata changes.

    Fix: Send only metadata for this package.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • SHIPMENT_TIMESTAMP_ORDER_INVALIDValidationNot retryable

    The package's delivery time would be earlier than its shipped time.

    Fix: Send an occurred_at that is not earlier than the package's shipped_at.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • SKIP_LIMIT_REACHEDRequest errorNot retryable

    The buyer has reached the store's consecutive skip limit.

    Fix: Wait for the next charged cycle, which resets the skip count, or ask the merchant to skip this cycle.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • SKIP_NOT_ALLOWEDAuthorizationNot retryable

    The store does not allow buyers to skip subscription cycles.

    Fix: Ask the store to skip the cycle or enable customer_account.buyer_capabilities.skip.enabled.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • SKU_ALREADY_EXISTSRequest errorNot retryable

    Another variant or bundle already uses this SKU.

    Fix: Use a SKU that no other variant or bundle uses.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • SOURCE_CONTEXT_CONFLICTValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • STANDARD_PAYOUTS_UNAVAILABLEMerchant readinessNot retryable

    Standard payouts are not enabled for this merchant.

    Fix: Check the create_standard_payouts capability on GET /v1/capabilities, complete its next actions, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • STANDARD_PAYOUT_REQUIRES_MANUAL_SCHEDULERequest errorNot retryable

    The request could not be completed as submitted or in its current state.

    Fix: Inspect the error response, correct the request or resource state, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • STREAMING_UNAVAILABLEServer errorRetryable

    The server cannot establish a streaming response.

    Fix: Retry with exponential backoff. Contact support with the request_id if the error persists.

    Still stuck? Report it with your request ID (opens in a new tab)

  • SUBSCRIPTION_BILLING_INTERVAL_NOT_OFFEREDValidationNot retryable

    The plan does not offer the selected billing interval.

    Fix: Choose a billing_interval and billing_interval_count pair from the plan's billing_interval_options.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • SUBSCRIPTION_BILLING_SCHEDULE_REQUIREDValidationNot retryable

    The billing anchor requires an explicit Flint-owned schedule.

    Fix: Set billing_schedule.owner to flint or remove billing_anchor_day.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • SUBSCRIPTION_BILLING_START_INVALIDValidationNot retryable

    The subscription billing start branch is missing, mixed, or invalid.

    Fix: Send exactly one immediate, scheduled, or imported billing_start branch.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • SUBSCRIPTION_CANCELEDRequest errorNot retryable

    The canceled subscription cannot be changed.

    Fix: Create a new subscription for a new agreement.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • SUBSCRIPTION_CONFIRMATION_TOKEN_MISMATCHValidationNot retryable

    The confirmation_token cannot be kept for the subscription's renewals, so nothing was charged.

    Fix: Create the confirmation_token from a card or wallet with setup_future_usage off_session, then pay with a new idempotency key.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • SUBSCRIPTION_DELIVERY_LINES_NOT_COMBINABLEValidationNot retryable

    Subscribed items with the same billing interval share one shipment, but these items ship separately, so one delivery choice can't cover them. Resume returns it as a 409 conflict when a paused subscription's items no longer ship together.

    Fix: In an order, give one of the items a different billing interval, or buy it once. In a subscription plan, put the items in separate plans. On a subscription, change the items' delivery profiles so they ship together, or replace or remove one of the items.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • SUBSCRIPTION_DELIVERY_METHOD_NOT_OFFEREDValidationNot retryable

    The plan does not offer the selected delivery method.

    Fix: Choose an eligible method returned by a subscription preview in delivery_options mode.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • SUBSCRIPTION_DELIVERY_METHOD_UNSUPPORTEDValidationNot retryable

    A delivery method cannot price unattended subscription renewals.

    Fix: Choose a shipment or local_delivery method that does not require caller_supplied rates or a delivery window.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • SUBSCRIPTION_DELIVERY_MIGRATION_IN_PROGRESSRequest errorNot retryable

    A migration already moves subscribers off this method.

    Fix: Wait for the migration identified in details to finish before starting another.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • SUBSCRIPTION_DELIVERY_MIGRATION_NOT_FOUNDRequest errorNot retryable

    The delivery migration was not found.

    Fix: Use a migration returned by this merchant in the selected environment.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • SUBSCRIPTION_DELIVERY_MIGRATION_TARGET_UNAVAILABLERequest errorNot retryable

    The destination delivery method is not active.

    Fix: Choose an active shipment or local delivery method.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • SUBSCRIPTION_DELIVERY_PROFILE_ACTION_REQUIREDValidationNot retryable

    A physical subscription line's delivery profile needs configuration.

    Fix: Complete the delivery profile for the catalog variant identified in the error details, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • SUBSCRIPTION_DELIVERY_PROFILE_MISSINGValidationNot retryable

    A physical subscription line has no delivery profile.

    Fix: Assign a configured delivery profile to the catalog variant identified in the error details.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • SUBSCRIPTION_DELIVERY_REQUIREDValidationNot retryable

    This subscription requires a delivery preference.

    Fix: Send delivery with a supported method, destination, and recipient.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • SUBSCRIPTION_DELIVERY_UNAVAILABLEValidationNot retryable

    The selected delivery method cannot serve this subscription. Delivery and line item writes return it as a validation error; resume and renew return it as a 409 conflict when the stored delivery can no longer be used.

    Fix: Choose an offered delivery method that serves the address, or correct the address before retrying. If the rate is unavailable, retry later, update the delivery recipient, or contact the store.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • SUBSCRIPTION_EXTERNAL_BILLING_ANCHOR_NOT_ALLOWEDValidationNot retryable

    External billing schedules do not use a billing anchor day.

    Fix: Remove billing_anchor_day or select billing_schedule.owner flint.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • SUBSCRIPTION_FULFILLMENT_NOT_SUPPORTEDValidationNot retryable

    A subscription line cannot ship or deliver through a delivery method.

    Fix: Give the line's catalog item a delivery profile that allows shipment or local_delivery, or remove the line from the subscription. Recurring pickup and scheduled delivery windows are not supported.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • SUBSCRIPTION_IMPORT_PERIOD_NOT_CURRENTValidationNot retryable

    The imported paid period does not cover the current time.

    Fix: Provide the start of a paid period whose computed end is still in the future.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • SUBSCRIPTION_INITIATED_BY_INVALIDValidationNot retryable

    The schedule mutation does not identify a supported initiator.

    Fix: Set initiated_by to buyer, merchant, or integration.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • SUBSCRIPTION_MODEValidationNot retryable

    A payment link that uses a subscription plan cannot replace its line_items.

    Fix: Remove line_items from the request. Change the subscription plan's line items instead.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • SUBSCRIPTION_NEXT_BILLING_AT_BEFORE_PERIOD_STARTValidationNot retryable

    The requested next billing time is before the current subscription period starts.

    Fix: Set next_billing_at to current_period_start or a later time.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • SUBSCRIPTION_NEXT_BILLING_AT_NOT_FUTUREValidationNot retryable

    The requested next billing time is not in the future.

    Fix: Provide the earliest acceptable future next_billing_at value.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • SUBSCRIPTION_NEXT_BILLING_AT_REQUIREDValidationNot retryable

    A Flint-owned schedule requires its next billing time.

    Fix: Provide a future next_billing_at value.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • SUBSCRIPTION_NEXT_BILLING_AT_TOO_FARValidationNot retryable

    The Flint-owned billing date moves more than one plan interval forward.

    Fix: Choose a date within one plan interval or pause the subscription.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • SUBSCRIPTION_NOT_FOUNDRequest errorNot retryable

    The request could not be completed as submitted or in its current state.

    Fix: Inspect the error response, correct the request or resource state, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • SUBSCRIPTION_OFFER_ARCHIVEDRequest errorNot retryable

    The subscription offer has been archived.

    Fix: Create another offer. Archived offers cannot be changed.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • SUBSCRIPTION_OFFER_NOT_ACTIVERequest errorNot retryable

    The subscription offer is not active.

    Fix: Choose an active offer or purchase this line once.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • SUBSCRIPTION_OFFER_NOT_FOUNDRequest errorNot retryable

    The subscription offer was not found.

    Fix: Use an offer returned by this merchant in the selected environment.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • SUBSCRIPTION_OFFER_ORDER_NOT_ELIGIBLEValidationNot retryable

    Subscribing to an item through an offer starts its own subscription, so it needs an order that isn't already part of a subscription, a subscription plan checkout, an invoice, or a quick payment.

    Fix: Remove the subscription from the line, or sell the subscribed item in its own checkout.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • SUBSCRIPTION_OFFER_PROMOTION_NOT_FOREVERValidationNot retryable

    The offer promotion does not have forever recurrence.

    Fix: Choose a promotion with recurrence.type set to forever.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • SUBSCRIPTION_OFFER_PROMOTION_UNAVAILABLEValidationNot retryable

    The offer promotion is archived, disabled, expired, not yet started, used up (max_uses reached), or its targeting excludes the offer products and variants.

    Fix: Choose a promotion that can apply without a code to new subscribers.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • SUBSCRIPTION_OFFER_TARGET_CONFLICTRequest errorNot retryable

    A catalog target already has an active subscription offer.

    Fix: Change the target or deactivate the offer identified in details before retrying.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • SUBSCRIPTION_OFFER_VARIANT_NOT_ELIGIBLEValidationNot retryable

    The variant is not included in this subscription offer.

    Fix: Choose an active variant matched by the offer.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • SUBSCRIPTION_OFFER_VERSION_CONFLICTRequest errorNot retryable

    The subscription offer changed after it was read.

    Fix: Fetch the current offer and retry with its version as expected_version.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • SUBSCRIPTION_PAYMENT_RETRY_IN_PROGRESSRequest errorRetryable

    A payment retry is already in progress for this subscription.

    Fix: Poll the current payment retry until it succeeds or fails before starting another.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • SUBSCRIPTION_PAYMENT_RETRY_LIMIT_REACHEDRequest errorNot retryable

    This subscription has reached 3 payment retries for the current billing period, including retries started by the store.

    Fix: Contact the store for help recovering the past-due payment.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • SUBSCRIPTION_PAYMENT_RETRY_NOT_ALLOWEDRequest errorNot retryable

    A manual payment retry is only available for a past-due subscription.

    Fix: Fetch the subscription and create a retry only while its status is past_due.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • SUBSCRIPTION_PLAN_NOT_FOUNDRequest errorNot retryable

    The request could not be completed as submitted or in its current state.

    Fix: Inspect the error response, correct the request or resource state, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • SUBSCRIPTION_QUANTITY_NOT_OFFEREDValidationNot retryable

    The plan does not offer the selected quantity.

    Fix: Choose a quantity from the plan's quantity_options.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • SUBSCRIPTION_RENEW_NOT_ALLOWEDRequest errorNot retryable

    The subscription's current status does not allow an immediate renewal.

    Fix: Read the current status and resolve the subscription's delivery or payment issue before renewing.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • SUBSCRIPTION_RENEW_PAYMENT_FAILEDPaymentNot retryable

    The immediate subscription renewal could not be paid.

    Fix: Update the saved payment method, then submit a new immediate renewal request with a new Idempotency-Key.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • SUBSCRIPTION_SCHEDULE_CLEAR_NOT_ALLOWEDValidationNot retryable

    A Flint-owned schedule cannot clear its next billing date.

    Fix: Provide next_billing_at or transfer the schedule to external ownership.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • SUBSCRIPTION_SCHEDULE_MUTATION_NOT_ALLOWEDRequest errorNot retryable

    The subscription lifecycle state blocks the schedule mutation.

    Fix: Read the current status in error details and wait for recovery or choose a lifecycle action that applies.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • SUBSCRIPTION_SERVICE_LOCATION_INVALIDValidationNot retryable

    The subscription service location is missing, mixed, or belongs to another customer.

    Fix: Send one valid service_location source owned by the subscription customer.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • SUBSCRIPTION_STARTS_AT_NOT_FUTUREValidationNot retryable

    The scheduled subscription start is not in the future.

    Fix: Set billing_start.starts_at to a future RFC3339 timestamp.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • SUBSCRIPTION_STARTS_AT_TRIAL_CONFLICTValidationNot retryable

    A scheduled start cannot be combined with a plan trial.

    Fix: Use an immediate start for the trial or use a plan without a trial.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • SUBSCRIPTION_START_OVERRIDE_NOT_ALLOWEDRequest errorNot retryable

    A paid checkout cannot use a scheduled or imported subscription start.

    Fix: Use the immediate billing_start branch for a checkout that already collected payment.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • SUBSCRIPTION_TRIAL_NOT_SUPPORTED_FOR_PHYSICALValidationNot retryable

    Physical subscription plans cannot have a free trial.

    Fix: Remove trial_period_days and use a once promotion for a first-shipment discount.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • SUBSET_ONLY_VIOLATIONAuthorizationNot retryable

    The new value includes options outside the set an organization settings policy allows.

    Fix: Send only values the organization allows for the setting identified by param, or ask the organization to change its settings policy.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • SUGGESTED_AMOUNT_ABOVE_MAXValidationNot retryable

    A suggested donation amount is greater than donation_max_amount_money.

    Fix: Set each donation_suggested_amount_money_options amount at or below donation_max_amount_money, or raise the maximum.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • SUGGESTED_AMOUNT_BELOW_MINValidationNot retryable

    A suggested donation amount is less than donation_min_amount_money.

    Fix: Set each donation_suggested_amount_money_options amount at or above donation_min_amount_money, or lower the minimum.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • SUGGESTED_AMOUNT_OUT_OF_RANGEValidationNot retryable

    A line item's suggested price is outside its min_unit_price_money and max_unit_price_money range.

    Fix: Set each suggested_unit_price_money_options amount between min_unit_price_money and max_unit_price_money.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • SWAP_NOT_ALLOWEDAuthorizationNot retryable

    The store doesn't offer other items for this subscription line.

    Fix: Swap only to a variant listed in the line's plan swap_variants.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • TAX_ADJUSTMENT_AUDIT_REQUIREDValidationNot retryable

    A line item with tax_refund_mode explicit has no tax_adjustment_audit.

    Fix: Send tax_adjustment_audit with actor_id, actor_type, and source.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • TAX_ADJUSTMENT_AUDIT_REQUIRES_EXPLICIT_MODEValidationNot retryable

    tax_adjustment_audit is set on a line item whose tax_refund_mode is automatic.

    Fix: Set tax_refund_mode to explicit, or remove tax_adjustment_audit.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • TAX_ADJUSTMENT_REASON_REQUIREDValidationNot retryable

    A line item with tax_refund_mode explicit has no tax_adjustment_reason.

    Fix: Send tax_adjustment_reason with a code, and a description when the code is other.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • TAX_ADJUSTMENT_REASON_REQUIRES_EXPLICIT_MODEValidationNot retryable

    tax_adjustment_reason is set on a line item whose tax_refund_mode is automatic.

    Fix: Set tax_refund_mode to explicit, or remove tax_adjustment_reason.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • TAX_ADJUSTMENT_REQUIRES_EXPLICIT_MODEValidationNot retryable

    Tax cannot be withheld through refund_adjustments.

    Fix: Remove the tax_adjustment or applies_to tax adjustment. To refund less tax, set tax_refund_mode to explicit with tax_money, tax_adjustment_reason, and tax_adjustment_audit.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • TAX_BREAKDOWN_ID_REQUIREDRequest errorNot retryable

    A tax breakdown refund is missing tax_breakdown_id.

    Fix: Provide the tax_breakdown_id from the original order tax breakdown.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • TAX_BREAKDOWN_LINE_ITEM_MISMATCHRequest errorNot retryable

    A tax_breakdown_id in the line's tax_breakdown_refunds belongs to a different line item or currency.

    Fix: Use tax_breakdown_id values from this line item's tax breakdowns.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • TAX_BREAKDOWN_NOT_ORDER_SCOPED_FLATValidationNot retryable

    The selected tax breakdown is not an order-scoped additive flat tax.

    Fix: Use a flat tax_breakdown_id from the original order, or refund percentage tax through its line allocation.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • TAX_BREAKDOWN_REFUNDS_REQUIREDRequest errorNot retryable

    A line item with explicit tax and jurisdiction tax breakdowns has no tax_breakdown_refunds.

    Fix: Send tax_breakdown_refunds that split tax_money across the line's tax_breakdown_id values.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • TAX_BREAKDOWN_REFUNDS_REQUIRE_EXPLICIT_MODEValidationNot retryable

    tax_breakdown_refunds is set on a line item whose tax_refund_mode is automatic.

    Fix: Set tax_refund_mode to explicit with tax_money, or remove tax_breakdown_refunds.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • TAX_BREAKDOWN_REFUNDS_WITHOUT_TAXRequest errorNot retryable

    The line item sends tax_breakdown_refunds, but the refund returns no tax for that line.

    Fix: Remove tax_breakdown_refunds from the line, or send a positive tax_money.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • TAX_BREAKDOWN_REFUND_EXCEEDS_REMAININGRequest errorNot retryable

    The tax refund is more than the jurisdiction tax that remains refundable.

    Fix: Read the order's tax breakdowns and refunds, and refund no more tax than remains for each tax_breakdown_id.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • TAX_BREAKDOWN_REFUND_MONEY_REQUIREDRequest errorNot retryable

    A tax breakdown refund is missing tax_money.

    Fix: Provide tax_money for each tax breakdown being reversed.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • TAX_BREAKDOWN_REFUND_TOTAL_MISMATCHValidationNot retryable

    The line item's tax_breakdown_refunds do not add up to its tax_money.

    Fix: Make the tax_breakdown_refunds[].tax_money amounts sum to the line's tax_money.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • TAX_BREAKDOWN_TARGETS_EXCEED_REFUND_AMOUNTValidationNot retryable

    Tax breakdown refund targets exceed the requested refund amount.

    Fix: Increase amount_money or remove tax breakdown targets.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • TAX_BREAKDOWN_UNAVAILABLERequest errorNot retryable

    The line item's tax has no jurisdiction breakdown, so tax_breakdown_refunds cannot be applied.

    Fix: Remove tax_breakdown_refunds from the line and refund its tax with tax_money only.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • TAX_CALCULATION_REQUIREDValidationNot retryable

    External tax is missing a calculation for a taxable line item or charge.

    Fix: Provide tax.calculation for every taxable line item and charge.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • TAX_INPUT_CONFLICTValidationNot retryable

    The tax input disables tax and also supplies a calculation or location.

    Fix: Set tax.enabled to true, or omit tax.calculation and tax.location.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • TAX_MODE_MISMATCHValidationNot retryable

    A nested tax calculation uses a different mode from the order tax calculation.

    Fix: Use the same mode for the order, line item, and charge tax calculations.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • TAX_MONEY_REQUIREDValidationNot retryable

    A line item with tax_refund_mode explicit has no tax_money.

    Fix: Send tax_money with the tax amount to refund for the line, or use tax_refund_mode automatic.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • TAX_MONEY_REQUIRES_EXPLICIT_MODEValidationNot retryable

    tax_money is set on a line item whose tax_refund_mode is automatic.

    Fix: Set tax_refund_mode to explicit, or remove tax_money.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • TAX_REFUND_EXCEEDS_AUTOMATICRequest errorNot retryable

    The explicit tax_money is more than the tax the line would refund automatically.

    Fix: Send a tax_money amount below the line's automatic tax refund, or use tax_refund_mode automatic.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • TICKET_PREFIX_TOO_LONGValidationNot retryable

    event_config.ticket_prefix is longer than 5 characters.

    Fix: Shorten event_config.ticket_prefix to 5 characters or fewer.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • TIP_ALLOCATION_CAPACITY_EXCEEDEDValidationNot retryable

    The selected payment legs cannot carry the requested tip.

    Fix: Select enough tip-capable payment capacity or reduce the requested tip, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • TIP_CURRENCY_MISMATCHValidationNot retryable

    The requested tip currency differs from the order currency.

    Fix: Use the order currency for the requested tip amount.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • TIP_LIMIT_EXCEEDEDValidationNot retryable

    The requested tip is above the maximum allowed for the order.

    Fix: Use a requested tip no greater than maximum_money, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • TOO_MANY_CUSTOM_FIELDSValidationNot retryable

    The payment link has more than 20 custom fields.

    Fix: Send 20 or fewer custom_fields.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • TOO_MANY_LINE_ITEMSValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • TOO_MANY_PENDING_REPORTSRate limitRetryable

    Five reports are already pending for this merchant environment.

    Fix: Wait for a pending report to finish before creating another.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • TOO_MANY_SUGGESTED_AMOUNTSValidationNot retryable

    More than 3 suggested amounts were provided.

    Fix: Send at most 3 entries in donation_suggested_amount_money_options or line_items[].suggested_unit_price_money_options.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • TRANSACTION_PURPOSE_NOT_APPLICABLEValidationNot retryable

    The request supplied an ACH-only field without requesting ACH Direct Debit.

    Fix: Remove transaction_purpose or include ach_debit in payment_options.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • TRANSACTION_PURPOSE_REQUIREDValidationNot retryable

    ACH Direct Debit requires a transaction purpose.

    Fix: Set transaction_purpose to goods, services, or other and retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • TRIAL_NEGATIVEValidationNot retryable

    The trial period is negative.

    Fix: Send a trial_period_days value from 0 through 365.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • TRIAL_TOO_LONGValidationNot retryable

    The trial period is longer than 365 days.

    Fix: Send a trial_period_days value from 0 through 365.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • UNKNOWN_ATTRIBUTEValidationNot retryable

    A promotion rule uses an unknown attribute.

    Fix: Use a documented promotion rule attribute or a metadata.<key> attribute.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • UNKNOWN_BUNDLE_COMPONENTValidationNot retryable

    The bundle component ID does not belong to this bundle.

    Fix: Use a bundle_component_id returned for this bundle, or omit it to create a new component.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • UNKNOWN_CATEGORY_HANDLEValidationNot retryable

    A category handle does not identify a category in this environment.

    Fix: Create the category first, or use the handle of an existing category.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • UNKNOWN_CLIENT_OPTION_VALUEValidationNot retryable

    A variant selection references an unknown client option or value key.

    Fix: Use client keys declared in the same product create request.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • UNKNOWN_CUSTOM_FIELD_KEYValidationNot retryable

    custom_field_values has a key that is not a custom field on the payment link.

    Fix: Use only custom field keys from the payment link.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • UNKNOWN_FIELDValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Remove or correct the unknown field. If you send a corrected write, use a new idempotency key.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • UNKNOWN_LINE_ITEM_KEYValidationNot retryable

    An override names a line item key that is not on the payment link.

    Fix: Use only line item keys from the payment link in quantity_overrides and unit_price_overrides.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • UNKNOWN_OPTIONValidationNot retryable

    The option ID does not belong to this product.

    Fix: Use an option_id returned for this product, or omit it to create a new option.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • UNKNOWN_OPTION_VALUEValidationNot retryable

    The option value ID does not belong to this option.

    Fix: Use an option_value_id returned for this option, or omit it to create a new value.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • UNKNOWN_PREDICATE_FIELDValidationNot retryable

    A risk rule predicate node contains a field it does not accept.

    Fix: Remove the field named by param from the predicate node.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • UNKNOWN_SCOPEValidationNot retryable

    The request includes a scope that is not in Flint's public scope catalog.

    Fix: Use a canonical scope from the API key scope catalog and retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • UNSAFE_FEEDBACK_CONTENTValidationNot retryable

    The feedback contains unsafe control characters, credentials, or secret material.

    Fix: Remove secrets and unsafe characters, then submit only the evidence needed to describe the behavior.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • UNSUPPORTED_APPLICATION_TYPEValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • UNSUPPORTED_CONTENT_TYPERequest errorNot retryable

    The request body used an unsupported Content-Type.

    Fix: Send JSON request bodies with Content-Type: application/json, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • UNSUPPORTED_CURRENCYValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • UNSUPPORTED_PREVIEW_DISCOUNTValidationNot retryable

    Discount previews support only promotion discounts.

    Fix: Send discount.promotion with a promotion_id or promotion_code, or omit discount to preview automatic promotions.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • UNSUPPORTED_PROCESSORMerchant readinessNot retryable

    This merchant environment has no supported payment processor account yet.

    Fix: Complete account setup for this environment through onboarding, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • UNSUPPORTED_PRODUCT_FIELDValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • UNSUPPORTED_QUERY_PARAMValidationNot retryable

    The request included a query parameter this endpoint does not support.

    Fix: Remove the unsupported query parameter or use a documented accepted expand encoding.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • UNSUPPORTED_RESOURCE_TYPEValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • UPDATE_MASK_REQUIREDValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • URL_TOO_LONGValidationNot retryable

    A legal policy URL is longer than 2,048 characters.

    Fix: Send the URL identified by param with 2,048 characters or fewer.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • VALIDATION_ERRORValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response. If you send a corrected write, use a new idempotency key.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • VALUES_REQUIREDValidationNot retryable

    A promotion rule has no values.

    Fix: Provide at least one value, or use the is_defined operator.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • VALUE_REQUIREDValidationNot retryable

    A product option value label is missing.

    Fix: Provide a non-empty value label.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • VALUE_TOO_LONGValidationNot retryable

    A text value is longer than its field allows.

    Fix: Shorten the value identified by param to the maximum length in the error message.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • VARIANTS_REQUIREDValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • VARIANT_IN_ACTIVE_BUNDLERequest errorNot retryable

    The variant is used by an active bundle.

    Fix: Set every referencing bundle to inactive before changing or retiring the variant or its selected option labels.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • VARIANT_IN_ACTIVE_SUBSCRIPTIONRequest errorNot retryable

    The variant is used by an active subscription.

    Fix: Cancel every active subscription that uses the variant before changing or retiring the variant or its selected option labels.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • VARIANT_IN_ACTIVE_SUBSCRIPTION_PLANRequest errorNot retryable

    The variant is used by an active subscription plan.

    Fix: Archive every subscription plan that uses the variant before changing or retiring the variant or its selected option labels.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • VARIANT_IN_OPEN_CHECKOUT_SESSIONRequest errorNot retryable

    The variant is used by an open checkout session.

    Fix: Close every open checkout session that contains the variant, or wait for them to close, before changing or retiring the variant or its selected option labels.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • VARIANT_IN_OPEN_INVOICE_PAYMENT_ATTEMPTRequest errorNot retryable

    The variant is used by an open invoice payment attempt.

    Fix: Cancel or wait for every open invoice payment attempt that contains the variant before changing or retiring the variant or its selected option labels.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • VARIANT_IN_OPEN_ORDERRequest errorNot retryable

    The variant is used by an open order.

    Fix: Wait until every order that contains the variant is no longer open before changing or retiring the variant or its selected option labels.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • VARIANT_NOT_SELLABLEValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • VARIANT_OPTION_COMBINATION_ALREADY_EXISTSValidationNot retryable

    Two variants select the same option-value combination.

    Fix: Give each variant a unique combination of selected option values.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • VERIFICATION_ALREADY_USEDAuthenticationNot retryable

    The request could not be authenticated.

    Fix: Send a valid Flint credential supported by this endpoint, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • VERIFICATION_ATTEMPTS_EXCEEDEDAuthenticationNot retryable

    The verification token has reached its incorrect-code limit.

    Fix: Call POST /v1/onboarding/start to send a new code, then verify with the new token.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • VERIFICATION_CODE_FAILEDServer errorRetryable

    Flint could not complete the request because a required service or internal operation failed.

    Fix: Retry with exponential backoff. Contact support with the request_id if the error persists.

    Still stuck? Report it with your request ID (opens in a new tab)

  • VERIFICATION_EMAIL_FAILEDServer errorRetryable

    Flint could not complete the request because a required service or internal operation failed.

    Fix: Retry with exponential backoff. Contact support with the request_id if the error persists.

    Still stuck? Report it with your request ID (opens in a new tab)

  • VERIFICATION_TOKEN_FAILEDServer errorRetryable

    Flint could not complete the request because a required service or internal operation failed.

    Fix: Retry with exponential backoff. Contact support with the request_id if the error persists.

    Still stuck? Report it with your request ID (opens in a new tab)

  • VERSION_CONFLICTRequest errorRetryable

    The resource changed while the request was being applied.

    Fix: Retrieve the resource and retry. If the request accepts expected_version, send the current version.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • WEBHOOKS_UNAVAILABLEServer errorRetryable

    Webhook event records are temporarily unavailable.

    Fix: Retry with exponential backoff. Contact support with the request_id if the error persists.

    Still stuck? Report it with your request ID (opens in a new tab)

  • WEBHOOK_DELIVERY_IN_FLIGHTRequest errorRetryable

    The webhook delivery is already being processed.

    Fix: Wait for the active delivery attempt to finish, then retry the resend if needed.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • WEBHOOK_DELIVERY_UNAVAILABLEServer errorRetryable

    Webhook delivery is temporarily unavailable.

    Fix: Retry with exponential backoff. Contact support with the request_id if the error persists.

    Still stuck? Report it with your request ID (opens in a new tab)

  • WEBHOOK_ENDPOINT_NOT_ACTIVERequest errorNot retryable

    The webhook endpoint is not active.

    Fix: Enable the endpoint and resolve any endpoint configuration issue before resending.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • WEBHOOK_EVENT_PAYLOAD_EXPIREDRequest errorNot retryable

    The retained webhook event payload has expired.

    Fix: Use a newer webhook event. Expired payloads cannot be resent.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • WEBHOOK_SECRET_ROTATION_OVERLAP_ACTIVERequest errorRetryable

    The endpoint's previous secret is still valid from an earlier rotation.

    Fix: Retry after the previous secret's overlap period ends.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • WEBHOOK_STREAM_CONNECTION_LIMITRate limitRetryable

    The environment has too many active webhook event streams.

    Fix: Close an existing stream or wait for one to expire, then reconnect.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • WEBHOOK_STREAM_LIMITER_UNAVAILABLEServer errorRetryable

    Webhook stream coordination is temporarily unavailable.

    Fix: Retry with exponential backoff.

    Still stuck? Report it with your request ID (opens in a new tab)

  • WEBHOOK_STREAM_NOTIFIER_UNAVAILABLEServer errorRetryable

    Webhook stream notifications are temporarily unavailable.

    Fix: Retry with exponential backoff.

    Still stuck? Report it with your request ID (opens in a new tab)

  • WEEKLY_PAYOUT_DAYS_NOT_ALLOWEDValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

  • WEEKLY_PAYOUT_DAYS_REQUIREDValidationNot retryable

    The request payload or query parameters did not pass validation.

    Fix: Fix the field identified by the error response, then retry.

    Still stuck? Ask on Flint Help (opens in a new tab)

Was this helpful?