Skip to content

Broker API — FD (US)

⚠️ Generated file — do not edit. Regenerate with python tools/webull-docgen/docgen.py <target> (reference, master, reconciliation or all).

US Broker FD surface. Documented on the US site only.

<- Webull API Reference

List Accounts

GET /broker/accounts/list

Retrieves a paginated list of accounts associated with the requesting institution.

SDK brokerfd.ListFDAccounts
Reference list-accounts.md

Request — parameters

Name In Type Required Description
pagination_key query string Pagination key from previous response for next page.

Response 200

Field Type Required Description
data array Result data list
pagination_key string Pagination key for next page. If absent, indicates this is the last page.

Nested — data:

Field Type Required Description
account_id string yes Unique identifier of the account to which restrictions are currently applied.
account_number string yes Account number associated with the account.
account_type string yes Account Type CASH - Cash Account Type MARGIN - Margin Account Type — one of: CASH, MARGIN
rep_code string Rep Code

Errors401 unauthorized, 417 business error, 500 server error. See Errors.

Account Detail

GET /broker/accounts/get

Retrieves the detailed information of a specific account.

SDK brokerfd.GetFDAccountDetail
Reference get-account-detail.md

Request — parameters

Name In Type Required Description
account_id query string yes Unique identifier of the account to query restrictions for.

Response 200

Field Type Required Description
account_id string yes Unique identifier of the account to which restrictions are currently applied.
account_number string yes Account number associated with the account.
account_type string yes Account Type CASH - Cash Account Type MARGIN - Margin Account Type — one of: CASH, MARGIN
rep_code string Rep Code
commission_code string Commission Code
restrict_infos array List of restrictions currently effective for this account.

Nested — restrict_infos:

Field Type Required Description
restriction_code string yes A code representing the type of restriction applied. RISK: Risk Restriction TRADING: Trading Restriction TRADING_STOCK_ETF: Stock and ETF Trading Restriction TRADING_FRACTIONAL: Fractional Share Trading Restriction TRADING_OPTIONS: Options Trading Restriction TRADING_EVENT: Event Contract Trading Restriction TRADING_OTC: OTC Trading Restriction TRADING_OVERNIGHT: Overnight Trading Restriction ACCOUNT_LINKING: Account Linking Restriction FUNDING_ACH: ACH Deposit Restriction FUNDING_DEBIT_CARD: Debit Card Deposit Restriction FUNDING_DIRECT_DEPOSIT: Direct Deposit Restriction WITHDRAWAL: Withdrawal Restriction TRANSFER_ACATS_IN: ACATS Incoming Transfer Restriction TRANSFER_ACATS_OUT: ACATS Outgoing Transfer Restriction
restriction_start_time string yes The date and time when the restriction takes effect. Time in ISO8601 format (UTC). Format: yyyy-MM-dd'T'HH:mm:ss.SSS'Z'
reason string A description of the reason for the restriction.

Errors401 unauthorized, 417 business error, 500 server error. See Errors.

Create Account

POST /broker/accounts/create

Submits a request to create an account for your end user. Related Event Notifications: Please refer to the Event Push API documentation: Application Events

SDK brokerfd.CreateFDAccount
Reference create-account-apply.md

Request body

Field Type Required Description
client_request_id string yes Client-supplied request ID, which is unique for each account submission request.
application_id string System-generated unique identifier assigned to the account application record. This field is omitted for the initial submission and must be provided for subsequent submissions related to the same account application.
related_account_id string The unique identifier of the related account. This field is required when submitting an additional account application related to an existing account. For example, if you have an Event Contract account and want to add a Brokerage Margin account, you would provide the account_id of the Event Contract account in this field. If this field is not provided or is empty, it indicates that this submission is for an initial account application.
forms array yes Array of one or more FormData objects representing the account form being submitted. Use form details API to retrieve the form schema and details.

Nested — forms:

Field Type Required Description
form_info object yes Form Identifier.
json_data object yes Object containing the completed form data as defined by the form schema and will vary from form to form.

Nested — form_info:

Field Type Required Description
form_code string yes Unique identifier of the form, typically used to distinguish different form definitions.
version string yes Version number of the form definition, used for compatibility and evolutionary control.

Response 200

Field Type Required Description
client_request_id string yes Unique client-generated identifier used for request tracking, idempotency and audit purposes.
application_id string yes System-generated unique identifier assigned to the account application record.

Errors401 unauthorized, 417 business error, 500 server error. See Errors.

Update Account

POST /broker/accounts/update

Submit a request to update an existing account. This API only updates the fields submitted in the forms data. Any attributes not included in the request will remain unchanged. Related Event Notifications: Please refer to the Event Push API documentation: Account Events

SDK brokerfd.UpdateFDAccount
Reference update-account-apply.md

Request body

Field Type Required Description
client_request_id string yes Unique identifier for the request, generated each time.
account_id string yes The account ID for which the update is being submitted.
forms array yes Array of one or more FormData objects representing the account form being submitted. Use form details API to retrieve the form schema and details.

Nested — forms:

Field Type Required Description
form_info object yes Form Identifier.
json_data object yes Object containing the completed form data as defined by the form schema and will vary from form to form.

Nested — form_info:

Field Type Required Description
form_code string yes Unique identifier of the form, typically used to distinguish different form definitions.
version string yes Version number of the form definition, used for compatibility and evolutionary control.

Response 200

Field Type Required Description
client_request_id string yes Unique client-generated identifier used for request tracking, idempotency and audit purposes.
account_id string yes System-generated unique identifier assigned to the account application record.

Errors401 unauthorized, 417 business error, 500 server error. See Errors.

Close Account

POST /broker/accounts/close

Closes an existing account. The operation is irreversible and requires valid account information. Related Event Notifications: Please refer to the Event Push API documentation: Account Events

SDK brokerfd.CloseFDAccount
Reference close-account.md

Request body

Field Type Required Description
client_request_id string yes Client-supplied request ID, which is unique for each account closure request.
account_id string yes Unique identifier of the account to be closed.
close_reason string yes Optional detailed textual explanation of the account closure reason. Limited to 512 characters.

Response 200

Field Type Required Description
client_request_id string yes Client-generated unique identifier for idempotency and audit purposes.
account_id string yes Account ID to be closed.

Errors401 unauthorized, 417 business error, 500 server error. See Errors.

Account Application Detail

GET /broker/accounts/applications/get

Retrieves detailed information about a specific account application.

SDK
Reference get-account-application-detail.md

Request — parameters

Name In Type Required Description
application_id query string yes Unique identifier of the account application to retrieve details for.

Response 200

Field Type Required Description
application_id string yes Application ID
resubmission_codes array Resubmission Code, only present for resubmission applications
customer_info object yes Customer Info
contact_info object yes Contact Information
trusted_contact_info object Trusted Contact Info
employment_info object yes Employment Info
financial_info object yes Financial Info
disclosure_info object yes Disclosure Info
tax_info object yes Tax Info
w8ben_info object W8ben Info
additional_infos array yes Additional Information for the application review process.
document_attachments array Document Attachments

Nested — customer_info:

Field Type Required Description
ip_address string yes The IP address when the user submits the application.
first_name string yes First name
middle_name string Middle name
last_name string yes Last name
date_of_birth string yes Date of birth
gender string yes Gender. Allowed values: F (Female), M (Male).
country_of_citizenship string yes Country of citizenship. Value must be obtained from the Master Data API with data_type = COUNTRY
id_doc_type string yes Type of identification document. Value must be obtained from the Master Data API with data_type = ID_DOC_TYPE.
picture_front_doc_id string Picture front document id
picture_back_doc_id string Picture back document id
id_number string yes Number of the identification document.
id_expiry_date string yes Expiration date of the identification document.
selfie_img_key string User’s selfie, face photo, or liveness document id
tax_id_doc_id string Tax ID or SSN document id for tax/SSN verification
permanent_resident string yes Permanent resident. Allowed values: YES, NO.
marital_status string yes The user's marital status. Value must be obtained from the Master Data API with data_type = MARITAL_STATUS.
num_dependents integer yes Num dependents
ext_attr_list array Ext attr list

Nested — ext_attr_list:

Field Type Required Description
name string yes Attribute Name
value string yes Attribute Value

Nested — contact_info:

Field Type Required Description
phone_country string yes Phone country. The value must be a valid ISO 3166-1 alpha-3 country code in uppercase format (3-letter code).
phone_number string yes Phone number
email_address string yes Email address
id_address object yes Address Info
mail_address object Address Info

Nested — id_address:

Field Type Required Description
country string yes Country. The value must be a valid ISO 3166-1 alpha-3 country code in uppercase format (3-letter code).
state string yes State. The value must follow the ISO 3166-2 subdivision standard and include the country code prefix. Format: ISO 3166-1 alpha-3 country code followed by a hyphen and the subdivision code (for example: USA-CA).
city string yes City.
street_address string yes Street address
postal_code string yes Postal code
neighborhood_code string Neighborhood code.
apartment_number string Apartment number.
building_number string Building number.

Nested — mail_address:

Field Type Required Description
country string yes Country. The value must be a valid ISO 3166-1 alpha-3 country code in uppercase format (3-letter code).
state string yes State. The value must follow the ISO 3166-2 subdivision standard and include the country code prefix. Format: ISO 3166-1 alpha-3 country code followed by a hyphen and the subdivision code (for example: USA-CA).
city string yes City.
street_address string yes Street address
postal_code string yes Postal code
neighborhood_code string Neighborhood code.
apartment_number string Apartment number.
building_number string Building number.

Nested — trusted_contact_info:

Field Type Required Description
first_name string yes First name of the trusted contact.
middle_name string Middle name of the trusted contact.
last_name string yes Last name of the trusted contact.
phone_country string yes Phone country. The value must be a valid ISO 3166-1 alpha-3 country code in uppercase format (3-letter code).
phone_number string yes Phone number
relationship string yes Relationship between the account holder and the trusted contact person.
trusted_address object yes Trusted Contact Address

Nested — trusted_address:

Field Type Required Description
country string yes Country. The value must be a valid ISO 3166-1 alpha-3 country code in uppercase format (3-letter code).
state string yes State. The value must follow the ISO 3166-2 subdivision standard and include the country code prefix. Format: ISO 3166-1 alpha-3 country code followed by a hyphen and the subdivision code (for example: USA-CA).
city string yes City.
street_address string yes Street address
postal_code string yes Postal code
neighborhood_code string Neighborhood code.
apartment_number string Apartment number.
building_number string Building number.

Nested — employment_info:

Field Type Required Description
employment_type string yes Type of employment. Value must be obtained from the Master Data API with data_type = EMPLOYMENT_TYPE.
company_name string yes Name of the applicant current employer.
occupation string yes Specific occupation under the employment type. Value must be obtained from the Master Data API with data_type = OCCUPATION.
position string yes Position. Value must be obtained from the Master Data API with data_type = POSITION
years_employed string yes Total duration (in years) the applicant has been employed with the current employer. Decimal values are allowed to represent partial years (e.g. 1.5).
employment_address object yes Employment Address

Nested — employment_address:

Field Type Required Description
country string yes Country. The value must be a valid ISO 3166-1 alpha-3 country code in uppercase format (3-letter code).
state string yes State. The value must follow the ISO 3166-2 subdivision standard and include the country code prefix. Format: ISO 3166-1 alpha-3 country code followed by a hyphen and the subdivision code (for example: USA-CA).
city string yes City.
street_address string yes Street address
postal_code string yes Postal code
neighborhood_code string Neighborhood code.
apartment_number string Apartment number.
building_number string Building number.

Nested — financial_info:

Field Type Required Description
liquidity_needs string yes Indicates the client liquidity needs or preference for cash accessibility. Value must be obtained from the Master Data API with data_type = LIQUIDITY_NEEDS.
annual_income string yes Annual income. Value must be obtained from the Master Data API with data_type = ANNUAL_INCOME.
total_net_worth string yes Client's total net worth (USD). Value must be obtained from the Master Data API with data_type = TOTAL_NET_WORTH.
liquid_net_worth string yes Liquidity assets. Value must be obtained from the Master Data API with data_type = LIQUID_NET_WORTH.

Nested — disclosure_info:

Field Type Required Description
is_politically_exposed boolean yes Indicates whether the account holder or any close associate or immediate family member is a Politically Exposed Person (PEP). If true, the politically_exposed_info object must be provided with detailed disclosure information. Please note: PEP accounts are currently not supported. Any request submitted with is_politically_exposed = true will be rejected and a failure response will be returned.
politically_exposed_info object Politically Exposed Info
is_cftc_or_nfa_registered boolean yes Indicates whether the applicant is registered with the CFTC or is a member of the NFA.
is_company_control_person boolean yes Indicates whether the applicant is a control person of a public company. If true, public_company_infos must be provided with details of the companies controlled.
public_company_infos array List of public companies controlled by the applicant. Each item must include the company stock symbol.

Nested — politically_exposed_info:

Field Type Required Description
pep_organization string Name of the related political organization.
immediate_family array Name of family members, including former spouses.

Nested — public_company_infos:

Field Type Required Description
symbol string yes Stock symbol of the public company controlled by the applicant, as listed on the exchange.

Nested — tax_info:

Field Type Required Description
tax_type string yes Tax Type. Value must be obtained from the Master Data API with data_type = TAX_TYPE.
tax_id string yes Tax ID

Nested — w8ben_info:

Field Type Required Description
foreign_tax_id string yes Foreign tax ID (FTIN) issued by non-U.S. authority (W-8BEN Line 6)
treaty_country string yes Tax treaty country for reduced withholding. The value must be a valid ISO 3166-1 alpha-3 country code in uppercase format (3-letter code).
sign_date string yes Date when the W-8BEN form was signed by the customer. The date should be in ISO 8601 format (YYYY-MM-DD).

Nested — additional_infos:

Field Type Required Description
status string yes Application Status — one of: SUBMITTED, PENDING_REVIEW, ACTION_REQUIRED, REJECTED, APPROVED
form_code string yes Form code
rep_code string yes Rep code
account_id string Unique account identifier. Populated only when the status is APPROVED; otherwise, this field is empty.
account_number string Account number. Populated only when the status is APPROVED; otherwise, this field is empty.
is_exchange_or_finra_affiliated boolean yes Indicates whether the applicant is employed by, or directly associated with, an exchange or a FINRA member firm. If true, exchange_affiliations details must be provided.
exchange_or_finra_affiliations array List of the applicant affiliations with exchanges or FINRA member firms. Required if is_exchange_or_finra_affiliated is true.
investment_experience string Investment experience. Value must be obtained from the Master Data API with data_type = INVESTMENT_EXPERIENCE.
investment_knowledge string Investment knowledge. Value must be obtained from the Master Data API with data_type = INVESTMENT_KNOWLEDGE. Note: For Event Contract , the value of this field should be obtained from the Master Data API with data_type = INVESTMENT_KNOWLEDGE_V2 instead.
investment_objective string Investment objective. Value must be obtained from the Master Data API with data_type = INVESTMENT_OBJECTIVE.
trade_per_year string Trade per year. Value must be obtained from the Master Data API with data_type = TRADE_PER_YEAR.
time_horizon string Time horizon. Value must be obtained from the Master Data API with data_type = TIME_HORIZON.

Nested — exchange_or_finra_affiliations:

Field Type Required Description
company_name string yes Company name
country string yes Country of the affiliated exchange or FINRA firm. The value must be a valid ISO 3166-1 alpha-3 country code in uppercase format (3-letter code).
state string yes State or province of the affiliated exchange or FINRA firm. The value must follow the ISO 3166-2 subdivision standard and include the country code prefix. Format: -
city string yes City of the affiliated exchange or FINRA firm.
street_address string yes Street address
postal_code string yes Postal code

Nested — document_attachments:

Field Type Required Description
doc_type string yes Document Type
document_id string yes Document ID

Errors401 unauthorized, 417 business error, 500 server error. See Errors.

List Forms

GET /broker/forms/list

Retrieves a list of available form codes.

SDK brokerfd.ListAccountForms
Reference get-form-list.md

Response 200

Array of string.

Errors401 unauthorized, 417 business error, 500 server error. See Errors.

List Form Versions

GET /broker/forms/versions/list

Retrieves a list of available versions for the specified form code.

SDK
Reference get-form-version-list.md

Request — parameters

Name In Type Required Description
form_code query String yes Unique identifier of the form, typically used to distinguish different form definitions.

Response 200

Array of string.

Errors401 unauthorized, 417 business error, 500 server error. See Errors.

Form Content

GET /broker/forms/get

Retrieves the JSON schema for the specified form code and version.

SDK
Reference get-form-content.md

Request — parameters

Name In Type Required Description
form_code query String yes Unique identifier of the form, typically used to distinguish different form definitions.
version query String yes Version number of the form definition

Response 200

Field Type Required Description
required array List of required property names for the current schema object.
type string Enumeration of supported JSON Schema property types used for form definition and validation. — one of: string, number, boolean, object, array
enum_values string Enumerated values allowed for this property. Applies when the schema defines a fixed set of permitted values.
format string Format keyword that further constrains the property type (e.g., date, date-time).
description string Description of the property, explaining its purpose or usage within the schema.
example string Representative example value to illustrate the expected input format.
min_items integer Minimum number of items allowed in the array. Applicable only when the property type is array.
max_items integer Maximum number of items allowed in the array. Applicable only when the property type is array.
max_length integer Maximum length allowed for string-type properties.
form_code string yes Unique identifier of the form, typically used to distinguish different form definitions.
version string yes Version number of the form definition, used for compatibility and evolutionary control.

Errors401 unauthorized, 417 business error, 500 server error. See Errors.

Upload Document

POST /broker/documents/upload

Uploads a document file. Supports multipart/form-data requests.Supported file types: image/jpeg, image/png, application/pdf. Maximum file size: 5MB.

SDK brokerfd.UploadDocument
Reference document-upload.md

Response 200

Field Type Required Description
document_id string Unique identifier of the uploaded document.

Errors401 unauthorized, 417 business error, 500 server error. See Errors.

Download Document

GET /broker/documents/download

Downloads a document by document_id.

SDK brokerfd.DownloadDocument
Reference document-download.md

Request — parameters

Name In Type Required Description
document_id query string yes Unique identifier of the uploaded document.

Response 200

Field Type Required Description
doc_name string Original name of the document file.
doc_type string Enumeration of supported document types used for identity verification, profile updates, and compliance checks. — one of: FACE_IMG, ID_DOCUMENT, ADDRESS_PROOF, OTHER
mime_type string Enumeration of supported file MIME types for document upload and download. — one of: image/jpeg, image/png, application/pdf
doc_content_base64 string Base64-encoded content of the document file.

Errors401 unauthorized, 417 business error, 500 server error. See Errors.

Assets Summary

GET /broker/assets/summaries/get

Retrieves summary-level asset information for a specified account, including available cash, position market value, and total asset value.

SDK brokerfd.GetAccountsSummary / GetFDAssetsSummary
Reference summary.md

Request — parameters

Name In Type Required Description
account_id query String yes Account identifier.

Response 200

Field Type Required Description
balance object yes Account Balance
positions array yes Account Position

Nested — balance:

Field Type Required Description
total_asset_currency string yes Currency — one of: USD
total_cash_balance string yes Cash Balance,
total_market_value string Total holding market value
total_unrealized_profit_loss string The unrealized profit or loss of open positions for the specified account.
total_net_liquidation_value string Net Account Value,
total_day_profit_loss string Day's P&L Not returned at the Omnibus master account level.
maintenance_margin string Maintenance Margin(Margin Account) Only returned for margin accounts.
open_margin_calls string Open Margin Calls: Only returned for margin accounts. RM: An RM call is triggered when an account's margin equity falls below the maintenance requirement, often due to a decline in the value of the account's positions or an increase in margin requirements for the holdings. RT: A Reg T call occurs when there is not enough equity in an account to cover the 50% initial margin requirement. This can happen due to open positions depreciating or from holding positions overnight that were opened with day trade buying power. EM: An EM call is triggered when a flagged Pattern Day Trader (PDT) account closes the prior business day below the $25,000 minimum Net Account Value (NAV) requirement. Only positions held in the margin account will count toward this requirement. Crypto, futures, event contracts, and any assets held outside the margin account are excluded from the calculation. DT: A Day Trade (DT) Call is issued when you exceed your available Day Trading Buying Power (DTBP) and then place a day trade. A DT call may also occur if you execute a day trade while an Equity Maintenance (EM) call is still active on your account. Exceeding day trade buying power most commonly results from trading on intraday profits. For more details on how buying power is replenished, please refer to our Margin Buying Power page. — one of: EM, RM, RT, DT
account_currency_assets array yes Currency assets Details

Nested — account_currency_assets:

Field Type Required Description
currency string yes Currency — one of: USD
cash_balance string yes Cash Balance.
settled_cash string Settled Cash, Not returned for event contract accounts. Not returned for margin accounts.
unsettled_cash string Unsettled Cash, Not returned for event contract accounts. Not returned for margin accounts.
market_value string holding market value
held_amount string In-transit funds Not returned for event contract accounts.
buying_power string Buying Power Not returned for margin accounts.
day_buying_power string Day-Trade Buying Power(Margin Account) Only returned for margin accounts.
overnight_buying_power string Overnight BP(Margin Account) Only returned for margin accounts.
night_trading_buying_power string Night Trading Buying Power Not returned for event contract accounts.
day_profit_loss string Day's P&L Not returned at the Omnibus master account level.
unrealized_profit_loss string Open P&L
available_withdrawal string The amount of funds currently available for withdrawal.
interests_unpaid string Interest to be paid Not returned for event contract accounts.
net_liquidation_value string Net Account Value

Nested — positions:

Field Type Required Description
position_id string yes Position ID
currency string yes Currency — one of: USD
quantity string yes Quantity of the position
symbol string yes Trading symbol of the financial instrument.Represents the unique identifier of the security in the specified market.
instrument_type string yes Type of financial instrument associated with the request. — one of: EQUITY, EVENT
last_price string yes Last Price
cost_price string yes Cost Basis
unrealized_profit_loss string yes Open P&L
event_outcome string Event outcome decision, only applicable to event orders. — one of: yes, no

Errors401 unauthorized, 417 business error, 500 server error. See Errors.

Assets Detail

GET /broker/assets/balances/get

Retrieves the balance information for a specified account.

SDK brokerfd.GetFDAssetsDetail
Reference account-balance.md

Request — parameters

Name In Type Required Description
account_id query String yes Account identifier.

Response 200

Field Type Required Description
total_asset_currency string yes Currency — one of: USD
total_cash_balance string yes Cash Balance,
total_market_value string Total holding market value
total_unrealized_profit_loss string The unrealized profit or loss of open positions for the specified account.
total_net_liquidation_value string Net Account Value,
total_day_profit_loss string Day's P&L Not returned at the Omnibus master account level.
maintenance_margin string Maintenance Margin(Margin Account) Only returned for margin accounts.
open_margin_calls string Open Margin Calls: Only returned for margin accounts. RM: An RM call is triggered when an account's margin equity falls below the maintenance requirement, often due to a decline in the value of the account's positions or an increase in margin requirements for the holdings. RT: A Reg T call occurs when there is not enough equity in an account to cover the 50% initial margin requirement. This can happen due to open positions depreciating or from holding positions overnight that were opened with day trade buying power. EM: An EM call is triggered when a flagged Pattern Day Trader (PDT) account closes the prior business day below the $25,000 minimum Net Account Value (NAV) requirement. Only positions held in the margin account will count toward this requirement. Crypto, futures, event contracts, and any assets held outside the margin account are excluded from the calculation. DT: A Day Trade (DT) Call is issued when you exceed your available Day Trading Buying Power (DTBP) and then place a day trade. A DT call may also occur if you execute a day trade while an Equity Maintenance (EM) call is still active on your account. Exceeding day trade buying power most commonly results from trading on intraday profits. For more details on how buying power is replenished, please refer to our Margin Buying Power page. — one of: EM, RM, RT, DT
account_currency_assets array yes Currency assets Details

Nested — account_currency_assets:

Field Type Required Description
currency string yes Currency — one of: USD
cash_balance string yes Cash Balance.
settled_cash string Settled Cash, Not returned for event contract accounts. Not returned for margin accounts.
unsettled_cash string Unsettled Cash, Not returned for event contract accounts. Not returned for margin accounts.
market_value string holding market value
held_amount string In-transit funds Not returned for event contract accounts.
buying_power string Buying Power Not returned for margin accounts.
day_buying_power string Day-Trade Buying Power(Margin Account) Only returned for margin accounts.
overnight_buying_power string Overnight BP(Margin Account) Only returned for margin accounts.
night_trading_buying_power string Night Trading Buying Power Not returned for event contract accounts.
day_profit_loss string Day's P&L Not returned at the Omnibus master account level.
unrealized_profit_loss string Open P&L
available_withdrawal string The amount of funds currently available for withdrawal.
interests_unpaid string Interest to be paid Not returned for event contract accounts.
net_liquidation_value string Net Account Value

Errors401 unauthorized, 417 business error, 500 server error. See Errors.

Positions

GET /broker/assets/positions/list

Retrieves positions according to the account ID.

SDK brokerfd.GetFDPositions / GetPositions
Reference account-position.md

Request — parameters

Name In Type Required Description
account_id query String yes Account identifier

Response 200

Array of objects:

Field Type Required Description
position_id string yes Position ID
currency string yes Currency — one of: USD
quantity string yes Quantity of the position
symbol string yes Trading symbol of the financial instrument.Represents the unique identifier of the security in the specified market.
instrument_type string yes Type of financial instrument associated with the request. — one of: EQUITY, EVENT
last_price string yes Last Price
cost_price string yes Cost Basis
unrealized_profit_loss string yes Open P&L
event_outcome string Event outcome decision, only applicable to event orders. — one of: yes, no

Errors401 unauthorized, 417 business error, 500 server error. See Errors.

Cash Activities By Type

GET /broker/activities/cash-activities/list

Retrieves account transaction activities records with details.

SDK brokerfd.GetFDActivities
Reference broker-cash-activity-by-type.md

Request — parameters

Name In Type Required Description
account_id query String yes Provide the target account id
activity_types query string Account activity types — one of: TRADE, DEPOSIT, WITHDRAW, FEES, JOURNAL, TRANSFER, INTERESTS, EC_STATEMENT
start_time query String Activity query start time, time in ISO8601 format (UTC). Format: yyyy-MM-dd'T'HH:mm:ss.SSS'Z'
end_time query String If not provided, the default query is the last 7 days. Activity query end time, time in ISO8601 format (UTC). Format: yyyy-MM-dd'T'HH:mm:ss.SSS'Z'
pagination_key query String Pagination key from previous response for next page.

Response 200

Field Type Required Description
data array Result data list
pagination_key string Pagination key for next page. If absent, indicates this is the last page.

Nested — data:

Field Type Required Description
id string yes Unique ID
account_id string yes Account ID
activity_type string yes Activity Type | Code | Description | |---------------|---------------------------------| |TRADE | Trade Activity Type | |DEPOSIT | Deposit Activity Type | |WITHDRAW | Withdraw Activity Type | |FEES | Fees Activity Type | |JOURNAL | Journal Activity Type | |TRANSFER | Transfer Activity Type | |INTERESTS | Interests Activity Type | |EC_STATEMENT | EC Statement Activity Type | |OTHER | Other Activity Type | — one of: TRADE, DEPOSIT, WITHDRAW, FEES, JOURNAL, TRANSFER, INTERESTS, EC_STATEMENT
activity_sub_type string yes Activity Type and Sub Type Mapping. | ActivityType | ActivitySubType | |----------------|-------------------------------------| | TRADE | BTO | | TRADE | STC | | DEPOSIT | ACH | | DEPOSIT | WIRE | | DEPOSIT | WIRE_REVERSE | | DEPOSIT | ACH_REVERSE | | WITHDRAW | ACH | | WITHDRAW | WIRE | | WITHDRAW | ACH_REVERSE | | WITHDRAW | WIRE_REVERSE | | FEES | WIRE_DEPOSIT | | FEES | WIRE_WITHDRAW | | FEES | ACH_REVERSAL | | FEES | WIRE_REVERSAL | | FEES | SERVICE_FEE | | FEES | ADR | | FEES | TRANSFER_ACATS | | FEES | PAPER_CONFIRM_FEE | | FEES | PAPER_STATEMENT_FEE | | FEES | WRITE_OFF | | FEES | PROCESSING_FEE | | FEES | COMMISSION | | FEES | TRANSFER_FOP | | FEES | MONTH_END_REPORT_CHARGES | | FEES | FINANCIAL_TRANSACTION_TAX | | FEES | SETTLEMENT_FEE | | FEES | TRANSACTION_FEE | | JOURNAL | CASH_JOURNAL | | JOURNAL | CREDIT | | TRANSFER | INTERNAL_THIRD_PARTY_TRANSFER | | INTERESTS | CREDIT_CASH | | EC_STATEMENT | EC_EXPIRATION | | EC_STATEMENT | EC_PAYOUT | | OTHER | OTHER | — one of: BTO, STC, WIRE, ACH, WIRE_REVERSE, ACH_REVERSE, WIRE_DEPOSIT, WIRE_WITHDRAW, ACH_REVERSAL, WIRE_REVERSAL, CASH_JOURNAL, INTERNAL_THIRD_PARTY_TRANSFER, CREDIT, CREDIT_CASH, EC_EXPIRATION, EC_PAYOUT, OTHER
currency string yes Currency — one of: USD
market string Market Code US - US Market — one of: US
symbol string Activity Symbol
trade_date string yes Accounting date of the transaction (trade date), format: yyyy-MM-dd
net_amount string yes Net change amount of the transaction (positive for credit, negative for debit)
biz_time string yes Business event time when the transaction occurred

Errors401 unauthorized, 417 business error, 500 server error. See Errors.

Create Bank Relationship

POST /broker/funding/bank-relationships/create

Creates a Bank Relationship for an Account.

SDK brokerfd.AddFDBankAccount
Reference create-bank-relationship.md

Request body

Field Type Required Description
client_request_id string yes Client Request ID, unique for each request. Maximum length is 32 characters. Allowed characters: letters (A–Z, a–z), digits (0–9), hyphen (-), underscore (_).
account_id string yes Account identifier.
bank_name string Required if bank_code_type = BIC, Name of recipient bank
bank_code string yes Alphanumeric ABA RTN (Routing Number)
bank_code_type string yes ABA (US based bank accounts)、BIC — one of: ABA, BIC
bank_account_name string yes Name of the bank account holder, as registered with the bank
bank_account_number string yes Bank account number.
country string Required if bank_code_type = BIC, The value must be a valid ISO 3166-1 alpha-3 country code in uppercase format (3-letter code).
state_province string Required if bank_code_type = BIC
postal_code string Required if bank_code_type = BIC
city string Required if bank_code_type = BIC
intermediary_bank_details object Intermediary bank details.

Nested — intermediary_bank_details:

Field Type Required Description
intermediary_bank_name string This is an optional field;it is only required if an intermediary bank is involved in the transfer. Intermediary Bank Name
intermediary_bank_code string This is an optional field;it is only required if an intermediary bank is involved in the transfer. Alphanumeric ABA RTN (Routing Number)
intermediary_bank_account_number string This is an optional field;it is only required if an intermediary bank is involved in the transfer. Bank account number.
intermediary_bank_address string This is an optional field;it is only required if an intermediary bank is involved in the transfer. Bank Address.

Response 200

Field Type Required Description
client_request_id string yes Client Request ID, unique for each request. Maximum length is 32 characters. Allowed characters: letters (A–Z, a–z), digits (0–9), hyphen (-), underscore (_).
bank_relationship_id string yes Relationship ID
bank_code string yes Alphanumeric ABA RTN (Routing Number)
bank_name string Bank name
bank_account_name string yes Name of the bank account holder, as registered with the bank
bank_account_number string yes Bank account number
bank_code_type string yes ABA (US based bank accounts)、BIC — one of: ABA, BIC
country string Only for Non-US based bank accounts, The value must be a valid ISO 3166-1 alpha-3 country code in uppercase format (3-letter code).
state_province string Only for Non-US based bank accounts
postal_code string Only for Non-US based bank accounts
city string Only for Non-US based bank accounts
status string yes Status — one of: APPROVED
intermediary_bank_details object Intermediary bank details.
create_time string yes UTC time, format: yyyy-MM-dd'T'HH:mm:ss.SSSZ.
update_time string yes UTC time, format: yyyy-MM-dd'T'HH:mm:ss.SSSZ.

Nested — intermediary_bank_details:

Field Type Required Description
intermediary_bank_name string This is an optional field;it is only required if an intermediary bank is involved in the transfer. Intermediary Bank Name
intermediary_bank_code string This is an optional field;it is only required if an intermediary bank is involved in the transfer. Alphanumeric ABA RTN (Routing Number)
intermediary_bank_account_number string This is an optional field;it is only required if an intermediary bank is involved in the transfer. Bank account number.
intermediary_bank_address string This is an optional field;it is only required if an intermediary bank is involved in the transfer. Bank Address.

Errors401 unauthorized, 417 business error, 500 server error. See Errors.

Delete Bank Relationship

POST /broker/funding/bank-relationships/delete

Deletes a Bank Relationship for an Account.

SDK brokerfd.RemoveFDBankAccount
Reference delete-bank-relationship.md

Request body

Field Type Required Description
bank_relationship_id string yes Bank relationship ID. The bank_relationship_id created from the Create Bank Relationship interface
account_id string yes Account identifier.

Response 200

Field Type Required Description
bank_relationship_id string yes Bank relationship ID. The bank_relationship_id created from the Create Bank Relationship interface
account_id string yes Account identifier.

Errors401 unauthorized, 417 business error, 500 server error. See Errors.

List Bank Accounts

GET /broker/funding/bank-relationships/list

Retrieves Bank Relationships for an Account.

SDK brokerfd.ListFDBankAccounts
Reference list-linked-bank-accounts.md

Request — parameters

Name In Type Required Description
account_id query String yes Account identifier

Response 200

Array of objects:

Field Type Required Description
bank_relationship_id string yes Relationship ID
bank_code string yes Alphanumeric ABA RTN (Routing Number)
bank_name string Bank name
bank_account_name string yes Name of the bank account holder, as registered with the bank
bank_account_number string yes Bank account number
bank_code_type string yes ABA (US based bank accounts)、BIC — one of: ABA, BIC
country string Only for Non-US based bank accounts, The value must be a valid ISO 3166-1 alpha-3 country code in uppercase format (3-letter code).
state_province string Only for Non-US based bank accounts
postal_code string Only for Non-US based bank accounts
city string Only for Non-US based bank accounts
status string yes Status — one of: APPROVED
intermediary_bank_details object Intermediary bank details.
create_time string yes UTC time, format: yyyy-MM-dd'T'HH:mm:ss.SSSZ.
update_time string yes UTC time, format: yyyy-MM-dd'T'HH:mm:ss.SSSZ.

Nested — intermediary_bank_details:

Field Type Required Description
intermediary_bank_name string This is an optional field;it is only required if an intermediary bank is involved in the transfer. Intermediary Bank Name
intermediary_bank_code string This is an optional field;it is only required if an intermediary bank is involved in the transfer. Alphanumeric ABA RTN (Routing Number)
intermediary_bank_account_number string This is an optional field;it is only required if an intermediary bank is involved in the transfer. Bank account number.
intermediary_bank_address string This is an optional field;it is only required if an intermediary bank is involved in the transfer. Bank Address.

Errors401 unauthorized, 417 business error, 500 server error. See Errors.

Create ACH Relationship

POST /broker/funding/ach-relationships/create

Creates an ACH Relationship for an Account. Only one ACH relationship is allowed per account, and creating a new one automatically replaces the existing one.

SDK brokerfd.AddFDAchAccount
Reference create-ach-relationship.md

Request body

Field Type Required Description
client_request_id string yes Client Request ID, unique for each request. Maximum length is 32 characters. Allowed characters: letters (A–Z, a–z), digits (0–9), hyphen (-), underscore (_).
account_id string yes Account identifier.
token_type string yes Token Type only support 'Plaid' — one of: Plaid
processor_token string yes Using Plaid, you can specify a Plaid processor token here.

Response 200

Field Type Required Description
client_request_id string yes Client Request ID, unique for each request. Maximum length is 32 characters. Allowed characters: letters (A–Z, a–z), digits (0–9), hyphen (-), underscore (_).
ach_relationship_id string yes Relationship ID. The ach_relationship_id created from the Create ACH Relationship interface.
account_id string yes Account identifier.
account_owner_name string yes Legal full name of the bank account owner.
bank_account_type string yes Must be CHECKING or SAVINGS — one of: CHECKING, SAVINGS
bank_account_number string yes Bank account number
bank_routing_number string yes ABA routing transit number (RTN), Alphanumeric identifier for the financial institution, used for ACH transaction routing.
status string yes Status — one of: APPROVED
create_time string yes UTC time, format: yyyy-MM-dd'T'HH:mm:ss.SSSZ.
update_time string yes UTC time, format: yyyy-MM-dd'T'HH:mm:ss.SSSZ.

Errors401 unauthorized, 417 business error, 500 server error. See Errors.

Delete ACH Relationship

POST /broker/funding/ach-relationships/delete

Deletes an ACH Relationship for an Account.

SDK brokerfd.RemoveFDAchAccount
Reference delete-ach-relationship.md

Request body

Field Type Required Description
ach_relationship_id string yes ACH relationship ID
account_id string yes Account identifier.

Response 200

Field Type Required Description
ach_relationship_id string yes Relationship ID. The ach_relationship_id created from the Create ACH Relationship interface.
account_id string yes Account identifier.

Errors401 unauthorized, 417 business error, 500 server error. See Errors.

List ACH Relationships

GET /broker/funding/ach-relationships/list

Retrieves ACH Relationships for an Account.

SDK brokerfd.ListFDAchAccounts
Reference list-ach-relationships.md

Request — parameters

Name In Type Required Description
account_id query String yes Account identifier.

Response 200

Array of objects:

Field Type Required Description
ach_relationship_id string yes Relationship ID. The ach_relationship_id created from the Create ACH Relationship interface.
account_id string yes Account identifier.
account_owner_name string yes Legal full name of the bank account owner.
bank_account_type string yes Must be CHECKING or SAVINGS — one of: CHECKING, SAVINGS
bank_account_number string yes Bank account number
bank_routing_number string yes ABA routing transit number (RTN), Alphanumeric identifier for the financial institution, used for ACH transaction routing.
status string yes Status — one of: APPROVED
create_time string yes UTC time, format: yyyy-MM-dd'T'HH:mm:ss.SSSZ.
update_time string yes UTC time, format: yyyy-MM-dd'T'HH:mm:ss.SSSZ.

Errors401 unauthorized, 417 business error, 500 server error. See Errors.

Create Transfer

POST /broker/funding/transfers/create

Initiates a funding transfer to an account. Related Event Notifications: Please refer to the Event Push API documentation: Funding Transfer Events

SDK brokerfd.InitiateFDTransfer
Reference create-transfer.md

Request body

Field Type Required Description
client_request_id string yes Client Request ID, unique for each request. Maximum length is 32 characters. Allowed characters: letters (A–Z, a–z), digits (0–9), hyphen (-), underscore (_).
account_id string yes Account ID
transfer_type string yes Transfer type,current support WIRE or ACH — one of: ACH, WIRE
ach_relationship_id string Required if transfer_type = ACH
bank_relationship_id string Required if transfer_type = WIRE
amount string yes Transfer amount
currency string yes Currency code
direction string yes Transfer direction — one of: DEPOSIT, WITHDRAWAL

Response 200

Field Type Required Description
client_request_id string yes Client Request ID, unique for each request. Maximum length is 32 characters. Allowed characters: letters (A–Z, a–z), digits (0–9), hyphen (-), underscore (_).
account_id string yes Account ID
transfer_id string yes Transfer id generated by the system.
transfer_type string yes transfer type — one of: ACH, WIRE
ach_relationship_id string Required if transfer_type is ACH
bank_relationship_id string Required if transfer_type is WIRE.
amount string yes Transfer amount
currency string yes Currency — one of: USD
direction string yes Transfer direction — one of: DEPOSIT, WITHDRAWAL
status string yes Transfer status — one of: SUBMITTED, CANCELED, REJECTED, COMPLETED, RETURNED
reason string reason of the status
create_time string yes UTC time, format: yyyy-MM-dd'T'HH:mm:ss.SSSZ.
update_time string yes UTC time, format: yyyy-MM-dd'T'HH:mm:ss.SSSZ.
fee string Fee amount to be collected. Only applies when type is WIRE

Errors401 unauthorized, 417 business error, 500 server error. See Errors.

Transfer List

GET /broker/funding/transfers/list

Retrieves account fund transfers by specified criteria. Transfer records are sorted by client_request_id. If the client_request_id values in the request are provided in order, the response will preserve the same ordering.

SDK brokerfd.ListFDTransfers
Reference transfer-list.md

Request — parameters

Name In Type Required Description
account_id query String yes Account identifier
start_time query String The start datetime to include in the date range, formatted as yyyy-MM-dd'T'HH:mm:ss.SSSZ. Both start_time and end_time should be provided, end_time should be greater than start_time. By default, records from the last 7 days will be queried if no time range is specified.
end_time query String The end datetime to include in the date range, formatted as yyyy-MM-dd'T'HH:mm:ss.SSSZ. Both start_time and end_time should be provided, end_date should be greater than start_time. By default, records from the last 7 days will be queried if no time range is specified.
transfer_types query string Transfer types — one of: ACH, WIRE
directions query string Transfer directions — one of: DEPOSIT, WITHDRAWAL
statuses query string Transfer statuses — one of: SUBMITTED, CANCELED, REJECTED, COMPLETED, RETURNED
pagination_key query String Pagination key from previous response for next page.

Response 200

Field Type Required Description
data array Result data list
pagination_key string Pagination key for next page. If absent, indicates this is the last page.

Nested — data:

Field Type Required Description
client_request_id string yes Client Request ID, unique for each request. Maximum length is 32 characters. Allowed characters: letters (A–Z, a–z), digits (0–9), hyphen (-), underscore (_).
account_id string yes Account ID
transfer_id string yes Transfer id generated by the system.
transfer_type string yes transfer type — one of: ACH, WIRE
ach_relationship_id string Required if transfer_type is ACH
bank_relationship_id string Required if transfer_type is WIRE.
amount string yes Transfer amount
currency string yes Currency — one of: USD
direction string yes Transfer direction — one of: DEPOSIT, WITHDRAWAL
status string yes Transfer status — one of: SUBMITTED, CANCELED, REJECTED, COMPLETED, RETURNED
reason string reason of the status
create_time string yes UTC time, format: yyyy-MM-dd'T'HH:mm:ss.SSSZ.
update_time string yes UTC time, format: yyyy-MM-dd'T'HH:mm:ss.SSSZ.
fee string Fee amount to be collected. Only applies when type is WIRE

Errors401 unauthorized, 417 business error, 500 server error. See Errors.

Transfer Detail

GET /broker/funding/transfers/get

Retrieves Account Fund Transfer Details.

SDK brokerfd.GetFDTransferDetail
Reference transfer-detail.md

Request — parameters

Name In Type Required Description
client_request_id query String yes Client Request ID, unique for each request. Maximum length is 32 characters. Allowed characters: letters (A–Z, a–z), digits (0–9), hyphen (-), underscore (_).
account_id query String yes Account identifier

Response 200

Field Type Required Description
client_request_id string yes Client Request ID, unique for each request. Maximum length is 32 characters. Allowed characters: letters (A–Z, a–z), digits (0–9), hyphen (-), underscore (_).
account_id string yes Account ID
transfer_id string yes Transfer id generated by the system.
transfer_type string yes transfer type — one of: ACH, WIRE
ach_relationship_id string Required if transfer_type is ACH
bank_relationship_id string Required if transfer_type is WIRE.
amount string yes Transfer amount
currency string yes Currency — one of: USD
direction string yes Transfer direction — one of: DEPOSIT, WITHDRAWAL
status string yes Transfer status — one of: SUBMITTED, CANCELED, REJECTED, COMPLETED, RETURNED
reason string reason of the status
create_time string yes UTC time, format: yyyy-MM-dd'T'HH:mm:ss.SSSZ.
update_time string yes UTC time, format: yyyy-MM-dd'T'HH:mm:ss.SSSZ.
fee string Fee amount to be collected. Only applies when type is WIRE

Errors401 unauthorized, 417 business error, 500 server error. See Errors.

Cancel Transfer

POST /broker/funding/transfers/cancel

Cancels a fund transfer.

SDK
Reference cancel-transfer.md

Request body

Field Type Required Description
client_request_id string yes Client Request ID, unique for each request. Maximum length is 32 characters. Allowed characters: letters (A–Z, a–z), digits (0–9), hyphen (-), underscore (_).
account_id string yes Account ID

Response 200

Field Type Required Description
client_request_id string yes Client Request ID, unique for each request. Maximum length is 32 characters. Allowed characters: letters (A–Z, a–z), digits (0–9), hyphen (-), underscore (_).
transfer_id string yes tranfer_id
account_id string yes Account identifier.

Errors401 unauthorized, 417 business error, 500 server error. See Errors.

Create Instant Funding

POST /broker/funding/instant-funding/create

Initiates an immediate deposit request. The system instantly processes and credits the funds to the target account, making them available for trading immediately. No settlement institution is involved in this instant funding process. Related Event Notifications: Please refer to the Event Push API documentation: Instant Funding Events

SDK brokerfd.CreateFDInstantFunding
Reference broker-funding-instant-create.md

Request body

Field Type Required Description
client_request_id string yes Client Request ID, unique for each request. Maximum length is 32 characters. Allowed characters: letters (A–Z, a–z), digits (0–9), hyphen (-), underscore (_).
account_id string yes Account ID
type string yes Transfer direction — one of: DEPOSIT, WITHDRAWAL
amount string yes Amount.
currency string yes Currency — one of: USD

Response 200

Field Type Required Description
client_request_id string yes Client Request ID, unique for each request.
account_id string yes Account ID
type string yes Transfer direction — one of: DEPOSIT, WITHDRAWAL
instant_funding_id string yes Request id generated by the system.
amount string yes Amount.
currency string yes Currency — one of: USD
status string yes Request status — one of: SUBMITTED, CANCELED, REJECTED, FAILED, COMPLETED
reason string Reason. If the terminal state is not “COMPLETED”, return the reason.
create_time string yes UTC time, format: yyyy-MM-dd'T'HH:mm:ss.SSSZ.
update_time string yes UTC time, format: yyyy-MM-dd'T'HH:mm:ss.SSSZ.

Errors401 unauthorized, 417 business error, 500 server error. See Errors.

Instant Funding Detail

GET /broker/funding/instant-funding/get

Retrieves instant funding record details.

SDK brokerfd.GetFDInstantFundingDetail
Reference broker-funding-instant-query.md

Request — parameters

Name In Type Required Description
client_request_id query String yes Client Request ID, unique for each request. Maximum length is 32 characters. Allowed characters: letters (A–Z, a–z), digits (0–9), hyphen (-), underscore (_).
account_id query String yes Account identifier

Response 200

Field Type Required Description
client_request_id string yes Client Request ID, unique for each request.
account_id string yes Account ID
type string yes Transfer direction — one of: DEPOSIT, WITHDRAWAL
instant_funding_id string yes Request id generated by the system.
amount string yes Amount.
currency string yes Currency — one of: USD
status string yes Request status — one of: SUBMITTED, CANCELED, REJECTED, FAILED, COMPLETED
reason string Reason. If the terminal state is not “COMPLETED”, return the reason.
create_time string yes UTC time, format: yyyy-MM-dd'T'HH:mm:ss.SSSZ.
update_time string yes UTC time, format: yyyy-MM-dd'T'HH:mm:ss.SSSZ.

Errors401 unauthorized, 417 business error, 500 server error. See Errors.

Create Fee

POST /broker/fees/create

Initial Fee Deduction debits a specified account and credits an equal amount to a contra account, without involving any settlement institutions.Use this API to deduct various fees (such as ADR, SERVICE_FEE, etc.) from a specified account. Related Event Notifications: Please refer to the Event Push API documentation: Fee Deduction Events

SDK
Reference broker-funding-fee-create.md

Request body

Field Type Required Description
client_request_id string yes Client Request ID, unique for each request. Maximum length is 32 characters. Allowed characters: letters (A–Z, a–z), digits (0–9), hyphen (-), underscore (_).
account string yes Account id.
contra_account string yes Firm Account
type string yes Fee Type — one of: SERVICE_FEE, ADR, TRANSFER_ACATS, PAPER_CONFIRM_FEE, PAPER_STATEMENT_FEE, WRITE_OFF, PROCESSING_FEE, COMMISSION, TRANSFER_FOP, MONTH_END_REPORT_CHARGES, FTT, SETTLEMENT_FEES, TRANSACTION_FEES
amount string yes Amount.
currency string yes Currency — one of: USD

Response 200

Field Type Required Description
client_request_id string yes Client Request ID, unique for each request. Maximum length is 32 characters. Allowed characters: letters (A–Z, a–z), digits (0–9), hyphen (-), underscore (_).
account string yes Account id.
contra_account string yes Firm Account
type string yes Fee Type — one of: SERVICE_FEE, ADR, TRANSFER_ACATS, PAPER_CONFIRM_FEE, PAPER_STATEMENT_FEE, WRITE_OFF, PROCESSING_FEE, COMMISSION, TRANSFER_FOP, MONTH_END_REPORT_CHARGES, FTT, SETTLEMENT_FEES, TRANSACTION_FEES
fee_id string yes Request id generated by the system.
amount string yes Amount.
currency string yes Currency — one of: USD
status string yes Request status — one of: SUBMITTED, CANCELED, REJECTED, FAILED, COMPLETED
reason string Reason. If the terminal state is not “COMPLETED”, return the reason.
create_time string yes UTC time, format: yyyy-MM-dd'T'HH:mm:ss.SSSZ.
update_time string yes UTC time, format: yyyy-MM-dd'T'HH:mm:ss.SSSZ.

Errors401 unauthorized, 417 business error, 500 server error. See Errors.

Get Fee

GET /broker/fees/get

Retrieves fee record details..

SDK brokerfd.GetFDTransferFees
Reference broker-funding-fee-query.md

Request — parameters

Name In Type Required Description
client_request_id query String yes Client Request ID, unique for each request. Maximum length is 32 characters. Allowed characters: letters (A–Z, a–z), digits (0–9), hyphen (-), underscore (_).
account_id query String yes Account identifier

Response 200

Field Type Required Description
client_request_id string yes Client Request ID, unique for each request. Maximum length is 32 characters. Allowed characters: letters (A–Z, a–z), digits (0–9), hyphen (-), underscore (_).
account string yes Account id.
contra_account string yes Firm Account
type string yes Fee Type — one of: SERVICE_FEE, ADR, TRANSFER_ACATS, PAPER_CONFIRM_FEE, PAPER_STATEMENT_FEE, WRITE_OFF, PROCESSING_FEE, COMMISSION, TRANSFER_FOP, MONTH_END_REPORT_CHARGES, FTT, SETTLEMENT_FEES, TRANSACTION_FEES
fee_id string yes Request id generated by the system.
amount string yes Amount.
currency string yes Currency — one of: USD
status string yes Request status — one of: SUBMITTED, CANCELED, REJECTED, FAILED, COMPLETED
reason string Reason. If the terminal state is not “COMPLETED”, return the reason.
create_time string yes UTC time, format: yyyy-MM-dd'T'HH:mm:ss.SSSZ.
update_time string yes UTC time, format: yyyy-MM-dd'T'HH:mm:ss.SSSZ.

Errors401 unauthorized, 417 business error, 500 server error. See Errors.

Create Credit

POST /broker/credits/create

Initial Fee Credit credits a specified account and deducts an equal amount from a contra account, without involving any settlement institutions. Use this API to credit funds to a specified account (such as GIFTING). Related Event Notifications: Please refer to the Event Push API documentation: Credit Events

SDK
Reference broker-funding-credit-create.md

Request body

Field Type Required Description
client_request_id string yes Client Request ID, unique for each request. Maximum length is 32 characters. Allowed characters: letters (A–Z, a–z), digits (0–9), hyphen (-), underscore (_).
account string yes Account id.
contra_account string yes Firm Account
type string yes Credit Type — one of: GIFTING
amount string yes Amount.
currency string yes Currency — one of: USD

Response 200

Field Type Required Description
client_request_id string yes Client Request ID, unique for each request. Maximum length is 32 characters. Allowed characters: letters (A–Z, a–z), digits (0–9), hyphen (-), underscore (_).
account string yes Account id.
contra_account string yes Firm Account
type string yes Credit Type — one of: GIFTING
credit_id string yes Request id generated by the system.
amount string yes Amount.
currency string yes Currency — one of: USD
status string yes Request status — one of: SUBMITTED, CANCELED, REJECTED, FAILED, COMPLETED
reason string Reason. If the terminal state is not “COMPLETED”, return the reason.
create_time string yes UTC time, format: yyyy-MM-dd'T'HH:mm:ss.SSSZ.
update_time string yes UTC time, format: yyyy-MM-dd'T'HH:mm:ss.SSSZ.

Errors401 unauthorized, 417 business error, 500 server error. See Errors.

Get Credit

GET /broker/credits/get

Retrieves credit record details.

SDK brokerfd.GetFDCreditInfo
Reference broker-funding-credit-query.md

Request — parameters

Name In Type Required Description
client_request_id query String yes Client Request ID, unique for each request. Maximum length is 32 characters. Allowed characters: letters (A–Z, a–z), digits (0–9), hyphen (-), underscore (_).
account_id query String yes Account identifier

Response 200

Field Type Required Description
client_request_id string yes Client Request ID, unique for each request. Maximum length is 32 characters. Allowed characters: letters (A–Z, a–z), digits (0–9), hyphen (-), underscore (_).
account string yes Account id.
contra_account string yes Firm Account
type string yes Credit Type — one of: GIFTING
credit_id string yes Request id generated by the system.
amount string yes Amount.
currency string yes Currency — one of: USD
status string yes Request status — one of: SUBMITTED, CANCELED, REJECTED, FAILED, COMPLETED
reason string Reason. If the terminal state is not “COMPLETED”, return the reason.
create_time string yes UTC time, format: yyyy-MM-dd'T'HH:mm:ss.SSSZ.
update_time string yes UTC time, format: yyyy-MM-dd'T'HH:mm:ss.SSSZ.

Errors401 unauthorized, 417 business error, 500 server error. See Errors.

List Stock Instruments

GET /broker/instruments/stocks/profiles/list

Retrieves profile information for one or more instruments. Related Event Notifications: Please refer to the Event Push API documentation: Instrument Events

SDK brokerfd.GetFDStockInstruments
Reference list-stock-instruments.md

Request — parameters

Name In Type Required Description
symbols query string List of security symbols, maximum 100 symbols per query.
category query string yes Security type. — one of: US_STOCK
sub_category query string Sub-category of the instrument. Only effective when symbols is not specified. When category = US_STOCK, supported values: COMMON_STOCK, ETF, PREFERRED_STOCK, WARRANT, UNITS, RIGHT. If not specified, returns all sub-categories. — one of: COMMON_STOCK, ETF, PREFERRED_STOCK, WARRANT, UNITS, RIGHT
status query string Tradable status: OC (Tradable), CO (Liquidate only), NT (Non-Tradable) — one of: OC, CO, NT
pagination_key query string Pagination key from previous response for next page

Response 200

Field Type Required Description
data array Result data list
pagination_key string Pagination key for next page. If absent, indicates this is the last page.

Nested — data:

Field Type Required Description
name string Symbol name, e.g. Apple
instrument_id string Unique identifier of the security
exchange_code string Exchange code, e.g. CCC
category string Instrument type, e.g. US_STOCK — one of: US_STOCK
symbol string Symbol of the instrument
status string Tradable status: OC (Tradable), CO (Liquidate only), NT (Non-Tradable) — one of: OC, CO, NT
shortable boolean Instrument is shortable or not
fractionable boolean Instrument is fractionable or not
marginable boolean Instrument is marginable or not
overnight_trading_supported boolean Instrument support overnight trading or not
margin_requirement_long string Margin requirement ratio for long position. 0.5 represents 50%
margin_requirement_short string Margin requirement ratio for short position. 0.5 represents 50%
intraday_margin_long string Intraday margin requirement ratio for long position
intraday_margin_short string Intraday margin requirement ratio for short position
maintenance_margin_long string Maintenance margin requirement ratio for long position
maintenance_margin_short string Maintenance margin requirement ratio for short position
easy_to_borrow boolean Instrument is easy to borrow or not
lot_size string Lot size
currency string currency
sub_category string Sub-category of the instrument. — one of: COMMON_STOCK, ETF, PREFERRED_STOCK, WARRANT, UNITS, RIGHT

Errors401 unauthorized, 417 business error, 500 server error. See Errors.

Event Contract Categories

GET /broker/instruments/event-contracts/categories/list

Retrieves all categories under the Event Contract.

SDK
Reference broker-event-categories-list.md

Response 200

Array of objects:

Field Type Required Description
category_id integer yes Category ID.
category_code string yes Unique identifier code for category.
category_name string yes Category corresponding name.

Errors401 unauthorized, 417 business error, 500 server error. See Errors.

Event Contract Series

GET /broker/instruments/event-contracts/series/list

Retrieves multiple series with specified filters. A series represents a template for recurring events that follow the same format and rules (e.g., “Monthly Jobs Report” ). This endpoint allows you to browse and discover available series templates by category.

SDK
Reference broker-event-series-list.md

Request — parameters

Name In Type Required Description
category query string yes The category which this series belongs to. — one of: ECONOMICS, FINANCIALS, POLITICS, ENTERTAINMENT, SCIENCE_TECHNOLOGY, CLIMATE_WEATHER, TRANSPORTATION, CRYPTO, SPORTS
symbols query string List of series symbols, maximum 100 symbols per query.
pagination_key query string Pagination key from previous response for next page

Response 200

Field Type Required Description
data array Result data list
pagination_key string Pagination key for next page. If absent, indicates this is the last page.

Nested — data:

Field Type Required Description
symbol string Series Symbol
name string Series Name
category string Category Code
frequency string yes frequency, e.g., HOURLY,DAILY,WEEKLY,MONTHLY,ANNUAL,ONE_OFF,CUSTOM.
series_id integer Series ID

Errors401 unauthorized, 417 business error, 500 server error. See Errors.

Event Contract Events

GET /broker/instruments/event-contracts/events/list

Retrieves events under the Event Contract.

SDK
Reference broker-event-events-list.md

Request — parameters

Name In Type Required Description
series_symbol query string yes Symbol that identifies this series.
symbols query string List of events symbols, maximum 100 symbols per query.
status query string The status of the event. — one of: ACTIVE, INACTIVE

Response 200

Array of objects:

Field Type Required Description
symbol string Event symbol
name string Event name
status string status, eg:ACTIVE=event is open for trading; INACTIVE=event is closed or settled, default:ACTIVE
series_id integer Series ID
short_name string Event short name
strike_date string strike date, Only present for sports category events. Represents the settlement date/period of the event.
strike_period string strike period, Only present for sports category events. Represents the settlement date/period of the event.
mutually_exclusive boolean mutually exclusive, true or false

Errors401 unauthorized, 417 business error, 500 server error. See Errors.

Event Contract Instruments

GET /broker/instruments/event-contracts/markets/list

Retrieves profile information for event contract markets based on the series symbol.

SDK brokerfd.GetFDECInstruments
Reference broker-event-market-list.md

Request — parameters

Name In Type Required Description
series_symbol query string yes Symbol that identifies this series.
event_symbol query string Symbol of the event events.
symbols query string List of security symbols, maximum 100 symbols per query.
expiration_date_after query string Used to filter items whose expiration date is later than a specified date; the default selection is the current day (inclusive).
pagination_key query string Pagination key from previous response for next page

Response 200

Field Type Required Description
data array Result data list
pagination_key string Pagination key for next page. If absent, indicates this is the last page.

Nested — data:

Field Type Required Description
series_id string yes ID that identifies this series.
series_symbol string yes Symbol that identifies this series.
series_name string yes Name that describes the series.
event_symbol string yes Symbol that identifies this events.
event_name string yes Name that describes the events.
instrument_id string yes Unique id of the event market.
symbol string yes Symbol of the event market.
name string yes Name of the event market.
yes_condition string yes Conditions for a 'Yes' outcome.
last_trading_date string yes Last Notice Day.
status string yes Listing status. — one of: NOT_SET, LISTING, DELISTING, OTHER, UNRECOGNIZED
tradable_status string yes — one of: OC, CO, NT
can_close_early boolean yes Can the contract close early?
expected_exp_date string yes Expected expiration date of contract.
latest_exp_date string yes Latest expiration date.
payout_date string yes Settlement/Payment Date.
fractionable boolean yes Support fragmented event contracts.
price_ranges array Price range.

Nested — price_ranges:

Field Type Required Description
start string yes Start price.
end string yes End price.
step string yes Step length.

Errors401 unauthorized, 417 business error, 500 server error. See Errors.

Corporate Actions Detail

GET /broker/instruments/stocks/corporate-actions/get

Retrieves corporate actions detail information,only support stocks. Related Event Notifications: Please refer to the Event Push API documentation: Corporate Actions Events

SDK brokerfd.GetFDCorporateActions
Reference broker-corporate-actions-detail.md

Request — parameters

Name In Type Required Description
event_id query string yes Corporate Event Action ID

Response 200

Field Type Required Description
event_id string Company Event ID
event_type string Corporate Event Type IDENTIFIER_CHANGE - Identifier-related changes to a security without economic impact, including symbol, exchange, ISIN, CUSIP, or instrument name changes DIVIDEND - Dividend and distribution events, including cash dividend, stock dividend, optional dividend, and return of capital REVERSE_SPLIT - Reverse stock split that consolidates shares and reduces the number of outstanding shares FORWARD_SPLIT - Forward stock split that increases the number of outstanding shares BONUS_ISSUE - Bonus issue of additional shares distributed to existing shareholders at no cost RIGHTS_OFFERING - Rights offering allowing shareholders to subscribe for additional shares DISTRIBUTION - Distribution of cash, securities, or other assets to shareholders SPIN_OFF - Spin-off event where shares of a subsidiary or new entity are distributed to existing shareholders UNIT_SPLIT - Unit split event affecting composite or unit-based securities MERGER - Merger or acquisition event involving the combination of two or more entities FULL_CALL - Full call redemption of the entire outstanding security issue PARTIAL_CALL - Partial call redemption affecting only a portion of the outstanding issue EXCHANGE - Exchange event where existing securities are exchanged for new securities or other consideration DTC_EXIT - Event indicating a security is no longer eligible for DTC settlement or custody LIQUIDATION - Liquidation event involving the winding up of an issuer and asset distribution WORTHLESS - Worthless security event indicating the security has no residual value ADR_GDR_TERMINATION - Termination of an ADR or GDR program MATURITY - Maturity event where a security reaches its contractual maturity date ADR_FEE - ADR fee charged to holders of American Depositary Receipts CONVERSION - Conversion event where securities are converted into another class or form OPEN_OFFER - Open offer allowing shareholders to subscribe for additional securities PREFERENTIAL_OFFER - Preferential offer made to selected shareholders under specific terms PERFORMANCE_COMPENSATION - Performance compensation event related to performance commitments, commonly in A-share markets DELISTING - Delisting event where a security is removed from exchange trading — one of: IDENTIFIER_CHANGE, DIVIDEND, REVERSE_SPLIT, FORWARD_SPLIT, BONUS_ISSUE, RIGHTS_OFFERING, DISTRIBUTION, SPIN_OFF, UNIT_SPLIT, MERGER, FULL_CALL, PARTIAL_CALL, EXCHANGE, DTC_EXIT, LIQUIDATION, WORTHLESS, ADR_GDR_TERMINATION, MATURITY, ADR_FEE, CONVERSION, OPEN_OFFER, PREFERENTIAL_OFFER, PERFORMANCE_COMPENSATION, DELISTING
event_version string Event Version
instrument_id string Instrument ID
category string Instrument Category — one of: US_STOCK
record_date string Record Date (YYYY-MM-DD)
ex_date string Ex Date (YYYY-MM-DD)
payment_date string Payment Date (YYYY-MM-DD)
final_pay_date string Final Payment Date (YYYY-MM-DD)
country_code string Country Code, ISO 3166-1 alpha-2 format
listing_country_of_code string Listing Country Code, ISO 3166-1 alpha-2 format
issuer_country_code string Issuer Country Code, ISO 3166-1 alpha-2 format
from object Event From Info. Position's instrument information
to array Event To Info. Corporate action's target instrument information

Nested — from:

Field Type Required Description
symbol string Symbol of the instrument
name string Name of the instrument
exchange string Exchange code

Nested — to:

Field Type Required Description
option_number string Option Number. Identifier for the payout option
description string Description of the payout option
default_option_flag string Default Option Flag. Indicates if this is the default payout option
payouts array Payouts associated with this option

Nested — payouts:

Field Type Required Description
type string Payout Nature Type DV - Dividend: Cash or stock distribution paid to shareholders FR - Franked Dividend: Dividend paid with franking credits attached IN - Interest: Interest income distribution L2 - Long Term Capital Gains: Gains from disposal of assets held longer than one year OT - Other: Other types of income or entitlement (see extended terms) C - Cash: Cash payment (only applicable to events created prior to release 2) PC - Cash/Principal/Return of Capital: Cash returned as principal or capital PM - Premium: Additional amount paid over base entitlement S - Securities: Distribution of securities instead of cash ST - Short Term Capital Gains: Gains from disposal of assets held less than one year SI - Sundry Income: Miscellaneous income distributions UF - Unfranked Dividend: Dividend paid without franking credits PI - Property Income Distribution: Income derived from property assets TD - Tax Deferred: Income deferred for tax purposes TE - Tax Exempted: Income exempted from taxation FI - Foreign Income: Income sourced from foreign jurisdictions CD - Capital gain on disposal of taxable property - Discounted CO - Capital gain on disposal of taxable property - Other CC - Capital gain on disposal of taxable property - Concessional CN - Capital gain on disposal of non-taxable property RT - Royalties: Payment received for intellectual property usage TX - Tax Credit: Credit applied against tax liability BP - Buy Permitted: Security is eligible for purchase under corporate action CL - Cash in Lieu of Fractional Share: Cash payment for fractional share entitlement DF - Drop Fraction: Fractional shares are dropped without compensation EX - Extend and Retain Fractions: Fractional shares are retained and adjusted NC - Round to Nearest Cent: Monetary amounts rounded to the nearest cent NW - Round to Nearest Whole Number if .5 or above: Rounding rule for fractional shares PR - Purchase Required: Mandatory purchase of securities as part of corporate action RD - Round Down to Nearest Whole Number: Fractional shares rounded down RU - Round Up to Nearest Whole Number: Fractional shares rounded up SR - Sale Required: Mandatory sale of securities as part of corporate action BU - Round up: Generic rounding up rule BC - Beneficial Owner Cash in Lieu: Cash payment to beneficial owner for fractional share BD - Beneficial Owner Round Down: Fractional shares of beneficial owner rounded down CT - Security Convert To Cash: Conversion of security into cash (used for tokenized assets) — one of: DV, FR, IN, L2, OT, C, PC, PM, S, ST, SI, UF, PI, TD, TE, FI, CD, CO, CC, CN, RT, TX, BP, CL, DF, EX, NC, NW, PR, RD, RU, SR, BU, BC, BD, CT
pay_type string Payout Delivery Type CASH - Cash settlement SECURITY - Security settlement (stock, right, warrant, etc.) SCRIP - Scrip dividend (dividend paid in shares instead of cash) SECURITY_AND_CASH - Combination of security and cash (logical type, not for persistence) — one of: CASH, SECURITY, SCRIP, SECURITY_AND_CASH
payout_number integer Sequence number of the payout within the same option. Used for ordering and identification.
adr_fee_rate string ADR fee rate applied to this payout, if applicable.
fraction_share_rule string Fraction Share Rule NONE - No special handling for fractional shares ROUND_DOWN - Round down fractional shares ROUND_UP - Round up fractional shares CASH_IN_LIEU - Cash in lieu for fractional shares DISTRIBUTION - Fractional share distribution STANDARD - Standard rounding for fractional shares — one of: NONE, ROUND_DOWN, ROUND_UP, CASH_IN_LIEU, DISTRIBUTION, STANDARD
cancellation_fee string Cancellation fee rate applied if the corporate action is cancelled.
issuance_fee string Issuance fee rate applied for newly issued securities.
tax_status string IRS income classification for tax reporting purposes.
currency string Currency of the cash payout. Applicable only when payType involves CASH.
amount string Cash amount paid per share held. Applicable only when payType involves CASH.
withholding_tax_rate string Withholding tax rate applied to the cash payout.
symbol string Trading symbol of the distributed security.
name string Name of the distributed security.
exchange string Exchange where the distributed security is listed.
from_ratio string Original holding quantity used as the base for ratio calculation.
to_ratio string Distributed quantity received for the given base holding.
cash_in_lieu_price string Cash-in-lieu price used to settle fractional shares.
reinvest_price string Reinvestment price used for scrip dividend calculation.

Errors401 unauthorized, 417 business error, 500 server error. See Errors.

Order Preview

POST /broker/orders/preview

Calculates the estimated cost and fees for an order based on the provided parameters. Supports simple orders.

SDK brokerfd.PreviewFDOrder
Reference common-order-preview.md

Request body

Field Type Required Description
account_id string Account identifier
new_orders array Order Details

Nested — new_orders:

Field Type Required Description
client_order_id string yes Unique client-defined identifier for the order. Maximum length is 32 characters. Allowed characters: letters (A–Z, a–z), digits (0–9), hyphen (-), underscore (_). Used to track or reference the order when interacting with the system.
combo_type string yes Type of order combination. - NORMAL: Indicates a standard single order — one of: NORMAL
instrument_type string yes Type of financial instrument associated with the request. — one of: EQUITY, EVENT
entrust_type string yes Specifies the method for placing the order. - QTY: Order specified by quantity of shares or units. - AMOUNT: Order specified by total cash amount. Supported for U.S. stock trading and Event Contract trading. When placing Event Contract orders using AMOUNT, only BUY orders are supported (side=BUY), and time_in_force must be FOK. — one of: QTY, AMOUNT
support_trading_session string Specifies the trading session for the order. Applicable to U.S. stock market orders only. - NIGHT: Only supports night trading. - ALL: Include extended trading hours. - CORE: Only support regular trading hours. — one of: ALL, CORE, NIGHT
symbol string yes Trading symbol of the financial instrument. Represents the unique identifier of the security in the specified market.
market string yes Market code indicating the trading venue or regulatory region of the financial instrument. Used together with symbol and instrument_type to uniquely identify a tradable instrument. — one of: US
side string yes The order side indicating the intended trading direction of the transaction. The meaning of side may vary depending on the instrument_type and account type (e.g., margin vs. cash). Event trading supports BUY and SELL sides only. Equity trading supports BUY, SELL, and SHORT sides. — one of: BUY, SELL, SHORT
order_type string yes Specifies the type of order to be placed. Determines how the order will be executed in the market. Available order types depend on the market and instrument type. For equity trading support all order types listed below. - LIMIT: Limit Order - MARKET: Market Order - STOP_LOSS: Stop Order - STOP_LOSS_LIMIT: Stop Limit Order - TRAILING_STOP_LOSS: Trailing Stop Order For event trading: - Supported order types: LIMIT. — one of: MARKET, LIMIT, STOP_LOSS, STOP_LOSS_LIMIT, TRAILING_STOP_LOSS
time_in_force string yes Specifies the duration for which the order remains active in the market (Time-In-Force). Event trading supports the following Time in Force (TIF) values: DAY, GTC, IOC, GTD, and FOK. U.S. Equity trading support the following Time in Force (TIF) values: DAY and GTC. - DAY: The order is valid only for the current trading day and expires at the end of the day. - GTC: Good-Till-Canceled, the order remains active until it is executed, explicitly canceled, or reaches the maximum allowed duration (typically 60 days). - IOC: Immediate-Or-Cancel, the order attempts to execute immediately. Any portion that can be filled right away will be executed; any unfilled remainder is immediately cancelled. - GTD: order that will automatically expire and be cancelled at a specific future date and time. - FOK: Fill or Kill. The order must be filled in its entirety immediately; otherwise, the entire order will be canceled. — one of: DAY, GTC, IOC, GTD, FOK
expire_date string GTD order expire date. format (UTC). The value must be in yyyy-MM-dd format
stop_price string Stop price of the order. Required when order_type is STOP_LOSS or STOP_LOSS_LIMIT. Specifies the trigger price at which the stop order becomes active.
limit_price string Limit price of the order. Required when order_type is LIMIT, STOP_LOSS_LIMIT. Specifies the maximum (for buy) or minimum (for sell) price at which the order can be executed. When event_trade_mode is set for an event contract trade, limit_price is not required.
quantity string Transaction quantity. You can specify decimals when placing fractional lot orders for US stocks.
trailing_type string When market continues to fall, the stop price to buy follows, or trails, the lowest price of a stock by a trail that you set. - AMOUNT: By amount. - PERCENTAGE: By percentage. — one of: PERCENTAGE, AMOUNT
trailing_stop_step string Trailing spread. When trailing_type is PERCENTAGE, the value must be greater than or equal to 0.01 and cannot exceed 1.0, and it represents a percentage in decimal form (e.g., 1.0 = 100%, 0.1 = 10%, 0.01 = 1%).
event_outcome string Event outcome decision, only applicable to event orders. — one of: yes, no
event_trade_mode string Specifies how the order quantity is expressed for event contract trading. Only applicable to event orders. When this field is set, the order executes at the best available market price; the limit_price field is ignored. - TRADE_IN_AMOUNT: Specifies how the order quantity is expressed for event contract trading. When this field is set, the order executes at the best available market price. - TRADE_IN_CONTRACT: The order is specified by the number of contracts the user wants to buy or sell at the best available market price. Requires quantity field. — one of: TRADE_IN_AMOUNT, TRADE_IN_CONTRACT

Response 200

Field Type Required Description
estimated_cost string yes Estimated capital required for the order. The final capital usage may differ depending on the actual execution and fee settlement.
estimated_transaction_fee string yes Estimated transaction fee for placing the order, including exchange, clearing, and commission fees. The actual fee may differ based on final execution.

Errors401 unauthorized, 417 business error, 500 server error. See Errors.

Order Place

POST /broker/orders/place

Places order for a specific account. Related Event Notifications: Please refer to the Event Push API documentation: Trade Events

SDK brokerfd.PlaceFDOrder
Reference common-order-place.md

Request body

Field Type Required Description
account_id string yes Account identifier
new_orders array yes Order Details

Nested — new_orders:

Field Type Required Description
client_order_id string yes Unique client-defined identifier for the order. Maximum length is 32 characters and must be unique per account. Used to track or reference the order when interacting with the system.
combo_type string yes Type of order combination. - NORMAL: Indicates a standard single order — one of: NORMAL
instrument_type string yes Type of financial instrument associated with the request. — one of: EQUITY, EVENT
entrust_type string yes Specifies the method for placing the order. - QTY: Order specified by quantity of shares or units. - AMOUNT: Order specified by total cash amount. Supported for U.S. stock trading and Event Contract trading. When placing Event Contract orders using AMOUNT, only BUY orders are supported (side=BUY), and time_in_force must be FOK. — one of: QTY, AMOUNT
support_trading_session string Specifies the trading session for the order. Applicable to U.S. stock market orders only. - NIGHT: Only supports night trading. - ALL: Include extended trading hours. - CORE: Only support regular trading hours. — one of: ALL, CORE, NIGHT
symbol string yes Trading symbol of the financial instrument. Represents the unique identifier of the security in the specified market.
market string yes Market code indicating the trading venue or regulatory region of the financial instrument. Used together with symbol and instrument_type to uniquely identify a tradable instrument. — one of: US
side string yes The order side indicating the intended trading direction of the transaction. The meaning of side may vary depending on the instrument_type and account type (e.g., margin vs. cash). Event trading supports BUY and SELL sides only. Equity trading supports BUY, SELL, and SHORT sides. — one of: BUY, SELL, SHORT
order_type string yes Specifies the type of order to be placed. Determines how the order will be executed in the market. Available order types depend on the market and instrument type. For equity trading support all order types listed below. - LIMIT: Limit Order - MARKET: Market Order - STOP_LOSS: Stop Order - STOP_LOSS_LIMIT: Stop Limit Order - TRAILING_STOP_LOSS: Trailing Stop Order For event trading: - Supported order types: LIMIT. — one of: MARKET, LIMIT, STOP_LOSS, STOP_LOSS_LIMIT, TRAILING_STOP_LOSS
time_in_force string yes Specifies the duration for which the order remains active in the market (Time-In-Force). Event trading supports the following Time in Force (TIF) values: DAY, GTC, IOC, GTD, and FOK. U.S. Equity trading support the following Time in Force (TIF) values: DAY and GTC. - DAY: The order is valid only for the current trading day and expires at the end of the day. - GTC: Good-Till-Canceled, the order remains active until it is executed, explicitly canceled, or reaches the maximum allowed duration (typically 60 days). - IOC: Immediate-Or-Cancel, the order attempts to execute immediately. Any portion that can be filled right away will be executed; any unfilled remainder is immediately cancelled. - GTD: order that will automatically expire and be cancelled at a specific future date and time. - FOK: Fill or Kill. The order must be filled in its entirety immediately; otherwise, the entire order will be canceled. — one of: DAY, GTC, IOC, GTD, FOK
expire_date string GTD order expire date. format (UTC). The value must be in yyyy-MM-dd format
stop_price string Stop price of the order. Required when order_type is STOP_LOSS or STOP_LOSS_LIMIT. Specifies the trigger price at which the stop order becomes active.
limit_price string Limit price of the order. Required when order_type is LIMIT, STOP_LOSS_LIMIT. Specifies the maximum (for buy) or minimum (for sell) price at which the order can be executed. When event_trade_mode is set for an event contract trade, limit_price is not required.
quantity string Transaction quantity. You can specify decimals when placing fractional lot orders for US stocks.
total_cash_amount string The total order amount is currently only applicable to US stock fractional share transactions and when the order is placed by amount.
trailing_type string When market continues to fall, the stop price to buy follows, or trails, the lowest price of a stock by a trail that you set. - AMOUNT: By amount. - PERCENTAGE: By percentage. — one of: PERCENTAGE, AMOUNT
trailing_stop_step string Trailing spread. When trailing_type is PERCENTAGE, the value must be greater than or equal to 0.01 and cannot exceed 1.0, and it represents a percentage in decimal form (e.g., 1.0 = 100%, 0.1 = 10%, 0.01 = 1%).
event_outcome string Event outcome decision, only applicable to event orders. — one of: yes, no
event_trade_mode string Specifies how the order quantity is expressed for event contract trading. Only applicable to event orders. When this field is set, the order executes at the best available market price; the limit_price field is ignored. - TRADE_IN_AMOUNT: Specifies how the order quantity is expressed for event contract trading. When this field is set, the order executes at the best available market price. - TRADE_IN_CONTRACT: The order is specified by the number of contracts the user wants to buy or sell at the best available market price. Requires quantity field. — one of: TRADE_IN_AMOUNT, TRADE_IN_CONTRACT

Response 200

Field Type Required Description
client_order_id string Client-defined order identifier. Returned in the response for simple orders. Represents the unique order ID assigned by the user when placing the order for NORMAL order.
order_id string System-generated order identifier. Returned in the response for simple orders. Represents the unique Webull order ID assigned by the system when placing the order for NORMAL order.

Errors401 unauthorized, 417 business error, 500 server error. See Errors.

Order Replace

POST /broker/orders/replace

Modifies an existing order. Only the provided fields are updated; all other attributes remain unchanged.

SDK brokerfd.ReplaceFDOrder
Reference common-order-replace.md

Request body

Field Type Required Description
account_id string yes Account identifier
modify_orders array yes Order Details

Nested — modify_orders:

Field Type Required Description
client_order_id string yes Unique client-defined identifier for the order. Maximum length is 32 characters and must be unique per account. Used to track or reference the order when interacting with the system.
time_in_force string Specifies the duration for which the order remains active in the market (Time-In-Force). Event trading supports the following Time in Force (TIF) values: DAY, GTC, IOC, GTD, and FOK. U.S. Equity trading support the following Time in Force (TIF) values: DAY and GTC. - DAY: The order is valid only for the current trading day and expires at the end of the day. - GTC: Good-Till-Canceled, the order remains active until it is executed, explicitly canceled, or reaches the maximum allowed duration (typically 60 days). - IOC: Immediate-Or-Cancel, the order attempts to execute immediately. Any portion that can be filled right away will be executed; any unfilled remainder is immediately cancelled. - GTD: order that will automatically expire and be cancelled at a specific future date and time. - FOK: Fill or Kill. The order must be filled in its entirety immediately; otherwise, the entire order will be canceled. — one of: DAY, GTC, IOC, GTD, FOK
stop_price string Stop price of the order. Required when order_type is STOP_LOSS or STOP_LOSS_LIMIT. Specifies the trigger price at which the stop order becomes active.
limit_price string Limit price of the order. Required when order_type is LIMIT, STOP_LOSS_LIMIT. Specifies the maximum (for buy) or minimum (for sell) price at which the order can be executed.
quantity string Transaction quantity. You can specify decimals when placing fractional lot orders for US stocks.
order_type string Specifies the type of order to be placed. Determines how the order will be executed in the market. Available order types depend on the market and instrument type. For equity trading support all order types listed below. - LIMIT: Limit Order - MARKET: Market Order - STOP_LOSS: Stop Order - STOP_LOSS_LIMIT: Stop Limit Order - TRAILING_STOP_LOSS: Trailing Stop Order For event trading: - Supported order types: LIMIT. — one of: MARKET, LIMIT, STOP_LOSS, STOP_LOSS_LIMIT, TRAILING_STOP_LOSS
trailing_stop_step string Trailing spread. When trailing_type is PERCENTAGE, the value must be greater than or equal to 0.01 and cannot exceed 1.0, and it represents a percentage in decimal form (e.g., 1.0 = 100%, 0.1 = 10%, 0.01 = 1%).

Response 200

Field Type Required Description
client_order_id string Client-defined order identifier. Returned in the response for simple orders. Represents the unique order ID assigned by the user when placing the order for NORMAL order.
order_id string System-generated order identifier. Returned in the response for simple orders. Represents the unique Webull order ID assigned by the system when placing the order for NORMAL order.

Errors401 unauthorized, 417 business error, 500 server error. See Errors.

Order Cancel

POST /broker/orders/cancel

Cancels a previously submitted order that has not yet been fully filled. Only orders in open status can be cancelled.

SDK brokerfd.CancelFDOrder
Reference common-order-cancel.md

Request body

Field Type Required Description
client_order_id string yes Unique client-defined identifier for the order. Maximum length is 32 characters and must be unique per account. Used to track or reference the order when interacting with the system.
account_id string yes Account identifier

Response 200

Field Type Required Description
client_order_id string Client-defined order identifier. Returned in the response for simple orders. Represents the unique order ID assigned by the user when placing the order for NORMAL order.
order_id string System-generated order identifier. Returned in the response for simple orders. Represents the unique Webull order ID assigned by the system when placing the order for NORMAL order.

Errors401 unauthorized, 417 business error, 500 server error. See Errors.

Open Orders

GET /broker/orders/open-orders/list

Retrieves pending orders by page. This endpoint may not return the most recent order data in real time due to processing delays. To ensure you get the latest order status, please query the Order Detail endpoint by client_order_id.

SDK brokerfd.GetFDOpenOrders
Reference order-open.md

Request — parameters

Name In Type Required Description
account_id query String yes Account identifier
pagination_key query String Pagination key from previous response for next page.

Response 200

Field Type Required Description
data array Result data list
pagination_key string Pagination key for next page. If absent, indicates this is the last page.

Nested — data:

Field Type Required Description
client_order_id string Client-defined order identifier. Returned in the response for simple orders. Represents the unique order ID assigned by the user when placing the order.
combo_type string yes Type of order combination. - NORMAL: Indicates a standard single order
orders array yes Order Details

Nested — orders:

Field Type Required Description
client_order_id string yes Client-defined order identifier. Returned in the response for simple orders. Represents the unique order ID assigned by the user when placing the order.
order_id string yes System-generated order identifier. Returned in the response for simple orders. Represents the unique Webull order ID assigned by the system.
symbol string yes Trading symbol of the financial instrument.Represents the unique identifier of the security in the specified market.
side string yes The order side indicating the intended trading direction of the transaction. The meaning of side may vary depending on the instrument_type and account type (e.g., margin vs. cash). Event trading supports BUY and SELL sides only. Equity trading supports BUY, SELL, and SHORT sides. — one of: BUY, SELL, SHORT
status string yes - PENDING: Indicates that the order has been submitted to the exchange and is awaiting completion - SUBMITTED: Indicates that the order has been submitted to the exchange or webull - CANCELLED: Indicates that the order has been successfully cancelled - FILLED: Indicates that the order has been fully executed - FAILED: Indicates a failed order, such as REJECTED - PARTIAL_FILLED: Refers to the portion of the order that has been completed, but not all of it has been completed — one of: PENDING, SUBMITTED, CANCELLED, FILLED, FAILED, PARTIAL_FILLED
order_type string yes Specifies the type of order to be placed. Determines how the order will be executed in the market. Available order types depend on the market and instrument type. For equity trading support all order types listed below. - LIMIT: Limit Order - MARKET: Market Order - STOP_LOSS: Stop Order - STOP_LOSS_LIMIT: Stop Limit Order - TRAILING_STOP_LOSS: Trailing Stop Order For event trading: - Supported order types: LIMIT. — one of: MARKET, LIMIT, STOP_LOSS, STOP_LOSS_LIMIT, TRAILING_STOP_LOSS
instrument_type string Type of financial instrument associated with the request. — one of: EQUITY, EVENT
support_trading_session string Specifies the trading session for the order. Applicable to U.S. stock market orders only. - NIGHT: Only supports night trading. - ALL: Include extended trading hours. - CORE: Only support regular trading hours. — one of: ALL, CORE, NIGHT
entrust_type string yes Specifies the method for placing the order. - QTY: Order specified by quantity of shares or units. - AMOUNT: Order specified by total cash amount. Supported for U.S. stock trading and Event Contract trading. When placing Event Contract orders using AMOUNT, only BUY orders are supported (side=BUY), and time_in_force must be FOK. — one of: QTY, AMOUNT
time_in_force string yes Specifies the duration for which the order remains active in the market (Time-In-Force). Event trading supports the following Time in Force (TIF) values: DAY, GTC, IOC, GTD, and FOK. U.S. Equity trading support the following Time in Force (TIF) values: DAY and GTC. - DAY: The order is valid only for the current trading day and expires at the end of the day. - GTC: Good-Till-Canceled, the order remains active until it is executed, explicitly canceled, or reaches the maximum allowed duration (typically 60 days). - IOC: Immediate-Or-Cancel, the order attempts to execute immediately. Any portion that can be filled right away will be executed; any unfilled remainder is immediately cancelled. - GTD: order that will automatically expire and be cancelled at a specific future date and time. - FOK: Fill or Kill. The order must be filled in its entirety immediately; otherwise, the entire order will be canceled. — one of: DAY, GTC, IOC, GTD, FOK
expire_date string GTD order expire date. format (UTC). The value must be in yyyy-MM-dd format
total_cash_amount string The total order amount is currently only applicable to US stock fractional share transactions and when the order is placed by amount.
total_quantity string yes Total order quantity. Represents the total number of units submitted for this order.
filled_quantity string Quantity that has been executed. Represents the number of units that have been filled so far.
filled_price string Average transaction price of the filled quantity. If the order has not been executed yet, this may be zero or null.
limit_price string Limit Price
stop_price string Stop Price
trailing_type string When market continues to fall, the stop price to buy follows, or trails, the lowest price of a stock by a trail that you set. - AMOUNT: By amount. - PERCENTAGE: By percentage. — one of: PERCENTAGE, AMOUNT
trailing_stop_step string Trailing spread. When trailing_type is PERCENTAGE, the value must be greater than or equal to 0.01 and cannot exceed 1.0, and it represents a percentage in decimal form (e.g., 1.0 = 100%, 0.1 = 10%, 0.01 = 1%).
place_time string Order placement time in milliseconds since Unix epoch.
place_time_at string yes Order placement time in ISO8601 format (UTC). Format: yyyy-MM-dd'T'HH:mm:ss.SSSZ
filled_time string Time of the last executed trade in milliseconds since Unix epoch.
filled_time_at string Time of the last executed trade in ISO8601 format (UTC). Format: yyyy-MM-dd'T'HH:mm:ss.SSSZ
event_outcome string Event outcome decision, only applicable to event orders. — one of: yes, no
event_trade_mode string Specifies how the order quantity is expressed for event contract trading. Only applicable to event orders. When this field is set, the order executes at the best available market price; the limit_price field is ignored. - TRADE_IN_AMOUNT: Specifies how the order quantity is expressed for event contract trading. When this field is set, the order executes at the best available market price. - TRADE_IN_CONTRACT: The order is specified by the number of contracts the user wants to buy or sell at the best available market price. Requires quantity field. — one of: TRADE_IN_AMOUNT, TRADE_IN_CONTRACT
commission object Commission breakdown
fees array Fee breakdown

Nested — commission:

Field Type Required Description
actual_commission string Actual commission collected
receivable_commission string Receivable commission

Nested — fees:

Field Type Required Description
type string Fee type
actual_value string Actual fee collected
receivable_value string Receivable fee

Errors401 unauthorized, 417 business error, 500 server error. See Errors.

Order Detail

GET /broker/orders/get

Retrieves the specified order details through the order ID or client order ID.

SDK brokerfd.GetFDOrderDetail
Reference order-detail.md

Request — parameters

Name In Type Required Description
client_order_id query String yes The last order ID returned from the previous response. Used for cursor-based pagination. Not required for the first page query.
account_id query String yes Account identifier

Response 200

Field Type Required Description
client_order_id string Client-defined order identifier. Returned in the response for simple orders. Represents the unique order ID assigned by the user when placing the order.
combo_type string yes Type of order combination. - NORMAL: Indicates a standard single order
orders array yes Order Details

Nested — orders:

Field Type Required Description
client_order_id string yes Client-defined order identifier. Returned in the response for simple orders. Represents the unique order ID assigned by the user when placing the order.
order_id string yes System-generated order identifier. Returned in the response for simple orders. Represents the unique Webull order ID assigned by the system.
symbol string yes Trading symbol of the financial instrument.Represents the unique identifier of the security in the specified market.
side string yes The order side indicating the intended trading direction of the transaction. The meaning of side may vary depending on the instrument_type and account type (e.g., margin vs. cash). Event trading supports BUY and SELL sides only. Equity trading supports BUY, SELL, and SHORT sides. — one of: BUY, SELL, SHORT
status string yes - PENDING: Indicates that the order has been submitted to the exchange and is awaiting completion - SUBMITTED: Indicates that the order has been submitted to the exchange or webull - CANCELLED: Indicates that the order has been successfully cancelled - FILLED: Indicates that the order has been fully executed - FAILED: Indicates a failed order, such as REJECTED - PARTIAL_FILLED: Refers to the portion of the order that has been completed, but not all of it has been completed — one of: PENDING, SUBMITTED, CANCELLED, FILLED, FAILED, PARTIAL_FILLED
order_type string yes Specifies the type of order to be placed. Determines how the order will be executed in the market. Available order types depend on the market and instrument type. For equity trading support all order types listed below. - LIMIT: Limit Order - MARKET: Market Order - STOP_LOSS: Stop Order - STOP_LOSS_LIMIT: Stop Limit Order - TRAILING_STOP_LOSS: Trailing Stop Order For event trading: - Supported order types: LIMIT. — one of: MARKET, LIMIT, STOP_LOSS, STOP_LOSS_LIMIT, TRAILING_STOP_LOSS
instrument_type string Type of financial instrument associated with the request. — one of: EQUITY, EVENT
support_trading_session string Specifies the trading session for the order. Applicable to U.S. stock market orders only. - NIGHT: Only supports night trading. - ALL: Include extended trading hours. - CORE: Only support regular trading hours. — one of: ALL, CORE, NIGHT
entrust_type string yes Specifies the method for placing the order. - QTY: Order specified by quantity of shares or units. - AMOUNT: Order specified by total cash amount. Supported for U.S. stock trading and Event Contract trading. When placing Event Contract orders using AMOUNT, only BUY orders are supported (side=BUY), and time_in_force must be FOK. — one of: QTY, AMOUNT
time_in_force string yes Specifies the duration for which the order remains active in the market (Time-In-Force). Event trading supports the following Time in Force (TIF) values: DAY, GTC, IOC, GTD, and FOK. U.S. Equity trading support the following Time in Force (TIF) values: DAY and GTC. - DAY: The order is valid only for the current trading day and expires at the end of the day. - GTC: Good-Till-Canceled, the order remains active until it is executed, explicitly canceled, or reaches the maximum allowed duration (typically 60 days). - IOC: Immediate-Or-Cancel, the order attempts to execute immediately. Any portion that can be filled right away will be executed; any unfilled remainder is immediately cancelled. - GTD: order that will automatically expire and be cancelled at a specific future date and time. - FOK: Fill or Kill. The order must be filled in its entirety immediately; otherwise, the entire order will be canceled. — one of: DAY, GTC, IOC, GTD, FOK
expire_date string GTD order expire date. format (UTC). The value must be in yyyy-MM-dd format
total_cash_amount string The total order amount is currently only applicable to US stock fractional share transactions and when the order is placed by amount.
total_quantity string yes Total order quantity. Represents the total number of units submitted for this order.
filled_quantity string Quantity that has been executed. Represents the number of units that have been filled so far.
filled_price string Average transaction price of the filled quantity. If the order has not been executed yet, this may be zero or null.
limit_price string Limit Price
stop_price string Stop Price
trailing_type string When market continues to fall, the stop price to buy follows, or trails, the lowest price of a stock by a trail that you set. - AMOUNT: By amount. - PERCENTAGE: By percentage. — one of: PERCENTAGE, AMOUNT
trailing_stop_step string Trailing spread. When trailing_type is PERCENTAGE, the value must be greater than or equal to 0.01 and cannot exceed 1.0, and it represents a percentage in decimal form (e.g., 1.0 = 100%, 0.1 = 10%, 0.01 = 1%).
place_time string Order placement time in milliseconds since Unix epoch.
place_time_at string yes Order placement time in ISO8601 format (UTC). Format: yyyy-MM-dd'T'HH:mm:ss.SSSZ
filled_time string Time of the last executed trade in milliseconds since Unix epoch.
filled_time_at string Time of the last executed trade in ISO8601 format (UTC). Format: yyyy-MM-dd'T'HH:mm:ss.SSSZ
event_outcome string Event outcome decision, only applicable to event orders. — one of: yes, no
event_trade_mode string Specifies how the order quantity is expressed for event contract trading. Only applicable to event orders. When this field is set, the order executes at the best available market price; the limit_price field is ignored. - TRADE_IN_AMOUNT: Specifies how the order quantity is expressed for event contract trading. When this field is set, the order executes at the best available market price. - TRADE_IN_CONTRACT: The order is specified by the number of contracts the user wants to buy or sell at the best available market price. Requires quantity field. — one of: TRADE_IN_AMOUNT, TRADE_IN_CONTRACT
commission object Commission breakdown
fees array Fee breakdown

Nested — commission:

Field Type Required Description
actual_commission string Actual commission collected
receivable_commission string Receivable commission

Nested — fees:

Field Type Required Description
type string Fee type
actual_value string Actual fee collected
receivable_value string Receivable fee

Errors401 unauthorized, 417 business error, 500 server error. See Errors.

Order History

GET /broker/orders/historical-orders/list

Retrieves historical orders within a specified date range (default: last 7 days). If orders are group orders, they will be returned together, and the number of orders returned on one page may exceed the page_size. This endpoint may not return the most recent order data in real time due to processing delays. To ensure you get the latest order status, please query the Order Detail endpoint by client_order_id.

SDK brokerfd.GetFDOrderHistory
Reference order-history.md

Request — parameters

Name In Type Required Description
account_id query String yes Account identifier
start_date query String The start date of the query period. If not provided, the default query period is the last 7 days. Users can specify an earlier date, but the maximum allowed look-back period is 2 years. Format: yyyy-MM-dd.
end_date query String The end date of the query period. If not provided, the default query period is the last 7 days. Users can specify an earlier date, but the maximum allowed look-back period is 2 years. Format: yyyy-MM-dd.
pagination_key query String Pagination key from previous response for next page.

Response 200

Field Type Required Description
data array Result data list
pagination_key string Pagination key for next page. If absent, indicates this is the last page.

Nested — data:

Field Type Required Description
client_order_id string Client-defined order identifier. Returned in the response for simple orders. Represents the unique order ID assigned by the user when placing the order.
combo_type string yes Type of order combination. - NORMAL: Indicates a standard single order
orders array yes Order Details

Nested — orders:

Field Type Required Description
client_order_id string yes Client-defined order identifier. Returned in the response for simple orders. Represents the unique order ID assigned by the user when placing the order.
order_id string yes System-generated order identifier. Returned in the response for simple orders. Represents the unique Webull order ID assigned by the system.
symbol string yes Trading symbol of the financial instrument.Represents the unique identifier of the security in the specified market.
side string yes The order side indicating the intended trading direction of the transaction. The meaning of side may vary depending on the instrument_type and account type (e.g., margin vs. cash). Event trading supports BUY and SELL sides only. Equity trading supports BUY, SELL, and SHORT sides. — one of: BUY, SELL, SHORT
status string yes - PENDING: Indicates that the order has been submitted to the exchange and is awaiting completion - SUBMITTED: Indicates that the order has been submitted to the exchange or webull - CANCELLED: Indicates that the order has been successfully cancelled - FILLED: Indicates that the order has been fully executed - FAILED: Indicates a failed order, such as REJECTED - PARTIAL_FILLED: Refers to the portion of the order that has been completed, but not all of it has been completed — one of: PENDING, SUBMITTED, CANCELLED, FILLED, FAILED, PARTIAL_FILLED
order_type string yes Specifies the type of order to be placed. Determines how the order will be executed in the market. Available order types depend on the market and instrument type. For equity trading support all order types listed below. - LIMIT: Limit Order - MARKET: Market Order - STOP_LOSS: Stop Order - STOP_LOSS_LIMIT: Stop Limit Order - TRAILING_STOP_LOSS: Trailing Stop Order For event trading: - Supported order types: LIMIT. — one of: MARKET, LIMIT, STOP_LOSS, STOP_LOSS_LIMIT, TRAILING_STOP_LOSS
instrument_type string Type of financial instrument associated with the request. — one of: EQUITY, EVENT
support_trading_session string Specifies the trading session for the order. Applicable to U.S. stock market orders only. - NIGHT: Only supports night trading. - ALL: Include extended trading hours. - CORE: Only support regular trading hours. — one of: ALL, CORE, NIGHT
entrust_type string yes Specifies the method for placing the order. - QTY: Order specified by quantity of shares or units. - AMOUNT: Order specified by total cash amount. Supported for U.S. stock trading and Event Contract trading. When placing Event Contract orders using AMOUNT, only BUY orders are supported (side=BUY), and time_in_force must be FOK. — one of: QTY, AMOUNT
time_in_force string yes Specifies the duration for which the order remains active in the market (Time-In-Force). Event trading supports the following Time in Force (TIF) values: DAY, GTC, IOC, GTD, and FOK. U.S. Equity trading support the following Time in Force (TIF) values: DAY and GTC. - DAY: The order is valid only for the current trading day and expires at the end of the day. - GTC: Good-Till-Canceled, the order remains active until it is executed, explicitly canceled, or reaches the maximum allowed duration (typically 60 days). - IOC: Immediate-Or-Cancel, the order attempts to execute immediately. Any portion that can be filled right away will be executed; any unfilled remainder is immediately cancelled. - GTD: order that will automatically expire and be cancelled at a specific future date and time. - FOK: Fill or Kill. The order must be filled in its entirety immediately; otherwise, the entire order will be canceled. — one of: DAY, GTC, IOC, GTD, FOK
expire_date string GTD order expire date. format (UTC). The value must be in yyyy-MM-dd format
total_cash_amount string The total order amount is currently only applicable to US stock fractional share transactions and when the order is placed by amount.
total_quantity string yes Total order quantity. Represents the total number of units submitted for this order.
filled_quantity string Quantity that has been executed. Represents the number of units that have been filled so far.
filled_price string Average transaction price of the filled quantity. If the order has not been executed yet, this may be zero or null.
limit_price string Limit Price
stop_price string Stop Price
trailing_type string When market continues to fall, the stop price to buy follows, or trails, the lowest price of a stock by a trail that you set. - AMOUNT: By amount. - PERCENTAGE: By percentage. — one of: PERCENTAGE, AMOUNT
trailing_stop_step string Trailing spread. When trailing_type is PERCENTAGE, the value must be greater than or equal to 0.01 and cannot exceed 1.0, and it represents a percentage in decimal form (e.g., 1.0 = 100%, 0.1 = 10%, 0.01 = 1%).
place_time string Order placement time in milliseconds since Unix epoch.
place_time_at string yes Order placement time in ISO8601 format (UTC). Format: yyyy-MM-dd'T'HH:mm:ss.SSSZ
filled_time string Time of the last executed trade in milliseconds since Unix epoch.
filled_time_at string Time of the last executed trade in ISO8601 format (UTC). Format: yyyy-MM-dd'T'HH:mm:ss.SSSZ
event_outcome string Event outcome decision, only applicable to event orders. — one of: yes, no
event_trade_mode string Specifies how the order quantity is expressed for event contract trading. Only applicable to event orders. When this field is set, the order executes at the best available market price; the limit_price field is ignored. - TRADE_IN_AMOUNT: Specifies how the order quantity is expressed for event contract trading. When this field is set, the order executes at the best available market price. - TRADE_IN_CONTRACT: The order is specified by the number of contracts the user wants to buy or sell at the best available market price. Requires quantity field. — one of: TRADE_IN_AMOUNT, TRADE_IN_CONTRACT
commission object Commission breakdown
fees array Fee breakdown

Nested — commission:

Field Type Required Description
actual_commission string Actual commission collected
receivable_commission string Receivable commission

Nested — fees:

Field Type Required Description
type string Fee type
actual_value string Actual fee collected
receivable_value string Receivable fee

Errors401 unauthorized, 417 business error, 500 server error. See Errors.

Create Cash Journal

POST /broker/journals/cash-journals/create

Creates a cash journal request. Cash journal supports both proprietary account (PAB) level and end client account level. Journals are supported only between accounts with the same owner. Related Event Notifications: Please refer to the Event Push API documentation: Cash Journal Events

SDK
Reference broker-journal-cash-create.md

Request body

Field Type Required Description
client_request_id string yes Client Request ID, unique for each request. Maximum length is 32 characters. Allowed characters: letters (A–Z, a–z), digits (0–9), hyphen (-), underscore (_).
from_account string yes From account id.
to_account string yes To account id.
amount string yes Amount
currency string yes Currency — one of: USD

Response 200

Field Type Required Description
client_request_id string yes Client Request ID, unique for each request.
from_account string yes From account id.
to_account string yes To account id.
journal_id string yes Request id generated by the system.
amount string yes Amount
currency string yes Currency — one of: USD
status string yes Request status — one of: SUBMITTED, CANCELED, REJECTED, FAILED, COMPLETED
reason string Reason. If the terminal state is not “COMPLETED”, return the reason.
create_time string yes UTC time, format: yyyy-MM-dd'T'HH:mm:ss.SSSZ.
update_time string yes UTC time, format: yyyy-MM-dd'T'HH:mm:ss.SSSZ.

Errors401 unauthorized, 417 business error, 500 server error. See Errors.

Cash Journal Detail

GET /broker/journals/cash-journals/get

Retrieves details information for cash journal request.

SDK brokerfd.GetFDCashJournalDetail
Reference broker-journal-cash-query.md

Request — parameters

Name In Type Required Description
client_request_id query String yes Client Request ID, unique for each request. Maximum length is 32 characters. Allowed characters: letters (A–Z, a–z), digits (0–9), hyphen (-), underscore (_).
account_id query String yes From account identifier.

Response 200

Field Type Required Description
client_request_id string yes Client Request ID, unique for each request.
from_account string yes From account id.
to_account string yes To account id.
journal_id string yes Request id generated by the system.
amount string yes Amount
currency string yes Currency — one of: USD
status string yes Request status — one of: SUBMITTED, CANCELED, REJECTED, FAILED, COMPLETED
reason string Reason. If the terminal state is not “COMPLETED”, return the reason.
create_time string yes UTC time, format: yyyy-MM-dd'T'HH:mm:ss.SSSZ.
update_time string yes UTC time, format: yyyy-MM-dd'T'HH:mm:ss.SSSZ.

Errors401 unauthorized, 417 business error, 500 server error. See Errors.

List Enums

GET /broker/master-data/enums/list

Get master data by data type and optional parent code. Master Data definition, hierarchy, and code description: | data_type | description | |-----------|-------------| | ID_DOC_TYPE | Identification document type | | MARITAL_STATUS | Marital status options | | EMPLOYMENT_TYPE | Type of employment | | OCCUPATION | Specific occupation under the employment type | | POSITION | Job position or title | | LIQUIDITY_NEEDS | Liquidity needs options | | ANNUAL_INCOME | Annual income range | | TOTAL_NET_WORTH | Estimated total net worth range | | LIQUID_NET_WORTH | Liquid net worth range | | INVESTMENT_KNOWLEDGE | Investment knowledge level (old) | | INVESTMENT_OBJECTIVE | Investment goal or objective | | TIME_HORIZON | Investment time horizon | | INVESTMENT_EXPERIENCE | Experience level in investments | | INVESTMENT_KNOWLEDGE_V2 | Investment knowledge level | | TRADE_PER_YEAR | Estimated number of trades per year | | TAX_TYPE | Tax classification type | | AGREEMENT_TYPE | Agreement type | | AGREEMENT_CONTENT_TYPE | Agreement content type | | AGREEMENT_SIGN_METHOD | Agreement signing method |

SDK brokerfd.GetFDEnums
Reference list-enums.md

Request — parameters

Name In Type Required Description
data_type query string yes Type of master data — one of: ID_DOC_TYPE, MARITAL_STATUS, EMPLOYMENT_TYPE, OCCUPATION, POSITION, LIQUIDITY_NEEDS, ANNUAL_INCOME, TOTAL_NET_WORTH, LIQUID_NET_WORTH, INVESTMENT_KNOWLEDGE_OLD, INVESTMENT_OBJECTIVE, TIME_HORIZON, INVESTMENT_EXPERIENCE, INVESTMENT_KNOWLEDGE, TRADE_PER_YEAR, TAX_TYPE, AGREEMENT_CONTENT_TYPE, AGREEMENT_SIGN_METHOD, COUNTRY, STATE, CITY, CONTACT_RELATIONSHIP
parent_code query string Parent code of the master data, used for hierarchical queries

Response 200

Array of objects:

Field Type Required Description
code string Business code of the master data item, typically used as a stable reference value.
name string Display name of the master data item in the default language.
parent_code string Parent code of the master data item, used to represent hierarchical relationships.

Errors401 unauthorized, 417 business error, 500 server error. See Errors.

Trade Calendar

GET /broker/master-data/trading-calendars/list

Retrieves trading and settlement calendar for the specified country and market. Related Event Notifications: Please refer to the Event Push API documentation: Trade Calendar Events

SDK brokerfd.GetFDTradeCalendar
Reference list-trade-calendar.md

Request — parameters

Name In Type Required Description
market query string yes Country code, US etc. — one of: US
instrument_type query string yes Type of financial instrument associated with the request. — one of: EQUITY, EVENT
year query String yes Query Year in YYYY format

Response 200

Array of objects:

Field Type Required Description
date string yes Date string in YYYY-MM-DD format.
settlement_date string Settlement Date string in YYYY-MM-DD format.
is_trading_day boolean yes Is Trading Day
is_early_close boolean Whether it is a half-day trading session
is_settlement_day boolean yes Is Settlement Day

Errors401 unauthorized, 417 business error, 500 server error. See Errors.

List Agreements

GET /broker/agreements/list

Helps retrieve all available agreement templates of a specific type. These templates can be presented to users for signing during account setup or feature activation. Note: This endpoint returns agreement templates, not user-specific agreement status. To check if a user has signed an agreement, use the account-specific endpoints..

SDK brokerfd.ListAgreements
Reference broker-list-agreements-by-type.md

Request — parameters

Name In Type Required Description
lang query String Language parameter, default is EN EN: English
agreement_type query String yes Agreement type parameter. Value must be obtained from the Master Data API with data_type = AGREEMENT_TYPE.

Response 200

Array of objects:

Field Type Required Description
id string yes Agreement ID
version string yes Agreement Version
name string yes Agreement Name

Errors401 unauthorized, 417 business error, 500 server error. See Errors.

Agreement Details

GET /broker/agreements/get

Retrieves detailed information about a specific agreement.

SDK brokerfd.GetAgreementDetail
Reference broker-get-agreement-details.md

Request — parameters

Name In Type Required Description
ids query String yes The unique identifier of the agreement to retrieve details for.
lang query String yes Language parameter EN: English

Response 200

Array of objects:

Field Type Required Description
id string yes Agreement ID
name string yes Agreement Name
description string Agreement Description
content string yes Agreement Content
content_type string yes Agreement content type — one of: TEXT, URL, PDF

Errors401 unauthorized, 417 business error, 500 server error. See Errors.