Onboarding

Overview

The first step to creating an investment for your users is to create an investment account for them. You do this by calling the /accounts endpoint of the API. The account created will be referenced when creating wallets, savings, or investments.

Create a User Account

Investment account creation is the process of registering a user to be able to access investment products on your platform. To create an investment account on the Embed API, you need to provide minimum user details such as first name, last name, and email address. Once the account is created, you will need to update and verify the user by providing either the BVN, NIN, or voter’s card.

Note
In production, an unverified user will not be able to access the investment products or perform any investment activity. To verify a user, we currently support provision of the user’s BVN. Note that BVN verification is asynchronous so you’ll need to listen for the web hooks to know when a user’s account is verified or not.
Heads Up
Sensitive user data should not be used in the sandbox environment. To prevent this type of data from being saved in the sandbox environment, the API will only require first_name, last_name,email_address and phone_number for investment account creation.

To register a user, you need to issue a  POST request to /accounts

Embed Terms of Service

We require that all users accept our Terms and Conditions before creating investments. This is to ensure that everyone is aware of our guidelines and can fully enjoy our platform. If you haven't accepted our T&C yet, don't worry! Your account will be temporarily restricted until you've accepted them. Once you've agreed to our terms, you'll be free to create investments and start exploring all that our platform has to offer

You can accept our T&C on the account creation endpoint by including `terms_of_use_accepted=True` in the request payload.

If you do not include this in the request payload, the account will be created with temporary restrictions until you manually accept the T&C

When a user registration request is successful, you should have a newly created investment account object with a status code 201. Below is a sample investment account object showing all details that are needed

"data": {
    "identifications": [],
    "address": {
      "street": "",
      "lga": "",
      "area_code": "",
      "city": "",
      "state": ""
    },
    "email": "test@cowrywise.com",
    "first_name": "TEST",
    "account_type": "business",
    "phone_number": null,
    "account_id": "28943ca3c0f7aeb0763c465caaedc7f1",
    "banks": [],
    "name": "Test Account",
    "account_status": "ACTIVE",
    "is_verified": false,
    "risk_appetite": 0,
    "terms_of_use_accepted": true,
    "account_number": 273961452,
    "next_of_kin": {
      "first_name": "",
      "last_name": "",
      "email": "",
      "phone_number": "",
      "relationship": "",
      "gender": null
    },
    "date_of_birth": null,
    "last_name": "TEST",
    "is_proprietary": false,
    "date_joined": "2023-03-06T13:31:53.673739+00:00",
    "gender": null,
    "verification_status": "UNVERIFIED"
  }

Once an investment account is created, you can get its portfolio, invest in it, update the investment account profile, and so on. Detailed explanations have been included below.