Disable Beneficiary
curl --request POST \
--url https://api.hopnow.io/v1/accounts/{account_id}/beneficiaries/{beneficiary_id}/disable \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.hopnow.io/v1/accounts/{account_id}/beneficiaries/{beneficiary_id}/disable"
headers = {"X-API-Key": "<api-key>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {'X-API-Key': '<api-key>'}};
fetch('https://api.hopnow.io/v1/accounts/{account_id}/beneficiaries/{beneficiary_id}/disable', 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://api.hopnow.io/v1/accounts/{account_id}/beneficiaries/{beneficiary_id}/disable",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
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://api.hopnow.io/v1/accounts/{account_id}/beneficiaries/{beneficiary_id}/disable"
req, _ := http.NewRequest("POST", 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.post("https://api.hopnow.io/v1/accounts/{account_id}/beneficiaries/{beneficiary_id}/disable")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.hopnow.io/v1/accounts/{account_id}/beneficiaries/{beneficiary_id}/disable")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-API-Key"] = '<api-key>'
response = http.request(request)
puts response.read_bodyBeneficiaries
Disable Beneficiary
Disable a beneficiary for payouts
POST
/
v1
/
accounts
/
{account_id}
/
beneficiaries
/
{beneficiary_id}
/
disable
Disable Beneficiary
curl --request POST \
--url https://api.hopnow.io/v1/accounts/{account_id}/beneficiaries/{beneficiary_id}/disable \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.hopnow.io/v1/accounts/{account_id}/beneficiaries/{beneficiary_id}/disable"
headers = {"X-API-Key": "<api-key>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {'X-API-Key': '<api-key>'}};
fetch('https://api.hopnow.io/v1/accounts/{account_id}/beneficiaries/{beneficiary_id}/disable', 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://api.hopnow.io/v1/accounts/{account_id}/beneficiaries/{beneficiary_id}/disable",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
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://api.hopnow.io/v1/accounts/{account_id}/beneficiaries/{beneficiary_id}/disable"
req, _ := http.NewRequest("POST", 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.post("https://api.hopnow.io/v1/accounts/{account_id}/beneficiaries/{beneficiary_id}/disable")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.hopnow.io/v1/accounts/{account_id}/beneficiaries/{beneficiary_id}/disable")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-API-Key"] = '<api-key>'
response = http.request(request)
puts response.read_bodySets the beneficiary’s status to
disabled. A disabled beneficiary cannot fund new payouts, but it stays visible in listings and keeps its payout destinations.
The call is idempotent: disabling an already-disabled beneficiary returns 200 with the beneficiary unchanged. It does not cascade. The beneficiary’s payout destinations keep their own status, and must be disabled individually if you want them disabled too.
There is no client endpoint to re-enable a beneficiary. Re-activating one is a Hop support operation. Contact support if a beneficiary was disabled by mistake.
Requires an API key with write access on the payments scope.
Path Parameters
string
required
The account’s external ID (starts with
acct_)string
required
The beneficiary’s external ID (starts with
bene_)Response
Returns the full beneficiary object, the same shape as Get Beneficiary, withstatus set to disabled.
Errors
| Status | code | When |
|---|---|---|
404 | RESOURCE_NOT_FOUND | No such beneficiary, it belongs to another account, or it has been deleted |
Response Example
{
"id": "bene_9gt1ummgx127biovlurm9mq2",
"object": "beneficiary",
"account_id": "acct_ka44qsvpo8q3wtzuwfqf0h6u",
"beneficiary_type": "individual",
"title": null,
"first_name": "John",
"middle_name": null,
"last_name": "Doe",
"display_name": "John Doe",
"company_name": null,
"email": "john.doe@example.com",
"phone": "+1234567890",
"address": {
"address_line": "123 Main St",
"city": "New York",
"region": "NY",
"postal_code": "10001",
"country": "US"
},
"country_code": "US",
"status": "disabled",
"verified": false,
"self_owned": false,
"payout_destinations": [],
"created": "2026-01-15T10:00:00Z",
"updated": "2026-01-16T10:00:00Z",
"created_by": "ak_0ub5w2xr8yl3qks6tcdn7m4v",
"updated_by": "ak_0ub5w2xr8yl3qks6tcdn7m4v"
}