Attach Documents to Business Customer
curl --request POST \
--url https://sandbox.api.fin.com/v1/customers/business/attach \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"customer_id": "2d0a9df3-e1e5-4955-9759-ce0522e0ddc9",
"ownership_structure": [
{
"type": "SHAREHOLDER_REGISTRY",
"files": [
{
"uri": "/AbAcQ4hn_0652746727639.pdf"
}
]
}
],
"company_details": [
{
"type": "CERT_OF_INCORPORATION",
"files": [
{
"uri": "/AbAcQ4hn_0652746727640.pdf"
}
]
}
],
"legal_presence": [
{
"type": "PROOF_OF_ADDRESS",
"files": [
{
"uri": "/AbAcQ4hn_0652746727641.pdf"
}
]
}
],
"tos_policies_value": "e9414388-fbdf-4407-b5c2-bc39eae3645b"
}
'const url = 'https://sandbox.api.fin.com/v1/customers/business/attach';
const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
customer_id: '2d0a9df3-e1e5-4955-9759-ce0522e0ddc9',
ownership_structure: [{type: 'SHAREHOLDER_REGISTRY', files: [{uri: '/AbAcQ4hn_0652746727639.pdf'}]}],
company_details: [{type: 'CERT_OF_INCORPORATION', files: [{uri: '/AbAcQ4hn_0652746727640.pdf'}]}],
legal_presence: [{type: 'PROOF_OF_ADDRESS', files: [{uri: '/AbAcQ4hn_0652746727641.pdf'}]}],
tos_policies_value: 'e9414388-fbdf-4407-b5c2-bc39eae3645b'
})
};
fetch(url, options)
.then(res => res.json())
.then(json => console.log(json))
.catch(err => console.error(err));HttpResponse<String> response = Unirest.post("https://sandbox.api.fin.com/v1/customers/business/attach")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"customer_id\": \"2d0a9df3-e1e5-4955-9759-ce0522e0ddc9\",\n \"ownership_structure\": [\n {\n \"type\": \"SHAREHOLDER_REGISTRY\",\n \"files\": [\n {\n \"uri\": \"/AbAcQ4hn_0652746727639.pdf\"\n }\n ]\n }\n ],\n \"company_details\": [\n {\n \"type\": \"CERT_OF_INCORPORATION\",\n \"files\": [\n {\n \"uri\": \"/AbAcQ4hn_0652746727640.pdf\"\n }\n ]\n }\n ],\n \"legal_presence\": [\n {\n \"type\": \"PROOF_OF_ADDRESS\",\n \"files\": [\n {\n \"uri\": \"/AbAcQ4hn_0652746727641.pdf\"\n }\n ]\n }\n ],\n \"tos_policies_value\": \"e9414388-fbdf-4407-b5c2-bc39eae3645b\"\n}")
.asString();import requests
url = "https://sandbox.api.fin.com/v1/customers/business/attach"
payload = {
"customer_id": "2d0a9df3-e1e5-4955-9759-ce0522e0ddc9",
"ownership_structure": [
{
"type": "SHAREHOLDER_REGISTRY",
"files": [{ "uri": "/AbAcQ4hn_0652746727639.pdf" }]
}
],
"company_details": [
{
"type": "CERT_OF_INCORPORATION",
"files": [{ "uri": "/AbAcQ4hn_0652746727640.pdf" }]
}
],
"legal_presence": [
{
"type": "PROOF_OF_ADDRESS",
"files": [{ "uri": "/AbAcQ4hn_0652746727641.pdf" }]
}
],
"tos_policies_value": "e9414388-fbdf-4407-b5c2-bc39eae3645b"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://sandbox.api.fin.com/v1/customers/business/attach"
payload := strings.NewReader("{\n \"customer_id\": \"2d0a9df3-e1e5-4955-9759-ce0522e0ddc9\",\n \"ownership_structure\": [\n {\n \"type\": \"SHAREHOLDER_REGISTRY\",\n \"files\": [\n {\n \"uri\": \"/AbAcQ4hn_0652746727639.pdf\"\n }\n ]\n }\n ],\n \"company_details\": [\n {\n \"type\": \"CERT_OF_INCORPORATION\",\n \"files\": [\n {\n \"uri\": \"/AbAcQ4hn_0652746727640.pdf\"\n }\n ]\n }\n ],\n \"legal_presence\": [\n {\n \"type\": \"PROOF_OF_ADDRESS\",\n \"files\": [\n {\n \"uri\": \"/AbAcQ4hn_0652746727641.pdf\"\n }\n ]\n }\n ],\n \"tos_policies_value\": \"e9414388-fbdf-4407-b5c2-bc39eae3645b\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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))
}{
"data": {}
}{
"message": "Authentication failed"
}{
"message": "<string>",
"errors": [
{}
]
}Create Business Customer
Attach Documents to Business Customer
Attach ownership structure, company details, and legal presence documents to an existing business customer
POST
/
v1
/
customers
/
business
/
attach
Attach Documents to Business Customer
curl --request POST \
--url https://sandbox.api.fin.com/v1/customers/business/attach \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"customer_id": "2d0a9df3-e1e5-4955-9759-ce0522e0ddc9",
"ownership_structure": [
{
"type": "SHAREHOLDER_REGISTRY",
"files": [
{
"uri": "/AbAcQ4hn_0652746727639.pdf"
}
]
}
],
"company_details": [
{
"type": "CERT_OF_INCORPORATION",
"files": [
{
"uri": "/AbAcQ4hn_0652746727640.pdf"
}
]
}
],
"legal_presence": [
{
"type": "PROOF_OF_ADDRESS",
"files": [
{
"uri": "/AbAcQ4hn_0652746727641.pdf"
}
]
}
],
"tos_policies_value": "e9414388-fbdf-4407-b5c2-bc39eae3645b"
}
'const url = 'https://sandbox.api.fin.com/v1/customers/business/attach';
const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
customer_id: '2d0a9df3-e1e5-4955-9759-ce0522e0ddc9',
ownership_structure: [{type: 'SHAREHOLDER_REGISTRY', files: [{uri: '/AbAcQ4hn_0652746727639.pdf'}]}],
company_details: [{type: 'CERT_OF_INCORPORATION', files: [{uri: '/AbAcQ4hn_0652746727640.pdf'}]}],
legal_presence: [{type: 'PROOF_OF_ADDRESS', files: [{uri: '/AbAcQ4hn_0652746727641.pdf'}]}],
tos_policies_value: 'e9414388-fbdf-4407-b5c2-bc39eae3645b'
})
};
fetch(url, options)
.then(res => res.json())
.then(json => console.log(json))
.catch(err => console.error(err));HttpResponse<String> response = Unirest.post("https://sandbox.api.fin.com/v1/customers/business/attach")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"customer_id\": \"2d0a9df3-e1e5-4955-9759-ce0522e0ddc9\",\n \"ownership_structure\": [\n {\n \"type\": \"SHAREHOLDER_REGISTRY\",\n \"files\": [\n {\n \"uri\": \"/AbAcQ4hn_0652746727639.pdf\"\n }\n ]\n }\n ],\n \"company_details\": [\n {\n \"type\": \"CERT_OF_INCORPORATION\",\n \"files\": [\n {\n \"uri\": \"/AbAcQ4hn_0652746727640.pdf\"\n }\n ]\n }\n ],\n \"legal_presence\": [\n {\n \"type\": \"PROOF_OF_ADDRESS\",\n \"files\": [\n {\n \"uri\": \"/AbAcQ4hn_0652746727641.pdf\"\n }\n ]\n }\n ],\n \"tos_policies_value\": \"e9414388-fbdf-4407-b5c2-bc39eae3645b\"\n}")
.asString();import requests
url = "https://sandbox.api.fin.com/v1/customers/business/attach"
payload = {
"customer_id": "2d0a9df3-e1e5-4955-9759-ce0522e0ddc9",
"ownership_structure": [
{
"type": "SHAREHOLDER_REGISTRY",
"files": [{ "uri": "/AbAcQ4hn_0652746727639.pdf" }]
}
],
"company_details": [
{
"type": "CERT_OF_INCORPORATION",
"files": [{ "uri": "/AbAcQ4hn_0652746727640.pdf" }]
}
],
"legal_presence": [
{
"type": "PROOF_OF_ADDRESS",
"files": [{ "uri": "/AbAcQ4hn_0652746727641.pdf" }]
}
],
"tos_policies_value": "e9414388-fbdf-4407-b5c2-bc39eae3645b"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://sandbox.api.fin.com/v1/customers/business/attach"
payload := strings.NewReader("{\n \"customer_id\": \"2d0a9df3-e1e5-4955-9759-ce0522e0ddc9\",\n \"ownership_structure\": [\n {\n \"type\": \"SHAREHOLDER_REGISTRY\",\n \"files\": [\n {\n \"uri\": \"/AbAcQ4hn_0652746727639.pdf\"\n }\n ]\n }\n ],\n \"company_details\": [\n {\n \"type\": \"CERT_OF_INCORPORATION\",\n \"files\": [\n {\n \"uri\": \"/AbAcQ4hn_0652746727640.pdf\"\n }\n ]\n }\n ],\n \"legal_presence\": [\n {\n \"type\": \"PROOF_OF_ADDRESS\",\n \"files\": [\n {\n \"uri\": \"/AbAcQ4hn_0652746727641.pdf\"\n }\n ]\n }\n ],\n \"tos_policies_value\": \"e9414388-fbdf-4407-b5c2-bc39eae3645b\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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))
}{
"data": {}
}{
"message": "Authentication failed"
}{
"message": "<string>",
"errors": [
{}
]
}This endpoint was deprecated on May 20, 2026. Use Attach Documents to Business Customer V2 instead.
- Before calling this endpoint, upload documents using the Upload document endpoint to obtain the URIs needed for the
filesarrays. - The
tos_policies_valueshould be parsed from thetos_policies_urlquery parameter returned from the Create Business Customer endpoint.
Authorizations
Bearer token authentication. Obtain token from Issue a Token endpoint
Body
application/json
Example:
"2d0a9df3-e1e5-4955-9759-ce0522e0ddc9"
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Example:
"e9414388-fbdf-4407-b5c2-bc39eae3645b"
Response
Documents attached successfully
Generic response object
⌘I
