---
title: "Create New User"
method: POST
path: "/api/one_step_registration"
tags: ["Account Management"]
---

# Create New User

`POST /api/one_step_registration`

## Request

- Base URL: `https://powered-by-bamboo-sandbox.investbamboo.com`
- URL: `https://powered-by-bamboo-sandbox.investbamboo.com/api/one_step_registration`
- Auth: none declared. Required headers: `content-type`, `accept-language`, `x-request-source`, `x-client-token`

This single endpoint helps you create brokerage accounts for your users. The required data below are used to determine user trading eligibility and are **required by US regulations**:
- **basic_info:** Personal details, contact information, residence
- **verified_identity_info:** Government ID verification data
- **affiliation_info:** Professional associations, director roles
- **brokerage_account_info:** Investment profile required to confirm US trading eligibility

A [dictionary endpoint](https://docs.investbamboo.com/#tag/Dictionaries) is provided below to give insight into all the questions and acceptable 
values for the fields within the payload.

##### Enabling Extended Hours at Account Creation
To enable Extended Hours trading for a user at the point of account creation, add the following field inside the `brokerage_account_info` object in your request payload:

`"extended_hours_opt_in": "REQUESTED"`

When this field is included, the user's account will be configured to support trading during pre-market and post-market sessions as soon as the account is active.

**Note:** You are not required to opt users in at account creation. Users are also able to opt out at any time using the <a href="#tag/Account-Management/operation/Web.Api.ExtendedHoursController.opt_in">Enable or Disable Extended Hours Trading</a> endpoint.

## Headers

- `content-type` string, required
- `accept-language` string, required
- `x-request-source` string, required
- `x-client-token` string, required

## Request body

- object
  - `basic_info` object, required
    - `residence_country_code` string, required: 'GHA' for Ghana, 'NGA' for Nigeria and 'KEN' for Kenya
    - `province` string, required: Province
    - `postal_code` string, required: Postal code
    - `referral_code` string: Referral code
    - `phone_number` string, required: Phone number
    - `last_name` string, required: Last Name
    - `gender` string, required: Gender options: Man/Woman
    - `first_name` string, required: First Name
    - `email` string, required: Email
    - `date_of_birth` string, required: Date in format YYYY-MM-DD
    - `country_code` string, required: Country Code: `NGA`, `USA`
    - `city` string, required: Residence City
    - `citizenship` string, required: Citizenship
  - `verified_identity_info` object, required
    - `address` string, required: address
    - `city` string, required: City
    - `date_of_birth` string, required: User date of birth
    - `document_type` string, required: Identification document type
    - `email` string, required: User email
    - `expiration_date` string, required: ID expiration date
    - `full_name` string, required: User full name
    - `gender` string, required: Gender options: Man/Woman
    - `identifier` string, required: Identifier
    - `image` string, required: A passport photograph of the user. (Format required is Base64)
    - `front_id_image` string, required: Front page of a user's Identity document. (Apllicable to Ghana and SA accounts only. Format required is Base64)
    - `back_id_image` string, required: Back page of a user's Identity document. (Apllicable to Ghana and SA accounts only. Format required is Base64)
    - `phone_number` string, required: User phone number
    - `residence_country` string, required: User residence country
    - `state` string, required: State
  - `affiliation_info` object, required
    - `director_of` string: If no, send null. If yes, please list the company name and its ticker symbol.
    - `broker` boolean: If no, send false. If yes, send true
  - `brokerage_account_info` object, required
    - `employment_status` string, required: Employment Status
    - `yearly_income` integer, required: Yearly Income
    - `source_of_wealth` string, required: Source of wealth
    - `risk_tolerance` string, required: Risk Tolerance
    - `position` string, required: Position
    - `net_worth` integer, required: Net Worth
    - `marital_status` string, required: Martial Status
    - `liquid` integer, required: User's Liquidity Amount
    - `goal` string, required: Goal
    - `experience` string, required: Experience
    - `employment_type` string, required: Employment Type
    - `company` string, required: Company
    - `extended_hours_opt_in` string: Optional. Set to `"REQUESTED"` to enable Extended Hours trading at account creation. Omit if extended hours trading is not required.

## Response `200`

Account created

- object
  - `expiration_time` integer, required: expiration time
  - `jwt` string, required: Bearer `jwt`
  - `refresh_token` string, required: Bearer refresh token
  - `user` object, required
    - `application_id` integer, required: User's application ID
    - `bvn_api_fail` boolean, required: Field only if BVN api fails
    - `date_of_birth` string, required: User date of birth
    - `email` string, required: User email
    - `first_name` string, required: User first name
    - `full_name` string, required: User full name
    - `id` integer, required: User's id
    - `last_name` string, required: User last name
    - `name` string, required: User first name
    - `phone_number` string, required: User phone number
    - `registration_step` string, required: User's next registration step
    - `surname` string, required: User surname

## Other responses

- `401`: Token has expired or invalid token
- `404`: Resource not found

---

[API](https://skmtc.dev/investbamboo/apis/investbamboo-bamboo-api.md) - [All operations](https://skmtc.dev/investbamboo/apis/investbamboo-bamboo-api/llms.txt) - [OpenAPI document](https://skmtc.dev/investbamboo/apis/investbamboo-bamboo-api/revisions/063521e8d924?raw)
