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

# Deactivate an External Account

> Deactivate an active External Account. The External Account is preserved and can be reactivated later via the reactivate endpoint.



## OpenAPI

````yaml https://withbridge-image1-sv-usw2-monorail-openapi.s3.amazonaws.com/latest.json post /customers/{customerID}/external_accounts/{externalAccountID}/deactivate
openapi: 3.0.2
info:
  title: Bridge API
  description: APIs to move into, out of, and between any form of a dollar
  version: '1'
servers:
  - url: https://api.bridge.xyz/v0
    description: The base path for all resources
security:
  - ApiKey: []
tags:
  - name: Customers
  - name: Fiat Payout Configuration
  - name: External Accounts
  - name: Transfers
  - name: Prefunded Accounts
  - name: Balances
  - name: Liquidation Addresses
  - name: Developers
  - name: API Keys
  - name: Plaid
  - name: Virtual Accounts
  - name: Static Memos
  - name: Cards
  - name: Funds Requests
  - name: Webhooks
  - name: Lists
  - name: Crypto Return Policies
  - name: Rewards
  - name: Associated Persons
  - name: Sandbox
paths:
  /customers/{customerID}/external_accounts/{externalAccountID}/deactivate:
    post:
      tags:
        - External Accounts
      summary: Deactivate an External Account
      description: >-
        Deactivate an active External Account. The External Account is preserved
        and can be reactivated later via the reactivate endpoint.
      parameters:
        - $ref: '#/components/parameters/IdempotencyKeyParameter'
        - $ref: '#/components/parameters/CustomerIDParameter'
        - $ref: '#/components/parameters/ExternalAccountIDParameter'
      responses:
        '200':
          description: Deactivated External Account object
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExternalAccountResponse'
              examples:
                DeactivatedExternalAccountResponse:
                  $ref: '#/components/examples/SuccessfulExternalAccountResponse'
        '401':
          $ref: '#/components/responses/AuthenticationError'
        '404':
          $ref: '#/components/responses/NotFoundError'
        '500':
          $ref: '#/components/responses/UnexpectedError'
components:
  parameters:
    IdempotencyKeyParameter:
      in: header
      name: Idempotency-Key
      required: true
      schema:
        type: string
    CustomerIDParameter:
      name: customerID
      in: path
      required: true
      schema:
        $ref: '#/components/schemas/Id'
    ExternalAccountIDParameter:
      name: externalAccountID
      in: path
      required: true
      schema:
        $ref: '#/components/schemas/Id'
  schemas:
    ExternalAccountResponse:
      required:
        - id
        - customer_id
        - created_at
        - updated_at
        - account_owner_name
        - currency
        - account_type
        - active
      allOf:
        - $ref: '#/components/schemas/ExternalAccount'
        - type: object
          properties:
            account_verification:
              description: >-
                Present for accounts with a holder verification check; contains
                the verification result keyed by account type.
              nullable: true
              type: object
              properties:
                iban:
                  type: object
                  properties:
                    match_level:
                      type: string
                      enum:
                        - pending
                        - match
                        - close_match
                        - no_match
                        - error
                    reason_code:
                      type: string
                      nullable: true
                    validated_account_owner_name:
                      type: string
                      nullable: true
                gb:
                  type: object
                  properties:
                    match_level:
                      type: string
                      enum:
                        - pending
                        - match
                        - close_match
                        - no_match
                        - error
                    reason_code:
                      type: string
                      nullable: true
                    validated_account_owner_name:
                      type: string
                      nullable: true
                requested_at:
                  type: string
                  format: date-time
                completed_at:
                  type: string
                  format: date-time
                  nullable: true
    Id:
      description: A UUID that uniquely identifies a resource
      type: string
      pattern: '[a-z0-9]*'
      minLength: 1
      maxLength: 42
    ExternalAccount:
      oneOf:
        - $ref: '#/components/schemas/ExternalAccountUs'
        - $ref: '#/components/schemas/ExternalAccountIban'
        - $ref: '#/components/schemas/ExternalAccountUnknown'
        - $ref: '#/components/schemas/ExternalAccountClabe'
        - $ref: '#/components/schemas/ExternalAccountPix'
        - $ref: '#/components/schemas/ExternalAccountGb'
        - $ref: '#/components/schemas/ExternalAccountBreB'
        - $ref: '#/components/schemas/ExternalAccountCoBankTransfer'
    Error:
      required:
        - code
        - message
      properties:
        code:
          type: string
          minLength: 1
          maxLength: 256
        message:
          type: string
          minLength: 1
          maxLength: 512
        source:
          title: ErrorSource
          required:
            - location
            - key
          properties:
            location:
              type: string
              enum:
                - path
                - query
                - body
                - header
            key:
              type: string
              description: >-
                Comma separated names of the properties or parameters causing
                the error
    ExternalAccountUs:
      title: ACH/Wire
      description: >-
        US bank account using account and routing numbers for ACH or Wire
        transfers
      allOf:
        - $ref: '#/components/schemas/ExternalAccountBaseWithOwnerInfo'
        - type: object
          required:
            - account_type
            - account
            - currency
            - account_owner_name
          properties:
            account_type:
              type: string
              enum:
                - us
              description: Type of the bank account.
            currency:
              description: >-
                Currency associated with the bank account. Must be `usd` for US
                accounts.
              type: string
              enum:
                - usd
            account:
              $ref: '#/components/schemas/UsBankAccount'
            beneficiary_address_valid:
              readOnly: true
              type: boolean
              description: >-
                Whether the beneficiary address is valid. A valid beneficiary
                address is required for all US External Accounts
            last_4:
              description: >-
                Last 4 digits of the bank account number. This field is getting
                deprecated in favor of the `account.last_4` field
              type: string
              minLength: 1
              readOnly: true
              deprecated: true
            account_number:
              writeOnly: true
              description: >-
                Account number of your bank account. This field is getting
                deprecated in favor of the `account.account_number` field for US
                accounts.
              type: string
              minLength: 12
              deprecated: true
            routing_number:
              writeOnly: true
              description: >-
                Routing number of your bank account. This field is getting
                deprecated in favor of the `account.routing_number` field for US
                accounts.
              type: string
              minLength: 9
              deprecated: true
    ExternalAccountIban:
      title: IBAN
      description: >-
        IBAN bank account for European and international transfers (SEPA
        transfers use IBAN)
      allOf:
        - $ref: '#/components/schemas/ExternalAccountBaseWithOwnerInfo'
        - type: object
          required:
            - account_type
            - currency
            - iban
            - account_owner_name
          properties:
            account_type:
              type: string
              enum:
                - iban
              description: Type of the bank account.
            currency:
              description: >-
                Currency associated with the bank account. Must be `eur` for
                IBAN accounts.
              type: string
              enum:
                - eur
            iban:
              $ref: '#/components/schemas/IbanBankAccount'
    ExternalAccountUnknown:
      title: SWIFT
      description: SWIFT international wire transfer (account_type `iban` or `unknown`)
      allOf:
        - $ref: '#/components/schemas/ExternalAccountBaseWithOwnerInfo'
        - type: object
          required:
            - account_type
            - currency
          properties:
            account_type:
              type: string
              enum:
                - unknown
                - iban
              description: Type of the bank account.
            currency:
              description: Currency associated with the bank account.
              type: string
              enum:
                - usd
            swift:
              $ref: '#/components/schemas/UnknownBankAccount'
    ExternalAccountClabe:
      title: CLABE
      description: Mexican CLABE account for SPEI transfers
      allOf:
        - $ref: '#/components/schemas/ExternalAccountBaseWithOwnerInfo'
        - type: object
          required:
            - account_type
            - currency
            - clabe
            - account_owner_name
          properties:
            account_type:
              type: string
              enum:
                - clabe
              description: Type of the bank account.
            currency:
              description: >-
                Currency associated with the bank account. Must be `mxn` for
                CLABE (SPEI) accounts.
              type: string
              enum:
                - mxn
            clabe:
              $ref: '#/components/schemas/ClabeBankAccount'
            account_validation:
              $ref: '#/components/schemas/AccountValidation'
              readOnly: true
              nullable: true
              description: >-
                Present for CLABE accounts with a successful validation;
                contains validated owner and bank name.
    ExternalAccountPix:
      title: Pix
      description: Brazilian Pix instant payment system
      allOf:
        - $ref: '#/components/schemas/ExternalAccountBaseWithOwnerInfo'
        - type: object
          required:
            - account_type
            - currency
          properties:
            currency:
              description: >-
                Currency associated with the bank account. Must be `brl` for Pix
                accounts.
              type: string
              enum:
                - brl
            account_type:
              type: string
              enum:
                - pix
              description: Type of the bank account.
            pix_key:
              $ref: '#/components/schemas/PixKeyBankAccount'
              readOnly: true
              description: >-
                Pix key display info. Returned in GET responses when the account
                uses a Pix key.
            br_code:
              $ref: '#/components/schemas/BrCodeBankAccount'
              readOnly: true
              description: >-
                BR Code display info. Returned in GET responses when the account
                uses a BR Code.
            account_validation:
              $ref: '#/components/schemas/AccountValidation'
              readOnly: true
              nullable: true
              description: >-
                Present for Pix accounts with a successful validation; contains
                validated owner and bank name.
    ExternalAccountGb:
      title: GB
      description: >-
        UK bank account using account number and sort code for Faster Payments
        payment rail
      allOf:
        - $ref: '#/components/schemas/ExternalAccountBaseWithOwnerInfo'
        - type: object
          required:
            - account_type
            - currency
            - account
            - account_owner_name
          properties:
            account_type:
              type: string
              enum:
                - gb
              description: Type of the bank account.
            currency:
              description: >-
                Currency associated with the bank account. Must be `gbp` for GB
                accounts.
              type: string
              enum:
                - gbp
            account:
              $ref: '#/components/schemas/GbBankAccount'
    ExternalAccountBreB:
      title: Bre-B
      description: >-
        Colombian Bre-B account for COP transfers via the Bre-B payment rail.
        Requires `cop` endorsement. Virtual account numbers are not accepted.
      allOf:
        - $ref: '#/components/schemas/ExternalAccountBaseWithOwnerInfo'
        - type: object
          required:
            - account_type
            - currency
            - account
          properties:
            account_type:
              type: string
              enum:
                - bre_b
              description: Type of the bank account.
            currency:
              description: >-
                Currency associated with the bank account. Must be `cop` for
                Bre-B accounts.
              type: string
              enum:
                - cop
            account:
              $ref: '#/components/schemas/BreBBankAccount'
            account_validation:
              $ref: '#/components/schemas/AccountValidation'
              readOnly: true
              nullable: true
              description: >-
                Present for Bre-B accounts with a successful validation;
                contains validated owner and bank name.
    ExternalAccountCoBankTransfer:
      title: CO Bank Transfer
      description: Colombian bank account for COP transfers via CO bank transfer.
      allOf:
        - $ref: '#/components/schemas/ExternalAccountBaseWithOwnerInfo'
        - type: object
          required:
            - account_type
            - currency
            - account
          properties:
            account_type:
              type: string
              enum:
                - co_bank_transfer
              description: Type of the bank account.
            currency:
              description: >-
                Currency associated with the bank account. Must be `cop` for CO
                bank transfer accounts.
              type: string
              enum:
                - cop
            account:
              description: >-
                CO bank transfer account display information. Returned in GET
                responses.
              type: object
              properties:
                last_4:
                  description: Last 4 digits of the account number
                  type: string
                  readOnly: true
                routing_number:
                  description: The bank code of the account
                  type: string
                  readOnly: true
    ExternalAccountBaseWithOwnerInfo:
      description: Properties shared by all external account types
      properties:
        id:
          $ref: '#/components/schemas/Id'
          readOnly: true
        customer_id:
          description: The id of the Bridge customer that this External Account belongs to
          type: string
          minLength: 1
          readOnly: true
        bank_name:
          description: Bank name of the account (e.g. "Chase")
          type: string
          minLength: 1
          maxLength: 256
        account_owner_name:
          description: >
            Owner of the account Bank Account (e.g. "John Doe"). For ach or wire
            transfers, this field must be at least 3 characters, at most 35
            characters, and follow either of the following regex patterns:

            - ach: `^(?!\s*$)[\x20-\x7E]*$`

            - wire: ```^[ \w!"#$%&'()+,\-./:;<=>?@\\_`~]*$```
          type: string
          minLength: 1
          maxLength: 256
        created_at:
          readOnly: true
          type: string
          description: Time of creation of the External Account
          format: date-time
        updated_at:
          readOnly: true
          type: string
          description: Time of last update of the External Account
          format: date-time
        active:
          readOnly: true
          type: boolean
          description: Whether or not this External Account is active
        account_owner_type:
          $ref: '#/components/schemas/BankAccountOwnerType'
          description: >-
            The type of the account ownership. Required when the `account_type`
            is `iban`. For `individual` ownership, `first_name` and `last_name`
            are required. For `business` ownership, `business_name` is required.
        first_name:
          type: string
          description: >-
            First name of the individual account holder. Required when the
            `account_owner_type` is `individual`
        last_name:
          type: string
          description: >-
            Last name of the individual account holder. Required when the
            `account_owner_type` is `individual`
        business_name:
          type: string
          description: >-
            Business name of the business account holder. Required when the
            `account_owner_type` is `business`
        address:
          $ref: '#/components/schemas/ExternalAccountAddress'
          writeOnly: true
          description: >-
            Address of the beneficiary of this account. Please ensure the
            address is valid (Google Maps is good for this). US addresses used
            to receive wires must include a street number.
        deactivation_reason:
          $ref: '#/components/schemas/ExternalAccountDeactivationReason'
          readOnly: true
          description: Reason for deactivation when this External Account is inactive
        deactivation_details:
          readOnly: true
          type: string
          description: >-
            Additional details about the deactivation when this External Account
            is inactive
    UsBankAccount:
      title: us
      required:
        - account_number
        - routing_number
        - last_4
      properties:
        account_number:
          type: string
          description: The bank account number
          minLength: 1
          writeOnly: true
        routing_number:
          type: string
          description: The bank routing number
          minLength: 9
          maxLength: 9
        last_4:
          description: Last 4 digits of the bank account number
          minLength: 1
          type: string
          readOnly: true
        checking_or_savings:
          $ref: '#/components/schemas/CheckingOrSavingsType'
    IbanBankAccount:
      required:
        - account_number
        - country
        - last_4
      properties:
        account_number:
          type: string
          description: >-
            The International Bank Account Number (IBAN) that will be used to
            send the funds
          minLength: 1
          writeOnly: true
        bic:
          type: string
          description: >
            The Bank Identifier Code (BIC/SWIFT code) associated with the
            beneficiary bank.

            While not strictly required for IBAN-based payments, providing the
            BIC may improve

            payment success rates.
          minLength: 8
          maxLength: 11
          pattern: ^[A-Za-z]{4}[A-Za-z]{2}[A-Za-z0-9]{2}([A-Za-z0-9]{3})?$
        country:
          description: >-
            Country in which the bank account is located. It's a three-letter
            alpha-3 country code as defined in the ISO 3166-1 spec.
          type: string
          minLength: 3
          maxLength: 3
        last_4:
          description: Last 4 digits of the bank account number
          minLength: 1
          type: string
          readOnly: true
    UnknownBankAccount:
      description: SWIFT international wire transfer (account_type `unknown` or `iban`)
      required:
        - account_number
        - last_4
        - bic
      properties:
        account_number:
          type: string
          description: The number of the bank account
          minLength: 1
          writeOnly: true
        bic:
          type: string
          description: The Bank Identifier Code (BIC) of the bank account
          minLength: 1
        last_4:
          description: Last 4 digits of the bank account number
          minLength: 1
          type: string
          readOnly: true
    ClabeBankAccount:
      required:
        - account_number
        - last_4
      properties:
        account_number:
          type: string
          description: The CLABE account number of the bank account
          minLength: 18
          maxLength: 18
          writeOnly: true
        last_4:
          description: Last 4 digits of the CLABE
          minLength: 4
          maxLength: 4
          type: string
          readOnly: true
    AccountValidation:
      description: >-
        Validated account owner and bank name from successful Infinia
        validation. Present only for Pix, SPEI/CLABE, and Bre-B accounts that
        have been successfully validated.
      type: object
      properties:
        validated_account_owner_name:
          type: string
          nullable: true
          description: Account owner name as returned by the validation provider.
        validated_bank_name:
          type: string
          nullable: true
          description: Bank name as returned by the validation provider.
        validated_document_number_last4:
          type: string
          nullable: true
          readOnly: true
          description: >-
            Last 4 characters of the account owner's document number, as
            returned by the validation provider. Present only for Bre-B
            (Colombian) accounts.
    PixKeyBankAccount:
      title: pix_key
      required:
        - pix_key
        - account_preview
      properties:
        pix_key:
          type: string
          description: >
            The Pix key for the Brazilian bank account. Must be one of the
            following formats:

            - **EVP (Virtual Payment Address)**: Random UUID generated by Banco
            Central do Brasil (e.g., `550e8400-e29b-41d4-a716-446655440000`)

            - **CPF (Tax ID)**: 11-digit individual tax number (e.g.,
            `12345678901`)

            - **CNPJ (Business Tax ID)**: 14-digit business tax number (e.g.,
            `12345678000195`)

            - **Phone**: Brazilian mobile phone in format +55 followed by 11
            digits (e.g., `+5511987654321`)

            - **Email**: Valid email address (e.g., `joao.silva@email.com`)
          minLength: 1
          writeOnly: true
        document_number:
          type: string
          description: >-
            Optional document number (CPF/CNPJ) associated with the Pix key. 
            Must be all numerals (no punctuation) if provided.
          writeOnly: true
        account_preview:
          description: Masked preview of the Pix key
          type: string
          readOnly: true
        document_number_last4:
          description: Last 4 digits of the document number (CPF/CNPJ) when available
          type: string
          readOnly: true
    BrCodeBankAccount:
      title: br_code
      required:
        - br_code
        - account_preview
      properties:
        br_code:
          type: string
          description: The Copie e cola code for Pix transactions
          minLength: 1
          writeOnly: true
        document_number:
          type: string
          description: >-
            Optional document number (CPF/CNPJ) associated with the Pix key. 
            Must be all numerals (no punctuation) if provided.
          writeOnly: true
        account_preview:
          description: Masked preview of the BR Code
          type: string
          readOnly: true
        document_number_last4:
          description: Last 4 digits of the document number (CPF/CNPJ) when available
          type: string
          readOnly: true
    GbBankAccount:
      title: gb
      type: object
      required:
        - account_number
        - last_4
        - sort_code
      properties:
        account_number:
          type: string
          description: The bank account number
          minLength: 8
          maxLength: 8
          example: 12345678
          writeOnly: true
        last_4:
          description: Last 4 digits of the bank account number
          minLength: 1
          type: string
          readOnly: true
        sort_code:
          type: string
          description: The sort code, without hyphens
          minLength: 6
          maxLength: 6
          example: 123456
    BreBBankAccount:
      title: bre_b
      required:
        - bre_b_key
        - last_4
      properties:
        bre_b_key:
          type: string
          description: The Bre-B key of the Colombian bank account
          writeOnly: true
        last_4:
          description: Last 4 digits of the Bre-B key
          minLength: 4
          maxLength: 4
          type: string
          readOnly: true
    BankAccountOwnerType:
      type: string
      enum:
        - individual
        - business
    ExternalAccountAddress:
      required:
        - street_line_1
        - country
        - city
      properties:
        street_line_1:
          type: string
          minLength: 4
          maxLength: 35
        street_line_2:
          type: string
          maxLength: 35
        city:
          type: string
          minLength: 1
        state:
          type: string
          description: ISO 3166-2 subdivision code. Must be supplied for US addresses.
          minLength: 1
          maxLength: 3
        postal_code:
          type: string
          description: Must be supplied for countries that use postal codes.
          minLength: 1
        country:
          description: Three-letter alpha-3 country code as defined in the ISO 3166-1 spec.
          type: string
          minLength: 3
          maxLength: 3
    ExternalAccountDeactivationReason:
      description: Reason for deactivating an External Account
      type: string
      enum:
        - plaid_item_error
        - deactivated_due_to_bounceback
        - deleted_by_developer
        - requested_by_developer
        - invalid_account_number
        - invalid_bank_validation
        - rejected_by_bank_provider
    CheckingOrSavingsType:
      description: >-
        Determines whether the US account is treated as checking or savings. All
        US accounts will be treated as checking by default.
      type: string
      enum:
        - checking
        - savings
  examples:
    SuccessfulExternalAccountResponse:
      summary: A successful ACH External Account object (US)
      value:
        id: ea_123
        account_type: us
        currency: usd
        customer_id: cust_123
        account_owner_name: John Doe
        bank_name: Wells Fargo
        last_4: '1111'
        active: true
        beneficiary_address_valid: true
        account:
          last_4: '1111'
          routing_number: '121000248'
          checking_or_savings: checking
        created_at: '2020-01-01T00:00:00.000Z'
        updated_at: '2020-01-02T00:00:00.000Z'
  responses:
    AuthenticationError:
      description: Missing or invalid API key
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          examples:
            MissingTokenError:
              summary: No Api-Key header
              description: The header may be missing or misspelled.
              value:
                code: required
                location: header
                name: Api-Key
                message: Missing Api-Key header
            InvalidTokenError:
              summary: Invalid key in Api-Key header
              value:
                code: invalid
                location: header
                name: Api-Key
                message: Invalid Api-Key header
    NotFoundError:
      description: No resource found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          examples:
            NotFoundErrorExample:
              summary: Invalid customer id
              value:
                code: Invalid
                message: Unknown customer id
    UnexpectedError:
      description: Unexpected error. User may try and send the request again.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          examples:
            UnexpectedError:
              summary: An unexpected error
              value:
                errors:
                  - code: unexpected
                    message: An expected error occurred, you may try again later
  securitySchemes:
    ApiKey:
      type: apiKey
      name: Api-Key
      in: header

````