Incentive API reference →

CRM Onboarding

The CRM Onboarding APIs allow you to sync account profiles (IB, Affiliate, Trader) and create trading accounts within the FYNXT Incentive Program. These endpoints are called from your CRM system to keep client data in sync.

Overview

The onboarding flow consists of two main steps:

  1. Upsert Account Profiles — create or update IB, Affiliate, and/or Trader profiles for a CRM account.
  2. Create Trading Account — link a trading server account to an existing client profile.

Both endpoints require a valid Bearer token in the Authorization header.

Authentication

All CRM API requests must include a Bearer token obtained from the FYNXT authentication service:

Authorization: Bearer {{accessToken}}

Contact FYNXT to obtain credentials for your brokerage.

Upsert Account Profiles

Use this endpoint to create or update one or more profiles (IB, Affiliate, Trader) for a given CRM account. Sending the same crmAccountId again will update the existing record.

POST
/api/abstraction/crm/upsert-account-profiles
Base URL: https://fynxt-incentive-program.hummingwave.com

Request body fields

crmAccountId
string
required
Unique identifier for the account in your CRM system (e.g. "CRM-USER-09876").
accountStatus
string
required
Status of the CRM account. Accepted values: "Active", "Inactive".
tenantId
number
required
The FYNXT tenant identifier assigned to your brokerage.
actionDoneById
number
required
ID of the actor performing this action (e.g. 1 for the CRM system user).
actionDoneByName
string
required
Display name of the actor (e.g. "CRM").
actionDoneByEmail
string
required
Email address of the actor (e.g. "crm@gmail.com").
actionDoneByRole
string
required
Role of the actor. Typically "Broker".
profiles
array
required
Array of profile objects to create or update. Each profile must include a type field set to "IB", "Affiliate", or "Trader". See Profile Types for per-type fields.

Profile object fields

type
string
required
Profile type. One of "IB", "Affiliate", "Trader".
name
string
required
Full name of the client.
country
string
optional
Country of residence (e.g. "Canada").
contactEmail
string
required
Contact email address for this profile.
currency
string
optional
3-letter ISO currency code (e.g. "EUR").
status
string
required
Profile status. Accepted values: "Active", "Inactive".
address
string
optional
Physical address of the client.
dateOfBirth
string
optional
Date of birth in YYYY-MM-DD format.
kycStatus
string
optional
KYC verification status. E.g. "Verified", "Pending".
externalId
string
required
Your system's unique identifier for this profile (e.g. "EXT-TRADER-006"). Used to link back to your CRM records.
referredById
string
optional
The externalId of the IB or Affiliate who referred this client (e.g. "EXT-IB-001"). Required for Trader profiles that have a referrer.
referrallinkId
number
optional
The FYNXT referral link ID associated with this profile's acquisition.
isDeleted
boolean
optional
Soft-delete flag. Set to true to mark the profile as deleted. Defaults to false.
onboardingStatus
string
optional
Current onboarding stage. E.g. "Completed", "Pending", "InProgress".

Profile Types

The type field in each profile object determines how the profile is classified within the FYNXT Incentive Program:

TypeDescriptionTypical use
IB Introducing Broker — a partner who refers clients directly and earns commissions on their trading activity. Set externalId to your IB's unique ID. Other Traders/Affiliates can reference this via referredById.
Affiliate Affiliate partner — earns commissions based on referred client activity, typically via marketing channels. Same structure as IB. Use referredById to chain under a parent IB if applicable.
Trader End client who trades on the platform. Can be referred by an IB or Affiliate. Set referredById to the externalId of the referring IB or Affiliate.

Trading Account Creation

After a client profile has been created via the upsert endpoint, use this endpoint to attach a trading server account to that client. This links the live trading account to the FYNXT Incentive Program so commissions and events can be tracked.

POST
/api/abstraction/crm/crm/trading-accounts
Base URL: https://fynxt-incentive-program.hummingwave.com

Request body fields

tradeServerId
string
required
The FYNXT trade server identifier (e.g. "tsv_01knh7qz80e61tv085bqwf06y1").
externalClientId
string
required
Your CRM's unique identifier for the client who owns this trading account (e.g. "EXT-1246354327"). Must match the externalId of an existing Trader profile.
externalReferredById
string
optional
The externalId of the IB or Affiliate who referred this client (e.g. "EXT-5").
tradeLoginId
string
required
The login ID on the trading server (e.g. MT4/MT5 login number such as "110001").
currency
string
required
3-letter ISO currency code for the trading account (e.g. "USD").
status
string
required
Account status. Accepted values: "Active", "Inactive".
isDeleted
boolean
optional
Soft-delete flag. Defaults to false.
actionDoneById
number
required
ID of the actor performing this action.
actionDoneByName
string
required
Display name of the actor.
actionDoneByEmail
string
required
Email address of the actor.
actionDoneByRole
string
required
Role of the actor. Typically "Broker".
referrallinkId
number
optional
The FYNXT referral link ID associated with this trading account's acquisition.

Swagger Documentation

The full interactive API reference — including all request/response schemas, authentication details, and the ability to try requests directly in the browser — is available in the Swagger UI:

Open Swagger UI →