Remove a payout method
Remove a payout method — refused with 409 `method_in_use` while a payout to it is still pending or processing.
/api/external/payouts/methods/{id}NewRemove a payout method — refused with 409 method_in_use while a payout to it is still pending or processing.
Payouts already made keep their own masked copy of the destination, so the history is unaffected. Removing the MassPay wallet does not close the payee at MassPay: setting the wallet up again re-attaches it. The key's own account only, after the ID check.
At launch this endpoint answers 403 first_party_only to every other app. The read endpoints of this group are open to every key.
Authentication
Send the creator's API key as a bearer token: Authorization: Bearer dpfn_…. See Authentication & API keys.
Path parameters
| Name | Type | Required | Description |
|---|---|---|---|
id | string | Required | The method id. |
Responses
| Name | Type | Description |
|---|---|---|
id | string | The removed method. |
deleted | boolean | Always true. |
{
"id": "clxpm0002method",
"deleted": true
}Errors
| Status | Body | When |
|---|---|---|
| 401 | {"error":"Unauthorized","code":"unauthorized"} | Missing or invalid API key. |
| 403 | {"error":"Verify your identity (KYC) before setting up payouts.","code":"kyc_required"} | The account has not passed the ID check. |
| 403 | {"error":"Payout methods need the account’s own key — a key an agency minted for a managed account cannot read or change where payouts go.","code":"agency_key_not_allowed"} | The key was minted by an agency for an account it manages. |
| 403 | {"error":"This endpoint is only available to Dropfans-operated integrations.","code":"first_party_only"} | During launch, payout-method endpoints are open to Dropfans-operated integrations only. |
| 404 | {"error":"Not found","code":"not_found"} | Unknown id, or it belongs to another account (also on a repeated delete). |
| 409 | {"error":"Cannot delete: this method is attached to active payouts. Wait for them to settle.","code":"method_in_use"} | A payout to this method is pending or processing. |
| 400 | {"error":"This endpoint only acts as the key’s own account — send it without X-Dropfans-Account.","code":"account_header_not_allowed"} | `X-Dropfans-Account` names another account. An agency can never change where a creator it manages is paid. |
Rate limiting
Every response carries the X-RateLimit-Tier header and, on limited tiers, the per-minute and per-day trios — read X-RateLimit-Remaining and X-RateLimit-Reset instead of hardcoding limits. Details in Rate limits.
Code samples
curl -X DELETE "https://www.dropfans.io/api/external/payouts/methods/$ID" \
-H "Authorization: Bearer $DROPFANS_API_KEY"const id = '…'; // from an earlier response
const res = await fetch(`https://www.dropfans.io/api/external/payouts/methods/${id}`, {
method: 'DELETE',
headers: {
Authorization: `Bearer ${process.env.DROPFANS_API_KEY}`,
},
});
console.log(await res.json());import os
import requests
id = "…" # from an earlier response
res = requests.delete(
f"https://www.dropfans.io/api/external/payouts/methods/{id}",
headers={"Authorization": f"Bearer {os.environ['DROPFANS_API_KEY']}"},
)
print(res.json())Questions? [email protected]
