Skip to main content

CRM API (0.1.0)

Download OpenAPI specification:Download

API which is used by admin portal, and is partially exposed to public.

Activities

List all activities

Retrieve a list of all activities

query Parameters
limit
required
number
offset
required
number
filter
string
object (AdminActivitiesFilters)

Responses

Response samples

Content type
application/json
{
  • "activities": [
    ],
  • "count": 0
}

Create a new activity

Request Body schema: application/json
required
type
required
string
details
required
string

Responses

Request samples

Content type
application/json
{
  • "type": "string",
  • "details": "string"
}

Response samples

Content type
application/json
{
  • "success": true
}

Adapters

Get a list of all adapters

Authorizations:
BearerAuth
query Parameters
onlyTradingAdapters
required
boolean

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a new adapter

Authorizations:
BearerAuth
Request Body schema: application/json
required
name
required
string
enabled
required
boolean
type
required
string
configuration
required
object

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "enabled": true,
  • "type": "string",
  • "configuration": { }
}

Response samples

Content type
application/json
{
  • "success": true
}

Get a specific adapter by its name

Authorizations:
BearerAuth
path Parameters
name
required
string

Responses

Response samples

Content type
application/json
{
  • "name": "string",
  • "enabled": true,
  • "type": "string",
  • "configuration": { }
}

Update a specific adapter by its name

Authorizations:
BearerAuth
path Parameters
name
required
string
Request Body schema: application/json
required
enabled
required
boolean
type
required
string
configuration
required
object

Responses

Request samples

Content type
application/json
{
  • "enabled": true,
  • "type": "string",
  • "configuration": { }
}

Response samples

Content type
application/json
{
  • "success": true
}

Delete a specific adapter by its name

Authorizations:
BearerAuth
path Parameters
name
required
string

Responses

Response samples

Content type
application/json
{
  • "success": true
}

Affiliates

Upload grey label logos

Authorizations:
BearerAuth
Request Body schema: multipart/form-data
required
rectangularLogo
required
string <binary>
squareLogo
required
string <binary>

Responses

Response samples

Content type
application/json
{
  • "logos": {
    }
}

Get grey label logos

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "logos": {
    }
}

Delete grey label logos

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "success": true
}

Check if grey labeling is enabled

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "enabled": true
}

Update the reference key

Authorizations:
BearerAuth
Request Body schema: application/json
refKey
required
string [ 5 .. 20 ] characters

Responses

Request samples

Content type
application/json
{
  • "refKey": "string"
}

Response samples

Content type
application/json
{
  • "success": true
}

Get sources from referred customers

Retrieve a list of sources from referred customers

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
[
  • "string"
]

Affiliate Keys

Generate a new affiliate key

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "key": "string"
}

Analytics

Get downline statistics

Retrieve downline statistics for an affiliate

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "stats": [
    ]
}

Get downline statistics for admin

Retrieve downline statistics for an admin

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "stats": [
    ]
}

Banners

Get all banners

Retrieve a list of all banners

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "banners": [
    ]
}

Create a new banner

Authorizations:
BearerAuth
Request Body schema: multipart/form-data
required
name
required
string
startDate
required
string <date-time>
endDate
required
string <date-time>
link
string
linkTarget
required
string
file
required
string <binary>

Responses

Response samples

Content type
application/json
{
  • "banner": {
    }
}

Update a banner

Authorizations:
BearerAuth
path Parameters
id
required
string
Request Body schema: multipart/form-data
required
name
required
string
startDate
required
string <date-time>
endDate
required
string <date-time>
link
string
linkTarget
required
string
file
required
string <binary>

Responses

Response samples

Content type
application/json
{
  • "banner": {
    }
}

Delete a banner

Delete a banner by its ID

Authorizations:
BearerAuth
path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "success": true
}

Get the active banner

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "banner": {
    }
}

Get a banner file

Retrieve a banner file by its token

Authorizations:
BearerAuth
path Parameters
token
required
string

Responses

Bonuses

Get all bonuses

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "bonuses": [
    ]
}

Create a new bonus

Authorizations:
BearerAuth
Request Body schema: application/json
required
start
required
string <date-time>
end
required
string <date-time>
amount
required
number
type
required
string
Enum: "SIGNUP" "DEPOSIT" "DEPOSIT_PROPORTIONAL"
minimumDepositUSD
number
maximumAmountUSD
number
addToCredit
required
boolean
methods
required
Array of strings
id
required
string

Responses

Request samples

Content type
application/json
{
  • "start": "2019-08-24T14:15:22Z",
  • "end": "2019-08-24T14:15:22Z",
  • "amount": 0,
  • "type": "SIGNUP",
  • "minimumDepositUSD": 0,
  • "maximumAmountUSD": 0,
  • "addToCredit": true,
  • "methods": [
    ],
  • "id": "string"
}

Response samples

Content type
application/json
{
  • "bonus": {
    }
}

Update a bonus

Authorizations:
BearerAuth
path Parameters
id
required
string
Request Body schema: application/json
required
start
required
string <date-time>
end
required
string <date-time>
amount
required
number
type
required
string
Enum: "SIGNUP" "DEPOSIT" "DEPOSIT_PROPORTIONAL"
minimumDepositUSD
number
maximumAmountUSD
number
addToCredit
required
boolean
methods
required
Array of strings

Responses

Request samples

Content type
application/json
{
  • "start": "2019-08-24T14:15:22Z",
  • "end": "2019-08-24T14:15:22Z",
  • "amount": 0,
  • "type": "SIGNUP",
  • "minimumDepositUSD": 0,
  • "maximumAmountUSD": 0,
  • "addToCredit": true,
  • "methods": [
    ]
}

Response samples

Content type
application/json
{
  • "bonus": {
    }
}

Delete a bonus

Authorizations:
BearerAuth
path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "bonus": {
    }
}

Bookmarks

Get bookmarks for a user

Authorizations:
BearerAuth
query Parameters
limit
required
number
offset
required
number
sortBy
required
string
search
required
string

Responses

Response samples

Content type
application/json
{
  • "customers": [
    ],
  • "pages": 0
}

Remove a bookmark

Authorizations:
BearerAuth
path Parameters
id
required
string

Responses

Bookmark a customer

Authorizations:
BearerAuth
path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "success": true
}

Calls

Update VoIP URL

Update url for Voiso or Coperato provider

Authorizations:
BearerAuth
Request Body schema: application/json
required
variableValue
required
string
provider
required
string
Enum: "voiso" "coperato"

Responses

Request samples

Content type
application/json
{
  • "variableValue": "string",
  • "provider": "voiso"
}

Response samples

Content type
application/json
{
  • "success": true
}

Get current VoIP provider

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "provider": "coperato"
}

Update the VoIP provider

Authorizations:
BearerAuth
Request Body schema: application/json
required
provider
required
string
Enum: "coperato" "voiso"

Responses

Request samples

Content type
application/json
{
  • "provider": "coperato"
}

Response samples

Content type
application/json
{
  • "success": true
}

Update API key for Voiso provider

Authorizations:
BearerAuth
Request Body schema: application/json
required
variableValue
required
string
provider
required
string
Value: "voiso"

Responses

Request samples

Content type
application/json
{
  • "variableValue": "string",
  • "provider": "voiso"
}

Response samples

Content type
application/json
{
  • "success": true
}

Check if VoIP provider is available

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "available": true,
  • "provider": "voiso"
}

Get request URL for Voiso or Coperato provider

Authorizations:
BearerAuth
query Parameters
provider
required
string
Enum: "voiso" "coperato"

Responses

Response samples

Content type
application/json
{
  • "url": "string"
}

Get VoIP provider API key

Authorizations:
BearerAuth
query Parameters
provider
required
string
Value: "voiso"

Responses

Response samples

Content type
application/json
{
  • "apiKey": "string"
}

Handle webhook from Coperato provider

Authorizations:
BearerAuth
Request Body schema: application/json
required
status
string
Enum: "RINGING" "END" "ANSWERED"
duration
number
guid
string
recordingFile
string

Responses

Request samples

Content type
application/json
{
  • "status": "RINGING",
  • "duration": 0,
  • "guid": "string",
  • "recordingFile": "string"
}

Response samples

Content type
application/json
{
  • "success": true
}

Handle webhook from Voiso provider

Authorizations:
BearerAuth
Request Body schema: application/json
required
disposition
string
Enum: "answered" "no_answer" "busy" "failed"
duration
number
account_id
string

Responses

Request samples

Content type
application/json
{
  • "disposition": "answered",
  • "duration": 0,
  • "account_id": "string"
}

Configure call agent for a customer

Authorizations:
BearerAuth
path Parameters
id
required
string
Request Body schema: application/json
required
agentId
required
string
provider
required
string
Enum: "voiso" "coperato"

Responses

Request samples

Content type
application/json
{
  • "agentId": "string",
  • "provider": "voiso"
}

Response samples

Content type
application/json
{
  • "newCustomerAgentMapping": { }
}

Get customers with agents

Authorizations:
BearerAuth
query Parameters
provider
required
string
Enum: "voiso" "coperato"
offset
string
limit
string

Responses

Response samples

Content type
application/json
{
  • "customers": [
    ],
  • "pages": 0
}

Initiate a call by an agent

Authorizations:
BearerAuth
path Parameters
id
required
string

Responses

Initiate a lead call by an agent

Authorizations:
BearerAuth
path Parameters
id
required
string

Responses

Coins

Get a list of coins transactions

Authorizations:
BearerAuth
query Parameters
account
string
limit
number
offset
number
orderBy
string
object

Responses

Response samples

Content type
application/json
{
  • "transactions": [
    ],
  • "pages": 0
}

Get coins settings

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "coinsEnabled": true,
  • "dollarsPerCoin": 0
}

Update coins settings

Authorizations:
BearerAuth
Request Body schema: application/json
required
coinsEnabled
required
boolean
dollarsPerCoin
required
number

Responses

Request samples

Content type
application/json
{
  • "coinsEnabled": true,
  • "dollarsPerCoin": 0
}

Response samples

Content type
application/json
{
  • "success": true
}

Get the current exchange rate

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "effectiveRate": 0,
  • "rate": 0,
  • "currency": "string"
}

Exchange coins

Authorizations:
BearerAuth
Request Body schema: application/json
required
amount
required
number
Enum: 300 600 1200 2400 4800

Responses

Request samples

Content type
application/json
{
  • "amount": 300
}

Response samples

Content type
application/json
{
  • "errors": [
    ]
}

Get loyalty levels

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "loyaltyLevels": [
    ]
}

Get a list of commission models

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "commissionModels": [
    ]
}

Comments

Get comments for a customer

Authorizations:
BearerAuthApiKey
path Parameters
customerId
required
string

Responses

Response samples

Content type
application/json
{
  • "comments": [
    ]
}

Create a comment for a customer

Authorizations:
BearerAuth
path Parameters
customerId
required
string
Request Body schema: application/json
required
comment
required
string

Responses

Request samples

Content type
application/json
{
  • "comment": "string"
}

Response samples

Content type
application/json
{
  • "comment": {
    }
}

Commissions

Create a commission model

Authorizations:
BearerAuth
Request Body schema: application/json
required
name
required
string
greyLabelingEnabled
required
boolean
subCommissionModelId
number or null
required
Array of objects (CommissionModelLevel)

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "greyLabelingEnabled": true,
  • "subCommissionModelId": 0,
  • "commissionModelLevels": [
    ]
}

Response samples

Content type
application/json
{
  • "success": true
}

Delete a commission model

Authorizations:
BearerAuth
path Parameters
id
required
number

Responses

Response samples

Content type
application/json
{
  • "success": true
}

Update a commission model

Authorizations:
BearerAuth
path Parameters
id
required
number
Request Body schema: application/json
required
name
required
string
greyLabelingEnabled
required
boolean
subCommissionModelId
number or null
required
Array of objects (CommissionModelLevel)

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "greyLabelingEnabled": true,
  • "subCommissionModelId": 0,
  • "commissionModelLevels": [
    ]
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "subCommissionModelId": 0,
  • "subCommissionModel": { },
  • "greyLabelingEnabled": true,
  • "commissionModelLevels": [
    ],
  • "default": true
}

Get a list of commission ledgers

Authorizations:
BearerAuth
query Parameters
limit
required
number
offset
required
number
orderBy
required
string

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get a list of payout requests

Authorizations:
BearerAuth
query Parameters
limit
required
number
offset
required
number
order
required
string
statuses
Array of strings

Responses

Response samples

Content type
application/json
{
  • "payoutRequests": [
    ],
  • "count": 0
}

Reject a payout request

Authorizations:
BearerAuth
path Parameters
id
required
number
Request Body schema: application/json
required
rejectReason
string or null

Responses

Request samples

Content type
application/json
{
  • "rejectReason": "string"
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "introducerId": "string",
  • "introducer": {
    },
  • "payoutWalletId": 0,
  • "payoutWallet": {
    },
  • "requestedAt": "2019-08-24T14:15:22Z",
  • "approvedAt": "2019-08-24T14:15:22Z",
  • "rejectedAt": "2019-08-24T14:15:22Z",
  • "rejectReason": "string",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "transactionId": "string",
  • "transaction": {
    },
  • "adminId": "string",
  • "admin": {
    }
}

Get a payout request

Authorizations:
BearerAuth
path Parameters
id
required
number
query Parameters
limit
number
offset
number

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "introducerId": "string",
  • "introducer": {
    },
  • "payoutWalletId": 0,
  • "payoutWallet": {
    },
  • "requestedAt": "2019-08-24T14:15:22Z",
  • "approvedAt": "2019-08-24T14:15:22Z",
  • "rejectedAt": "2019-08-24T14:15:22Z",
  • "rejectReason": "string",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "transactionId": "string",
  • "transaction": {
    },
  • "adminId": "string",
  • "admin": {
    }
}

Approve a payout request

Authorizations:
BearerAuth
path Parameters
id
required
number

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "introducerId": "string",
  • "introducer": {
    },
  • "payoutWalletId": 0,
  • "payoutWallet": {
    },
  • "requestedAt": "2019-08-24T14:15:22Z",
  • "approvedAt": "2019-08-24T14:15:22Z",
  • "rejectedAt": "2019-08-24T14:15:22Z",
  • "rejectReason": "string",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "transactionId": "string",
  • "transaction": {
    },
  • "adminId": "string",
  • "admin": {
    }
}

Update a commission ledger

Authorizations:
BearerAuth
path Parameters
id
required
number
Request Body schema: application/json
required
correctedCommissionAmount
number
adminComments
string

Responses

Request samples

Content type
application/json
{
  • "correctedCommissionAmount": 0,
  • "adminComments": "string"
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "introducerId": "string",
  • "introducer": {
    },
  • "referralId": "string",
  • "referral": {
    },
  • "commissionType": "CPA",
  • "actionType": "FTD",
  • "actionDetails": "string",
  • "commissionAmount": 0,
  • "correctedCommissionAmount": 0,
  • "currency": "string",
  • "actionTimestamp": "2019-08-24T14:15:22Z",
  • "payoutAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "adminComments": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "adminId": "string",
  • "admin": {
    }
}

Get a commission ledger

Authorizations:
BearerAuth
path Parameters
id
required
number

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "introducerId": "string",
  • "introducer": {
    },
  • "referralId": "string",
  • "referral": {
    },
  • "commissionType": "CPA",
  • "actionType": "FTD",
  • "actionDetails": "string",
  • "commissionAmount": 0,
  • "correctedCommissionAmount": 0,
  • "currency": "string",
  • "actionTimestamp": "2019-08-24T14:15:22Z",
  • "payoutAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "adminComments": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "adminId": "string",
  • "admin": {
    }
}

Get payout requests

Authorizations:
BearerAuth
query Parameters
limit
number
offset
number
order
string
Enum: "ASC" "DESC"
statuses
Array of strings

Responses

Response samples

Content type
application/json
{
  • "payoutRequests": [
    ],
  • "count": 0
}

Check if a user has a pending payout request

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "hasPendingPayoutRequest": true
}

Get a payout request

Authorizations:
BearerAuth
path Parameters
id
required
number
query Parameters
limit
number
offset
number

Responses

Response samples

Content type
application/json
{
  • "payoutRequest": {
    }
}

Create a payout request

Authorizations:
BearerAuth
Request Body schema: application/json
required
payoutWalletId
required
number

Responses

Request samples

Content type
application/json
{
  • "payoutWalletId": 0
}

Response samples

Content type
application/json
{
  • "success": true
}

Get commission ledger records

Authorizations:
BearerAuth
query Parameters
limit
number
offset
number
order
string
Enum: "ASC" "DESC"
statuses
Array of strings
Items Enum: "PENDING" "PAIDOUT"

Responses

Response samples

Content type
application/json
{
  • "commissionLedger": [
    ]
}

Communications

Get customer communications

Authorizations:
BearerAuth
path Parameters
id
required
string
query Parameters
limit
number
offset
number

Responses

Response samples

Content type
application/json
{
  • "communications": [
    ],
  • "count": 0
}

Competitions

Get a list of competitions

Authorizations:
BearerAuth
query Parameters
search
string
limit
number
offset
number
sortBy
string

Responses

Response samples

Content type
application/json
{
  • "competitions": [
    ],
  • "pages": 0
}

Create a new competition

Authorizations:
BearerAuth
Request Body schema: application/json
required
description
required
string
start
required
string <date-time>
end
required
string <date-time>
firstPrizeInUSD
required
number
secondPrizeInUSD
number or null
thirdPrizeInUSD
number or null
type
required
string
Enum: "PROFITLOSS" "PROFIT"
tcLink
string or null
promoted
required
boolean

Responses

Request samples

Content type
application/json
{
  • "description": "string",
  • "start": "2019-08-24T14:15:22Z",
  • "end": "2019-08-24T14:15:22Z",
  • "firstPrizeInUSD": 0,
  • "secondPrizeInUSD": 0,
  • "thirdPrizeInUSD": 0,
  • "type": "PROFITLOSS",
  • "tcLink": "string",
  • "promoted": true
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "description": "string",
  • "start": "2019-08-24T14:15:22Z",
  • "end": "2019-08-24T14:15:22Z",
  • "prizes": [
    ],
  • "tcLink": "string",
  • "type": "string",
  • "promoted": true
}

Get the current competition

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "competition": {
    },
  • "participation": {
    },
  • "leaderboard": [
    ]
}

Get a specific competition by ID

Authorizations:
BearerAuth
path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "competition": {
    },
  • "leaderboard": [
    ]
}

Update a competition

Authorizations:
BearerAuth
path Parameters
id
required
string
Request Body schema: application/json
required
description
required
string
start
required
string <date-time>
end
required
string <date-time>
firstPrizeInUSD
required
number
secondPrizeInUSD
number or null
thirdPrizeInUSD
number or null
tcLink
string or null
promoted
required
boolean

Responses

Request samples

Content type
application/json
{
  • "description": "string",
  • "start": "2019-08-24T14:15:22Z",
  • "end": "2019-08-24T14:15:22Z",
  • "firstPrizeInUSD": 0,
  • "secondPrizeInUSD": 0,
  • "thirdPrizeInUSD": 0,
  • "tcLink": "string",
  • "promoted": true
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "description": "string",
  • "start": "2019-08-24T14:15:22Z",
  • "end": "2019-08-24T14:15:22Z",
  • "prizes": [
    ],
  • "tcLink": "string",
  • "type": "string",
  • "promoted": true
}

Delete a competition

Authorizations:
BearerAuth
path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "success": true
}

Get current competition ranks

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "ranks": {
    }
}

Join the current competition

Authorizations:
BearerAuth
Request Body schema: application/json
required
nickname
required
string

Responses

Request samples

Content type
application/json
{
  • "nickname": "string"
}

Response samples

Content type
application/json
{
  • "participation": {
    },
  • "competition": {
    },
  • "ranks": [
    ]
}

Leave the current competition

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "description": "string",
  • "start": "2019-08-24T14:15:22Z",
  • "end": "2019-08-24T14:15:22Z",
  • "prizes": [
    ],
  • "tcLink": "string",
  • "type": "string",
  • "promoted": true
}

Get the last used nickname in the competition

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "nickname": "string"
}

Conversions

List all currency conversions

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a new currency conversion

Authorizations:
BearerAuth
Request Body schema: application/json
required
target
required
string
source
required
string
path
required
string

Responses

Request samples

Content type
application/json
{
  • "target": "string",
  • "source": "string",
  • "path": "string"
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "target": "string",
  • "source": "string",
  • "path": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Get a specific currency conversion by ID

Authorizations:
BearerAuth
path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "target": "string",
  • "source": "string",
  • "path": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Update a specific currency conversion by ID

Authorizations:
BearerAuth
path Parameters
id
required
string
Request Body schema: application/json
required
path
string

Responses

Request samples

Content type
application/json
{
  • "path": "string"
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "target": "string",
  • "source": "string",
  • "path": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Delete a specific currency conversion by ID

Authorizations:
BearerAuth
path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "success": true
}

Copytrading

Get all strategies

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "count": 0,
  • "strategies": [
    ]
}

Create a new strategy

Authorizations:
BearerAuth
Request Body schema: application/json
required
name
required
string
description
string

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "description": "string"
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "description": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Get user's own strategies

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "count": 0,
  • "strategies": [
    ]
}

Get strategies followed by the user

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "count": 0,
  • "strategies": [
    ]
}

Get a specific strategy by ID

Authorizations:
BearerAuth
path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "description": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Follow a specific strategy by ID

Authorizations:
BearerAuth
path Parameters
id
required
string
Request Body schema: application/json
required
investmentAmount
required
number

Responses

Request samples

Content type
application/json
{
  • "investmentAmount": 0
}

Response samples

Content type
application/json
{
  • "result": {
    }
}

Countries

Update a country

Authorizations:
BearerAuth
path Parameters
id
required
string
Request Body schema: application/json
required
toggle
required
boolean

Responses

Request samples

Content type
application/json
{
  • "toggle": true
}

Response samples

Content type
application/json
{
  • "country": {
    }
}

Get all countries

Responses

Response samples

Content type
application/json
{
  • "countries": [
    ]
}

Customers - Affiliate APIs

AffiliateCreateCustomer

This API enables creation of customers for affiliates via third party systems. Password is optional and will be auto-generated if not provided. Returns a depositUrl with an embedded auto-login token that allows the customer to access the deposit page without manual login.

Authorizations:
BearerAuthApiKey
Request Body schema: application/json
required
externalId
string or null

Optional - Unique identifier in your system to track and query the customer

firstname
string
lastname
string
mobilenumber
string
email
string <email>
wtreferrer
string or null
country
string
password
string or null

Optional - will be auto-generated if not provided

communicationLanguage
string
skipOnboardingSteps
Array of strings
Items Enum: "SignupDemoForm" "SignupRealForm" "CompleteAccountBeforeDepositForm" "CompleteAccountBeforeWithdrawalForm" "EmailConfirmation" "KYC" "PhoneConfirmation" "DisclaimerBeforeDeposit"
source
string

Responses

Request samples

Content type
application/json
{
  • "externalId": "Optional - Id in your system as string, which you can later use to identify the customer via GET /affiliates/customers endpoint",
  • "firstname": "John",
  • "lastname": "Doe",
  • "mobilenumber": "+015500475947",
  • "email": "johndoe@gmail.com",
  • "password": "JohnDoe500",
  • "wtreferrer": "0BaHeZI1Je",
  • "country": "HR",
  • "communicationLanguage": "en",
  • "skipOnboardingSteps": [
    ],
  • "source": "FB"
}

Response samples

Content type
application/json
{
  • "redirectUrl": "string",
  • "refreshToken": "string",
  • "id": "string",
  • "success": true,
  • "depositUrl": "string"
}

AffiliateGetCustomers

Retrieves all customers that are referred by requesting user

Authorizations:
BearerAuthApiKey
query Parameters
limit
required
string

to limit amount of customers displayed per request

offset
required
string

from which record to start listing customers

orderBy
required
string

example name|ASC where name is a column and ASC/DESC is sort order

search
string

to search by name or account id

externalId
string

to search by id in your system

updatedSince
string

show only results that were updated since provided date(E.G. 2023-09-13)

updatedTo
string

show only results that were updated up to provided date(E.G. 2023-09-13)

sources
Array of strings

Responses

Response samples

Content type
application/json
{
  • "pages": 0.1,
  • "customers": [
    ]
}

AffiliateUpdateCustomer

Updates a referral Pass notes in body to add or update notes

Authorizations:
BearerAuthApiKey
path Parameters
id
required
string
Request Body schema: application/json
required
source
string
notes
string

Responses

Request samples

Content type
application/json
{
  • "source": "string",
  • "notes": "string"
}

Response samples

Content type
application/json
{
  • "customer": {
    }
}

Show

Get referral and all it's values

Authorizations:
BearerAuthApiKey
path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "customer": {
    }
}

CountForExport

Get count of how many customers there are, used for export

Authorizations:
BearerAuthApiKey

Responses

Response samples

Content type
application/json
{
  • "count": 0.1
}

ExportCSV

Exports referrals in csv

Authorizations:
BearerAuthApiKey

Responses

Get affiliate wallet and transactions

Get the affiliate's wallet balance and all transaction history. This includes commission earnings, withdrawals, and other wallet activities.

Authorizations:
BearerAuthApiKey

Responses

Response samples

Content type
application/json
{
  • "wallet": {
    },
  • "transactions": [
    ]
}

Customers - Admin APIs

Get all customers

Authorizations:
ApiKeyBearerAuth
query Parameters
offset
number >= 0
limit
number >= 0
search
string
sortBy
string
country
string
group
string
lastActivityStart
string <date-time>
lastActivityEnd
string <date-time>
registrationStart
string <date-time>
registrationEnd
string <date-time>
selectedStatuses
Array of strings
selectedKycStatuses
Array of strings
roles
Array of strings
sources
Array of strings
depositCount
string
salesStatus
string
activity
string
positions
string
introducerId
string
updatedSince
string <date-time>
riskStatus
string
retentionAgents
Array of strings
conversionAgents
Array of strings

Responses

Response samples

Content type
application/json
{
  • "customers": [
    ],
  • "count": 0
}

Create a new customer

Authorizations:
ApiKeyBearerAuth
Request Body schema: application/json
required
fullname
required
string
mobilenumber
required
string
country
required
string
email
required
string
currency
required
string
wants_to_become_leader
boolean

Responses

Request samples

Content type
application/json
{
  • "fullname": "string",
  • "mobilenumber": "string",
  • "country": "string",
  • "email": "string",
  • "currency": "string",
  • "wants_to_become_leader": true
}

Response samples

Content type
application/json
{
  • "success": true
}

Get customer IDs

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "customersIds": [
    ]
}

Bulk update customers

Authorizations:
ApiKeyBearerAuth
Request Body schema: application/json
required
Array of objects (UpdateCustomerDTO)
Array
fullname
string
mobilenumber
string
country
string
email
string
currency
string
roles
Array of strings
groups
Array of strings

Responses

Request samples

Content type
application/json
{
  • "customers": [
    ]
}

Response samples

Content type
application/json
{
  • "success": true
}

Get a specific customer by ID

Authorizations:
BearerAuth
path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "level": 0,
  • "accountId": "string",
  • "name": "string",
  • "firstname": "string",
  • "lastname": "string",
  • "email": "user@example.com",
  • "mobilenumber": "string",
  • "depositTotal": 0,
  • "totalCoinsEarned": 0,
  • "country": "string",
  • "countryName": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "status": "ACTIVE",
  • "appInstalledAt": "2019-08-24T14:15:22Z",
  • "lastLoginDate": "2019-08-24T14:15:22Z",
  • "totalLogins": 0,
  • "notes": "string",
  • "roles": [
    ],
  • "availableContactMethods": [
    ],
  • "totalReferrals": 0,
  • "documentCount": 0,
  • "kycStatus": "PENDING",
  • "kycReviewedById": "string",
  • "kycReviewedByName": "string",
  • "kycReviewedAt": "2019-08-24T14:15:22Z",
  • "affiliateId": "string",
  • "referrer": "string",
  • "conversionAgent": {
    },
  • "retentionAgent": {
    },
  • "salesDesk": {
    },
  • "salesStatusName": "string",
  • "lastTradingActivityDate": "2019-08-24T14:15:22Z",
  • "totalVolumeTraded": 0,
  • "tradeVolumeLastWeek": 0,
  • "tradeVolumeOpen": 0,
  • "confirmedAt": "2019-08-24T14:15:22Z",
  • "commissionScheme": {
    },
  • "communicationLanguage": "string",
  • "isBookmarked": true,
  • "affiliateBalance": "string",
  • "positionsCount": 0,
  • "hasFTD": true,
  • "lastActive": "2019-08-24T14:15:22Z",
  • "riskStatus": "REVIEW",
  • "source": "string",
  • "withdrawalTotal": 0,
  • "lastDepositDate": "2019-08-24T14:15:22Z",
  • "lastCommentDate": "2019-08-24T14:15:22Z",
  • "lastContactDate": "2019-08-24T14:15:22Z",
  • "commissionsGranted": 0,
  • "commissionsEarned": 0,
  • "sumSubDetails": {
    },
  • "terminationRequestedAt": "2019-08-24T14:15:22Z",
  • "groups": [
    ]
}

Update a specific customer by ID

Authorizations:
ApiKeyBearerAuth
path Parameters
id
required
string
Request Body schema: application/json
required
fullname
string
mobilenumber
string
country
string
email
string
currency
string
roles
Array of strings
groups
Array of strings

Responses

Request samples

Content type
application/json
{
  • "fullname": "string",
  • "mobilenumber": "string",
  • "country": "string",
  • "email": "string",
  • "currency": "string",
  • "roles": [
    ],
  • "groups": [
    ]
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "level": 0,
  • "accountId": "string",
  • "name": "string",
  • "firstname": "string",
  • "lastname": "string",
  • "email": "user@example.com",
  • "mobilenumber": "string",
  • "depositTotal": 0,
  • "totalCoinsEarned": 0,
  • "country": "string",
  • "countryName": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "status": "ACTIVE",
  • "appInstalledAt": "2019-08-24T14:15:22Z",
  • "lastLoginDate": "2019-08-24T14:15:22Z",
  • "totalLogins": 0,
  • "notes": "string",
  • "roles": [
    ],
  • "availableContactMethods": [
    ],
  • "totalReferrals": 0,
  • "documentCount": 0,
  • "kycStatus": "PENDING",
  • "kycReviewedById": "string",
  • "kycReviewedByName": "string",
  • "kycReviewedAt": "2019-08-24T14:15:22Z",
  • "affiliateId": "string",
  • "referrer": "string",
  • "conversionAgent": {
    },
  • "retentionAgent": {
    },
  • "salesDesk": {
    },
  • "salesStatusName": "string",
  • "lastTradingActivityDate": "2019-08-24T14:15:22Z",
  • "totalVolumeTraded": 0,
  • "tradeVolumeLastWeek": 0,
  • "tradeVolumeOpen": 0,
  • "confirmedAt": "2019-08-24T14:15:22Z",
  • "commissionScheme": {
    },
  • "communicationLanguage": "string",
  • "isBookmarked": true,
  • "affiliateBalance": "string",
  • "positionsCount": 0,
  • "hasFTD": true,
  • "lastActive": "2019-08-24T14:15:22Z",
  • "riskStatus": "REVIEW",
  • "source": "string",
  • "withdrawalTotal": 0,
  • "lastDepositDate": "2019-08-24T14:15:22Z",
  • "lastCommentDate": "2019-08-24T14:15:22Z",
  • "lastContactDate": "2019-08-24T14:15:22Z",
  • "commissionsGranted": 0,
  • "commissionsEarned": 0,
  • "sumSubDetails": {
    },
  • "terminationRequestedAt": "2019-08-24T14:15:22Z",
  • "groups": [
    ]
}

Send an email to a specific customer by ID

Authorizations:
BearerAuth
path Parameters
id
required
string
Request Body schema: application/json
required
subject
required
string
body
required
string

Responses

Request samples

Content type
application/json
{
  • "subject": "string",
  • "body": "string"
}

Response samples

Content type
application/json
{
  • "message": "string"
}

Get customer documents

Authorizations:
BearerAuth
path Parameters
id
required
string

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Upload document for customer

Authorizations:
BearerAuth
path Parameters
id
required
string
query Parameters
userId
required
string
Request Body schema: multipart/form-data
required
file
string <binary>

Responses

Response samples

Content type
application/json
{
  • "documents": [
    ],
  • "customer": {
    }
}

Approve KYC for customer

Authorizations:
BearerAuth
path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "customer": {
    }
}

Revoke KYC for customer

Authorizations:
BearerAuth
path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "customer": {
    }
}

Reset KYC for customer

Authorizations:
BearerAuth
path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "customer": {
    }
}

Customers

Get customer loyalty level

Authorizations:
BearerAuth
path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "currentLevel": 0,
  • "currentLevelName": "string",
  • "totalCoinsMonth": 0,
  • "awardedAt": "2019-08-24T14:15:22Z",
  • "validUntil": "2019-08-24T14:15:22Z",
  • "coinsRequiredToRetain": 0,
  • "coinsUntilNextLevel": 0,
  • "currentLevelRealMoney": true
}

Customer Field Configurations

Get all customer field configurations

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "customerFieldConfigurations": [
    ]
}

Update customer field configurations

Authorizations:
BearerAuth
Request Body schema: application/json
required
Array of objects (CustomerFieldConfiguration)
Array
field
string
step
string or null
required
boolean
editable
boolean

Responses

Request samples

Content type
application/json
{
  • "customerFieldConfigurations": [
    ]
}

Response samples

Content type
application/json
{
  • "customerFieldConfigurations": [
    ]
}

Dashboard

Get dashboard data

Authorizations:
BearerAuth
query Parameters
periodStart
required
string <date-time>
periodEnd
required
string <date-time>

Responses

Response samples

Content type
application/json
{
  • "totalRegistrations": 0,
  • "totalDeposits": 0,
  • "totalCoins": 0,
  • "totalMessages": 0,
  • "totalDownloads": 0,
  • "pendingPayouts": 0,
  • "registrationsChart": [
    ],
  • "depositsChart": [
    ],
  • "loginsChart": [
    ],
  • "tradesPositionsChart": [
    ]
}

Get affiliate dashboard data

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "signUpsLastMonth": 0,
  • "signupsThisMonth": 0,
  • "earningsLastMonth": 0,
  • "earningsThisMonth": 0,
  • "cpasLastMonth": 0,
  • "cpasThisMonth": 0,
  • "volumesLastMonth": 0,
  • "volumesThisMonth": 0,
  • "totalBalance": 0,
  • "unpaidBalance": 0,
  • "totalLoginsLastMonth": 0,
  • "totalLoginsThisMonth": 0,
  • "last5SignIns": [
    ]
}

Documents

Get file by token

path Parameters
token
required
string

Responses

Upload document

Authorizations:
BearerAuth
Request Body schema: multipart/form-data
required
file
string <binary>

Responses

Response samples

Content type
application/json
{
  • "success": true
}

Get KYC status

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "status": "string"
}

Downtimes

Get list of downtimes

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "count": 0,
  • "downtimes": [
    ]
}

Create a new downtime

Authorizations:
BearerAuth
Request Body schema: application/json
required
startDate
required
string <date-time>
endDate
required
string <date-time>
title
required
string
symbols
required
Array of strings

Responses

Request samples

Content type
application/json
{
  • "startDate": "2019-08-24T14:15:22Z",
  • "endDate": "2019-08-24T14:15:22Z",
  • "title": "string",
  • "symbols": [
    ]
}

Response samples

Content type
application/json
{
  • "downtime": { }
}

Get downtime by ID

Authorizations:
BearerAuth
path Parameters
id
required
number

Responses

Response samples

Content type
application/json
{
  • "downtime": { }
}

Update downtime by ID

Authorizations:
BearerAuth
path Parameters
id
required
number
Request Body schema: application/json
required
startDate
required
string <date-time>
endDate
required
string <date-time>
title
required
string
symbols
required
Array of strings

Responses

Request samples

Content type
application/json
{
  • "startDate": "2019-08-24T14:15:22Z",
  • "endDate": "2019-08-24T14:15:22Z",
  • "title": "string",
  • "symbols": [
    ]
}

Response samples

Content type
application/json
{
  • "downtime": { }
}

Delete downtime by ID

Authorizations:
BearerAuth
path Parameters
id
required
number

Responses

Emails

Get emails

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "emails": [
    ]
}

Create email template

Authorizations:
BearerAuth
Request Body schema: application/json
required
enabled
required
boolean
title
required
string
subject
string
mjml
string
txt
string
trigger
required
string
conditions
required
object

Responses

Request samples

Content type
application/json
{
  • "enabled": true,
  • "title": "string",
  • "subject": "string",
  • "mjml": "string",
  • "txt": "string",
  • "trigger": "string",
  • "conditions": { }
}

Response samples

Content type
application/json
{
  • "success": true
}

Get email triggers

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "triggers": [
    ]
}

Get email template by ID

Authorizations:
BearerAuth
path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "email": {
    }
}

Update email template by ID

Authorizations:
BearerAuth
path Parameters
id
required
string
Request Body schema: application/json
required
subject
string
mjml
string
txt
string
enabled
boolean
trigger
string
title
string
conditions
object

Responses

Request samples

Content type
application/json
{
  • "subject": "string",
  • "mjml": "string",
  • "txt": "string",
  • "enabled": true,
  • "trigger": "string",
  • "title": "string",
  • "conditions": { }
}

Response samples

Content type
application/json
{
  • "updatedTemplate": {
    }
}

Delete email template by ID

Authorizations:
BearerAuth
path Parameters
id
required
string

Responses

Send test email

Authorizations:
BearerAuth
path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "success": "string"
}

Exchange Rate

Get exchange rate

Authorizations:
BearerAuth
query Parameters
method
required
string

The method for currency conversion

amount
required
number

The amount to convert

Responses

Response samples

Content type
application/json
{
  • "exchangeRate": 0
}

Create exchange rate

Authorizations:
BearerAuth
Request Body schema: application/json
required
fromCurrency
required
string
toCurrency
required
string
source
required
string
rate
number

Responses

Request samples

Content type
application/json
{
  • "fromCurrency": "string",
  • "toCurrency": "string",
  • "source": "string",
  • "rate": 0
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "fromCurrency": "string",
  • "toCurrency": "string",
  • "source": "string",
  • "rate": 0
}

Get all exchange rates

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Update exchange rate by ID

Authorizations:
BearerAuth
path Parameters
id
required
string
Request Body schema: application/json
required
fromCurrency
required
string
toCurrency
required
string
source
required
string
rate
number

Responses

Request samples

Content type
application/json
{
  • "fromCurrency": "string",
  • "toCurrency": "string",
  • "source": "string",
  • "rate": 0
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "fromCurrency": "string",
  • "toCurrency": "string",
  • "source": "string",
  • "rate": 0
}

Forgot Password

Request password reset

Authorizations:
BearerAuth
Request Body schema: application/json
required
contact
required
string

Responses

Request samples

Content type
application/json
{
  • "contact": "string"
}

Response samples

Content type
application/json
{
  • "success": true
}

Reset customer password

Authorizations:
BearerAuth
Request Body schema: application/json
required
reset_token
required
string
password
required
string
password_confirmation
required
string

Responses

Request samples

Content type
application/json
{
  • "reset_token": "string",
  • "password": "string",
  • "password_confirmation": "string"
}

Response samples

Content type
application/json
{
  • "success": true
}

Forms

Get form attribute configurations for a specific step

path Parameters
step
required
string
Enum: "SignupDemoForm" "SignupRealForm" "CompleteAccountBeforeDepositForm" "CompleteAccountBeforeWithdrawalForm" "EmailConfirmation" "KYC" "PhoneConfirmation" "DisclaimerBeforeDeposit"

Responses

Response samples

Content type
application/json
{
  • "customerFieldConfigurations": [
    ]
}

Group Messages

Get group messages

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "messages": [
    ]
}

Create group message

Authorizations:
BearerAuth
Request Body schema: application/json
required
text
required
string
subject
required
string
type
required
string
targetGroupId
required
number

Responses

Request samples

Content type
application/json
{
  • "text": "string",
  • "subject": "string",
  • "type": "string",
  • "targetGroupId": 0
}

Response samples

Content type
application/json
{
  • "success": true,
  • "message": {
    }
}

Get groups

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "groups": [
    ]
}

Create group

Authorizations:
BearerAuth
Request Body schema: application/json
required
name
required
string
leverage
required
number
currency
required
string
adapterName
required
string
disableSwapCharges
required
boolean

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "leverage": 0,
  • "currency": "string",
  • "adapterName": "string",
  • "disableSwapCharges": true
}

Response samples

Content type
application/json
{
  • "success": true
}

Get group by ID

Authorizations:
BearerAuth
path Parameters
id
required
number

Responses

Response samples

Content type
application/json
{
  • "group": {
    }
}

Update group by ID

Authorizations:
BearerAuth
path Parameters
id
required
number
Request Body schema: application/json
required
leverage
required
number
markups
required
Array of objects
commissions
required
Array of objects
marginCallLevel
required
number
stopOutLevel
required
number
adapterName
required
string
disableSwapCharges
required
boolean

Responses

Request samples

Content type
application/json
{
  • "leverage": 0,
  • "markups": [
    ],
  • "commissions": [
    ],
  • "marginCallLevel": 0,
  • "stopOutLevel": 0,
  • "adapterName": "string",
  • "disableSwapCharges": true
}

Response samples

Content type
application/json
{
  • "group": {
    }
}

Delete group by ID

Authorizations:
BearerAuth
path Parameters
id
required
number

Responses

Response samples

Content type
application/json
{
  • "success": "string"
}

Health

Health check

Responses

Response samples

Content type
application/json
{
  • "success": true
}

Instruments

Get instruments

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "instruments": [
    ]
}

Create instrument

Authorizations:
BearerAuth
Request Body schema: application/json
required
symbol
required
string
marginCurrency
required
string
currency
required
string
category
required
string
Enum: "currencies" "indices" "commodities" "cryptos" "equities"
decimals
required
number
profitCalcMode
required
string
Enum: "FOREX" "CFD"
marginCalcMode
required
string
Enum: "FOREX" "CFD"
required
Array of objects
marginPercentage
required
number
hedgedMarginPercentage
required
number
required
Array of objects
swapMode
required
string
Enum: "POINTS" "DISABLED"
swapLong
required
number
swapShort
required
number
swap3DayWeekday
number or null
stakeMode
required
string
contractSize
required
number
minOrderSize
required
string
maxOrderSize
required
string
status
required
string
sort
number
filename
string or null
file
string or null

Responses

Request samples

Content type
application/json
{
  • "symbol": "string",
  • "marginCurrency": "string",
  • "currency": "string",
  • "category": "currencies",
  • "decimals": 0,
  • "profitCalcMode": "FOREX",
  • "marginCalcMode": "FOREX",
  • "sizes": [
    ],
  • "marginPercentage": 0,
  • "hedgedMarginPercentage": 0,
  • "tradingHours": [
    ],
  • "swapMode": "POINTS",
  • "swapLong": 0,
  • "swapShort": 0,
  • "swap3DayWeekday": 0,
  • "stakeMode": "string",
  • "contractSize": 0,
  • "minOrderSize": "string",
  • "maxOrderSize": "string",
  • "status": "string",
  • "sort": 0,
  • "filename": "string",
  • "file": "string"
}

Response samples

Content type
application/json
{
  • "instrument": {
    }
}

Get instrument symbols

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "symbols": [
    ]
}

Get instrument by symbol

Authorizations:
BearerAuth
path Parameters
symbol
required
string

Responses

Response samples

Content type
application/json
{
  • "instrument": {
    }
}

Update instrument by symbol

Authorizations:
BearerAuth
path Parameters
symbol
required
string
Request Body schema: application/json
required
symbol
required
string
marginCurrency
required
string
currency
required
string
category
required
string
Enum: "currencies" "indices" "commodities" "cryptos" "equities"
decimals
required
number
profitCalcMode
required
string
Enum: "FOREX" "CFD"
marginCalcMode
required
string
Enum: "FOREX" "CFD"
required
Array of objects
marginPercentage
required
number
hedgedMarginPercentage
required
number
required
Array of objects
swapMode
required
string
Enum: "POINTS" "DISABLED"
swapLong
required
number
swapShort
required
number
swap3DayWeekday
number or null
stakeMode
required
string
contractSize
required
number
minOrderSize
required
string
maxOrderSize
required
string
status
required
string
sort
number
filename
string or null
file
string or null

Responses

Request samples

Content type
application/json
{
  • "symbol": "string",
  • "marginCurrency": "string",
  • "currency": "string",
  • "category": "currencies",
  • "decimals": 0,
  • "profitCalcMode": "FOREX",
  • "marginCalcMode": "FOREX",
  • "sizes": [
    ],
  • "marginPercentage": 0,
  • "hedgedMarginPercentage": 0,
  • "tradingHours": [
    ],
  • "swapMode": "POINTS",
  • "swapLong": 0,
  • "swapShort": 0,
  • "swap3DayWeekday": 0,
  • "stakeMode": "string",
  • "contractSize": 0,
  • "minOrderSize": "string",
  • "maxOrderSize": "string",
  • "status": "string",
  • "sort": 0,
  • "filename": "string",
  • "file": "string"
}

Response samples

Content type
application/json
{
  • "instrument": {
    }
}

Delete instrument by symbol

Authorizations:
BearerAuth
path Parameters
symbol
required
string

Responses

Response samples

Content type
application/json
{
  • "success": "string"
}

Sort instruments

Authorizations:
BearerAuth
Request Body schema: application/json
required
additionalProperties
number

Responses

Request samples

Content type
application/json
{
  • "additionalProperties": 0
}

Response samples

Content type
application/json
{
  • "instruments": [
    ]
}

Export instruments to XLSX

Authorizations:
BearerAuth
query Parameters
token
required
string

Responses

Get user instruments information

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "instruments": [
    ]
}

KYC

Get user's KYC status

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "status": "PENDING"
}

Get user's SumSub token

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "token": "string"
}

Get SumSub enabled status

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "value": true
}

Handle SumSub webhook

Request Body schema: application/json
required
success
boolean

Responses

Request samples

Content type
application/json
{
  • "success": true
}

Response samples

Content type
application/json
{
  • "success": true
}

Landing Pages

Get affiliate landing pages

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "landing_pages": [
    ]
}

Leads

List leads

Authorizations:
BearerAuthApiKey
query Parameters
limit
required
number
offset
required
number
orderBy
required
string
required
object (FetchLeadFilters)
search
string

Responses

Response samples

Content type
application/json
{
  • "leads": [
    ],
  • "pages": 0,
  • "count": 0
}

Get sales people

Authorizations:
BearerAuthApiKey

Responses

Response samples

Content type
application/json
{
  • "salesPeople": [
    ]
}

Check signup code

query Parameters
code
required
string

Responses

Response samples

Content type
application/json
{
  • "code": "string"
}

Get lead sources

Authorizations:
BearerAuthApiKey

Responses

Response samples

Content type
application/json
[
  • "string"
]

Get lead by ID

Authorizations:
BearerAuthApiKey
path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "canBeCalled": true,
  • "name": "string",
  • "email": "string",
  • "mobilenumber": "string",
  • "source": "string",
  • "salesStatus": "string",
  • "lastContactAt": "2019-08-24T14:15:22Z",
  • "salesPersonId": "string",
  • "id": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "salesPerson": {
    }
}

Upload leads from CSV

Authorizations:
BearerAuthApiKey

Responses

Response samples

Content type
application/json
{
  • "saved": "string"
}

Create comment on lead

Authorizations:
BearerAuthApiKey
path Parameters
id
required
string
Request Body schema: application/json
required
comment
required
string

Responses

Request samples

Content type
application/json
{
  • "comment": "string"
}

Response samples

Content type
application/json
{
  • "comment": {
    }
}

List comments on lead

Authorizations:
BearerAuthApiKey
path Parameters
id
required
string

Responses

Response samples

Content type
application/json
[
  • {
    }
]

List communications related to lead

Authorizations:
BearerAuthApiKey
path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "communications": [
    ]
}

Claim lead by ID

Authorizations:
BearerAuthApiKey
path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "lead": {
    }
}

Bulk edit leads

Authorizations:
BearerAuthApiKey
Request Body schema: application/json
required
selectedStatus
number or null
selectedSalesPerson
string or null
search
string or null
statuses
Array of strings

List of statuses

salesPeople
Array of strings

List of sales people

sources
Array of strings

List of sources

onlyAssignedToMe
boolean

Filter for assignments to the user

country
string^[A-Z]{2}$

Country code (ISO 3166-1 alpha-2)

modifiedBefore
string

Filter for modifications before a specific date

modifiedAfter
string

Filter for modifications after a specific date

Responses

Request samples

Content type
application/json
{
  • "selectedStatus": 0,
  • "selectedSalesPerson": "string",
  • "search": "string",
  • "statuses": [
    ],
  • "salesPeople": [
    ],
  • "sources": [
    ],
  • "onlyAssignedToMe": true,
  • "country": "string",
  • "modifiedBefore": "string",
  • "modifiedAfter": "string"
}

Response samples

Content type
application/json
{
  • "success": true
}

Assign sales person to lead

Authorizations:
BearerAuthApiKey
path Parameters
id
required
string
Request Body schema: application/json
required
salesPersonId
string

Responses

Request samples

Content type
application/json
{
  • "salesPersonId": "string"
}

Response samples

Content type
application/json
{
  • "lead": {
    }
}

Send email to lead

Authorizations:
BearerAuthApiKey
path Parameters
id
required
string
Request Body schema: application/json
required
subject
required
string
body
required
string

Responses

Request samples

Content type
application/json
{
  • "subject": "string",
  • "body": "string"
}

Response samples

Content type
application/json
{
  • "message": "string"
}

Create a lead

Request Body schema: application/json
required
name
string
email
string or null <email>
mobilenumber
string or null
source
string

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "email": "user@example.com",
  • "mobilenumber": "string",
  • "source": "string"
}

Response samples

Content type
application/json
{
  • "lead": {
    }
}

Market Data

Get market data for a given interval

Authorizations:
BearerAuth
path Parameters
interval
required
string

The interval for which to get market data

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Mass Bonuses

Create a mass bonus

Authorizations:
BearerAuth
Request Body schema: application/json
required
name
string
currency
string
Value: "USD"
addToCredit
boolean
amount
number
accounts
string

Wallet usernames separated by comma

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "currency": "USD",
  • "addToCredit": true,
  • "amount": 0,
  • "accounts": "string"
}

Response samples

Content type
application/json
{
  • "result": {
    }
}

Messages

Send a message to specific customers

Authorizations:
BearerAuthApiKey
Request Body schema: application/json
required
message
required
string
customers
required
Array of strings
subject
required
string

Responses

Request samples

Content type
application/json
{
  • "message": "string",
  • "customers": [
    ],
  • "subject": "string"
}

Response samples

Content type
application/json
{
  • "messageRecipients": 0
}

Send a message to all customers

Authorizations:
BearerAuthApiKey
Request Body schema: application/json
required
message
string
subject
string

Responses

Request samples

Content type
application/json
{
  • "message": "string",
  • "subject": "string"
}

Response samples

Content type
application/json
{
  • "messageRecipients": 0
}

Get messages for a specific customer

Authorizations:
BearerAuth
path Parameters
customerId
required
string

The ID of the customer

Responses

Response samples

Content type
application/json
{
  • "messages": [
    ]
}

Send a message to a specific customer

Authorizations:
BearerAuth
path Parameters
customerId
required
string

The ID of the customer

Request Body schema: application/json
required
text
string
subject
string
type
string
Enum: "Message" "Push"

Responses

Request samples

Content type
application/json
{
  • "text": "string",
  • "subject": "string",
  • "type": "Message"
}

Response samples

Content type
application/json
{
  • "success": true,
  • "message": {
    }
}

Get unread message count

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "unreadCount": 0
}

List messages

Authorizations:
BearerAuthApiKey
query Parameters
limit
string
offset
string

Responses

Response samples

Content type
application/json
{
  • "messages": [
    ],
  • "pagination": {
    }
}

Get message by ID

Authorizations:
BearerAuth
path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "senderId": "string",
  • "recipientId": "string",
  • "groupIdMessage": "string",
  • "text": "string",
  • "subject": "string",
  • "readAt": "2019-08-24T14:15:22Z",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "viaPush": true,
  • "actions": [
    ]
}

Mark message as read

Authorizations:
BearerAuth
path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "success": true
}

OAuth

Redirect to Cashier for authorization

query Parameters
client_id
string
redirect_uri
string
response_type
string
scope
string
state
string

Responses

Response samples

Content type
application/json
{
  • "error": "string"
}

Request access token

Request Body schema: application/x-www-form-urlencoded
required
client_id
string
client_secret
string
grant_type
string
Enum: "authorization_code" "refresh_token"
code
string
refresh_token
string
redirect_uri
string

Responses

Response samples

Content type
application/json
{
  • "access_token": "string",
  • "token_type": "string",
  • "expires_in": 0,
  • "refresh_token": "string"
}

Logout and redirect

Request Body schema: application/json
required
refreshToken
string
redirectUri
string

Responses

Request samples

Content type
application/json
{
  • "refreshToken": "string",
  • "redirectUri": "string"
}

Response samples

Content type
application/json
{
  • "redirectUri": "string"
}

Onboarding Step Configuration

Get all onboarding step configurations

Responses

Response samples

Content type
application/json
{
  • "configurations": [
    ]
}

Get all onboarding stages

Responses

Response samples

Content type
application/json
{
  • "stages": [
    ]
}

Update onboarding step configuration

path Parameters
step
required
string
Request Body schema: application/json
required
stage
string

Responses

Request samples

Content type
application/json
{
  • "stage": "string"
}

Response samples

Content type
application/json
{
  • "success": true
}

Get pending onboarding steps for the authenticated user for a specific stage

Authorizations:
BearerAuth
path Parameters
stage
required
string
Enum: "SignUp" "BeforeSignIn" "BeforeDeposit" "BeforeWithdrawal"

The stage of the onboarding process

Responses

Response samples

Content type
application/json
{
  • "steps": [
    ]
}

Orders

Get orders

query Parameters
limit
number

Number of items to return (default is 10)

offset
number

Number of items to skip (default is 0)

search
string

Search keyword

statuses
Array of strings

Filter by order statuses

types
Array of strings

Filter by order types

accountId
string

Filter by account ID

symbols
Array of strings

Filter by symbols

Responses

Response samples

Content type
application/json
{
  • "orders": [
    ],
  • "count": 0
}

Get order by ID

path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "order": {
    }
}

Update order by ID

path Parameters
id
required
string
Request Body schema: application/json
required
limitPrice
string or null
stopPrice
string or null
takeProfit
string or null
stopLoss
string or null
trailingStopLossPct
string or null

Responses

Request samples

Content type
application/json
{
  • "limitPrice": "string",
  • "stopPrice": "string",
  • "takeProfit": "string",
  • "stopLoss": "string",
  • "trailingStopLossPct": "string"
}

Response samples

Content type
application/json
{
  • "order": {
    }
}

Cancel order by ID

path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "success": true
}

Export orders to XLSX format

query Parameters
token
string

BearerAuth token for authorization

search
string

Search keyword

statuses
Array of strings

Filter by order statuses

types
Array of strings

Filter by order types

accountId
string

Filter by account ID

Responses

Response samples

Content type
application/json
{
  • "error": "string"
}

Payment Providers

Get available payment methods for the authenticated user

Authorizations:
BearerAuth
query Parameters
type
string
Enum: "withdrawal" "deposit"

The type of transaction

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Top up demo wallet with a specific amount

Authorizations:
BearerAuth
Request Body schema: application/json
required
walletId
number
amount
string
currency
string

Responses

Request samples

Content type
application/json
{
  • "walletId": 0,
  • "amount": "string",
  • "currency": "string"
}

Response samples

Content type
application/json
{
  • "success": true,
  • "newBalance": 0
}

Get payment providers

Responses

Response samples

Content type
application/json
{
  • "providers": [
    ]
}

Get payment provider filters

query Parameters
type
required
string

Type of payment methods (withdrawal or deposit)

Responses

Response samples

Content type
application/json
{
  • "methods": [
    ]
}

Get payment provider by ID

path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "provider": {
    }
}

Update payment provider by ID

path Parameters
id
required
string
Request Body schema: application/json
required
Array of objects
enabledCountryCodes
Array of strings
minimumDepositAmount
number or null
maximumDepositAmount
number or null
minimumWithdrawalAmount
number or null
maximumWithdrawalAmount
number or null
predefinedDepositAmounts
Array of numbers

Responses

Request samples

Content type
application/json
{
  • "keyValues": [
    ],
  • "enabledCountryCodes": [
    ],
  • "minimumDepositAmount": 0,
  • "maximumDepositAmount": 0,
  • "minimumWithdrawalAmount": 0,
  • "maximumWithdrawalAmount": 0,
  • "predefinedDepositAmounts": [
    ]
}

Response samples

Content type
application/json
{
  • "provider": {
    }
}

Sort payment providers

Request Body schema: application/json
required
id
string
sort
number

Responses

Request samples

Content type
application/json
{
  • "id": "string",
  • "sort": 0
}

Response samples

Content type
application/json
{
  • "providers": [
    ]
}

Positions

Get positions

query Parameters
search
string

Search query string

limit
number

Maximum number of positions to return

offset
number

Offset for pagination

object (IPositionFilters)
sortBy
string

Field to sort positions by

Responses

Response samples

Content type
application/json
{
  • "positions": [
    ],
  • "count": 0,
  • "pages": 0
}

Get position by ID

path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "customerId": "string",
  • "accountId": 0,
  • "size": 0,
  • "side": "string",
  • "openedAt": "2019-08-24",
  • "closedAt": "2019-08-24T14:15:22Z",
  • "closedPL": 0,
  • "closedPLInAccountCurrency": 0,
  • "closedReason": "string",
  • "symbol": "string",
  • "status": "string",
  • "platform": "string",
  • "stopLoss": 0,
  • "invest": 0,
  • "closePositionAfterSeconds": 0,
  • "openingOrderExternalId": "string",
  • "margin": "string",
  • "openPrice": "string",
  • "closePrice": "string",
  • "profitLoss": 0,
  • "swap": 0,
  • "takeProfit": 0,
  • "commission": 0,
  • "tailingStopLossPct": "string"
}

Close position by ID

path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "customerId": "string",
  • "accountId": 0,
  • "size": 0,
  • "side": "string",
  • "openedAt": "2019-08-24",
  • "closedAt": "2019-08-24T14:15:22Z",
  • "closedPL": 0,
  • "closedPLInAccountCurrency": 0,
  • "closedReason": "string",
  • "symbol": "string",
  • "status": "string",
  • "platform": "string",
  • "stopLoss": 0,
  • "invest": 0,
  • "closePositionAfterSeconds": 0,
  • "openingOrderExternalId": "string",
  • "margin": "string",
  • "openPrice": "string",
  • "closePrice": "string",
  • "profitLoss": 0,
  • "swap": 0,
  • "takeProfit": 0,
  • "commission": 0,
  • "tailingStopLossPct": "string"
}

Update position by ID

path Parameters
id
required
string
Request Body schema: application/json
required
stopLoss
number or null
takeProfit
number or null
openPrice
number or null
closePrice
number or null
commission
number or null
tailingStopLossPct
number or null

Responses

Request samples

Content type
application/json
{
  • "stopLoss": 0,
  • "takeProfit": 0,
  • "openPrice": 0,
  • "closePrice": 0,
  • "commission": 0,
  • "tailingStopLossPct": 0
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "customerId": "string",
  • "accountId": 0,
  • "size": 0,
  • "side": "string",
  • "openedAt": "2019-08-24",
  • "closedAt": "2019-08-24T14:15:22Z",
  • "closedPL": 0,
  • "closedPLInAccountCurrency": 0,
  • "closedReason": "string",
  • "symbol": "string",
  • "status": "string",
  • "platform": "string",
  • "stopLoss": 0,
  • "invest": 0,
  • "closePositionAfterSeconds": 0,
  • "openingOrderExternalId": "string",
  • "margin": "string",
  • "openPrice": "string",
  • "closePrice": "string",
  • "profitLoss": 0,
  • "swap": 0,
  • "takeProfit": 0,
  • "commission": 0,
  • "tailingStopLossPct": "string"
}

Create position

Request Body schema: application/json
required
size
number
side
string
symbol
string
platform
string
stopLoss
string or null
accountId
number
marginRate
string or null
openPrice
string or null
takeProfit
string or null
tailingStopLossPct
string or null

Responses

Request samples

Content type
application/json
{
  • "size": 0,
  • "side": "string",
  • "symbol": "string",
  • "platform": "string",
  • "stopLoss": "string",
  • "accountId": 0,
  • "marginRate": "string",
  • "openPrice": "string",
  • "takeProfit": "string",
  • "tailingStopLossPct": "string"
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "customerId": "string",
  • "accountId": 0,
  • "size": 0,
  • "side": "string",
  • "openedAt": "2019-08-24",
  • "closedAt": "2019-08-24T14:15:22Z",
  • "closedPL": 0,
  • "closedPLInAccountCurrency": 0,
  • "closedReason": "string",
  • "symbol": "string",
  • "status": "string",
  • "platform": "string",
  • "stopLoss": 0,
  • "invest": 0,
  • "closePositionAfterSeconds": 0,
  • "openingOrderExternalId": "string",
  • "margin": "string",
  • "openPrice": "string",
  • "closePrice": "string",
  • "profitLoss": 0,
  • "swap": 0,
  • "takeProfit": 0,
  • "commission": 0,
  • "tailingStopLossPct": "string"
}

Get orders for position by Id

path Parameters
id
required
string

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get positions by account ID

path Parameters
id
required
string
query Parameters
offset
number

Offset for pagination

limit
number

Maximum number of positions to return

status
string

Filter by position status

orderBy
string

Field to order positions by

Responses

Response samples

Content type
application/json
{
  • "positions": [
    ],
  • "count": 0
}

Export positions to XLSX

query Parameters
token
string

JWT token for authorization

search
string

Search query string

object (IPositionFilters)

Responses

Response samples

Content type
application/json
{
  • "error": "string"
}

Push Notifications

Get VAPID public key

Responses

Response samples

Content type
application/json
{
  • "publicVapidKey": "string"
}

Create subscription

Request Body schema: application/json
required
object
topic
string

Topic for the subscription (Admin, User, etc.)

Responses

Request samples

Content type
application/json
{
  • "subscription": {
    },
  • "topic": "string"
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "endpoint": "string",
  • "keys": {
    },
  • "expirationTime": "2019-08-24T14:15:22Z",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "customerId": "string",
  • "topic": "admin"
}

Delete subscription

query Parameters
id
number

ID of the subscription to delete

endpoint
string

URL of the push notification endpoint to delete

topic
string

Topic of subscriptions to delete

Responses

Response samples

Content type
application/json
{
  • "success": true
}

Get subscriptions

query Parameters
topic
string

Topic of subscriptions to retrieve

endpoint
string

URL of the push notification endpoint to retrieve

Responses

Response samples

Content type
application/json
{
  • "subscriptions": [
    ]
}

Send notification by customer ID and topic

Request Body schema: application/json
required
customerId
string

ID of the customer to send notification to

object

Notification payload

topic
string

Topic of the notification (Admin, User, etc.)

ttl
number

Time to live (TTL) for the notification

Responses

Request samples

Content type
application/json
{
  • "customerId": "string",
  • "notification": {
    },
  • "topic": "string",
  • "ttl": 0
}

Response samples

Content type
application/json
{
  • "success": true
}

Referrers

Get custom logos for the authenticated user's referrer

Authorizations:
BearerAuth
query Parameters
wtreferrer
string

The referrer key

Responses

Response samples

Content type
application/json
{
  • "logos": {
    }
}

Reports

Get profit loss report

query Parameters
limit
required
number

Maximum number of records to retrieve

offset
required
number

Number of records to skip

sortBy
required
string

Column name to sort by

start
required
string <date-time>

Start of date range

end
required
string <date-time>

End of date range

Responses

Response samples

Content type
application/json
{
  • "report": [
    ]
}

Get balance report

query Parameters
limit
number

Maximum number of records to retrieve

offset
number

Number of records to skip

sortBy
string

Column name to sort by

start
required
string <date-time>

Start of date range

end
required
string <date-time>

End of date range

Responses

Response samples

Content type
application/json
{
  • "report": [
    ]
}

Get coins report

query Parameters
limit
number

Maximum number of records to retrieve

offset
number

Number of records to skip

sortBy
string

Column name to sort by

Responses

Response samples

Content type
application/json
{
  • "report": {
    }
}

Export report to XLSX

query Parameters
token
required
string

JWT token for authorization

type
required
string
Enum: "profitloss" "balance" "coins" "affiliation"

Type of report to export

Responses

Response samples

Content type
application/json
{
  • "error": "string"
}

Risk

Get risk statistics for the authenticated admin user

Authorizations:
BearerAuth
query Parameters
group
string

The group to get risk statistics for

isDemo
boolean

Whether the request is for a demo

Responses

Response samples

Content type
application/json
{
  • "baseStats": {
    },
  • "trendingInstruments": [
    ],
  • "profitLossByMonth": [
    ],
  • "sumProfitLoss": 0,
  • "lotsPerInstrument": [
    ]
}

Get risk exposures for the authenticated admin user

Authorizations:
BearerAuth
query Parameters
group
string

The group to get risk exposures for

isDemo
boolean

Whether the request is for a demo

Responses

Response samples

Content type
application/json
{
  • "exposures": [
    ]
}

Sales Desk

Create a new sales desk

Request Body schema: application/json
required
name
string

Responses

Request samples

Content type
application/json
{
  • "name": "string"
}

Response samples

Content type
application/json
{
  • "salesPeople": [
    ],
  • "id": "string",
  • "name": "string"
}

Update an existing sales desk

path Parameters
id
required
string

ID of the sales desk to update

Request Body schema: application/json
required
name
string

Responses

Request samples

Content type
application/json
{
  • "name": "string"
}

Response samples

Content type
application/json
{
  • "salesPeople": [
    ],
  • "id": "string",
  • "name": "string"
}

Get a sales desk by ID

path Parameters
id
required
string

ID of the sales desk to retrieve

Responses

Response samples

Content type
application/json
{
  • "salesPeople": [
    ],
  • "id": "string",
  • "name": "string"
}

Delete a sales desk by ID

path Parameters
id
required
string

ID of the sales desk to delete

Responses

Response samples

Content type
application/json
{
  • "message": "string"
}

List all sales desks

query Parameters
limit
number

Maximum number of sales desks to retrieve

offset
number

Number of sales desks to skip

Responses

Response samples

Content type
application/json
{
  • "salesDesks": [
    ],
  • "pages": 0
}

Sales Status

Create a new sales status

Request Body schema: application/json
required
status
string
color
string

Responses

Request samples

Content type
application/json
{
  • "status": "string",
  • "color": "string"
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "status": "string",
  • "color": "string"
}

Get all sales statuses

Responses

Response samples

Content type
application/json
{
  • "statuses": [
    ]
}

Get a sales status by name

path Parameters
name
required
string

Name of the sales status to retrieve

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "status": "string",
  • "color": "string"
}

Update a sales status by ID

path Parameters
id
required
number

ID of the sales status to update

Request Body schema: application/json
required
status
string or null
color
string or null

Responses

Request samples

Content type
application/json
{
  • "status": "string",
  • "color": "string"
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "status": "string",
  • "color": "string"
}

Settings

Get setting value by key

path Parameters
key
required
string

Responses

Response samples

Content type
application/json
{
  • "value": "string"
}

Update setting value by key

path Parameters
key
required
string
Request Body schema: application/json
required
val
required
string

Responses

Request samples

Content type
application/json
{
  • "val": "string"
}

Response samples

Content type
application/json
{
  • "value": "string"
}

Set Coperato as VOIP provider

Request Body schema: application/json
required
url
required
string

Responses

Request samples

Content type
application/json
{
  • "url": "string"
}

Set Voiso as VOIP provider

Request Body schema: application/json
required
url
required
string
apiKey
required
string

Responses

Request samples

Content type
application/json
{
  • "url": "string",
  • "apiKey": "string"
}

Set Sendgrid as email provider

Request Body schema: application/json
required
sender
required
string
apiKey
required
string
staffEmail
required
string

Responses

Request samples

Content type
application/json
{
  • "sender": "string",
  • "apiKey": "string",
  • "staffEmail": "string"
}

Set Mailgun as email provider

Request Body schema: application/json
required
sender
required
string
apiKey
required
string
domain
required
string
username
required
string
staffEmail
required
string

Responses

Request samples

Content type
application/json
{
  • "sender": "string",
  • "apiKey": "string",
  • "domain": "string",
  • "username": "string",
  • "staffEmail": "string"
}

Set SMTP provider for email

Request Body schema: application/json
required
host
required
string
sender
required
string
port
required
number
username
required
string
password
required
string
secure
required
boolean
staffEmail
required
string

Responses

Request samples

Content type
application/json
{
  • "host": "string",
  • "sender": "string",
  • "port": 0,
  • "username": "string",
  • "password": "string",
  • "secure": true,
  • "staffEmail": "string"
}

Set Brevo as email provider

Request Body schema: application/json
required
apiKey
required
string
sender
required
string
staffEmail
required
string

Responses

Request samples

Content type
application/json
{
  • "apiKey": "string",
  • "sender": "string",
  • "staffEmail": "string"
}

Update reCAPTCHA settings

Request Body schema: application/json
required
siteKey
required
string
secret
required
string
score
required
number

Responses

Request samples

Content type
application/json
{
  • "siteKey": "string",
  • "secret": "string",
  • "score": 0
}

Configure SumSub for KYC verification

Request Body schema: application/json
required
apiUrl
required
string
secretKey
required
string
appToken
required
string
levelName
required
string
webhookSecretKey
required
string

Responses

Request samples

Content type
application/json
{
  • "apiUrl": "string",
  • "secretKey": "string",
  • "appToken": "string",
  • "levelName": "string",
  • "webhookSecretKey": "string"
}

Configure default wallet platform and group

Request Body schema: application/json
required
platform
required
string
group
required
string

Responses

Request samples

Content type
application/json
{
  • "platform": "string",
  • "group": "string"
}

Get the CAPTCHA site key

Responses

Response samples

Content type
application/json
{
  • "value": "string"
}

Sessions

Create a new session

Request Body schema: application/json
required
username
string
password
string

Responses

Request samples

Content type
application/json
{
  • "username": "string",
  • "password": "string"
}

Response samples

Content type
application/json
{
  • "token": "string",
  • "refreshToken": "string",
  • "user": {
    },
  • "outstandingOnboardingSteps": [
    ]
}

Impersonate a customer

Request Body schema: application/json
required
customerId
required
string

Responses

Request samples

Content type
application/json
{
  • "customerId": "string"
}

Response samples

Content type
application/json
{
  • "token": "string",
  • "user": {
    }
}

Statements

Get user statement records

query Parameters
start
required
string <date-time>

Start date for the statement records

end
required
string <date-time>

End date for the statement records

Responses

Response samples

Content type
application/json
{
  • "statementRecords": [
    ],
  • "count": 0
}

Export user statement records as XLSX

query Parameters
start
required
string <date-time>

Start date for the statement records

end
required
string <date-time>

End date for the statement records

Responses

Target Groups

Get target groups for the authenticated affiliate user

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "targetGroups": [
    ]
}

Transactions

Export transactions to an XLSX file for the authenticated admin user

Authorizations:
BearerAuth
query Parameters
token
required
string

The JWT token

object (ITransactionFilters)

The filters to apply to the transactions

filter
string

The filter to apply to the transactions

type
string
Enum: "CORRECTION" "BONUS" "DEPOSIT" "WITHDRAWAL" "DEPOSIT_BONUS" "AFFILIATE_TRANSFER" "FEE" "COINS_EXCHANGE" "WALLET_TRANSFER" "COMMISSION_PAYOUT"

The type of transactions to export

Responses

Response samples

Content type
application/json
{
  • "error": "string"
}

Get transactions

Authorizations:
BearerAuthApiKey
query Parameters
sortBy
string

Field to sort by

type
string

Type of transaction

limit
required
number [ 1 .. 10000 ]

Maximum number of transactions to return

offset
required
number >= 0

Offset for pagination

search
string

Search keyword

object (ITransactionFilters)

Responses

Response samples

Content type
application/json
{
  • "transactions": [
    ],
  • "pages": 0
}

Get coins exchange transactions

Authorizations:
BearerAuth
query Parameters
limit
number [ 1 .. 100 ]

Maximum number of transactions to return

offset
number >= 0

Offset for pagination

object (ITransactionFilters)

Additional filters

Responses

Response samples

Content type
application/json
{
  • "conversions": [
    ],
  • "count": 0
}

Get withdrawal methods

Authorizations:
BearerAuth
query Parameters
country
required
string

Country code

Responses

Response samples

Content type
application/json
{
  • "methods": [
    ]
}

Get transaction by ID

Authorizations:
BearerAuth
path Parameters
id
required
string

Transaction ID

Responses

Response samples

Content type
application/json
{
  • "transaction": {
    }
}

Approve withdrawal transaction

Authorizations:
BearerAuth
path Parameters
id
required
string

Transaction ID

Request Body schema: application/json
required
comment
string
changedAmount
number

Responses

Request samples

Content type
application/json
{
  • "comment": "string",
  • "changedAmount": 0
}

Response samples

Content type
application/json
{
  • "transaction": {
    }
}

Reject withdrawal transaction

Authorizations:
BearerAuth
path Parameters
id
required
string

Transaction ID

Request Body schema: application/json
required
comment
string

Responses

Request samples

Content type
application/json
{
  • "comment": "string"
}

Response samples

Content type
application/json
{
  • "transaction": {
    }
}

Refund withdrawal transaction

Authorizations:
BearerAuth
path Parameters
id
required
string

Transaction ID

Responses

Response samples

Content type
application/json
{
  • "success": "string"
}

Transfer money transaction

Authorizations:
BearerAuth
path Parameters
id
required
string

Transaction ID

Request Body schema: application/json
required
method
string
Enum: "bitstamp" "trustology"
address
string
amount
number

Responses

Request samples

Content type
application/json
{
  • "method": "bitstamp",
  • "address": "string",
  • "amount": 0
}

Response samples

Content type
application/json
{
  • "withdrawal": {
    }
}

Get the total balance for the authenticated affiliate user

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "balance": 0
}

Position Durations

Get trading position durations

Responses

Response samples

Content type
application/json
{
  • "positionDurations": [
    ],
  • "defaultValue": "2019-08-24T14:15:22Z"
}

Update trading position durations

Request Body schema: application/json
required
value
string
defaultValue
string

Responses

Request samples

Content type
application/json
{
  • "value": "string",
  • "defaultValue": "string"
}

Response samples

Content type
application/json
{
  • "positionDurations": [
    ]
}

Max Risks

Get maximum risk configurations

Responses

Response samples

Content type
application/json
{
  • "maxRisks": [
    ],
  • "defaultValue": 0
}

Update maximum risk configurations

Request Body schema: application/json
required
value
string
defaultValue
string

Responses

Request samples

Content type
application/json
{
  • "value": "string",
  • "defaultValue": "string"
}

Response samples

Content type
application/json
{
  • "maxRisks": [
    ]
}

Users

Create a new user

Request Body schema: application/json
required
firstname
string
lastname
string
email
string <email>
mobilenumber
string
country
string
communicationLanguage
string
wtreferrer
string or null
wants_to_become_leader
boolean or null
skipOnboardingSteps
Array of strings or null
Enum: "SignupDemoForm" "SignupRealForm" "CompleteAccountBeforeDepositForm" "CompleteAccountBeforeWithdrawalForm" "EmailConfirmation" "KYC" "PhoneConfirmation" "DisclaimerBeforeDeposit"
source
string or null

Responses

Request samples

Content type
application/json
{
  • "firstname": "string",
  • "lastname": "string",
  • "email": "user@example.com",
  • "mobilenumber": "string",
  • "country": "string",
  • "communicationLanguage": "string",
  • "wtreferrer": "string",
  • "wants_to_become_leader": true,
  • "skipOnboardingSteps": [
    ],
  • "source": "string"
}

Response samples

Content type
application/json
{
  • "success": true,
  • "refreshToken": "string",
  • "redirectUrl": "string"
}

Update user

Request Body schema: application/json
required
firstname
string or null
lastname
string or null
email
string or null <email>
mobilenumber
string
country
string
communicationLanguage
string
newPassword
string or null
currentPassword
string or null

Responses

Request samples

Content type
application/json
{
  • "firstname": "string",
  • "lastname": "string",
  • "email": "user@example.com",
  • "mobilenumber": "string",
  • "country": "string",
  • "communicationLanguage": "string",
  • "newPassword": "string",
  • "currentPassword": "string"
}

Response samples

Content type
application/json
{
  • "name": "string",
  • "firstname": "string",
  • "lastname": "string",
  • "email": "user@example.com",
  • "id": "string",
  • "accountId": 0,
  • "avatarUrl": "string",
  • "mobilenumber": "string",
  • "refKey": "string",
  • "referralURL": "string",
  • "roles": [
    ],
  • "localCurrency": "string",
  • "confirmedAt": "2019-08-24T14:15:22Z",
  • "country": "string",
  • "communicationLanguage": "string",
  • "permissions": [
    ],
  • "coperatoAgentId": "string",
  • "terminationRequestedAt": "2019-08-24T14:15:22Z",
  • "loyaltyLevel": {
    }
}

Get user

Responses

Response samples

Content type
application/json
{
  • "user": {
    },
  • "refreshToken": "string",
  • "supportedFeatures": [
    ],
  • "wallet": {
    }
}

Get user's country by IP

Responses

Response samples

Content type
application/json
{
  • "countryCode": "string",
  • "ip": "string"
}

Send mobile confirmation code

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "success": true
}

Verify mobile confirmation code

Authorizations:
BearerAuth
Request Body schema: application/json
required
confirmationToken
required
string

Responses

Request samples

Content type
application/json
{
  • "confirmationToken": "string"
}

Response samples

Content type
application/json
{
  • "success": true
}

Accept deposit disclaimer

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "success": true
}

Verify user

Authorizations:
BearerAuth
Request Body schema: application/json
required
verifyToken
required
string

Responses

Request samples

Content type
application/json
{
  • "verifyToken": "string"
}

Response samples

Content type
application/json
{
  • "success": true
}

Upload profile picture

Authorizations:
BearerAuth
Request Body schema: multipart/form-data
required
file
required
string <binary>

Responses

Response samples

Content type
application/json
{
  • "success": true
}

Delete profile picture

Authorizations:
BearerAuth

Responses

Get profile picture

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "profilePicture": "string"
}

Get profile picture

Authorizations:
BearerAuth
path Parameters
token
required
string

Token of the profile picture

Responses

Resend confirmation email

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "email": "user@example.com"
}

Check if user's email is confirmed

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "confirmed": true
}

Get affiliate earnings

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "earnings": 0
}

Request to disable account

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "success": true
}

Wallets

Get wallets

Authorizations:
BearerAuth
query Parameters
search
string
currencies
Array of strings
leverageFrom
string
leverageTo
string
isDemo
string
groups
Array of strings
onlyShowWalletsWithOpenPositions
string

Responses

Response samples

Content type
application/json
{
  • "wallets": [
    ],
  • "pages": 0
}

Create wallet

Authorizations:
BearerAuth
Request Body schema: application/json
required
customerId
string
groupId
number
platform
string
Enum: "NEO" "PRO"
leverage
number
isDemo
boolean

Responses

Request samples

Content type
application/json
{
  • "customerId": "string",
  • "groupId": 0,
  • "platform": "NEO",
  • "leverage": 0,
  • "isDemo": true
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "customer": {
    },
  • "platform": "NEO",
  • "status": "ACTIVE",
  • "currency": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "group": {
    },
  • "leverage": 0,
  • "isDemo": true
}

Get wallet by ID

Authorizations:
BearerAuth
path Parameters
id
required
string

Wallet ID

Responses

Response samples

Content type
application/json
{
  • "wallet": {
    }
}

Update wallet by ID

Authorizations:
BearerAuth
path Parameters
id
required
string

Wallet ID

Request Body schema: application/json
required
groupId
number
leverage
number

Responses

Request samples

Content type
application/json
{
  • "groupId": 0,
  • "leverage": 0
}

Response samples

Content type
application/json
{
  • "wallet": {
    }
}

Transfer money between wallets

Authorizations:
BearerAuth
Request Body schema: application/json
required
sourceWalletId
number
targetWalletId
number
amount
number

Responses

Request samples

Content type
application/json
{
  • "sourceWalletId": 0,
  • "targetWalletId": 0,
  • "amount": 0
}

Response samples

Content type
application/json
{
  • "success": true
}

Enable wallet by ID

Authorizations:
BearerAuth
path Parameters
id
required
string

Wallet ID

Responses

Response samples

Content type
application/json
{
  • "success": true
}

Disable wallet by ID

Authorizations:
BearerAuth
path Parameters
id
required
string

Wallet ID

Responses

Response samples

Content type
application/json
{
  • "success": true
}

Get wallet transactions

Authorizations:
BearerAuthApiKey
path Parameters
walletId
required
string

Wallet ID

Request Body schema: application/json
required
type
string
Enum: "DEPOSIT" "WITHDRAWAL" "BONUS" "CORRECTION"
currency
string
Value: "USD"
method
string
comment
string
addToCredit
boolean
amount
number

Responses

Request samples

Content type
application/json
{
  • "type": "DEPOSIT",
  • "currency": "USD",
  • "method": "string",
  • "comment": "string",
  • "addToCredit": true,
  • "amount": 0
}

Response samples

Content type
application/json
{
  • "transactions": [
    ],
  • "pages": 0
}

Get wallet balance by ID

Authorizations:
BearerAuth
path Parameters
id
required
string

Wallet ID

Responses

Response samples

Content type
application/json
{
  • "balance": "string",
  • "credit": "string",
  • "equity": "string",
  • "currency": "string"
}

Get wallets

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "wallets": [
    ],
  • "pages": 0
}

Create wallet

Authorizations:
BearerAuth
Request Body schema: application/json
required
leverage
string
currency
string
isDemo
boolean

Responses

Request samples

Content type
application/json
{
  • "leverage": "string",
  • "currency": "string",
  • "isDemo": true
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "customerId": "string",
  • "customer": {
    },
  • "platform": "NEO",
  • "status": "ACTIVE",
  • "currency": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "transactions": [
    ],
  • "groupId": 0,
  • "group": {
    },
  • "leverage": 0,
  • "isDemo": true,
  • "instrumentWatchlist": [
    ]
}

Get wallets balance

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "wallets": [
    ]
}

Get wallets leverages

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "leverages": [
    ]
}

Get wallet balance by id

Authorizations:
BearerAuth
path Parameters
id
required
number

Wallet id

Responses

Response samples

Content type
application/json
{
  • "balance": "string"
}

Get wallet by id

Authorizations:
BearerAuth
path Parameters
id
required
number

Wallet id

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "customerId": "string",
  • "customer": {
    },
  • "platform": "NEO",
  • "status": "ACTIVE",
  • "currency": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "transactions": [
    ],
  • "groupId": 0,
  • "group": {
    },
  • "leverage": 0,
  • "isDemo": true,
  • "instrumentWatchlist": [
    ],
  • "balance": "string",
  • "credit": "string",
  • "equity": "string"
}

Get wallet transactions by id

Authorizations:
BearerAuth
path Parameters
id
required
number

Wallet id

query Parameters
startDate
required
string <date-time>
endDate
required
string <date-time>

Responses

Response samples

Content type
application/json
{
  • "transactions": [
    ],
  • "pages": 0
}

Watchlists

Get watchlist for current wallet

Authorizations:
BearerAuthApiKey

Responses

Response samples

Content type
application/json
{
  • "watchlist": [
    ]
}

Add instrument to watchlist for current wallet

Authorizations:
BearerAuthApiKey
Request Body schema: application/json
required
symbol
string

Responses

Request samples

Content type
application/json
{
  • "symbol": "string"
}

Response samples

Content type
application/json
{
  • "success": true
}

Remove instrument from wallet's watchlist

Authorizations:
BearerAuthApiKey
path Parameters
symbol
required
string

Symbol

Responses

Response samples

Content type
application/json
{
  • "success": true
}

Withdraw

Withdraw money

Authorizations:
BearerAuth
Request Body schema: application/json
required
provider
string
currency
string
Value: "USD"
amount
number
walletAddress
string

Responses

Request samples

Content type
application/json
{
  • "provider": "string",
  • "currency": "USD",
  • "amount": 0,
  • "walletAddress": "string"
}

Response samples

Content type
application/json
{
  • "accepted": true
}

Get current withdrawal

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "withdrawal": {
    }
}

Proptrading

Endpoint that website uses to start prop trading funnel, and create a customer if it doesn't already exist.

Authorizations:
BearerAuthApiKey
path Parameters
id
required
string

Prop funnel id

Request Body schema: application/json
required
email
string
firstName
string
lastName
string
phone
string

Phone number in international format as number string with prefix (E.G. +49123456789)

countryIso
string

Country ISO CODE (E.G. CY)

utmSource
string

UTM source for tracking purposes. It will also be set as customer's source if it is passed to the remote-start endpoint during customer's initial creation. All subsequent calls to the API (purchases of new funnels) will not update customer source, but only track UTM source on each transaction.

utmMedium
string
utmContent
string
utmCampaign
string
utmTerm
string
trackingCampaignId
string
wtreferrer
string

Referral code from our system which can be used for automatic assignment of introducer and sales agents(More info in docs under sales feature).

object

Responses

Request samples

Content type
application/json
{
  • "email": "string",
  • "firstName": "string",
  • "lastName": "string",
  • "phone": "string",
  • "countryIso": "string",
  • "utmSource": "string",
  • "utmMedium": "string",
  • "utmContent": "string",
  • "utmCampaign": "string",
  • "utmTerm": "string",
  • "trackingCampaignId": "string",
  • "wtreferrer": "string",
  • "transactionDetails": {
    }
}

Response samples

Content type
application/json
{
  • "userCreated": true
}