Create Individual Customer
curl --request POST \
--url https://sandbox.api.fin.com/v1/customers/individual \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"verification_type": "STANDARD",
"basic_info": {
"first_name": "John",
"last_name": "Doe",
"dob": "1990-01-15",
"email": "john.doe@example.com",
"phone": "+14155551234",
"country_of_residence": "USA",
"nationality": "USA",
"tin": "123-45-6789"
},
"address": {
"street": "123 Main St",
"city": "New York",
"state": "US-NY",
"postal_code": "10001",
"country": "USA"
},
"financial_profile": {
"occupation_id": 1,
"source_of_fund_id": 1,
"purpose_id": 1,
"monthly_volume_usd": 5000
},
"meta_data": {
"customer_reference": "REF-12345"
}
}
'const url = 'https://sandbox.api.fin.com/v1/customers/individual';
const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
verification_type: 'STANDARD',
basic_info: {
first_name: 'John',
last_name: 'Doe',
dob: '1990-01-15',
email: 'john.doe@example.com',
phone: '+14155551234',
country_of_residence: 'USA',
nationality: 'USA',
tin: '123-45-6789'
},
address: {
street: '123 Main St',
city: 'New York',
state: 'US-NY',
postal_code: '10001',
country: 'USA'
},
financial_profile: {
occupation_id: 1,
source_of_fund_id: 1,
purpose_id: 1,
monthly_volume_usd: 5000
},
meta_data: {customer_reference: 'REF-12345'}
})
};
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")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"verification_type\": \"STANDARD\",\n \"basic_info\": {\n \"first_name\": \"John\",\n \"last_name\": \"Doe\",\n \"dob\": \"1990-01-15\",\n \"email\": \"john.doe@example.com\",\n \"phone\": \"+14155551234\",\n \"country_of_residence\": \"USA\",\n \"nationality\": \"USA\",\n \"tin\": \"123-45-6789\"\n },\n \"address\": {\n \"street\": \"123 Main St\",\n \"city\": \"New York\",\n \"state\": \"US-NY\",\n \"postal_code\": \"10001\",\n \"country\": \"USA\"\n },\n \"financial_profile\": {\n \"occupation_id\": 1,\n \"source_of_fund_id\": 1,\n \"purpose_id\": 1,\n \"monthly_volume_usd\": 5000\n },\n \"meta_data\": {\n \"customer_reference\": \"REF-12345\"\n }\n}")
.asString();import requests
url = "https://sandbox.api.fin.com/v1/customers/individual"
payload = {
"verification_type": "STANDARD",
"basic_info": {
"first_name": "John",
"last_name": "Doe",
"dob": "1990-01-15",
"email": "john.doe@example.com",
"phone": "+14155551234",
"country_of_residence": "USA",
"nationality": "USA",
"tin": "123-45-6789"
},
"address": {
"street": "123 Main St",
"city": "New York",
"state": "US-NY",
"postal_code": "10001",
"country": "USA"
},
"financial_profile": {
"occupation_id": 1,
"source_of_fund_id": 1,
"purpose_id": 1,
"monthly_volume_usd": 5000
},
"meta_data": { "customer_reference": "REF-12345" }
}
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"
payload := strings.NewReader("{\n \"verification_type\": \"STANDARD\",\n \"basic_info\": {\n \"first_name\": \"John\",\n \"last_name\": \"Doe\",\n \"dob\": \"1990-01-15\",\n \"email\": \"john.doe@example.com\",\n \"phone\": \"+14155551234\",\n \"country_of_residence\": \"USA\",\n \"nationality\": \"USA\",\n \"tin\": \"123-45-6789\"\n },\n \"address\": {\n \"street\": \"123 Main St\",\n \"city\": \"New York\",\n \"state\": \"US-NY\",\n \"postal_code\": \"10001\",\n \"country\": \"USA\"\n },\n \"financial_profile\": {\n \"occupation_id\": 1,\n \"source_of_fund_id\": 1,\n \"purpose_id\": 1,\n \"monthly_volume_usd\": 5000\n },\n \"meta_data\": {\n \"customer_reference\": \"REF-12345\"\n }\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",
"tos_policies_url": "https://orchestration.fin.com/orchestration-customer-tos?customer_id=55bd6b4e-c20a-4cc8-9535-91d5557a67d9&tos_policies_value=e9414388-fbdf-4407-b5c2-bc39eae3645b"
}
}{
"message": "Authentication failed"
}{
"message": "<string>",
"errors": [
{}
]
}{
"message": "RELIANCE is not available for your client"
}Create Individual Customer
Create Individual Customer
Create a new individual customer with verification details
POST
/
v1
/
customers
/
individual
Create Individual Customer
curl --request POST \
--url https://sandbox.api.fin.com/v1/customers/individual \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"verification_type": "STANDARD",
"basic_info": {
"first_name": "John",
"last_name": "Doe",
"dob": "1990-01-15",
"email": "john.doe@example.com",
"phone": "+14155551234",
"country_of_residence": "USA",
"nationality": "USA",
"tin": "123-45-6789"
},
"address": {
"street": "123 Main St",
"city": "New York",
"state": "US-NY",
"postal_code": "10001",
"country": "USA"
},
"financial_profile": {
"occupation_id": 1,
"source_of_fund_id": 1,
"purpose_id": 1,
"monthly_volume_usd": 5000
},
"meta_data": {
"customer_reference": "REF-12345"
}
}
'const url = 'https://sandbox.api.fin.com/v1/customers/individual';
const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
verification_type: 'STANDARD',
basic_info: {
first_name: 'John',
last_name: 'Doe',
dob: '1990-01-15',
email: 'john.doe@example.com',
phone: '+14155551234',
country_of_residence: 'USA',
nationality: 'USA',
tin: '123-45-6789'
},
address: {
street: '123 Main St',
city: 'New York',
state: 'US-NY',
postal_code: '10001',
country: 'USA'
},
financial_profile: {
occupation_id: 1,
source_of_fund_id: 1,
purpose_id: 1,
monthly_volume_usd: 5000
},
meta_data: {customer_reference: 'REF-12345'}
})
};
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")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"verification_type\": \"STANDARD\",\n \"basic_info\": {\n \"first_name\": \"John\",\n \"last_name\": \"Doe\",\n \"dob\": \"1990-01-15\",\n \"email\": \"john.doe@example.com\",\n \"phone\": \"+14155551234\",\n \"country_of_residence\": \"USA\",\n \"nationality\": \"USA\",\n \"tin\": \"123-45-6789\"\n },\n \"address\": {\n \"street\": \"123 Main St\",\n \"city\": \"New York\",\n \"state\": \"US-NY\",\n \"postal_code\": \"10001\",\n \"country\": \"USA\"\n },\n \"financial_profile\": {\n \"occupation_id\": 1,\n \"source_of_fund_id\": 1,\n \"purpose_id\": 1,\n \"monthly_volume_usd\": 5000\n },\n \"meta_data\": {\n \"customer_reference\": \"REF-12345\"\n }\n}")
.asString();import requests
url = "https://sandbox.api.fin.com/v1/customers/individual"
payload = {
"verification_type": "STANDARD",
"basic_info": {
"first_name": "John",
"last_name": "Doe",
"dob": "1990-01-15",
"email": "john.doe@example.com",
"phone": "+14155551234",
"country_of_residence": "USA",
"nationality": "USA",
"tin": "123-45-6789"
},
"address": {
"street": "123 Main St",
"city": "New York",
"state": "US-NY",
"postal_code": "10001",
"country": "USA"
},
"financial_profile": {
"occupation_id": 1,
"source_of_fund_id": 1,
"purpose_id": 1,
"monthly_volume_usd": 5000
},
"meta_data": { "customer_reference": "REF-12345" }
}
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"
payload := strings.NewReader("{\n \"verification_type\": \"STANDARD\",\n \"basic_info\": {\n \"first_name\": \"John\",\n \"last_name\": \"Doe\",\n \"dob\": \"1990-01-15\",\n \"email\": \"john.doe@example.com\",\n \"phone\": \"+14155551234\",\n \"country_of_residence\": \"USA\",\n \"nationality\": \"USA\",\n \"tin\": \"123-45-6789\"\n },\n \"address\": {\n \"street\": \"123 Main St\",\n \"city\": \"New York\",\n \"state\": \"US-NY\",\n \"postal_code\": \"10001\",\n \"country\": \"USA\"\n },\n \"financial_profile\": {\n \"occupation_id\": 1,\n \"source_of_fund_id\": 1,\n \"purpose_id\": 1,\n \"monthly_volume_usd\": 5000\n },\n \"meta_data\": {\n \"customer_reference\": \"REF-12345\"\n }\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",
"tos_policies_url": "https://orchestration.fin.com/orchestration-customer-tos?customer_id=55bd6b4e-c20a-4cc8-9535-91d5557a67d9&tos_policies_value=e9414388-fbdf-4407-b5c2-bc39eae3645b"
}
}{
"message": "Authentication failed"
}{
"message": "<string>",
"errors": [
{}
]
}{
"message": "RELIANCE is not available for your client"
}This endpoint will be deprecated on September 1, 2026. We recommend using the Create Individual Customer V2 endpoint instead.
Only English (Latin) characters are allowed as inputs for all fields.
Important Requirements
- Email Address: Must be all lowercase or you will receive a validation error
- RELIANCE Verification: If you attempt to use
RELIANCEverification type but it’s not enabled for your client, you will receive a 423 error with message: “RELIANCE is not available for your client”
Authorizations
Bearer token authentication. Obtain token from Issue a Token endpoint
Body
application/json
Response
Individual customer created successfully
Show child attributes
Show child attributes
⌘I
