Update Account
curl --request PATCH \
--url https://api.hopnow.io/v1/customers/{customer_id}/accounts/{account_id} \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"type": "<string>",
"business_legal_name": "<string>",
"business_type": {},
"registered_address": {},
"business_registration_number": "<string>",
"incorporation_date": "<string>",
"operating_address_same_as_registered": true,
"operating_address": {},
"business_industry": [
{}
],
"expected_monthly_volume": {},
"source_of_funds": {},
"intended_use_of_account": {},
"is_regulated": true,
"regulator_information": {
"name": "<string>",
"jurisdiction": "<string>",
"register_number": "<string>"
},
"is_publicly_listed": true,
"public_listing": {
"exchange": "<string>",
"ticker_symbol": "<string>"
},
"business_operations_start_date": "<string>",
"tax_identification_number": "<string>",
"tax_residence_country_code": "<string>",
"business_description": "<string>",
"website": "<string>",
"jurisdiction_of_incorporation": "<string>",
"email": "<string>",
"first_name": "<string>",
"last_name": "<string>",
"middle_name": "<string>",
"date_of_birth": "<string>",
"nationality": "<string>",
"address": {},
"phone_number": "<string>",
"place_of_birth": "<string>",
"birth_country_code": "<string>",
"document_number": "<string>",
"tax_identification": {},
"employment_status": {},
"pep_status": {},
"estimated_yearly_income": {},
"employment_industry_sector": {},
"reference": "<string>"
}
'import requests
url = "https://api.hopnow.io/v1/customers/{customer_id}/accounts/{account_id}"
payload = {
"type": "<string>",
"business_legal_name": "<string>",
"business_type": {},
"registered_address": {},
"business_registration_number": "<string>",
"incorporation_date": "<string>",
"operating_address_same_as_registered": True,
"operating_address": {},
"business_industry": [{}],
"expected_monthly_volume": {},
"source_of_funds": {},
"intended_use_of_account": {},
"is_regulated": True,
"regulator_information": {
"name": "<string>",
"jurisdiction": "<string>",
"register_number": "<string>"
},
"is_publicly_listed": True,
"public_listing": {
"exchange": "<string>",
"ticker_symbol": "<string>"
},
"business_operations_start_date": "<string>",
"tax_identification_number": "<string>",
"tax_residence_country_code": "<string>",
"business_description": "<string>",
"website": "<string>",
"jurisdiction_of_incorporation": "<string>",
"email": "<string>",
"first_name": "<string>",
"last_name": "<string>",
"middle_name": "<string>",
"date_of_birth": "<string>",
"nationality": "<string>",
"address": {},
"phone_number": "<string>",
"place_of_birth": "<string>",
"birth_country_code": "<string>",
"document_number": "<string>",
"tax_identification": {},
"employment_status": {},
"pep_status": {},
"estimated_yearly_income": {},
"employment_industry_sector": {},
"reference": "<string>"
}
headers = {
"X-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {'X-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
type: '<string>',
business_legal_name: '<string>',
business_type: {},
registered_address: {},
business_registration_number: '<string>',
incorporation_date: '<string>',
operating_address_same_as_registered: true,
operating_address: {},
business_industry: [{}],
expected_monthly_volume: {},
source_of_funds: {},
intended_use_of_account: {},
is_regulated: true,
regulator_information: {name: '<string>', jurisdiction: '<string>', register_number: '<string>'},
is_publicly_listed: true,
public_listing: {exchange: '<string>', ticker_symbol: '<string>'},
business_operations_start_date: '<string>',
tax_identification_number: '<string>',
tax_residence_country_code: '<string>',
business_description: '<string>',
website: '<string>',
jurisdiction_of_incorporation: '<string>',
email: '<string>',
first_name: '<string>',
last_name: '<string>',
middle_name: '<string>',
date_of_birth: '<string>',
nationality: '<string>',
address: {},
phone_number: '<string>',
place_of_birth: '<string>',
birth_country_code: '<string>',
document_number: '<string>',
tax_identification: {},
employment_status: {},
pep_status: {},
estimated_yearly_income: {},
employment_industry_sector: {},
reference: '<string>'
})
};
fetch('https://api.hopnow.io/v1/customers/{customer_id}/accounts/{account_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/customers/{customer_id}/accounts/{account_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'type' => '<string>',
'business_legal_name' => '<string>',
'business_type' => [
],
'registered_address' => [
],
'business_registration_number' => '<string>',
'incorporation_date' => '<string>',
'operating_address_same_as_registered' => true,
'operating_address' => [
],
'business_industry' => [
[
]
],
'expected_monthly_volume' => [
],
'source_of_funds' => [
],
'intended_use_of_account' => [
],
'is_regulated' => true,
'regulator_information' => [
'name' => '<string>',
'jurisdiction' => '<string>',
'register_number' => '<string>'
],
'is_publicly_listed' => true,
'public_listing' => [
'exchange' => '<string>',
'ticker_symbol' => '<string>'
],
'business_operations_start_date' => '<string>',
'tax_identification_number' => '<string>',
'tax_residence_country_code' => '<string>',
'business_description' => '<string>',
'website' => '<string>',
'jurisdiction_of_incorporation' => '<string>',
'email' => '<string>',
'first_name' => '<string>',
'last_name' => '<string>',
'middle_name' => '<string>',
'date_of_birth' => '<string>',
'nationality' => '<string>',
'address' => [
],
'phone_number' => '<string>',
'place_of_birth' => '<string>',
'birth_country_code' => '<string>',
'document_number' => '<string>',
'tax_identification' => [
],
'employment_status' => [
],
'pep_status' => [
],
'estimated_yearly_income' => [
],
'employment_industry_sector' => [
],
'reference' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"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"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.hopnow.io/v1/customers/{customer_id}/accounts/{account_id}"
payload := strings.NewReader("{\n \"type\": \"<string>\",\n \"business_legal_name\": \"<string>\",\n \"business_type\": {},\n \"registered_address\": {},\n \"business_registration_number\": \"<string>\",\n \"incorporation_date\": \"<string>\",\n \"operating_address_same_as_registered\": true,\n \"operating_address\": {},\n \"business_industry\": [\n {}\n ],\n \"expected_monthly_volume\": {},\n \"source_of_funds\": {},\n \"intended_use_of_account\": {},\n \"is_regulated\": true,\n \"regulator_information\": {\n \"name\": \"<string>\",\n \"jurisdiction\": \"<string>\",\n \"register_number\": \"<string>\"\n },\n \"is_publicly_listed\": true,\n \"public_listing\": {\n \"exchange\": \"<string>\",\n \"ticker_symbol\": \"<string>\"\n },\n \"business_operations_start_date\": \"<string>\",\n \"tax_identification_number\": \"<string>\",\n \"tax_residence_country_code\": \"<string>\",\n \"business_description\": \"<string>\",\n \"website\": \"<string>\",\n \"jurisdiction_of_incorporation\": \"<string>\",\n \"email\": \"<string>\",\n \"first_name\": \"<string>\",\n \"last_name\": \"<string>\",\n \"middle_name\": \"<string>\",\n \"date_of_birth\": \"<string>\",\n \"nationality\": \"<string>\",\n \"address\": {},\n \"phone_number\": \"<string>\",\n \"place_of_birth\": \"<string>\",\n \"birth_country_code\": \"<string>\",\n \"document_number\": \"<string>\",\n \"tax_identification\": {},\n \"employment_status\": {},\n \"pep_status\": {},\n \"estimated_yearly_income\": {},\n \"employment_industry_sector\": {},\n \"reference\": \"<string>\"\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("X-API-Key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.patch("https://api.hopnow.io/v1/customers/{customer_id}/accounts/{account_id}")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"type\": \"<string>\",\n \"business_legal_name\": \"<string>\",\n \"business_type\": {},\n \"registered_address\": {},\n \"business_registration_number\": \"<string>\",\n \"incorporation_date\": \"<string>\",\n \"operating_address_same_as_registered\": true,\n \"operating_address\": {},\n \"business_industry\": [\n {}\n ],\n \"expected_monthly_volume\": {},\n \"source_of_funds\": {},\n \"intended_use_of_account\": {},\n \"is_regulated\": true,\n \"regulator_information\": {\n \"name\": \"<string>\",\n \"jurisdiction\": \"<string>\",\n \"register_number\": \"<string>\"\n },\n \"is_publicly_listed\": true,\n \"public_listing\": {\n \"exchange\": \"<string>\",\n \"ticker_symbol\": \"<string>\"\n },\n \"business_operations_start_date\": \"<string>\",\n \"tax_identification_number\": \"<string>\",\n \"tax_residence_country_code\": \"<string>\",\n \"business_description\": \"<string>\",\n \"website\": \"<string>\",\n \"jurisdiction_of_incorporation\": \"<string>\",\n \"email\": \"<string>\",\n \"first_name\": \"<string>\",\n \"last_name\": \"<string>\",\n \"middle_name\": \"<string>\",\n \"date_of_birth\": \"<string>\",\n \"nationality\": \"<string>\",\n \"address\": {},\n \"phone_number\": \"<string>\",\n \"place_of_birth\": \"<string>\",\n \"birth_country_code\": \"<string>\",\n \"document_number\": \"<string>\",\n \"tax_identification\": {},\n \"employment_status\": {},\n \"pep_status\": {},\n \"estimated_yearly_income\": {},\n \"employment_industry_sector\": {},\n \"reference\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.hopnow.io/v1/customers/{customer_id}/accounts/{account_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["X-API-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"type\": \"<string>\",\n \"business_legal_name\": \"<string>\",\n \"business_type\": {},\n \"registered_address\": {},\n \"business_registration_number\": \"<string>\",\n \"incorporation_date\": \"<string>\",\n \"operating_address_same_as_registered\": true,\n \"operating_address\": {},\n \"business_industry\": [\n {}\n ],\n \"expected_monthly_volume\": {},\n \"source_of_funds\": {},\n \"intended_use_of_account\": {},\n \"is_regulated\": true,\n \"regulator_information\": {\n \"name\": \"<string>\",\n \"jurisdiction\": \"<string>\",\n \"register_number\": \"<string>\"\n },\n \"is_publicly_listed\": true,\n \"public_listing\": {\n \"exchange\": \"<string>\",\n \"ticker_symbol\": \"<string>\"\n },\n \"business_operations_start_date\": \"<string>\",\n \"tax_identification_number\": \"<string>\",\n \"tax_residence_country_code\": \"<string>\",\n \"business_description\": \"<string>\",\n \"website\": \"<string>\",\n \"jurisdiction_of_incorporation\": \"<string>\",\n \"email\": \"<string>\",\n \"first_name\": \"<string>\",\n \"last_name\": \"<string>\",\n \"middle_name\": \"<string>\",\n \"date_of_birth\": \"<string>\",\n \"nationality\": \"<string>\",\n \"address\": {},\n \"phone_number\": \"<string>\",\n \"place_of_birth\": \"<string>\",\n \"birth_country_code\": \"<string>\",\n \"document_number\": \"<string>\",\n \"tax_identification\": {},\n \"employment_status\": {},\n \"pep_status\": {},\n \"estimated_yearly_income\": {},\n \"employment_industry_sector\": {},\n \"reference\": \"<string>\"\n}"
response = http.request(request)
puts response.read_bodyAccounts
Update Account
Set or correct the legal identity Hop submits when onboarding an account to a virtual account provider
PATCH
/
v1
/
customers
/
{customer_id}
/
accounts
/
{account_id}
Update Account
curl --request PATCH \
--url https://api.hopnow.io/v1/customers/{customer_id}/accounts/{account_id} \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"type": "<string>",
"business_legal_name": "<string>",
"business_type": {},
"registered_address": {},
"business_registration_number": "<string>",
"incorporation_date": "<string>",
"operating_address_same_as_registered": true,
"operating_address": {},
"business_industry": [
{}
],
"expected_monthly_volume": {},
"source_of_funds": {},
"intended_use_of_account": {},
"is_regulated": true,
"regulator_information": {
"name": "<string>",
"jurisdiction": "<string>",
"register_number": "<string>"
},
"is_publicly_listed": true,
"public_listing": {
"exchange": "<string>",
"ticker_symbol": "<string>"
},
"business_operations_start_date": "<string>",
"tax_identification_number": "<string>",
"tax_residence_country_code": "<string>",
"business_description": "<string>",
"website": "<string>",
"jurisdiction_of_incorporation": "<string>",
"email": "<string>",
"first_name": "<string>",
"last_name": "<string>",
"middle_name": "<string>",
"date_of_birth": "<string>",
"nationality": "<string>",
"address": {},
"phone_number": "<string>",
"place_of_birth": "<string>",
"birth_country_code": "<string>",
"document_number": "<string>",
"tax_identification": {},
"employment_status": {},
"pep_status": {},
"estimated_yearly_income": {},
"employment_industry_sector": {},
"reference": "<string>"
}
'import requests
url = "https://api.hopnow.io/v1/customers/{customer_id}/accounts/{account_id}"
payload = {
"type": "<string>",
"business_legal_name": "<string>",
"business_type": {},
"registered_address": {},
"business_registration_number": "<string>",
"incorporation_date": "<string>",
"operating_address_same_as_registered": True,
"operating_address": {},
"business_industry": [{}],
"expected_monthly_volume": {},
"source_of_funds": {},
"intended_use_of_account": {},
"is_regulated": True,
"regulator_information": {
"name": "<string>",
"jurisdiction": "<string>",
"register_number": "<string>"
},
"is_publicly_listed": True,
"public_listing": {
"exchange": "<string>",
"ticker_symbol": "<string>"
},
"business_operations_start_date": "<string>",
"tax_identification_number": "<string>",
"tax_residence_country_code": "<string>",
"business_description": "<string>",
"website": "<string>",
"jurisdiction_of_incorporation": "<string>",
"email": "<string>",
"first_name": "<string>",
"last_name": "<string>",
"middle_name": "<string>",
"date_of_birth": "<string>",
"nationality": "<string>",
"address": {},
"phone_number": "<string>",
"place_of_birth": "<string>",
"birth_country_code": "<string>",
"document_number": "<string>",
"tax_identification": {},
"employment_status": {},
"pep_status": {},
"estimated_yearly_income": {},
"employment_industry_sector": {},
"reference": "<string>"
}
headers = {
"X-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {'X-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
type: '<string>',
business_legal_name: '<string>',
business_type: {},
registered_address: {},
business_registration_number: '<string>',
incorporation_date: '<string>',
operating_address_same_as_registered: true,
operating_address: {},
business_industry: [{}],
expected_monthly_volume: {},
source_of_funds: {},
intended_use_of_account: {},
is_regulated: true,
regulator_information: {name: '<string>', jurisdiction: '<string>', register_number: '<string>'},
is_publicly_listed: true,
public_listing: {exchange: '<string>', ticker_symbol: '<string>'},
business_operations_start_date: '<string>',
tax_identification_number: '<string>',
tax_residence_country_code: '<string>',
business_description: '<string>',
website: '<string>',
jurisdiction_of_incorporation: '<string>',
email: '<string>',
first_name: '<string>',
last_name: '<string>',
middle_name: '<string>',
date_of_birth: '<string>',
nationality: '<string>',
address: {},
phone_number: '<string>',
place_of_birth: '<string>',
birth_country_code: '<string>',
document_number: '<string>',
tax_identification: {},
employment_status: {},
pep_status: {},
estimated_yearly_income: {},
employment_industry_sector: {},
reference: '<string>'
})
};
fetch('https://api.hopnow.io/v1/customers/{customer_id}/accounts/{account_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/customers/{customer_id}/accounts/{account_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'type' => '<string>',
'business_legal_name' => '<string>',
'business_type' => [
],
'registered_address' => [
],
'business_registration_number' => '<string>',
'incorporation_date' => '<string>',
'operating_address_same_as_registered' => true,
'operating_address' => [
],
'business_industry' => [
[
]
],
'expected_monthly_volume' => [
],
'source_of_funds' => [
],
'intended_use_of_account' => [
],
'is_regulated' => true,
'regulator_information' => [
'name' => '<string>',
'jurisdiction' => '<string>',
'register_number' => '<string>'
],
'is_publicly_listed' => true,
'public_listing' => [
'exchange' => '<string>',
'ticker_symbol' => '<string>'
],
'business_operations_start_date' => '<string>',
'tax_identification_number' => '<string>',
'tax_residence_country_code' => '<string>',
'business_description' => '<string>',
'website' => '<string>',
'jurisdiction_of_incorporation' => '<string>',
'email' => '<string>',
'first_name' => '<string>',
'last_name' => '<string>',
'middle_name' => '<string>',
'date_of_birth' => '<string>',
'nationality' => '<string>',
'address' => [
],
'phone_number' => '<string>',
'place_of_birth' => '<string>',
'birth_country_code' => '<string>',
'document_number' => '<string>',
'tax_identification' => [
],
'employment_status' => [
],
'pep_status' => [
],
'estimated_yearly_income' => [
],
'employment_industry_sector' => [
],
'reference' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"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"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.hopnow.io/v1/customers/{customer_id}/accounts/{account_id}"
payload := strings.NewReader("{\n \"type\": \"<string>\",\n \"business_legal_name\": \"<string>\",\n \"business_type\": {},\n \"registered_address\": {},\n \"business_registration_number\": \"<string>\",\n \"incorporation_date\": \"<string>\",\n \"operating_address_same_as_registered\": true,\n \"operating_address\": {},\n \"business_industry\": [\n {}\n ],\n \"expected_monthly_volume\": {},\n \"source_of_funds\": {},\n \"intended_use_of_account\": {},\n \"is_regulated\": true,\n \"regulator_information\": {\n \"name\": \"<string>\",\n \"jurisdiction\": \"<string>\",\n \"register_number\": \"<string>\"\n },\n \"is_publicly_listed\": true,\n \"public_listing\": {\n \"exchange\": \"<string>\",\n \"ticker_symbol\": \"<string>\"\n },\n \"business_operations_start_date\": \"<string>\",\n \"tax_identification_number\": \"<string>\",\n \"tax_residence_country_code\": \"<string>\",\n \"business_description\": \"<string>\",\n \"website\": \"<string>\",\n \"jurisdiction_of_incorporation\": \"<string>\",\n \"email\": \"<string>\",\n \"first_name\": \"<string>\",\n \"last_name\": \"<string>\",\n \"middle_name\": \"<string>\",\n \"date_of_birth\": \"<string>\",\n \"nationality\": \"<string>\",\n \"address\": {},\n \"phone_number\": \"<string>\",\n \"place_of_birth\": \"<string>\",\n \"birth_country_code\": \"<string>\",\n \"document_number\": \"<string>\",\n \"tax_identification\": {},\n \"employment_status\": {},\n \"pep_status\": {},\n \"estimated_yearly_income\": {},\n \"employment_industry_sector\": {},\n \"reference\": \"<string>\"\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("X-API-Key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.patch("https://api.hopnow.io/v1/customers/{customer_id}/accounts/{account_id}")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"type\": \"<string>\",\n \"business_legal_name\": \"<string>\",\n \"business_type\": {},\n \"registered_address\": {},\n \"business_registration_number\": \"<string>\",\n \"incorporation_date\": \"<string>\",\n \"operating_address_same_as_registered\": true,\n \"operating_address\": {},\n \"business_industry\": [\n {}\n ],\n \"expected_monthly_volume\": {},\n \"source_of_funds\": {},\n \"intended_use_of_account\": {},\n \"is_regulated\": true,\n \"regulator_information\": {\n \"name\": \"<string>\",\n \"jurisdiction\": \"<string>\",\n \"register_number\": \"<string>\"\n },\n \"is_publicly_listed\": true,\n \"public_listing\": {\n \"exchange\": \"<string>\",\n \"ticker_symbol\": \"<string>\"\n },\n \"business_operations_start_date\": \"<string>\",\n \"tax_identification_number\": \"<string>\",\n \"tax_residence_country_code\": \"<string>\",\n \"business_description\": \"<string>\",\n \"website\": \"<string>\",\n \"jurisdiction_of_incorporation\": \"<string>\",\n \"email\": \"<string>\",\n \"first_name\": \"<string>\",\n \"last_name\": \"<string>\",\n \"middle_name\": \"<string>\",\n \"date_of_birth\": \"<string>\",\n \"nationality\": \"<string>\",\n \"address\": {},\n \"phone_number\": \"<string>\",\n \"place_of_birth\": \"<string>\",\n \"birth_country_code\": \"<string>\",\n \"document_number\": \"<string>\",\n \"tax_identification\": {},\n \"employment_status\": {},\n \"pep_status\": {},\n \"estimated_yearly_income\": {},\n \"employment_industry_sector\": {},\n \"reference\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.hopnow.io/v1/customers/{customer_id}/accounts/{account_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["X-API-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"type\": \"<string>\",\n \"business_legal_name\": \"<string>\",\n \"business_type\": {},\n \"registered_address\": {},\n \"business_registration_number\": \"<string>\",\n \"incorporation_date\": \"<string>\",\n \"operating_address_same_as_registered\": true,\n \"operating_address\": {},\n \"business_industry\": [\n {}\n ],\n \"expected_monthly_volume\": {},\n \"source_of_funds\": {},\n \"intended_use_of_account\": {},\n \"is_regulated\": true,\n \"regulator_information\": {\n \"name\": \"<string>\",\n \"jurisdiction\": \"<string>\",\n \"register_number\": \"<string>\"\n },\n \"is_publicly_listed\": true,\n \"public_listing\": {\n \"exchange\": \"<string>\",\n \"ticker_symbol\": \"<string>\"\n },\n \"business_operations_start_date\": \"<string>\",\n \"tax_identification_number\": \"<string>\",\n \"tax_residence_country_code\": \"<string>\",\n \"business_description\": \"<string>\",\n \"website\": \"<string>\",\n \"jurisdiction_of_incorporation\": \"<string>\",\n \"email\": \"<string>\",\n \"first_name\": \"<string>\",\n \"last_name\": \"<string>\",\n \"middle_name\": \"<string>\",\n \"date_of_birth\": \"<string>\",\n \"nationality\": \"<string>\",\n \"address\": {},\n \"phone_number\": \"<string>\",\n \"place_of_birth\": \"<string>\",\n \"birth_country_code\": \"<string>\",\n \"document_number\": \"<string>\",\n \"tax_identification\": {},\n \"employment_status\": {},\n \"pep_status\": {},\n \"estimated_yearly_income\": {},\n \"employment_industry_sector\": {},\n \"reference\": \"<string>\"\n}"
response = http.request(request)
puts response.read_bodyAn account’s identity profile is the legal entity behind it: a company with its registration number and registered address, or a natural person with their date of birth and nationality. Virtual account onboarding submits it to the provider, so a group cannot progress until the profile is complete.
The profile is separate from your organization’s KYB record. Providers require fields Hop does not hold, such as incorporation date or tax residence, so you supply the full profile here.
Requires an API key with
The identity profile is the only writable part of an account.
Business fields:
Required on the first call:
Individual fields:
Required on the first call:
write access on the accounts scope.
Validation runs on the stored profile after your changes are merged in. The first call on an account with no profile must include every required field; later calls can send only the fields that change. A partial first call returns 422 listing what is missing.
Saving a profile re-triggers virtual account group onboarding. If a group is already open and showing the account_profile.required requirement, that requirement clears on its own. You do not create the group again.
Path Parameters
string
required
The customer’s external ID (starts with
cus_)string
required
The account’s external ID (starts with
acct_)name, status, type and every other field on the account are set by Hop, and are not accepted here: the body is rejected with 422 VALIDATION_ERROR naming the unknown key, not silently ignored.
Request Body
string
required
Entity type:
business or individual. It selects which field group below applies.type is a discriminator and cannot be changed once a profile exists: a patch whose type differs from the stored one is rejected with 422. Send the stored value on every call.Business fields: type: "business"
Required on the first call: business_legal_name, business_type, registered_address, business_registration_number and incorporation_date. Everything else is optional to Hop, but a provider will ask for most of it before it approves onboarding, and the outstanding items appear as requirements on Get Virtual Account Group.
Unknown keys are rejected with 422 VALIDATION_ERROR, and validation_errors names the offending key.
string
required
Registered legal name. Max 255 characters.
enum
required
Legal form of the business. One of
corporation, limited_liability_company, partnership, publicly_listed_company, trust, private_foundation, charity, non_profit_organization or public_agencies_or_authorities; anything else returns 422.object
required
Registered legal address.
address_line, city and country are required; country must be an ISO 3166-1 alpha-2 code. region and postal_code are optional to Hop but commonly required by the provider.string
required
Official registration number, max 100 characters. For a US entity this is the EIN, which must be nine digits with or without the hyphen.
string
required
Date of incorporation, ISO 8601.
boolean
default:"true"
Whether the business operates from its registered address.
operating_address is required when this is false.object
Operating address, same shape as
registered_address. Required when operating_address_same_as_registered is false.enum[]
One or more industry classifications. At least one is needed before a provider will approve onboarding.Unlike every other enum on this page, these values are capitalised display strings, spaces, slashes and all. Send them exactly as written:
Broker Dealer · Commodities Firm · Exchange · Family Office · Hedge Fund · Investment Advisor/Asset Manager · Loan/Finance Company · OTC Desk / Market Maker · Private Equity Fund · Special Purpose Vehicle · Third Party Payment Processor · Wealth Holding Vehicle · E-commerce Merchant · Marketplace Merchant · Gig Economy Platform · Operating Company (Other)enum
Expected monthly transaction volume band, in USD equivalent. One of:
from_0_to_10k · from_10k_to_50k · from_50k_to_100k · from_100k_to_1m · from_1m_to_10m · above_10menum
Primary source of the business’s funds. One of:
commercial_activities · shareholder_capital · venture_capital · sale_of_assets · crypto_fundraising · crypto_trading_revenue · corporate_loans · otherenum
Primary intended use of the account. One of:
supplier_vendor_payments · intercompany_transfers · payroll · customer_payments_received · customer_payouts_refunds_settlements · operating_expenses · dividend_profit_distributions · loan_repayment_financial_activitiesboolean
Whether the business is regulated by a financial authority. When
true, also send regulator_information, and upload the licence as a regulatory_license document with Upload Document.object
The licence the business holds. Required for virtual account onboarding when
is_regulated is true; until it is set, the group shows an account_profile requirement naming regulator_information. A patch replaces the whole object.boolean
Whether the business is listed on a stock exchange. Some US states require it for virtual account onboarding, so send it for every business.
object
The exchange listing. Required for virtual account onboarding when
is_publicly_listed is true; until it is set, the group shows an account_profile requirement naming public_listing. A patch replaces the whole object.string
Date the business began operating, ISO 8601. Required by the provider.
string
Tax ID where it differs from the registration number. Max 100 characters. Required by the provider.
string
ISO 3166-1 alpha-2 country where the business is resident for tax. Needed before a group can be approved. It is not assumed from the country of incorporation or the registered address, so send it even when they match.
string
Free-text description of what the business does. Required by the provider.
string
Business website, max 500 characters. Required by the provider.
string
ISO 3166-1 alpha-2 country of incorporation.
string
Primary business contact email.
Individual fields: type: "individual"
Required on the first call: first_name, last_name, email, date_of_birth, nationality and address. tax_identification and the due-diligence fields below are optional to Hop but required by the provider, so supply them to avoid a round trip.
As with the business variant, unknown keys are rejected with 422 VALIDATION_ERROR.
string
required
Legal first name, 1 to 100 characters.
string
required
Legal last name, 1 to 100 characters.
string
Middle name, 1 to 100 characters.
string
required
Email address.
string
required
Date of birth, ISO 8601.
string
required
ISO 3166-1 alpha-2 nationality.
object
required
Residential address.
address_line, city and country required, country as alpha-2. The provider requires postal_code, and region when the country is the United States.string
E.164 format, max 255 characters.
string
City or locality of birth, 1 to 255 characters.
string
ISO 3166-1 alpha-2 country of birth. Required by the provider.
string
Government photo ID number, 1 to 255 characters.
object
Required by the provider. Both fields are mandatory within the object:
number (1 to 255 characters) and tax_residence_country_code (alpha-2).Customer due diligence
Set each field on its own; a patch can send any of them. Until the provider’s required ones are set, the group shows anaccount_profile requirement naming the missing fields.
enum
Required by the provider. One of
salaried · self_employed · unemployed · retired · studentenum
A different set from the business
source_of_funds above. Required by the provider. One of:salary · pension · savings · self_employment · crypto_trading · gambling · real_estate · gift · student_loan_grantenum
A different set from the business
intended_use_of_account above. Required by the provider. One of:transfers_own_wallet · transfers_family_friends · investments · goods_services · donationsenum
Politically exposed person classification. Required by the provider. One of:
not_pep · former_pep_2_years · former_pep_older · domestic_pep · foreign_pep · close_associate · family_memberobject
Required in the EU. An object, not a band:
amount (a positive decimal string, at most 2 decimal places) and currency; the one place the individual and business forms of this field differ.enum
Required in the United States. One of:
from_0_to_50k · from_50k_to_100k · from_100k_to_250k · from_250k_to_500k · from_500k_to_750k · from_750k_to_1m · above_1menum
Required in the United States. One of:
investment · hedge_fund · money_service_business · sto_issuer · precious_metals · non_profit · registered_investment_advisor · agriculture_forestry_fishing_hunting · mining · utilities · construction · manufacturing · wholesale_trade · retail_trade · transportation_warehousing · information · finance_insurance · real_estate_rental_leasing · professional_scientific_technical_services · management_of_companies_enterprises · administrative_support_waste_management_remediation_services · educational_services · health_care_social_assistance · arts_entertainment_recreation · accommodation_food_services · other_services · public_administration · not_classified · adult_entertainment · auctions · automobiles · blockchain · crypto · drugs · export_import · e_commerce · financial_institution · gambling · insurance · market_maker · shell_bank · travel_transport · weaponsstring
Your own reference for this person, max 255 characters. Stored and echoed back.
Response
Returns200 with the account, in the same shape as Get Account. The stored profile is echoed in profile, and the identity fields projected onto the account itself, legal_name, business_registration_number, address, type, reflect the merge.
A patch that changes nothing returns the account unchanged.
Errors
| Status | code | When |
|---|---|---|
422 | VALIDATION_ERROR | The merged profile is incomplete or invalid, including a first call that omits a required field. details.errors names each offending field |
422 | VALIDATION_ERROR | type does not match the stored profile type. details carry both values |
422 | VALIDATION_ERROR | A field is individually malformed: a country code that is not alpha-2, a phone that is not E.164, an invalid email, or an unknown key on an individual profile |
422 | INVALID_FIELD_FORMAT | business_registration_number is not an EIN although registered_address.country or jurisdiction_of_incorporation is US: nine digits, with or without the hyphen. details carry field and expected_format |
403 | ACCESS_DENIED | The account exists but belongs to another organization |
404 | RESOURCE_NOT_FOUND | account_id is unknown or deleted |
Request Example
Business
{
"type": "business",
"business_legal_name": "Acme Pte Ltd",
"business_type": "limited_liability_company",
"business_registration_number": "200912345A",
"incorporation_date": "2009-04-17",
"registered_address": {
"address_line": "10 Marina Boulevard, #23-01",
"city": "Singapore",
"region": "Central Region",
"postal_code": "018983",
"country": "SG"
},
"business_operations_start_date": "2009-06-01",
"tax_identification_number": "200912345A",
"tax_residence_country_code": "SG",
"business_description": "Cross-border payouts for marketplace sellers",
"website": "https://acme.example",
"is_regulated": false
}
Individual
{
"type": "individual",
"first_name": "Jane",
"last_name": "Mueller",
"email": "jane@example.com",
"date_of_birth": "1988-02-11",
"nationality": "DE",
"birth_country_code": "DE",
"address": {
"address_line": "Friedrichstrasse 43",
"city": "Berlin",
"postal_code": "10117",
"country": "DE"
},
"tax_identification": {
"number": "12345678901",
"tax_residence_country_code": "DE"
},
"employment_status": "salaried",
"source_of_funds": "salary",
"intended_use_of_account": "transfers_own_wallet",
"pep_status": "not_pep",
"expected_monthly_volume": {"amount": "5000.00", "currency": "EUR"}
}
Next steps
For a business account, add at least one associated person withis_signer: true. A business cannot complete its provider agreements without one. An individual account needs none.
Then open the group with Create Virtual Account Group, or let an already-open group resume on its own.