Entity Onboarding (Banking Connectivity)
Update Entity Onboarding
Update the documentation or details of an existing entity onboarding
PATCH
/
banking
/
entities
/
{entity_id}
/
onboardings
/
{onboarding_id}
Update Entity Onboarding (Banking Connectivity)
curl --request PATCH \
--url https://api-sandbox.y.uno/v1/banking/entities/{entity_id}/onboardings/{onboarding_id} \
--header 'Content-Type: application/json' \
--header 'private-secret-key: <api-key>' \
--header 'public-api-key: <api-key>' \
--data '
{
"account_id": "550e8400-e29b-41d4-a716-446655440000",
"compliance_declaration": {
"terms_of_service": {
"accepted": true,
"version": "1.2.0",
"accepted_at": "2026-02-01T10:05:00Z",
"accepted_ip": "192.168.1.1"
},
"privacy_policy": {
"accepted": true,
"version": "2.1.0",
"accepted_at": "2026-02-01T10:05:00Z",
"accepted_ip": "192.168.1.1"
}
},
"risk_assessment": {
"assessed_at": "2026-02-01T10:05:00Z",
"pep_status": {
"is_pep": false,
"pep_level": null,
"position": null,
"country": null
},
"rca_status": {
"risk_level": "LOW",
"classified_at": "2026-02-01T10:05:00Z",
"assessed_by": "Merchant Compliance Team"
},
"sanctions_screening": {
"appears_on_sanctions_list": false,
"sanctions_list_name": null,
"screened_at": "2026-02-01T09:00:00Z"
}
},
"source_of_funds": {
"primary_source": "EMPLOYMENT_SALARY",
"secondary_sources": [
"INVESTMENTS"
],
"description": "Primary income from full-time employment, supplemented by investment portfolio",
"estimated_annual_income": {
"amount": 175000,
"currency": "USD"
}
},
"documentation": [
{
"type": "BANK_STATEMENT",
"bank_statement": {
"bank_name": "Chase Bank",
"account_number_last_4": "1234",
"statement_period_start": "2025-12-01",
"statement_period_end": "2025-12-31",
"file": {
"file_name": "bank_statement_dec_2025.pdf",
"content_type": "application/pdf",
"content": "base64_encoded_content"
}
}
},
{
"type": "IDENTITY_DOCUMENT",
"identity_document": {
"subtype": "PASSPORT",
"document_number": "X12345678",
"issuing_country": "US",
"issued_at": "2020-01-15",
"expires_at": "2030-01-15",
"front_image": {
"file_name": "passport_front.jpg",
"content_type": "image/jpeg",
"content": "base64_encoded_content"
}
}
}
]
}
'import requests
url = "https://api-sandbox.y.uno/v1/banking/entities/{entity_id}/onboardings/{onboarding_id}"
payload = {
"account_id": "550e8400-e29b-41d4-a716-446655440000",
"compliance_declaration": {
"terms_of_service": {
"accepted": True,
"version": "1.2.0",
"accepted_at": "2026-02-01T10:05:00Z",
"accepted_ip": "192.168.1.1"
},
"privacy_policy": {
"accepted": True,
"version": "2.1.0",
"accepted_at": "2026-02-01T10:05:00Z",
"accepted_ip": "192.168.1.1"
}
},
"risk_assessment": {
"assessed_at": "2026-02-01T10:05:00Z",
"pep_status": {
"is_pep": False,
"pep_level": None,
"position": None,
"country": None
},
"rca_status": {
"risk_level": "LOW",
"classified_at": "2026-02-01T10:05:00Z",
"assessed_by": "Merchant Compliance Team"
},
"sanctions_screening": {
"appears_on_sanctions_list": False,
"sanctions_list_name": None,
"screened_at": "2026-02-01T09:00:00Z"
}
},
"source_of_funds": {
"primary_source": "EMPLOYMENT_SALARY",
"secondary_sources": ["INVESTMENTS"],
"description": "Primary income from full-time employment, supplemented by investment portfolio",
"estimated_annual_income": {
"amount": 175000,
"currency": "USD"
}
},
"documentation": [
{
"type": "BANK_STATEMENT",
"bank_statement": {
"bank_name": "Chase Bank",
"account_number_last_4": "1234",
"statement_period_start": "2025-12-01",
"statement_period_end": "2025-12-31",
"file": {
"file_name": "bank_statement_dec_2025.pdf",
"content_type": "application/pdf",
"content": "base64_encoded_content"
}
}
},
{
"type": "IDENTITY_DOCUMENT",
"identity_document": {
"subtype": "PASSPORT",
"document_number": "X12345678",
"issuing_country": "US",
"issued_at": "2020-01-15",
"expires_at": "2030-01-15",
"front_image": {
"file_name": "passport_front.jpg",
"content_type": "image/jpeg",
"content": "base64_encoded_content"
}
}
}
]
}
headers = {
"public-api-key": "<api-key>",
"private-secret-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {
'public-api-key': '<api-key>',
'private-secret-key': '<api-key>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
account_id: '550e8400-e29b-41d4-a716-446655440000',
compliance_declaration: {
terms_of_service: {
accepted: true,
version: '1.2.0',
accepted_at: '2026-02-01T10:05:00Z',
accepted_ip: '192.168.1.1'
},
privacy_policy: {
accepted: true,
version: '2.1.0',
accepted_at: '2026-02-01T10:05:00Z',
accepted_ip: '192.168.1.1'
}
},
risk_assessment: {
assessed_at: '2026-02-01T10:05:00Z',
pep_status: {is_pep: false, pep_level: null, position: null, country: null},
rca_status: {
risk_level: 'LOW',
classified_at: '2026-02-01T10:05:00Z',
assessed_by: 'Merchant Compliance Team'
},
sanctions_screening: {
appears_on_sanctions_list: false,
sanctions_list_name: null,
screened_at: '2026-02-01T09:00:00Z'
}
},
source_of_funds: {
primary_source: 'EMPLOYMENT_SALARY',
secondary_sources: ['INVESTMENTS'],
description: 'Primary income from full-time employment, supplemented by investment portfolio',
estimated_annual_income: {amount: 175000, currency: 'USD'}
},
documentation: [
{
type: 'BANK_STATEMENT',
bank_statement: {
bank_name: 'Chase Bank',
account_number_last_4: '1234',
statement_period_start: '2025-12-01',
statement_period_end: '2025-12-31',
file: {
file_name: 'bank_statement_dec_2025.pdf',
content_type: 'application/pdf',
content: 'base64_encoded_content'
}
}
},
{
type: 'IDENTITY_DOCUMENT',
identity_document: {
subtype: 'PASSPORT',
document_number: 'X12345678',
issuing_country: 'US',
issued_at: '2020-01-15',
expires_at: '2030-01-15',
front_image: {
file_name: 'passport_front.jpg',
content_type: 'image/jpeg',
content: 'base64_encoded_content'
}
}
}
]
})
};
fetch('https://api-sandbox.y.uno/v1/banking/entities/{entity_id}/onboardings/{onboarding_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-sandbox.y.uno/v1/banking/entities/{entity_id}/onboardings/{onboarding_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([
'account_id' => '550e8400-e29b-41d4-a716-446655440000',
'compliance_declaration' => [
'terms_of_service' => [
'accepted' => true,
'version' => '1.2.0',
'accepted_at' => '2026-02-01T10:05:00Z',
'accepted_ip' => '192.168.1.1'
],
'privacy_policy' => [
'accepted' => true,
'version' => '2.1.0',
'accepted_at' => '2026-02-01T10:05:00Z',
'accepted_ip' => '192.168.1.1'
]
],
'risk_assessment' => [
'assessed_at' => '2026-02-01T10:05:00Z',
'pep_status' => [
'is_pep' => false,
'pep_level' => null,
'position' => null,
'country' => null
],
'rca_status' => [
'risk_level' => 'LOW',
'classified_at' => '2026-02-01T10:05:00Z',
'assessed_by' => 'Merchant Compliance Team'
],
'sanctions_screening' => [
'appears_on_sanctions_list' => false,
'sanctions_list_name' => null,
'screened_at' => '2026-02-01T09:00:00Z'
]
],
'source_of_funds' => [
'primary_source' => 'EMPLOYMENT_SALARY',
'secondary_sources' => [
'INVESTMENTS'
],
'description' => 'Primary income from full-time employment, supplemented by investment portfolio',
'estimated_annual_income' => [
'amount' => 175000,
'currency' => 'USD'
]
],
'documentation' => [
[
'type' => 'BANK_STATEMENT',
'bank_statement' => [
'bank_name' => 'Chase Bank',
'account_number_last_4' => '1234',
'statement_period_start' => '2025-12-01',
'statement_period_end' => '2025-12-31',
'file' => [
'file_name' => 'bank_statement_dec_2025.pdf',
'content_type' => 'application/pdf',
'content' => 'base64_encoded_content'
]
]
],
[
'type' => 'IDENTITY_DOCUMENT',
'identity_document' => [
'subtype' => 'PASSPORT',
'document_number' => 'X12345678',
'issuing_country' => 'US',
'issued_at' => '2020-01-15',
'expires_at' => '2030-01-15',
'front_image' => [
'file_name' => 'passport_front.jpg',
'content_type' => 'image/jpeg',
'content' => 'base64_encoded_content'
]
]
]
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"private-secret-key: <api-key>",
"public-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-sandbox.y.uno/v1/banking/entities/{entity_id}/onboardings/{onboarding_id}"
payload := strings.NewReader("{\n \"account_id\": \"550e8400-e29b-41d4-a716-446655440000\",\n \"compliance_declaration\": {\n \"terms_of_service\": {\n \"accepted\": true,\n \"version\": \"1.2.0\",\n \"accepted_at\": \"2026-02-01T10:05:00Z\",\n \"accepted_ip\": \"192.168.1.1\"\n },\n \"privacy_policy\": {\n \"accepted\": true,\n \"version\": \"2.1.0\",\n \"accepted_at\": \"2026-02-01T10:05:00Z\",\n \"accepted_ip\": \"192.168.1.1\"\n }\n },\n \"risk_assessment\": {\n \"assessed_at\": \"2026-02-01T10:05:00Z\",\n \"pep_status\": {\n \"is_pep\": false,\n \"pep_level\": null,\n \"position\": null,\n \"country\": null\n },\n \"rca_status\": {\n \"risk_level\": \"LOW\",\n \"classified_at\": \"2026-02-01T10:05:00Z\",\n \"assessed_by\": \"Merchant Compliance Team\"\n },\n \"sanctions_screening\": {\n \"appears_on_sanctions_list\": false,\n \"sanctions_list_name\": null,\n \"screened_at\": \"2026-02-01T09:00:00Z\"\n }\n },\n \"source_of_funds\": {\n \"primary_source\": \"EMPLOYMENT_SALARY\",\n \"secondary_sources\": [\n \"INVESTMENTS\"\n ],\n \"description\": \"Primary income from full-time employment, supplemented by investment portfolio\",\n \"estimated_annual_income\": {\n \"amount\": 175000,\n \"currency\": \"USD\"\n }\n },\n \"documentation\": [\n {\n \"type\": \"BANK_STATEMENT\",\n \"bank_statement\": {\n \"bank_name\": \"Chase Bank\",\n \"account_number_last_4\": \"1234\",\n \"statement_period_start\": \"2025-12-01\",\n \"statement_period_end\": \"2025-12-31\",\n \"file\": {\n \"file_name\": \"bank_statement_dec_2025.pdf\",\n \"content_type\": \"application/pdf\",\n \"content\": \"base64_encoded_content\"\n }\n }\n },\n {\n \"type\": \"IDENTITY_DOCUMENT\",\n \"identity_document\": {\n \"subtype\": \"PASSPORT\",\n \"document_number\": \"X12345678\",\n \"issuing_country\": \"US\",\n \"issued_at\": \"2020-01-15\",\n \"expires_at\": \"2030-01-15\",\n \"front_image\": {\n \"file_name\": \"passport_front.jpg\",\n \"content_type\": \"image/jpeg\",\n \"content\": \"base64_encoded_content\"\n }\n }\n }\n ]\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("public-api-key", "<api-key>")
req.Header.Add("private-secret-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-sandbox.y.uno/v1/banking/entities/{entity_id}/onboardings/{onboarding_id}")
.header("public-api-key", "<api-key>")
.header("private-secret-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"account_id\": \"550e8400-e29b-41d4-a716-446655440000\",\n \"compliance_declaration\": {\n \"terms_of_service\": {\n \"accepted\": true,\n \"version\": \"1.2.0\",\n \"accepted_at\": \"2026-02-01T10:05:00Z\",\n \"accepted_ip\": \"192.168.1.1\"\n },\n \"privacy_policy\": {\n \"accepted\": true,\n \"version\": \"2.1.0\",\n \"accepted_at\": \"2026-02-01T10:05:00Z\",\n \"accepted_ip\": \"192.168.1.1\"\n }\n },\n \"risk_assessment\": {\n \"assessed_at\": \"2026-02-01T10:05:00Z\",\n \"pep_status\": {\n \"is_pep\": false,\n \"pep_level\": null,\n \"position\": null,\n \"country\": null\n },\n \"rca_status\": {\n \"risk_level\": \"LOW\",\n \"classified_at\": \"2026-02-01T10:05:00Z\",\n \"assessed_by\": \"Merchant Compliance Team\"\n },\n \"sanctions_screening\": {\n \"appears_on_sanctions_list\": false,\n \"sanctions_list_name\": null,\n \"screened_at\": \"2026-02-01T09:00:00Z\"\n }\n },\n \"source_of_funds\": {\n \"primary_source\": \"EMPLOYMENT_SALARY\",\n \"secondary_sources\": [\n \"INVESTMENTS\"\n ],\n \"description\": \"Primary income from full-time employment, supplemented by investment portfolio\",\n \"estimated_annual_income\": {\n \"amount\": 175000,\n \"currency\": \"USD\"\n }\n },\n \"documentation\": [\n {\n \"type\": \"BANK_STATEMENT\",\n \"bank_statement\": {\n \"bank_name\": \"Chase Bank\",\n \"account_number_last_4\": \"1234\",\n \"statement_period_start\": \"2025-12-01\",\n \"statement_period_end\": \"2025-12-31\",\n \"file\": {\n \"file_name\": \"bank_statement_dec_2025.pdf\",\n \"content_type\": \"application/pdf\",\n \"content\": \"base64_encoded_content\"\n }\n }\n },\n {\n \"type\": \"IDENTITY_DOCUMENT\",\n \"identity_document\": {\n \"subtype\": \"PASSPORT\",\n \"document_number\": \"X12345678\",\n \"issuing_country\": \"US\",\n \"issued_at\": \"2020-01-15\",\n \"expires_at\": \"2030-01-15\",\n \"front_image\": {\n \"file_name\": \"passport_front.jpg\",\n \"content_type\": \"image/jpeg\",\n \"content\": \"base64_encoded_content\"\n }\n }\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api-sandbox.y.uno/v1/banking/entities/{entity_id}/onboardings/{onboarding_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["public-api-key"] = '<api-key>'
request["private-secret-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"account_id\": \"550e8400-e29b-41d4-a716-446655440000\",\n \"compliance_declaration\": {\n \"terms_of_service\": {\n \"accepted\": true,\n \"version\": \"1.2.0\",\n \"accepted_at\": \"2026-02-01T10:05:00Z\",\n \"accepted_ip\": \"192.168.1.1\"\n },\n \"privacy_policy\": {\n \"accepted\": true,\n \"version\": \"2.1.0\",\n \"accepted_at\": \"2026-02-01T10:05:00Z\",\n \"accepted_ip\": \"192.168.1.1\"\n }\n },\n \"risk_assessment\": {\n \"assessed_at\": \"2026-02-01T10:05:00Z\",\n \"pep_status\": {\n \"is_pep\": false,\n \"pep_level\": null,\n \"position\": null,\n \"country\": null\n },\n \"rca_status\": {\n \"risk_level\": \"LOW\",\n \"classified_at\": \"2026-02-01T10:05:00Z\",\n \"assessed_by\": \"Merchant Compliance Team\"\n },\n \"sanctions_screening\": {\n \"appears_on_sanctions_list\": false,\n \"sanctions_list_name\": null,\n \"screened_at\": \"2026-02-01T09:00:00Z\"\n }\n },\n \"source_of_funds\": {\n \"primary_source\": \"EMPLOYMENT_SALARY\",\n \"secondary_sources\": [\n \"INVESTMENTS\"\n ],\n \"description\": \"Primary income from full-time employment, supplemented by investment portfolio\",\n \"estimated_annual_income\": {\n \"amount\": 175000,\n \"currency\": \"USD\"\n }\n },\n \"documentation\": [\n {\n \"type\": \"BANK_STATEMENT\",\n \"bank_statement\": {\n \"bank_name\": \"Chase Bank\",\n \"account_number_last_4\": \"1234\",\n \"statement_period_start\": \"2025-12-01\",\n \"statement_period_end\": \"2025-12-31\",\n \"file\": {\n \"file_name\": \"bank_statement_dec_2025.pdf\",\n \"content_type\": \"application/pdf\",\n \"content\": \"base64_encoded_content\"\n }\n }\n },\n {\n \"type\": \"IDENTITY_DOCUMENT\",\n \"identity_document\": {\n \"subtype\": \"PASSPORT\",\n \"document_number\": \"X12345678\",\n \"issuing_country\": \"US\",\n \"issued_at\": \"2020-01-15\",\n \"expires_at\": \"2030-01-15\",\n \"front_image\": {\n \"file_name\": \"passport_front.jpg\",\n \"content_type\": \"image/jpeg\",\n \"content\": \"base64_encoded_content\"\n }\n }\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"id": "onb_990e8400-e29b-41d4-a716-446655440000",
"entity_id": "ent_660e8400-e29b-41d4-a716-446655440000",
"status": "PENDING",
"provider_status": "verification_pending",
"requirements": [],
"updated_at": "2026-02-01T10:05:00Z"
}{
"code": "VALIDATION_ERROR",
"messages": [
"Onboarding has reached a terminal status and cannot be updated"
],
"http_code": 400
}{
"code": "ONBOARDING_NOT_FOUND",
"messages": [
"Onboarding not found"
],
"http_code": 404
}Update an existing onboarding with new compliance declarations, risk assessment results, or additional documentation. Typically used when the onboarding is in
PENDING_ADDITIONAL_DOCUMENTATION status.Path Parameters
The id of the entity obtained from Create Entity.
The id of the onboarding obtained from Create Entity Onboarding.
Body
application/json
The unique identifier of the merchant's Yuno account (UUID, 36 characters).
Example:
"550e8400-e29b-41d4-a716-446655440000"
Updated legal agreements.
Show child attributes
Show child attributes
Updated risk assessment results.
Show child attributes
Show child attributes
Updated source of funds information.
Show child attributes
Show child attributes
Additional or updated KYC/KYB documents. Uses the same structure as Create Entity Onboarding.
Show child attributes
Show child attributes
Was this page helpful?
Previous
Cancel Entity Onboarding (Banking Connectivity)Cancel an in-progress entity onboarding with a banking connectivity provider
Next
⌘I
Update Entity Onboarding (Banking Connectivity)
curl --request PATCH \
--url https://api-sandbox.y.uno/v1/banking/entities/{entity_id}/onboardings/{onboarding_id} \
--header 'Content-Type: application/json' \
--header 'private-secret-key: <api-key>' \
--header 'public-api-key: <api-key>' \
--data '
{
"account_id": "550e8400-e29b-41d4-a716-446655440000",
"compliance_declaration": {
"terms_of_service": {
"accepted": true,
"version": "1.2.0",
"accepted_at": "2026-02-01T10:05:00Z",
"accepted_ip": "192.168.1.1"
},
"privacy_policy": {
"accepted": true,
"version": "2.1.0",
"accepted_at": "2026-02-01T10:05:00Z",
"accepted_ip": "192.168.1.1"
}
},
"risk_assessment": {
"assessed_at": "2026-02-01T10:05:00Z",
"pep_status": {
"is_pep": false,
"pep_level": null,
"position": null,
"country": null
},
"rca_status": {
"risk_level": "LOW",
"classified_at": "2026-02-01T10:05:00Z",
"assessed_by": "Merchant Compliance Team"
},
"sanctions_screening": {
"appears_on_sanctions_list": false,
"sanctions_list_name": null,
"screened_at": "2026-02-01T09:00:00Z"
}
},
"source_of_funds": {
"primary_source": "EMPLOYMENT_SALARY",
"secondary_sources": [
"INVESTMENTS"
],
"description": "Primary income from full-time employment, supplemented by investment portfolio",
"estimated_annual_income": {
"amount": 175000,
"currency": "USD"
}
},
"documentation": [
{
"type": "BANK_STATEMENT",
"bank_statement": {
"bank_name": "Chase Bank",
"account_number_last_4": "1234",
"statement_period_start": "2025-12-01",
"statement_period_end": "2025-12-31",
"file": {
"file_name": "bank_statement_dec_2025.pdf",
"content_type": "application/pdf",
"content": "base64_encoded_content"
}
}
},
{
"type": "IDENTITY_DOCUMENT",
"identity_document": {
"subtype": "PASSPORT",
"document_number": "X12345678",
"issuing_country": "US",
"issued_at": "2020-01-15",
"expires_at": "2030-01-15",
"front_image": {
"file_name": "passport_front.jpg",
"content_type": "image/jpeg",
"content": "base64_encoded_content"
}
}
}
]
}
'import requests
url = "https://api-sandbox.y.uno/v1/banking/entities/{entity_id}/onboardings/{onboarding_id}"
payload = {
"account_id": "550e8400-e29b-41d4-a716-446655440000",
"compliance_declaration": {
"terms_of_service": {
"accepted": True,
"version": "1.2.0",
"accepted_at": "2026-02-01T10:05:00Z",
"accepted_ip": "192.168.1.1"
},
"privacy_policy": {
"accepted": True,
"version": "2.1.0",
"accepted_at": "2026-02-01T10:05:00Z",
"accepted_ip": "192.168.1.1"
}
},
"risk_assessment": {
"assessed_at": "2026-02-01T10:05:00Z",
"pep_status": {
"is_pep": False,
"pep_level": None,
"position": None,
"country": None
},
"rca_status": {
"risk_level": "LOW",
"classified_at": "2026-02-01T10:05:00Z",
"assessed_by": "Merchant Compliance Team"
},
"sanctions_screening": {
"appears_on_sanctions_list": False,
"sanctions_list_name": None,
"screened_at": "2026-02-01T09:00:00Z"
}
},
"source_of_funds": {
"primary_source": "EMPLOYMENT_SALARY",
"secondary_sources": ["INVESTMENTS"],
"description": "Primary income from full-time employment, supplemented by investment portfolio",
"estimated_annual_income": {
"amount": 175000,
"currency": "USD"
}
},
"documentation": [
{
"type": "BANK_STATEMENT",
"bank_statement": {
"bank_name": "Chase Bank",
"account_number_last_4": "1234",
"statement_period_start": "2025-12-01",
"statement_period_end": "2025-12-31",
"file": {
"file_name": "bank_statement_dec_2025.pdf",
"content_type": "application/pdf",
"content": "base64_encoded_content"
}
}
},
{
"type": "IDENTITY_DOCUMENT",
"identity_document": {
"subtype": "PASSPORT",
"document_number": "X12345678",
"issuing_country": "US",
"issued_at": "2020-01-15",
"expires_at": "2030-01-15",
"front_image": {
"file_name": "passport_front.jpg",
"content_type": "image/jpeg",
"content": "base64_encoded_content"
}
}
}
]
}
headers = {
"public-api-key": "<api-key>",
"private-secret-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {
'public-api-key': '<api-key>',
'private-secret-key': '<api-key>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
account_id: '550e8400-e29b-41d4-a716-446655440000',
compliance_declaration: {
terms_of_service: {
accepted: true,
version: '1.2.0',
accepted_at: '2026-02-01T10:05:00Z',
accepted_ip: '192.168.1.1'
},
privacy_policy: {
accepted: true,
version: '2.1.0',
accepted_at: '2026-02-01T10:05:00Z',
accepted_ip: '192.168.1.1'
}
},
risk_assessment: {
assessed_at: '2026-02-01T10:05:00Z',
pep_status: {is_pep: false, pep_level: null, position: null, country: null},
rca_status: {
risk_level: 'LOW',
classified_at: '2026-02-01T10:05:00Z',
assessed_by: 'Merchant Compliance Team'
},
sanctions_screening: {
appears_on_sanctions_list: false,
sanctions_list_name: null,
screened_at: '2026-02-01T09:00:00Z'
}
},
source_of_funds: {
primary_source: 'EMPLOYMENT_SALARY',
secondary_sources: ['INVESTMENTS'],
description: 'Primary income from full-time employment, supplemented by investment portfolio',
estimated_annual_income: {amount: 175000, currency: 'USD'}
},
documentation: [
{
type: 'BANK_STATEMENT',
bank_statement: {
bank_name: 'Chase Bank',
account_number_last_4: '1234',
statement_period_start: '2025-12-01',
statement_period_end: '2025-12-31',
file: {
file_name: 'bank_statement_dec_2025.pdf',
content_type: 'application/pdf',
content: 'base64_encoded_content'
}
}
},
{
type: 'IDENTITY_DOCUMENT',
identity_document: {
subtype: 'PASSPORT',
document_number: 'X12345678',
issuing_country: 'US',
issued_at: '2020-01-15',
expires_at: '2030-01-15',
front_image: {
file_name: 'passport_front.jpg',
content_type: 'image/jpeg',
content: 'base64_encoded_content'
}
}
}
]
})
};
fetch('https://api-sandbox.y.uno/v1/banking/entities/{entity_id}/onboardings/{onboarding_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-sandbox.y.uno/v1/banking/entities/{entity_id}/onboardings/{onboarding_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([
'account_id' => '550e8400-e29b-41d4-a716-446655440000',
'compliance_declaration' => [
'terms_of_service' => [
'accepted' => true,
'version' => '1.2.0',
'accepted_at' => '2026-02-01T10:05:00Z',
'accepted_ip' => '192.168.1.1'
],
'privacy_policy' => [
'accepted' => true,
'version' => '2.1.0',
'accepted_at' => '2026-02-01T10:05:00Z',
'accepted_ip' => '192.168.1.1'
]
],
'risk_assessment' => [
'assessed_at' => '2026-02-01T10:05:00Z',
'pep_status' => [
'is_pep' => false,
'pep_level' => null,
'position' => null,
'country' => null
],
'rca_status' => [
'risk_level' => 'LOW',
'classified_at' => '2026-02-01T10:05:00Z',
'assessed_by' => 'Merchant Compliance Team'
],
'sanctions_screening' => [
'appears_on_sanctions_list' => false,
'sanctions_list_name' => null,
'screened_at' => '2026-02-01T09:00:00Z'
]
],
'source_of_funds' => [
'primary_source' => 'EMPLOYMENT_SALARY',
'secondary_sources' => [
'INVESTMENTS'
],
'description' => 'Primary income from full-time employment, supplemented by investment portfolio',
'estimated_annual_income' => [
'amount' => 175000,
'currency' => 'USD'
]
],
'documentation' => [
[
'type' => 'BANK_STATEMENT',
'bank_statement' => [
'bank_name' => 'Chase Bank',
'account_number_last_4' => '1234',
'statement_period_start' => '2025-12-01',
'statement_period_end' => '2025-12-31',
'file' => [
'file_name' => 'bank_statement_dec_2025.pdf',
'content_type' => 'application/pdf',
'content' => 'base64_encoded_content'
]
]
],
[
'type' => 'IDENTITY_DOCUMENT',
'identity_document' => [
'subtype' => 'PASSPORT',
'document_number' => 'X12345678',
'issuing_country' => 'US',
'issued_at' => '2020-01-15',
'expires_at' => '2030-01-15',
'front_image' => [
'file_name' => 'passport_front.jpg',
'content_type' => 'image/jpeg',
'content' => 'base64_encoded_content'
]
]
]
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"private-secret-key: <api-key>",
"public-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-sandbox.y.uno/v1/banking/entities/{entity_id}/onboardings/{onboarding_id}"
payload := strings.NewReader("{\n \"account_id\": \"550e8400-e29b-41d4-a716-446655440000\",\n \"compliance_declaration\": {\n \"terms_of_service\": {\n \"accepted\": true,\n \"version\": \"1.2.0\",\n \"accepted_at\": \"2026-02-01T10:05:00Z\",\n \"accepted_ip\": \"192.168.1.1\"\n },\n \"privacy_policy\": {\n \"accepted\": true,\n \"version\": \"2.1.0\",\n \"accepted_at\": \"2026-02-01T10:05:00Z\",\n \"accepted_ip\": \"192.168.1.1\"\n }\n },\n \"risk_assessment\": {\n \"assessed_at\": \"2026-02-01T10:05:00Z\",\n \"pep_status\": {\n \"is_pep\": false,\n \"pep_level\": null,\n \"position\": null,\n \"country\": null\n },\n \"rca_status\": {\n \"risk_level\": \"LOW\",\n \"classified_at\": \"2026-02-01T10:05:00Z\",\n \"assessed_by\": \"Merchant Compliance Team\"\n },\n \"sanctions_screening\": {\n \"appears_on_sanctions_list\": false,\n \"sanctions_list_name\": null,\n \"screened_at\": \"2026-02-01T09:00:00Z\"\n }\n },\n \"source_of_funds\": {\n \"primary_source\": \"EMPLOYMENT_SALARY\",\n \"secondary_sources\": [\n \"INVESTMENTS\"\n ],\n \"description\": \"Primary income from full-time employment, supplemented by investment portfolio\",\n \"estimated_annual_income\": {\n \"amount\": 175000,\n \"currency\": \"USD\"\n }\n },\n \"documentation\": [\n {\n \"type\": \"BANK_STATEMENT\",\n \"bank_statement\": {\n \"bank_name\": \"Chase Bank\",\n \"account_number_last_4\": \"1234\",\n \"statement_period_start\": \"2025-12-01\",\n \"statement_period_end\": \"2025-12-31\",\n \"file\": {\n \"file_name\": \"bank_statement_dec_2025.pdf\",\n \"content_type\": \"application/pdf\",\n \"content\": \"base64_encoded_content\"\n }\n }\n },\n {\n \"type\": \"IDENTITY_DOCUMENT\",\n \"identity_document\": {\n \"subtype\": \"PASSPORT\",\n \"document_number\": \"X12345678\",\n \"issuing_country\": \"US\",\n \"issued_at\": \"2020-01-15\",\n \"expires_at\": \"2030-01-15\",\n \"front_image\": {\n \"file_name\": \"passport_front.jpg\",\n \"content_type\": \"image/jpeg\",\n \"content\": \"base64_encoded_content\"\n }\n }\n }\n ]\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("public-api-key", "<api-key>")
req.Header.Add("private-secret-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-sandbox.y.uno/v1/banking/entities/{entity_id}/onboardings/{onboarding_id}")
.header("public-api-key", "<api-key>")
.header("private-secret-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"account_id\": \"550e8400-e29b-41d4-a716-446655440000\",\n \"compliance_declaration\": {\n \"terms_of_service\": {\n \"accepted\": true,\n \"version\": \"1.2.0\",\n \"accepted_at\": \"2026-02-01T10:05:00Z\",\n \"accepted_ip\": \"192.168.1.1\"\n },\n \"privacy_policy\": {\n \"accepted\": true,\n \"version\": \"2.1.0\",\n \"accepted_at\": \"2026-02-01T10:05:00Z\",\n \"accepted_ip\": \"192.168.1.1\"\n }\n },\n \"risk_assessment\": {\n \"assessed_at\": \"2026-02-01T10:05:00Z\",\n \"pep_status\": {\n \"is_pep\": false,\n \"pep_level\": null,\n \"position\": null,\n \"country\": null\n },\n \"rca_status\": {\n \"risk_level\": \"LOW\",\n \"classified_at\": \"2026-02-01T10:05:00Z\",\n \"assessed_by\": \"Merchant Compliance Team\"\n },\n \"sanctions_screening\": {\n \"appears_on_sanctions_list\": false,\n \"sanctions_list_name\": null,\n \"screened_at\": \"2026-02-01T09:00:00Z\"\n }\n },\n \"source_of_funds\": {\n \"primary_source\": \"EMPLOYMENT_SALARY\",\n \"secondary_sources\": [\n \"INVESTMENTS\"\n ],\n \"description\": \"Primary income from full-time employment, supplemented by investment portfolio\",\n \"estimated_annual_income\": {\n \"amount\": 175000,\n \"currency\": \"USD\"\n }\n },\n \"documentation\": [\n {\n \"type\": \"BANK_STATEMENT\",\n \"bank_statement\": {\n \"bank_name\": \"Chase Bank\",\n \"account_number_last_4\": \"1234\",\n \"statement_period_start\": \"2025-12-01\",\n \"statement_period_end\": \"2025-12-31\",\n \"file\": {\n \"file_name\": \"bank_statement_dec_2025.pdf\",\n \"content_type\": \"application/pdf\",\n \"content\": \"base64_encoded_content\"\n }\n }\n },\n {\n \"type\": \"IDENTITY_DOCUMENT\",\n \"identity_document\": {\n \"subtype\": \"PASSPORT\",\n \"document_number\": \"X12345678\",\n \"issuing_country\": \"US\",\n \"issued_at\": \"2020-01-15\",\n \"expires_at\": \"2030-01-15\",\n \"front_image\": {\n \"file_name\": \"passport_front.jpg\",\n \"content_type\": \"image/jpeg\",\n \"content\": \"base64_encoded_content\"\n }\n }\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api-sandbox.y.uno/v1/banking/entities/{entity_id}/onboardings/{onboarding_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["public-api-key"] = '<api-key>'
request["private-secret-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"account_id\": \"550e8400-e29b-41d4-a716-446655440000\",\n \"compliance_declaration\": {\n \"terms_of_service\": {\n \"accepted\": true,\n \"version\": \"1.2.0\",\n \"accepted_at\": \"2026-02-01T10:05:00Z\",\n \"accepted_ip\": \"192.168.1.1\"\n },\n \"privacy_policy\": {\n \"accepted\": true,\n \"version\": \"2.1.0\",\n \"accepted_at\": \"2026-02-01T10:05:00Z\",\n \"accepted_ip\": \"192.168.1.1\"\n }\n },\n \"risk_assessment\": {\n \"assessed_at\": \"2026-02-01T10:05:00Z\",\n \"pep_status\": {\n \"is_pep\": false,\n \"pep_level\": null,\n \"position\": null,\n \"country\": null\n },\n \"rca_status\": {\n \"risk_level\": \"LOW\",\n \"classified_at\": \"2026-02-01T10:05:00Z\",\n \"assessed_by\": \"Merchant Compliance Team\"\n },\n \"sanctions_screening\": {\n \"appears_on_sanctions_list\": false,\n \"sanctions_list_name\": null,\n \"screened_at\": \"2026-02-01T09:00:00Z\"\n }\n },\n \"source_of_funds\": {\n \"primary_source\": \"EMPLOYMENT_SALARY\",\n \"secondary_sources\": [\n \"INVESTMENTS\"\n ],\n \"description\": \"Primary income from full-time employment, supplemented by investment portfolio\",\n \"estimated_annual_income\": {\n \"amount\": 175000,\n \"currency\": \"USD\"\n }\n },\n \"documentation\": [\n {\n \"type\": \"BANK_STATEMENT\",\n \"bank_statement\": {\n \"bank_name\": \"Chase Bank\",\n \"account_number_last_4\": \"1234\",\n \"statement_period_start\": \"2025-12-01\",\n \"statement_period_end\": \"2025-12-31\",\n \"file\": {\n \"file_name\": \"bank_statement_dec_2025.pdf\",\n \"content_type\": \"application/pdf\",\n \"content\": \"base64_encoded_content\"\n }\n }\n },\n {\n \"type\": \"IDENTITY_DOCUMENT\",\n \"identity_document\": {\n \"subtype\": \"PASSPORT\",\n \"document_number\": \"X12345678\",\n \"issuing_country\": \"US\",\n \"issued_at\": \"2020-01-15\",\n \"expires_at\": \"2030-01-15\",\n \"front_image\": {\n \"file_name\": \"passport_front.jpg\",\n \"content_type\": \"image/jpeg\",\n \"content\": \"base64_encoded_content\"\n }\n }\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"id": "onb_990e8400-e29b-41d4-a716-446655440000",
"entity_id": "ent_660e8400-e29b-41d4-a716-446655440000",
"status": "PENDING",
"provider_status": "verification_pending",
"requirements": [],
"updated_at": "2026-02-01T10:05:00Z"
}{
"code": "VALIDATION_ERROR",
"messages": [
"Onboarding has reached a terminal status and cannot be updated"
],
"http_code": 400
}{
"code": "ONBOARDING_NOT_FOUND",
"messages": [
"Onboarding not found"
],
"http_code": 404
}