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

# Delete a Payment Method

> Soft-delete a payout method. The record is retained for compliance but can no longer be used.

Deletes a payout method. The record is retained internally but can no longer be used for payouts.

## Returns

Returns the [PaymentMethod](/offramp/api-reference/payment-methods/payment-method-object) object as it existed before deletion.


## OpenAPI

````yaml api-reference/_open-api/OfframpAPIs.json DELETE /unstable/payment-methods/{paymentMethodId}
openapi: 3.0.1
info:
  description: |
    Offramp APIs for cashing out stablecoins to fiat.
  version: 1.0.0
  title: Offramp
  contact:
    name: Crossmint Offramp APIs
    url: https://www.crossmint.com
    email: support@crossmint.com
servers:
  - url: https://staging.crossmint.com/api
    description: Staging environment (testnets)
  - url: https://www.crossmint.com/api
    description: Production environment (mainnets)
security: []
tags:
  - name: Offramp
    description: APIs to cash out stablecoins to fiat (offramp)
  - name: Payment Methods
    description: Manage bank account payout methods for offramp.
paths:
  /unstable/payment-methods/{paymentMethodId}:
    parameters:
      - $ref: '#/components/parameters/PaymentMethodId'
    delete:
      tags:
        - Payment Methods
      summary: Delete a payment method
      description: >-
        Soft-deletes a payout method. The record is retained for compliance but
        is excluded from list and retrieve operations and can no longer be used
        for payouts. Returns the payout method as it existed before deletion.


        **API scope required**: `payment-methods.delete`
      operationId: deletePaymentMethod
      parameters:
        - name: paymentMethodId
          in: path
          required: true
          schema:
            type: string
            format: uuid
          description: UUID of the payment method.
        - name: userLocator
          in: query
          required: false
          schema:
            type: string
          description: >-
            Identifies the target user. Format: `<type>:<value>` (e.g.,
            `email:alice@example.com`, `userId:abc123`). Required with server
            API key auth; ignored with JWT.
          example: email:alice@example.com
      responses:
        '200':
          description: >-
            PaymentMethod object (pre-deletion state). The record is no longer
            returned by list or retrieve endpoints.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PmPaymentMethod'
              examples:
                SEPA:
                  summary: SEPA
                  value:
                    paymentMethodId: 3323460b-d9d2-4ec6-b380-8a3e01e3f226
                    default: false
                    displayName: SEPA Account ••6789
                    type: bank-account-sepa-iban
                    bankAccount:
                      billing:
                        name: Hans Müller
                        phone: '+4915112345678'
                        address:
                          line1: Unter den Linden 1
                          city: Berlin
                          stateOrRegion: BE
                          postalCode: '10117'
                          country: DE
                      bankName: null
                      accountSuffix: '6789'
                      currency: eur
                      country: DE
                      entityType: individual
                      bic: COBADEFFXXX
                BankAccountUs:
                  summary: US Bank Account
                  value:
                    paymentMethodId: dd8a59c6-aac0-47c2-9c21-686caf7f0359
                    default: false
                    displayName: Chime ••6259
                    type: bank-account-us
                    bankAccount:
                      billing:
                        name: Alice Smith
                        phone: '+12125551234'
                        address:
                          line1: 123 Main St
                          city: New York
                          stateOrRegion: NY
                          postalCode: '10001'
                          country: US
                      bankName: Chime
                      accountSuffix: '6259'
                      currency: usd
                      country: US
                      entityType: individual
                      bankAddress:
                        line1: 123 Main St
                        city: New York
                        stateOrRegion: NY
                        postalCode: '10001'
                        country: US
                      routingNumber: '091300010'
                      accountType: checking
                BankAccountMx:
                  summary: MX Bank Account
                  value:
                    paymentMethodId: 27bacbe1-d0ff-4bc3-b37a-ca91cc64fa39
                    default: false
                    displayName: MX Bank Account ••9719
                    type: bank-account-mx-clabe
                    bankAccount:
                      billing:
                        name: Javier Toledo
                        phone: '+525512345678'
                        address:
                          line1: Av. Reforma 1
                          city: Mexico City
                          stateOrRegion: CDMX
                          postalCode: '06600'
                          country: MX
                      bankName: null
                      accountSuffix: '9719'
                      currency: mxn
                      country: MX
                      entityType: individual
                      bankCode: '138'
                BankAccountCo:
                  summary: CO Bank Account
                  value:
                    paymentMethodId: 1cad2281-bd3d-4219-8787-7dfea94c60b1
                    default: false
                    displayName: CO Bank Account ••7890
                    type: bank-account-co
                    bankAccount:
                      billing:
                        name: Carlos Gómez
                        phone: '+573001234567'
                        address:
                          line1: Carrera 7
                          city: Bogotá
                          stateOrRegion: DC
                          postalCode: '110010'
                          country: CO
                      bankName: null
                      accountSuffix: '7890'
                      currency: cop
                      country: CO
                      entityType: individual
                      bankCode: '001'
                      accountType: savings
        '400':
          description: Invalid request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Pm400ResponseGeneral'
              examples:
                missing_locator:
                  description: Missing userLocator when using API key auth
                  value:
                    error: true
                    message: userLocator is required when not using JWT authentication
                    code: PAYMENT_METHOD_INVALID_USER_LOCATOR
        '401':
          description: Missing or invalid API key.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Pm401Response'
        '403':
          description: Authentication source not allowed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Pm403Response'
        '404':
          description: Payment method not found or does not belong to this user.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Pm404Response'
      security:
        - apiKey: []
      servers:
        - url: https://staging.crossmint.com/api
          description: Staging
        - url: https://www.crossmint.com/api
          description: Production
components:
  parameters:
    PaymentMethodId:
      name: paymentMethodId
      in: path
      required: true
      schema:
        type: string
        format: uuid
      description: PaymentMethod identifier.
  schemas:
    PmPaymentMethod:
      title: Bank account
      type: object
      description: >-
        A saved bank account payout method. Sensitive fields (full account
        numbers and IBANs) are never included in responses.
      properties:
        paymentMethodId:
          type: string
          format: uuid
          description: Unique identifier (UUID v4), assigned by the server on creation.
        default:
          type: boolean
          description: >-
            Whether this is the user's default payment method. Only one per user
            can be the default; setting a new default automatically unsets the
            previous one.
        displayName:
          type: string
          description: >-
            Human-readable label derived by the server (e.g., "Chime ••6259",
            "SEPA Account ••6789"). Not settable by the client.
        type:
          type: string
          enum:
            - bank-account-us
            - bank-account-mx-clabe
            - bank-account-co
            - bank-account-sepa-iban
          description: >-
            Payout method type. Determines the country-specific `bankAccount`
            fields that are present.
        bankAccount:
          type: object
          description: >-
            Bank account details. Present when `type` is a bank type. Full
            account numbers and IBANs are never included.
          properties:
            billing:
              type: object
              description: Account holder billing details as provided on creation.
            bankName:
              type: string
              description: Name of the bank, or `null` if the bank could not be identified.
              nullable: true
            accountSuffix:
              type: string
              description: Last four digits of the account number, CLABE, or IBAN.
            currency:
              type: string
              description: ISO 4217 currency code in lowercase (e.g., `usd`, `eur`).
            country:
              type: string
              description: ISO 3166-1 alpha-2 country code.
            entityType:
              type: string
              description: Account holder type. Present when provided on creation.
              enum:
                - individual
                - business
            routingNumber:
              type: string
              description: ABA routing number. US only.
            accountType:
              type: string
              description: Account type. US and CO only.
              enum:
                - checking
                - savings
            bankAddress:
              type: object
              description: Bank mailing address. US only.
            bankCode:
              type: string
              description: Bank code. MX and CO only.
            bic:
              type: string
              description: BIC/SWIFT code. SEPA only; present when provided on creation.
            taxId:
              type: string
              description: Mexican tax identifier (RFC). MX only; present when provided.
            businessDescription:
              type: string
              description: Business description. MX only; present when provided.
          required:
            - billing
            - bankName
            - accountSuffix
            - currency
            - country
        lastPayoutAt:
          type: string
          format: date-time
          description: >-
            Read-only. ISO 8601 timestamp of the most recent successful offramp
            payout funded by this bank account. Absent if none.
      required:
        - paymentMethodId
        - default
        - type
        - displayName
        - bankAccount
    Pm400ResponseGeneral:
      type: object
      properties:
        error:
          type: boolean
          example: true
        message:
          type: string
          description: Human-readable error message describing what went wrong
        code:
          type: string
          description: Machine-readable error code for programmatic handling
          enum:
            - PAYMENT_METHOD_INVALID_USER_LOCATOR
      description: Bad request (e.g., missing or invalid userLocator).
    Pm401Response:
      type: object
      properties:
        error:
          type: boolean
          example: true
        message:
          type: string
          example: Missing or invalid API key.
      description: Missing or invalid API key / JWT.
    Pm403Response:
      type: object
      properties:
        error:
          type: boolean
          example: true
        message:
          type: string
          example: Payment methods are not allowed with this authentication source
      description: API key lacks the required scope for this operation.
    Pm404Response:
      type: object
      properties:
        error:
          type: boolean
          example: true
        message:
          type: string
          example: Payment method not found
      description: Payment method not found, deleted, or belongs to a different user.
  securitySchemes:
    apiKey:
      type: apiKey
      name: X-API-KEY
      in: header

````