Attach Documents to Individual Customer
curl --request POST \
--url https://sandbox.api.fin.com/v1/customers/individual/attach \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"customer_id": "55bd6b4e-c20a-4cc8-9535-91d5557a67d9",
"proof_of_identity": {
"type": "PASSPORT",
"number": "A12345678",
"country": "USA",
"issue_date": "2020-01-15",
"expiry_date": "2030-01-15",
"files": [
{
"uri": "/AbAcQ4hn_0652746727637.pdf",
"side": "FRONT"
}
]
},
"proof_of_address": {
"type": "UTILITY_BILL",
"country": "USA",
"files": [
{
"uri": "/AbAcQ4hn_0652746727638.pdf"
}
]
},
"tos_policies_value": "e9414388-fbdf-4407-b5c2-bc39eae3645b"
}
'const url = 'https://sandbox.api.fin.com/v1/customers/individual/attach';
const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
customer_id: '55bd6b4e-c20a-4cc8-9535-91d5557a67d9',
proof_of_identity: {
type: 'PASSPORT',
number: 'A12345678',
country: 'USA',
issue_date: '2020-01-15',
expiry_date: '2030-01-15',
files: [{uri: '/AbAcQ4hn_0652746727637.pdf', side: 'FRONT'}]
},
proof_of_address: {
type: 'UTILITY_BILL',
country: 'USA',
files: [{uri: '/AbAcQ4hn_0652746727638.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/individual/attach")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"customer_id\": \"55bd6b4e-c20a-4cc8-9535-91d5557a67d9\",\n \"proof_of_identity\": {\n \"type\": \"PASSPORT\",\n \"number\": \"A12345678\",\n \"country\": \"USA\",\n \"issue_date\": \"2020-01-15\",\n \"expiry_date\": \"2030-01-15\",\n \"files\": [\n {\n \"uri\": \"/AbAcQ4hn_0652746727637.pdf\",\n \"side\": \"FRONT\"\n }\n ]\n },\n \"proof_of_address\": {\n \"type\": \"UTILITY_BILL\",\n \"country\": \"USA\",\n \"files\": [\n {\n \"uri\": \"/AbAcQ4hn_0652746727638.pdf\"\n }\n ]\n },\n \"tos_policies_value\": \"e9414388-fbdf-4407-b5c2-bc39eae3645b\"\n}")
.asString();import requests
url = "https://sandbox.api.fin.com/v1/customers/individual/attach"
payload = {
"customer_id": "55bd6b4e-c20a-4cc8-9535-91d5557a67d9",
"proof_of_identity": {
"type": "PASSPORT",
"number": "A12345678",
"country": "USA",
"issue_date": "2020-01-15",
"expiry_date": "2030-01-15",
"files": [
{
"uri": "/AbAcQ4hn_0652746727637.pdf",
"side": "FRONT"
}
]
},
"proof_of_address": {
"type": "UTILITY_BILL",
"country": "USA",
"files": [{ "uri": "/AbAcQ4hn_0652746727638.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/individual/attach"
payload := strings.NewReader("{\n \"customer_id\": \"55bd6b4e-c20a-4cc8-9535-91d5557a67d9\",\n \"proof_of_identity\": {\n \"type\": \"PASSPORT\",\n \"number\": \"A12345678\",\n \"country\": \"USA\",\n \"issue_date\": \"2020-01-15\",\n \"expiry_date\": \"2030-01-15\",\n \"files\": [\n {\n \"uri\": \"/AbAcQ4hn_0652746727637.pdf\",\n \"side\": \"FRONT\"\n }\n ]\n },\n \"proof_of_address\": {\n \"type\": \"UTILITY_BILL\",\n \"country\": \"USA\",\n \"files\": [\n {\n \"uri\": \"/AbAcQ4hn_0652746727638.pdf\"\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": {
"customer_id": "55bd6b4e-c20a-4cc8-9535-91d5557a67d9"
}
}{
"message": "Authentication failed"
}{
"message": "<string>",
"errors": [
{}
]
}Create Individual Customer
Attach Documents to Individual Customer
Attach proof of identity and proof of address documents to an existing individual customer
POST
/
v1
/
customers
/
individual
/
attach
Attach Documents to Individual Customer
curl --request POST \
--url https://sandbox.api.fin.com/v1/customers/individual/attach \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"customer_id": "55bd6b4e-c20a-4cc8-9535-91d5557a67d9",
"proof_of_identity": {
"type": "PASSPORT",
"number": "A12345678",
"country": "USA",
"issue_date": "2020-01-15",
"expiry_date": "2030-01-15",
"files": [
{
"uri": "/AbAcQ4hn_0652746727637.pdf",
"side": "FRONT"
}
]
},
"proof_of_address": {
"type": "UTILITY_BILL",
"country": "USA",
"files": [
{
"uri": "/AbAcQ4hn_0652746727638.pdf"
}
]
},
"tos_policies_value": "e9414388-fbdf-4407-b5c2-bc39eae3645b"
}
'const url = 'https://sandbox.api.fin.com/v1/customers/individual/attach';
const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
customer_id: '55bd6b4e-c20a-4cc8-9535-91d5557a67d9',
proof_of_identity: {
type: 'PASSPORT',
number: 'A12345678',
country: 'USA',
issue_date: '2020-01-15',
expiry_date: '2030-01-15',
files: [{uri: '/AbAcQ4hn_0652746727637.pdf', side: 'FRONT'}]
},
proof_of_address: {
type: 'UTILITY_BILL',
country: 'USA',
files: [{uri: '/AbAcQ4hn_0652746727638.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/individual/attach")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"customer_id\": \"55bd6b4e-c20a-4cc8-9535-91d5557a67d9\",\n \"proof_of_identity\": {\n \"type\": \"PASSPORT\",\n \"number\": \"A12345678\",\n \"country\": \"USA\",\n \"issue_date\": \"2020-01-15\",\n \"expiry_date\": \"2030-01-15\",\n \"files\": [\n {\n \"uri\": \"/AbAcQ4hn_0652746727637.pdf\",\n \"side\": \"FRONT\"\n }\n ]\n },\n \"proof_of_address\": {\n \"type\": \"UTILITY_BILL\",\n \"country\": \"USA\",\n \"files\": [\n {\n \"uri\": \"/AbAcQ4hn_0652746727638.pdf\"\n }\n ]\n },\n \"tos_policies_value\": \"e9414388-fbdf-4407-b5c2-bc39eae3645b\"\n}")
.asString();import requests
url = "https://sandbox.api.fin.com/v1/customers/individual/attach"
payload = {
"customer_id": "55bd6b4e-c20a-4cc8-9535-91d5557a67d9",
"proof_of_identity": {
"type": "PASSPORT",
"number": "A12345678",
"country": "USA",
"issue_date": "2020-01-15",
"expiry_date": "2030-01-15",
"files": [
{
"uri": "/AbAcQ4hn_0652746727637.pdf",
"side": "FRONT"
}
]
},
"proof_of_address": {
"type": "UTILITY_BILL",
"country": "USA",
"files": [{ "uri": "/AbAcQ4hn_0652746727638.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/individual/attach"
payload := strings.NewReader("{\n \"customer_id\": \"55bd6b4e-c20a-4cc8-9535-91d5557a67d9\",\n \"proof_of_identity\": {\n \"type\": \"PASSPORT\",\n \"number\": \"A12345678\",\n \"country\": \"USA\",\n \"issue_date\": \"2020-01-15\",\n \"expiry_date\": \"2030-01-15\",\n \"files\": [\n {\n \"uri\": \"/AbAcQ4hn_0652746727637.pdf\",\n \"side\": \"FRONT\"\n }\n ]\n },\n \"proof_of_address\": {\n \"type\": \"UTILITY_BILL\",\n \"country\": \"USA\",\n \"files\": [\n {\n \"uri\": \"/AbAcQ4hn_0652746727638.pdf\"\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": {
"customer_id": "55bd6b4e-c20a-4cc8-9535-91d5557a67d9"
}
}{
"message": "Authentication failed"
}{
"message": "<string>",
"errors": [
{}
]
}This endpoint will be deprecated on September 1, 2026. We recommend using the Attach Documents to Individual Customer V2 endpoint 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 Individual Customer endpoint.
Authorizations
Bearer token authentication. Obtain token from Issue a Token endpoint
Body
application/json
Example:
"55bd6b4e-c20a-4cc8-9535-91d5557a67d9"
Show child attributes
Show child attributes
The proof of address document must not be older than three months.
Show child attributes
Show child attributes
Example:
"e9414388-fbdf-4407-b5c2-bc39eae3645b"
Response
Documents attached successfully
Show child attributes
Show child attributes
⌘I
