Skip to main content
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 soon. 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 RELIANCE verification 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

Authorization
string
header
required

Bearer token authentication. Obtain token from Issue a Token endpoint

Body

application/json
verification_type
enum<string>
required
Available options:
STANDARD,
RELIANCE
Example:

"STANDARD"

basic_info
object
required
address
object
required
financial_profile
object
required
meta_data
object
Example:
{ "customer_reference": "REF-12345" }

Response

Individual customer created successfully

data
object