openapi: 3.0.1 info: title: Bamboo Account Management Authentication API version: '' description: "Account creation enables users to invest on Bamboo. Ensure KYC has been completed and each user’s identity verified before creating a brokerage account.\n\n**Best Practice:** To avoid maintenance fees on inactive accounts, create and fund brokerage accounts **only when users initiate their first trade**. You may collect account details in advance but delay sending the request until they’re ready to buy.\n\n##### Prerequisites\n- **Minimum Age:** 18 years (verified via government-issued ID)\n- **Compliance:** Must meet local investment regulations\n\n##### Document Requirements\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
CountryPrimary IDImage Requirements
NigeriaBVNPassport photo
GhanaNational IDFront & back ID images
South AfricaNational IDFront & back ID images
\n\n**Note:** Images must be in Base64 format. The `front_id_image` and `back_id_image` fields apply only to Ghana and South Africa.\n\n##### Phone Number Format\n- Must be in international format (e.g., +2347083864023)\n- Country code must match user’s residence\n- Used for notifications and account security\n" servers: - url: https://powered-by-bamboo-sandbox.investbamboo.com tags: - name: Authentication description: "Before you start making requests, you’ll need to generate an access token. Every request to the API must be authenticated using access tokens and user context headers — this ensures secure and authorized access to your resources.\n\nHere are a few quick tips to help you integrate smoothly and keep your tokens active:\n - **x-client-token:** A tenant-level access token that expires after 24 hours. You can generate up to 3 tokens per hour.\n- **Refresh Strategy:** Generate a new token before the current one expires to keep your requests running without interruption.\n\nEach endpoint’s required headers are outlined throughout this documentation, so you always know what’s needed to make a successful call.\n" paths: /oauth/token: post: tags: - Authentication summary: Generate Access Token description: "This endpoint generates your access token, referred to as your `x-client-token` within Bamboo’s system. \nThe credentials needed to generate it will be provided by the Bamboo Team during account setup. \n" operationId: Web.Api.AuthController.oauth parameters: - name: content-type in: header description: Acceptable content type required: true schema: type: string default: application/json - name: accept-language in: header description: Acceptable language; 'en' for English required: true schema: type: string default: en - name: app-key in: header description: Application key that uniquely identifies a tenant as an API consumer. example: 1755d3dd-e6b9-4df1-9537-eb9017da70g9 required: true schema: type: string requestBody: description: Tenant Level Authentication Request content: application/json: schema: title: Tenant login request required: - username - password type: object properties: username: type: string description: Username example: invest-bamboo password: type: string description: Password example: 32qC6I2U5J-0i73zJDEdapFJvwICJAl1I7ScekqupVfouiAMz_J7obWHI3kuDVOL description: POST request body parameters responses: '200': description: Tenant Login Successful content: application/json: schema: title: Response required: - access_token - expires_in type: object properties: access_token: type: string required: - access_token description: Tenant access token (x-client-token) example: 'eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6Ikx6aTZoUVRwc2gtS21BNjdzbXdCWiJ9. eyJodHRwczovL2V4YW1wbGUuY29tL2NsYWltIjoiYmFyIiwiaXNzIjoiaHR0cHM6Ly9pbnZlc3RiYW1ib28uYXV0aDAuY29tLyIsInN1YiI6IjZWdUVjV1NFdUZWdGRJM1ExYlliRVV6UGZOVHljTkM4QGNsaWVudHMiLCJhdWQiOiJodHRwczovL3Bvd2VyZWQtYnktYmFtYm9vLXNhbmRib3guaW52ZXN0YmFtYm9vLmNvbS8iLCJpYXQiOjE3NTk1MDU1MzQsImV4cCI6MTc1OTU5MTkzNCwic2NvcGUiOiJyZWFkOmJhbWJvb19kYXRhIGV4dHJhIiwiZ3R5IjoiY2xpZW50LWNyZWRlbnRpYWxzIiwiYXpwIjoiNlZ1RWNXU0V1RlZ0ZEkzUTFiWWJFVXpQZk5UeWNOQzgifQ. F-bR5wEFxtD-3Y93Lzjfi2UY_9V9k8ckGkndhnLa-SXjp9GvitG79MSyUaNahvT6TVmFUw6Us59GhQAltlcETPoBk3wF934FbfGyofAPzsJ6j2mLIHY2YH-l4KO7_ZA9KAPeh8lGN24R5ZMLuDFGjbteNcHp_rCba1KhTYA_EJIL8p2zYsfYn72PAMb0pWUb5v9YC_HYNf95Q5bNHp0W0m7ZI21VwPVD0TRAazT931xCkF4d0oukvEmGkZ0ns8u1VxsZ0b2nUzV0K1YL6nBn68lg8b7lX7tLMReGUCxE_qsfI1vr0WYvQxCrmvjUsMFrDvW5oDlASa25WOcxYDWweQ ' expires_in: type: string description: Token expiration time in seconds example: 86400 description: Result of POST request on tenant login '401': description: Invalid app key supplied content: application/json: schema: title: Unauthorized response required: - message type: object properties: message: type: string description: Unauthorized/Invalid Token example: Invalid app key supplied description: Token is invalid or has expired '422': description: Incorrect Parameters content: application/json: schema: title: Error changeset response required: - errors - message type: object properties: message: type: string required: true description: Message why request didn't succeed example: Wrong username or password description: Error response for request which manipulates data x-codegen-request-body-name: body x-logo: url: bamboo-logo.png altText: bamboo logo x-tagGroups: - name: Authentication tags: - Authentication - Account Management - name: Money Movement tags: - Overview - Deposits - Withdrawals - name: US Brokerage Services tags: - Portfolio Reporting - US Securities - US Stock Trading - US Stock Events - name: Utilities tags: - Dictionaries - Market Activity - Exchange Rate - Featured Themes - Financial Documents