Onboard Investors

Support various types of investors—ranging from individuals to legal entities like Trusts, IRAs, and LLCs—onto your platform. The collected data and organized hierarchy of parties underpin investment operations, encompassing everything from investor suitability assessments to data transmission for Know Your Customer (KYC)/Anti-Money Laundering (AML) compliance, fund administration, and reporting services.

# Retrieve a party helper
def retrieve_party(party_id):
  party_fetch_url = f"{base_url}/parties/{party_id}"
  headers = {
      "accept": "application/json",
      "caliber-api-key": caliber_api_key
  }
  return requests.get(party_fetch_url, headers=headers)

# Lets onboard a new Individual
party_creation_url = f"{base_url}/parties"
headers = {
    "accept": "application/json",
    "caliber-api-key": caliber_api_key,
    "caliber-idempotency-key": str(uuid.uuid4())
}

party_creation_obj = {
  "party_type": "individual",
  "individual": {
    "name": "John Doe",
    "first_name": "John",
    "middle_names": "Roe",
    "last_name": "Doe",
    "primary_phone": "+13124022333",
    "primary_email": f"johndoe+{str(uuid.uuid4())}@gmail.com",
    "date_of_birth": "1990-04-21",
    "tax_id": {
      "tax_id_type": "ssn",
      "tax_id_value": "312426550"
    },
    "country_of_residence": "US",
    "region_of_residence": "FL",
    "accredited_investor_type": "annual_income_over_threshold",
    "addresses": [
      {
        "address_type": "primary",
        "address_line_1": "111 NE 2nd Ave",
        "city": "Miami",
        "region": "FL",
        "postal_code": "33132",
        "country": "US"
      }
    ]
  }
}

party_response = requests.post(party_creation_url, headers=headers, json = party_creation_obj)
party_id = party_response.json()['id']

print(f"Create a party to represent an investor:\n {json.dumps(party_response.json(), indent = 2)}")
Create a party to represent an investor:
 {
  "id": "887e0c8a-0c5c-4cc3-b8e0-342eec6539bf",
  "party_type": "individual",
  "verifications": {
    "identity": "not_started",
    "accreditation": "not_started",
    "authorized_signatories": "not_started"
  },
  "relationships": {
    "accounts": [],
    "parties": {
      "parent_parties": [],
      "child_parties": []
    }
  },
  "individual": {
    "id": "887e0c8a-0c5c-4cc3-b8e0-342eec6539bf",
    "status": "active",
    "primary_phone": "+13124022333",
    "primary_email": "[email protected]",
    "addresses": [
      {
        "id": "f4712c7c-83a9-4ade-a77c-2df6006352d0",
        "address_type": "primary",
        "address_line_1": "111 NE 2nd Ave",
        "address_line_2": null,
        "address_line_3": null,
        "city": "Miami",
        "region": "FL",
        "postal_code": "33132",
        "country": "US",
        "created_at": "2023-06-25T21:11:45.227635Z",
        "updated_at": "2023-06-25T21:11:45.228244Z",
        "metadata": {}
      }
    ],
    "documents": [],
    "tax_id": {
      "tax_id_type": "ssn",
      "tax_id_value": "312426550"
    },
    "created_at": "2023-06-25T21:11:45.217856Z",
    "updated_at": "2023-06-25T21:11:45.218449Z",
    "metadata": {},
    "accredited_investor_type": "annual_income_over_threshold",
    "first_name": "John",
    "middle_name": "",
    "last_name": "Doe",
    "date_of_birth": "1990-04-21",
    "country_of_residence": "US",
    "region_of_residence": "FL"
  }
}