curl --request DELETE \
--url https://staging.crossmint.com/api/unstable/payment-methods/{paymentMethodId} \
--header 'X-API-KEY: <api-key>'import requests
url = "https://staging.crossmint.com/api/unstable/payment-methods/{paymentMethodId}"
headers = {"X-API-KEY": "<api-key>"}
response = requests.delete(url, headers=headers)
print(response.text)const options = {method: 'DELETE', headers: {'X-API-KEY': '<api-key>'}};
fetch('https://staging.crossmint.com/api/unstable/payment-methods/{paymentMethodId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://staging.crossmint.com/api/unstable/payment-methods/{paymentMethodId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "DELETE",
CURLOPT_HTTPHEADER => [
"X-API-KEY: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://staging.crossmint.com/api/unstable/payment-methods/{paymentMethodId}"
req, _ := http.NewRequest("DELETE", url, nil)
req.Header.Add("X-API-KEY", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.delete("https://staging.crossmint.com/api/unstable/payment-methods/{paymentMethodId}")
.header("X-API-KEY", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://staging.crossmint.com/api/unstable/payment-methods/{paymentMethodId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Delete.new(url)
request["X-API-KEY"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"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"
}
}Delete Payment Method
Delete a payment method.
API scope required: payment-methods.delete
curl --request DELETE \
--url https://staging.crossmint.com/api/unstable/payment-methods/{paymentMethodId} \
--header 'X-API-KEY: <api-key>'import requests
url = "https://staging.crossmint.com/api/unstable/payment-methods/{paymentMethodId}"
headers = {"X-API-KEY": "<api-key>"}
response = requests.delete(url, headers=headers)
print(response.text)const options = {method: 'DELETE', headers: {'X-API-KEY': '<api-key>'}};
fetch('https://staging.crossmint.com/api/unstable/payment-methods/{paymentMethodId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://staging.crossmint.com/api/unstable/payment-methods/{paymentMethodId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "DELETE",
CURLOPT_HTTPHEADER => [
"X-API-KEY: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://staging.crossmint.com/api/unstable/payment-methods/{paymentMethodId}"
req, _ := http.NewRequest("DELETE", url, nil)
req.Header.Add("X-API-KEY", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.delete("https://staging.crossmint.com/api/unstable/payment-methods/{paymentMethodId}")
.header("X-API-KEY", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://staging.crossmint.com/api/unstable/payment-methods/{paymentMethodId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Delete.new(url)
request["X-API-KEY"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"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"
}
}Authorizations
Path Parameters
PaymentMethod identifier.
Query Parameters
Identifies the target user. Format: <type>:<value> (e.g., email:alice@example.com, userId:abc123). Required with server API key auth; ignored with JWT.
Response
PaymentMethod object (pre-deletion state). The record is no longer returned by list or retrieve endpoints.
A saved bank account payout method. Sensitive fields (full account numbers and IBANs) are never included in responses.
Unique identifier (UUID v4), assigned by the server on creation.
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.
Human-readable label derived by the server (e.g., "Chime ••6259", "SEPA Account ••6789"). Not settable by the client.
Payout method type. Determines the country-specific bankAccount fields that are present.
bank-account-us, bank-account-mx-clabe, bank-account-co, bank-account-sepa-iban Bank account details. Present when type is a bank type. Full account numbers and IBANs are never included.
Show child attributes
Show child attributes
Read-only. ISO 8601 timestamp of the most recent successful offramp payout funded by this bank account. Absent if none.
Was this page helpful?

