Delete Associated Person
curl --request DELETE \
--url https://api.hopnow.io/v1/accounts/{account_id}/associated-persons/{person_id} \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.hopnow.io/v1/accounts/{account_id}/associated-persons/{person_id}"
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://api.hopnow.io/v1/accounts/{account_id}/associated-persons/{person_id}', 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}/associated-persons/{person_id}",
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://api.hopnow.io/v1/accounts/{account_id}/associated-persons/{person_id}"
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://api.hopnow.io/v1/accounts/{account_id}/associated-persons/{person_id}")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.hopnow.io/v1/accounts/{account_id}/associated-persons/{person_id}")
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{
"id": "<string>",
"object": "<string>",
"deleted": true
}Associated Persons
Delete Associated Person
Remove a beneficial owner, director or control person that no provider has been told about yet
DELETE
/
v1
/
accounts
/
{account_id}
/
associated-persons
/
{person_id}
Delete Associated Person
curl --request DELETE \
--url https://api.hopnow.io/v1/accounts/{account_id}/associated-persons/{person_id} \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.hopnow.io/v1/accounts/{account_id}/associated-persons/{person_id}"
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://api.hopnow.io/v1/accounts/{account_id}/associated-persons/{person_id}', 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}/associated-persons/{person_id}",
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://api.hopnow.io/v1/accounts/{account_id}/associated-persons/{person_id}"
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://api.hopnow.io/v1/accounts/{account_id}/associated-persons/{person_id}")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.hopnow.io/v1/accounts/{account_id}/associated-persons/{person_id}")
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{
"id": "<string>",
"object": "<string>",
"deleted": true
}Deletes one associated person. The delete is a soft delete: the record is retained for audit and for any documents already attached to it, but the person stops being returned by any client endpoint and is left out of every future provider submission.
Requires an API key with
write access on the accounts scope. Like creation, this endpoint works only on business accounts, and the account holder cannot be removed.
Deleting re-triggers virtual account group onboarding, so a requirement that was waiting on this person’s details is withdrawn on the next sync instead of staying open.
Path Parameters
string
required
The account’s external ID (starts with
acct_)string
required
The associated person’s external ID (starts with
aap_). One belonging to another account returns 404.Response
string
The associated person identifier that was deleted
string
Always returns
"associated_person"boolean
Always returns
trueErrors
| Status | code | When |
|---|---|---|
404 | RESOURCE_NOT_FOUND | No such person, it belongs to another account, or it was already deleted: deleting the same id twice returns 404, not deleted: true |
422 | DELETE_BLOCKED | The person has been submitted to a provider or has signed an agreement; details.person_id names the person |
422 | BUSINESS_RULE_VIOLATION | The person is the account holder, or the account is not a business account |
Response Example
{
"id": "aap_7k2m9x1q4v8b3n6c5d0f2h4j",
"object": "associated_person",
"deleted": true
}