Skip to main content
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 files arrays.
  • The tos_policies_value should be parsed from the tos_policies_url query parameter returned from the Create Business Customer endpoint.

Authorizations

Authorization
string
header
required

Bearer token authentication. Obtain token from Issue a Token endpoint

Body

application/json
customer_id
string<uuid>
required
Example:

"2d0a9df3-e1e5-4955-9759-ce0522e0ddc9"

ownership_structure
object[]
required
company_details
object[]
required
tos_policies_value
string
required
Example:

"e9414388-fbdf-4407-b5c2-bc39eae3645b"

Response

Documents attached successfully

data
object

Generic response object