openapi: 3.0.1
info:
title: Bamboo Account Management Market Activity 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 | Country | \n Primary ID | \n Image Requirements | \n
\n \n \n \n | Nigeria | \n BVN | \n Passport photo | \n
\n \n | Ghana | \n National ID | \n Front & back ID images | \n
\n \n | South Africa | \n National ID | \n Front & back ID images | \n
\n \n
\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: Market Activity
description: "The market activity section provides you with endpoints that return the opening and closing times for markets we support, allowing you to check when market is open/closed. \n\nThis endpoint supports **US Stock extended trading hours**, allowing users to place trades during pre-market and post-market sessions in addition to regular market hours.\n\n**Response Fields**\n\n`market_session` - Indicates which market session is currently open:\n - `pre_market` - Pre-market session (4:00 AM to 9:30 AM ET)\n - `core_market` - Regular market hours (9:30 AM - 4:00 PM ET)\n - `post_market` - Post-market session (4:00 PM to 8:00 PM ET)\n\nEach field returns a boolean value (true if that session is currently open, false otherwise).\n\n`open_date` - Provides Unix timestamps for when each market session opens on the current trading day.\n\n`market_session_timestamp` - Provides Unix timestamps indicating when each market session opens for the current day.\n"
paths:
/api/market/open_date:
get:
tags:
- Market Activity
summary: US Market Activity Status
description: 'This endpoint indicates whether the US market is open/close. Orders placed when market is closed are queued for the next trading session.
Market status information includes a boolean indicator for whether the market is currently active, Unix timestamp of the current market date, operating trading hours, and holiday schedule showing market closures on US federal holidays.
'
operationId: Web.Api.Tenant.ExchangeRateController.market_activity
parameters:
- name: content-type
in: header
description: Acceptable content type
example: application/json
required: true
schema:
type: string
- name: accept-language
in: header
description: Acceptable language; 'en' for English
example: en
required: true
schema:
type: string
- name: x-client-token
in: header
description: API consumer token
required: true
schema:
type: string
- name: x-user-id
in: header
description: Required for user authentication
required: true
schema:
type: string
- name: x-subject-type
in: header
description: For user request -> 'tenant'.
required: true
schema:
type: string
- name: market
in: query
description: Market Type; US
required: true
schema:
type: string
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/USMarketActivityStatus'
'404':
description: Resource not found
content:
application/json:
schema:
$ref: '#/components/schemas/ResourceNotFound'
/api/extended_hours/opt_in:
post:
tags:
- Market Activity
summary: Enable or Disable Extended Hours Trading
description: 'This enables you to give your users the option to enable or disable extended hours trading for their accounts.
**NB:** This endpoint cannot be called for accounts that are pending brokerage account creation.
'
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- extended_hours_status
- market
properties:
extended_hours_status:
type: boolean
description: 'Boolean value indicating the desired extended hours status:
- `true` → Sets status to `ENABLED`
- `false` → Sets status to `DISABLED`
'
example: true
market:
type: string
description: 'Market for which extended hours trading is being set.
'
example: US
responses:
'200':
description: Extended hours status updated successfully
content:
application/json:
schema:
type: object
properties:
message:
type: string
example: Extended hours status updated successfully.
extended_hours_status:
type: string
enum:
- ENABLED
- DISABLED
example: ENABLED
'404':
description: Resource not found
content:
application/json:
schema:
$ref: '#/components/schemas/ResourceNotFound'
'422':
description: Error response
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
components:
schemas:
ErrorResponse:
title: Error response
required:
- message
type: object
properties:
message:
type: string
description: Error response for external or internal errors not connected to data
example: Message why request didn't succeed
description: Error response for external or internal errors not connected to data
USMarketActivityStatus:
title: US Market Activity response
required:
- market_session
- open_date
- market_session_timestamp
type: object
properties:
market_session:
type: object
description: Indicates which market session is currently open
properties:
pre_market:
type: boolean
description: Pre-market session status (before 9:30 AM ET)
example: true
core_market:
type: boolean
description: Regular market hours status (9:30 AM - 4:00 PM ET)
example: false
post_market:
type: boolean
description: Post-market session status (after 4:00 PM ET)
example: false
open_date:
type: object
description: Unix timestamps for when each market session opens on the current trading day
properties:
pre_market:
type: number
description: Pre-market session open date timestamp
example: 1759737600
core_market:
type: number
description: Core market session open date timestamp
example: 1759498200
post_market:
type: number
description: Post-market session open date timestamp
example: 1759521600
market_session_timestamp:
type: object
description: Unix timestamps indicating when each market session opens for the current day
properties:
pre_market:
type: number
description: Pre-market session timestamp
example: 1759478400
core_market:
type: number
description: Core market session timestamp
example: 1759498200
post_market:
type: number
description: Post-market session timestamp
example: 1759521600
ResourceNotFound:
title: Resource not found
required:
- message
type: object
properties:
message:
type: string
description: Resource not found (an incorrect url may have been used)
example: Resource Not Found
description: Error response for when the resource is not found within our data.
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