---
title: "Void a Transaction"
method: POST
path: "/v1/merchant/transactions/void"
tags: ["Transactions"]
---

# Void a Transaction

`POST /v1/merchant/transactions/void`

This voids the authorization for a given transaction. Voids must be completed before the authorization is captured.
In the request, either `transaction_id` or `transaction_reference` is required.
Although the response returns the standard `transaction_view` object, only `status` and either `id` or `reference` are needed.

## Headers

- `Idempotency-Key` string

## Request body

- CreditCardVoid
  - `merchant_event_id` string — The reference ID associated with a transaction event (auth, capture, refund, void). This is an arbitrary identifier created by the merchant. Bolt does not enforce any uniqueness constraints on this ID. It is up to the merchant to generate identifiers that properly fulfill its needs.
  - `skip_hook_notification` boolean — Set to `true` to skip receiving a webhook notification from Bolt that is triggered by this update to the transaction.
  - `transaction_reference` string, required — The transaction's 12-digit Bolt reference ID. **Nullable** for Transactions Details.

## Response `200`

Void Successful

- TransactionView
  - `amount` AmountView
    - `amount` number
    - `currency` string
    - `currency_symbol` string
  - `authorization` CreditCardAuthorizationView
    - `auth` string
    - `avs_response` '00' | '01' | '02' | '10' | '11' | '12' | '13' | '14' | '20' | '30' | '31' | '32' | '33' | '34' | '40' | 'adyen_' | 'adyen_A' | 'adyen_N' | 'adyen_U' | 'adyen_S' | 'adyen_R' | 'adyen_W' | 'adyen_T' | 'adyen_Z' | 'adyen_D' | 'adyen_F' | 'adyen_M' | 'adyen_X' | 'adyen_Y' | 'adyen_B' | 'adyen_P' | 'adyen_C' | 'adyen_G' | 'adyen_I' | 'adyen_K'
    - `cvv_response` 'M' | 'N' | 'P' | 'S' | 'U' | 'D' | 'X' | 'Y' | '1' | '2' | '3' | 'pass' | 'fail' | 'unavailable' | 'unchecked' | 'braintree_M' | 'braintree_N' | 'braintree_U' | 'braintree_B' | 'braintree_A' | 'braintree_I' | 'braintree_S' | 'CVV2'
    - `merchant_event_id` string — The reference ID associated with a transaction event (auth, capture, refund, void). This is an arbitrary identifier created by the merchant. Bolt does not enforce any uniqueness constraints on this ID. It is up to the merchant to generate identifiers that properly fulfill its needs.
    - `metadata` object
    - `processor` 'vantiv' | 'adyen_payfac' | 'adyen_gateway' | 'stripe' | 'braintree' | 'cybersource' | 'nmi' | 'authorize_net' | 'radial' | 'shopify_payments' | 'rocketgate'
    - `reason` 'none' | 'invalid_amount' | 'invalid_cvv' | 'invalid_cc_number' | 'expired' | 'risk' | 'lost_stolen' | 'call_issuer' | 'invalid_merchant_for_card' | 'unsupported_payment_method' | 'processor_server_error' — The reason code explaining the authorization status. * `1` - none * `2` - invalid_amount * `3` - invalid_cvv * `4` - invalid_cc_number * `5` - expired * `6` - risk * `7` - lost_stolen * `8` - call_issuer * `9` - invalid_merchant_for_card * `10` - unsupported_payment_method
    - `status` 'succeeded' | 'declined' | 'error' — The status of the authorization request. * `1` - succeeded * `2` - declined * `3` - error
  - `capture` CaptureView — Deprecated. Use `captures`.
    - `amount` AmountView
      - `amount` number
      - `currency` string
      - `currency_symbol` string
    - `id` string — The unique ID for the capture. **Nullable** for Transactions Details.
    - `merchant_event_id` string — The reference ID associated with a transaction event (auth, capture, refund, void). This is an arbitrary identifier created by the merchant. Bolt does not enforce any uniqueness constraints on this ID. It is up to the merchant to generate identifiers that properly fulfill its needs.
    - `metadata` object — Additional information about the capture. For example, the processor capture ID. **Nullable** for Transactions Details.
    - `splits` object[] — A split of fees by type and amount. **Nullable** for Transactions Details.
      - `amount` AmountView
        - `amount` number
        - `currency` string
        - `currency_symbol` string
      - `type` 'net' | 'processing_fee' | 'risk_fee' | 'apm_fee' | 'network_fee' | 'platform_fee' | 'bolt_account_fee' — Fee type options. **Nullable** for Transactions Details.
    - `status` 'succeeded' | 'declined' | 'error' — The status of the capture. **Nullable** for Transactions Details.
  - `captures` CreditCardCaptureView[]
    - `amount` AmountView
      - `amount` number
      - `currency` string
      - `currency_symbol` string
    - `id` string — The unique ID for the capture. **Nullable** for Transactions Details.
    - `merchant_event_id` string — The reference ID associated with a transaction event (auth, capture, refund, void). This is an arbitrary identifier created by the merchant. Bolt does not enforce any uniqueness constraints on this ID. It is up to the merchant to generate identifiers that properly fulfill its needs.
    - `metadata` object
    - `splits` TransactionSplitsView
      - `amount` AmountView
        - `amount` number
        - `currency` string
        - `currency_symbol` string
      - `type` 'net' | 'processing_fee' | 'float' | 'reserve' | 'adjustment' | 'bolt_fee'
    - `status` 'succeeded' | 'declined' | 'error' — The status of the capture. **Nullable** for Transactions Details.
  - `credit` CreditCardCreditView
    - `status` 'succeeded' | 'declined' | 'error' | 'pending' | 'in progress' — The status of the refund to a card.
    - `merchant_event_id` string — The reference ID associated with a transaction event (auth, capture, refund, void). This is an arbitrary identifier created by the merchant. Bolt does not enforce any uniqueness constraints on this ID. It is up to the merchant to generate identifiers that properly fulfill its needs.
  - `date` integer — Transaction date. **Nullable** for Transactions Details.
  - `from_consumer` ConsumerSelfView
    - `first_name` string — The given name of the person associated with this record.
    - `id` string
    - `last_name` string — The surname of the person associated with this record.
    - `authentication` LoginView
      - `actions` string[]
      - `methods` string[]
      - `sso_authorization_url` string
    - `email_verified` boolean
    - `emails` EmailView[]
      - `address` string
      - `id` string
      - `priority` 'primary' | 'listed' — Describes the card's priority.
      - `status` string
    - `phones` PhoneView[]
      - `country_code` string — Used for the 2-digit ISO 3166-1 alpha 2 country code associated with this address.
      - `id` string
      - `number` string
      - `priority` 'primary' | 'listed'
      - `status` string
    - `platform_account_status` 'none' | 'linked' | 'unlinked'
  - `from_credit_card` CreditCardView — Contains details about the credit card transaction.
    - `billing_address` AddressView — The address object returned in the response.
      - `company` string — The company name associated with this address.
      - `country` string — The name of the country associated with this address.
      - `country_code` string — The ISO 3166-1 alpha-2 country code associated with this address.
      - `door_code` string, nullable — The building door code or community gate code.
      - `email_address` string, email — An email address.
      - `first_name` string — The given name of the person associated with this address.
      - `id` string — The unique Bolt ID associated with this address.
      - `last_name` string — The surname of the person associated with this address.
      - `locality` string — The city name details associated with this address.
      - `name` string — The given and surname of the person associated with this address.
      - `phone_number` string — A phone number following E164 standards, in its globalized format, i.e. prepended with a plus sign.
      - `postal_code` string — The postal or zip code associated with this address.
      - `priority` 'primary' | 'listed', nullable — The shopper-indicated priority of this address compared to other addresses on their account.
      - `region` string — The region details such as state or province associated with this address.
      - `region_code` string, nullable — The the ISO 3166-2 region code associated with this address.
      - `street_address1` string — The street number and street name of the address.
      - `street_address2` string — Any apartment, floor, or unit details.
      - `street_address3` string, nullable — Any additional street address details.
      - `street_address4` string, nullable — Any additional street address details.
    - `bin` string — The Bank Identification Number for the credit card; this is typically the first 4-6 digits of the credit card number. **Nullable** for Transactions Details.
    - `display_network` 'Credit Card' | 'American Express' | 'Diners Club' | 'Discover' | 'JCB' | 'MasterCard' | 'Union Pay' | 'Visa' — The card's network. **Nullable** for Transactions Details.
    - `expiration` integer — The card's expiration. **Nullable** for Transactions Details.
    - `icon_asset_path` string — The asset link for displayed icons. This link varies depending on payment method used. **Nullable** for Transactions Details.
    - `id` string — The card's ID. **Nullable** for Transactions Details.
    - `last4` string — The card's last 4 digits. **Nullable** for Transactions Details.
    - `network` 'visa' | 'mastercard' | 'amex' | 'discover' | 'dinersclub' | 'jcb' | 'unionpay' | 'alliancedata' | 'citiplcc' | 'unknown' — The card's network code. **Nullable** for Transactions Details. Note: LEGACY diners_club_us_ca now tagged as mastercard
    - `priority` 'primary' | 'listed' — Describes the card's priority.
    - `status` 'active' | 'created' | 'inactive' | 'transient' — The card's status. **Nullable** for Transactions Details.
    - `token` string — The Bolt token associated to the credit card. Required for new, unsaved cards.
    - `token_type` 'vantiv' | 'applepay' | 'bolt' | 'stripe' | 'plcc' | 'applepay_encrypted_blob' — Used to define which payment processor generated the token for this credit card.
  - `id` string — The unique ID associated with the transaction. **Nullable** for Transactions Details.
  - `indemnification_decision` 'unknown' | 'indemnified' | 'not_indemnified' — Describes whether the transaction is indemnified by Bolt for fraud.
  - `indemnification_reason` 'unknown' | 'checkout' | 'virtual_terminal' | 'merchant_back_office' | 'merchant_force_approved' | 'reversibly_rejected' | 'irreversibly_rejected' | 'risk_engine_approved' | 'analyst_approved' | 'auth_verification' | 'paypal' | 'afterpay' | 'direct_payments' | 'whitelist' | 'external_review' | 'affirm' | 'merchant_ip_address' | 'amazon_pay' | 'apple_pay' | 'phone_order' | 'klarna' | 'cardholder_authentication' | 'address_change_rejected' | 'indemnify_direct_payments' | 'indemnify_virtual_terminal' | 'membership_subscription' | 'embedded_guest_checkout' | 'risk_assessment_only' | 'sezzle' | 'credova' | 'subscription' | 'indemnify_apm_transaction' — Describes the reason that the transaction is or is not indemnified by Bolt for fraud.
  - `last4` string — The card's last 4 digits. **Nullable** for Transactions Details.
  - `last_viewed_utc` number
  - `merchant_division` MerchantDivisionSummaryView
    - `account_page_url` string
    - `api_base_domain_url` string
    - `base_domain_url` string
    - `confirmation_redirect_url` string
    - `create_order_url` string
    - `debug_url` string
    - `description` string
    - `display_name` string
    - `get_account_url` string
    - `shopper_custom_fields_updated_url` string
    - `hook_type` '1' | '2' | '3' | '4' | '5' | '6'
    - `hook_url` string
    - `id` string
    - `is_universal_merchant_api` boolean
    - `is_webhooks_v2` boolean
    - `logo` MerchantDivisionLogoView
      - `domain` string
      - `resource` string
    - `logo_dashboard` MerchantDivisionLogoView
      - `domain` string
      - `resource` string
    - `merchant_id` string
    - `mobile_app_domain_url` string
    - `oauth_logout_url` string
    - `oauth_redirect_url` string
    - `platform` string
    - `plugin_config_url` string
    - `privacy_policy_url` string
    - `product_info_url` string
    - `public_id` string
    - `remote_apiurl` string
    - `shipping_and_tax_url` string
    - `shipping_url` string
    - `status` string
    - `tax_url` string
    - `terms_of_service_url` string
    - `universal_merchant_api_url` string
    - `update_cart_url` string
    - `use_async_refunds_amazon_pay` boolean
    - `use_async_refunds_paypal` boolean
    - `validate_additional_account_data_url` string
    - `merchant_password_login_url` string — (Optional) Link shoppers can use to log into a merchant store via the Bolt SSO modal.
  - `merchant_order_number` string
  - `order_decision` OrderDecisionDetailsView
    - `decision_factors` string[]
    - `score` number
  - `processor` 'adyen_gateway' | 'adyen_payfac' | 'affirm' | 'afterpay' | 'alliance_data' | 'amazon_pay' | 'authorize_net' | 'braintree' | 'checkout_com' | 'cybersource' | 'first_data' | 'klarna' | 'nmi' | 'orbital' | 'paypal' | 'radial' | 'radial_klarna' | 'radial_paypal' | 'rocketgate' | 'sezzle' | 'shopify_payments' | 'stripe' | 'vantiv' — The processor used. **Nullable** for Transactions Details.
  - `reference` string — The transaction's 12-digit Bolt reference ID. **Nullable** for Transactions Details.
  - `review_ticket` ReviewTicketView
    - `id` string
    - `request_deadline` number
    - `status` string
  - `risk_insights` RiskModelExternalResultView
    - `available` boolean
    - `decision_factors` string[] — Used to list a total of up to 5 decision factors used by the risk model to determine the risk analysis result.
    - `fraud_probability` number
    - `payment_instrument_factors` object
  - `risk_review_status` 'unknown' | 'needs_review' | 'reviewed' — Describes the current Risk Review status. A transaction could be unreviewed, reviewed, or pending manual review by the Bolt team.
  - `risk_score` integer
  - `splits` TransactionSplitsView[]
    - `amount` AmountView
      - `amount` number
      - `currency` string
      - `currency_symbol` string
    - `type` 'net' | 'processing_fee' | 'float' | 'reserve' | 'adjustment' | 'bolt_fee'
  - `status` 'in_progress' | 'completed' | 'cancelled' | 'failed' | 'pending' | 'created' | 'authorized' | 'rejected_reversible' | 'rejected_irreversible' — The transaction's status.
  - `to_consumer` ConsumerSelfView
    - `first_name` string — The given name of the person associated with this record.
    - `id` string
    - `last_name` string — The surname of the person associated with this record.
    - `authentication` LoginView
      - `actions` string[]
      - `methods` string[]
      - `sso_authorization_url` string
    - `email_verified` boolean
    - `emails` EmailView[]
      - `address` string
      - `id` string
      - `priority` 'primary' | 'listed' — Describes the card's priority.
      - `status` string
    - `phones` PhoneView[]
      - `country_code` string — Used for the 2-digit ISO 3166-1 alpha 2 country code associated with this address.
      - `id` string
      - `number` string
      - `priority` 'primary' | 'listed'
      - `status` string
    - `platform_account_status` 'none' | 'linked' | 'unlinked'
  - `to_credit_card` CreditCardView — Contains details about the credit card transaction.
    - `billing_address` AddressView — The address object returned in the response.
      - `company` string — The company name associated with this address.
      - `country` string — The name of the country associated with this address.
      - `country_code` string — The ISO 3166-1 alpha-2 country code associated with this address.
      - `door_code` string, nullable — The building door code or community gate code.
      - `email_address` string, email — An email address.
      - `first_name` string — The given name of the person associated with this address.
      - `id` string — The unique Bolt ID associated with this address.
      - `last_name` string — The surname of the person associated with this address.
      - `locality` string — The city name details associated with this address.
      - `name` string — The given and surname of the person associated with this address.
      - `phone_number` string — A phone number following E164 standards, in its globalized format, i.e. prepended with a plus sign.
      - `postal_code` string — The postal or zip code associated with this address.
      - `priority` 'primary' | 'listed', nullable — The shopper-indicated priority of this address compared to other addresses on their account.
      - `region` string — The region details such as state or province associated with this address.
      - `region_code` string, nullable — The the ISO 3166-2 region code associated with this address.
      - `street_address1` string — The street number and street name of the address.
      - `street_address2` string — Any apartment, floor, or unit details.
      - `street_address3` string, nullable — Any additional street address details.
      - `street_address4` string, nullable — Any additional street address details.
    - `bin` string — The Bank Identification Number for the credit card; this is typically the first 4-6 digits of the credit card number. **Nullable** for Transactions Details.
    - `display_network` 'Credit Card' | 'American Express' | 'Diners Club' | 'Discover' | 'JCB' | 'MasterCard' | 'Union Pay' | 'Visa' — The card's network. **Nullable** for Transactions Details.
    - `expiration` integer — The card's expiration. **Nullable** for Transactions Details.
    - `icon_asset_path` string — The asset link for displayed icons. This link varies depending on payment method used. **Nullable** for Transactions Details.
    - `id` string — The card's ID. **Nullable** for Transactions Details.
    - `last4` string — The card's last 4 digits. **Nullable** for Transactions Details.
    - `network` 'visa' | 'mastercard' | 'amex' | 'discover' | 'dinersclub' | 'jcb' | 'unionpay' | 'alliancedata' | 'citiplcc' | 'unknown' — The card's network code. **Nullable** for Transactions Details. Note: LEGACY diners_club_us_ca now tagged as mastercard
    - `priority` 'primary' | 'listed' — Describes the card's priority.
    - `status` 'active' | 'created' | 'inactive' | 'transient' — The card's status. **Nullable** for Transactions Details.
    - `token` string — The Bolt token associated to the credit card. Required for new, unsaved cards.
    - `token_type` 'vantiv' | 'applepay' | 'bolt' | 'stripe' | 'plcc' | 'applepay_encrypted_blob' — Used to define which payment processor generated the token for this credit card.
  - `transaction_properties` object
  - `type` 'cc_payment' | 'cc_credit' | 'funding_transfer' | 'processing_fee_transfer' | 'reserve_transfer' | 'float_transfer' | 'merchant_credit' | 'merchant_debit' | 'funding_withdrawal' | 'processing_fee_withdrawal' | 'zero_amount' | 'bolt_fee_transfer' | 'bolt_fee_withdrawal' | 'bank_account_verification' | 'authorization_verification' | 'paypal_payment' | 'paypal_refund' | 'apm_payment' | 'apm_refund' | 'zero_amount_verification' — The type of transaction.
  - `void` CreditCardVoidView
    - `cause` string — Specifies why this particular transaction is voided.
    - `merchant_event_id` string — The reference ID associated with a transaction event (auth, capture, refund, void). This is an arbitrary identifier created by the merchant. Bolt does not enforce any uniqueness constraints on this ID. It is up to the merchant to generate identifiers that properly fulfill its needs.
    - `status` 'succeeded' | 'declined' | 'error' — The status of the void request.
    - `void` string — The void ID returned from the payment processor.
  - `view_status` 'not_viewed' | 'viewed' | 'viewing'

## Other responses

- `403` — Generic Error Schema
- `404` — Generic Error Schema

---

[API](https://skmtc.dev/bolt/apis/bolt-api-reference.md) · [All operations](https://skmtc.dev/bolt/apis/bolt-api-reference/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/bolt/bolt-api-reference/revisions/1f62c40558c6/schema)
