Binary options: a channel to Quotex, Pocket Option, IQ Option...
A binary account is signed in to its broker by its owner, in TPcopier's cloud browser: you get a sign-in link for it - open it yourself or send it to your user. It works in any browser or phone, with no TPcopier login, for 30 minutes, and TPcopier keeps only the login session it produces, encrypted - never the password.
# 1. the account: its "id" is A. broker: quotex, pocket, iqoption, binomo, olymptrade, expertoption or binolla (GET /api/v1/broker/list)
curl -X POST -H "Authorization: Bearer $TPC_KEY" -H "Content-Type: application/json" \
-d '{"broker":"quotex","label":"My Quotex","mode":"PRACTICE","bridge":"tg-bin"}' https://tpcopier.com/api/v1/broker/accounts
# 2. its sign-in link: open the "url" it answers (or send it to your user) - they sign in to the broker there
curl -X POST -H "Authorization: Bearer $TPC_KEY" -H "Content-Type: application/json" https://tpcopier.com/api/v1/broker/accounts/A/connect-link
# 3. until "done": "ok" true is connected, otherwise "message" says why (a new link tries again)
curl -H "Authorization: Bearer $TPC_KEY" https://tpcopier.com/api/v1/broker/accounts/A/connect/status
# 4. a channel C (GET /api/v1/channels) to it - then how C gives its orders: at once ("instant"), or at the time in the
# message ("timed") on its provider's clock (tz_offset_min: minutes from GMT, 360 is GMT+06:00), and how long a
# trade runs when a message gives no expiry (default_duration, seconds)
curl -X POST -H "Authorization: Bearer $TPC_KEY" -H "Content-Type: application/json" -d '{"kind":"signal","source_id":C,"target_account_id":A}' https://tpcopier.com/api/v1/bridge/links
curl -X PATCH -H "Authorization: Bearer $TPC_KEY" -H "Content-Type: application/json" -d '{"entry_mode":"timed","tz_offset_min":360,"default_duration":60}' https://tpcopier.com/api/v1/channels/C
curl -H "Authorization: Bearer $TPC_KEY" https://tpcopier.com/api/v1/channels/C/timing # its timing - and "suggest": the timezone its own messages point to
# 5. every message read, what it was understood as, and each order with its result (or why there was none)
curl -H "Authorization: Bearer $TPC_KEY" https://tpcopier.com/api/v1/signals
curl -H "Authorization: Bearer $TPC_KEY" https://tpcopier.com/api/v1/trades
The sign-in window on your own website or app, on a PC and on a phone: broker sign-in window. Instant or timed orders, the provider's timezone and the expiry: order timing.
Further reading: the OpenAPI Specification our API description follows.
Endpoints in this guide
Base address https://tpcopier.com. Send your key with every request -
Authorization: Bearer tpc_... - up to 120 requests a minute. Open an endpoint for its fields,
its answers and an example.
GET/api/v1/bridge/links/{lid}/historyLink History
One link's results and trades, from the moment it was made.
Parameters
| lid * | path | integer |
| limit | query | integer |
Responses
200 Successful Response · 422 Validation Error · 401 402 403 429 - see Errors
Example
curl -H "Authorization: Bearer $TPC_KEY" \
"https://tpcopier.com/api/v1/bridge/links/{lid}/history"POST/api/v1/bridge/linksAdd Link
Request body
{
"kind": "",
"source_id": 0,
"target_account_id": 0,
"stake_mode": "",
"stake_value": 0
}Responses
200 Successful Response · 422 Validation Error · 401 402 403 429 - see Errors
Example
curl -X POST -H "Authorization: Bearer $TPC_KEY" -H "Content-Type: application/json" \
-d '{"kind": "", "source_id": 0, "target_account_id": 0, "stake_mode": "", "stake_value": 0}' \
"https://tpcopier.com/api/v1/bridge/links"PATCH/api/v1/bridge/links/{lid}Patch Link
Parameters
| lid * | path | integer |
Request body
{
"enabled": false,
"stake_mode": "",
"stake_value": 0
}Responses
200 Successful Response · 422 Validation Error · 401 402 403 429 - see Errors
Example
curl -X PATCH -H "Authorization: Bearer $TPC_KEY" -H "Content-Type: application/json" \
-d '{"enabled": false, "stake_mode": "", "stake_value": 0}' \
"https://tpcopier.com/api/v1/bridge/links/{lid}"DELETE/api/v1/bridge/links/{lid}Delete Link
Parameters
| lid * | path | integer |
Responses
200 Successful Response · 422 Validation Error · 401 402 403 429 - see Errors
Example
curl -X DELETE -H "Authorization: Bearer $TPC_KEY" \
"https://tpcopier.com/api/v1/bridge/links/{lid}"GET/api/v1/broker/accountsBroker Accounts
Responses
200 Successful Response · 422 Validation Error · 401 402 403 429 - see Errors
Example
curl -H "Authorization: Bearer $TPC_KEY" \
"https://tpcopier.com/api/v1/broker/accounts"PATCH/api/v1/broker/accounts/{aid}Patch Account
Parameters
| aid * | path | integer |
Request body
{
"label": "",
"enabled": false,
"amount": 0,
"max_stake": 0,
"mg_one_at_a_time": false,
"mg_apply_on": "",
"min_payout_enabled": false,
"min_payout": 0,
"mg_enabled": false,
"mg_mode": "",
"mg_value": 0,
"mg_steps": 0,
"mg_custom": "",
"mg_scope": "",
"mg_source": "",
"daily_stop": 0,
"daily_target": 0,
"proxy_region": ""
}Responses
200 Successful Response · 422 Validation Error · 401 402 403 429 - see Errors
Example
curl -X PATCH -H "Authorization: Bearer $TPC_KEY" -H "Content-Type: application/json" \
-d '{"label": "", "enabled": false, "amount": 0, "max_stake": 0, "mg_one_at_a_time": false, "mg_apply_on": "", "min_payout_enabled": false, "min_payout": 0, "mg_enabled": false, "mg_mode": "", "mg_value": 0, "mg_steps": 0, "mg_custom": "", "mg_scope": "", "mg_source": "", "daily_stop": 0, "daily_target": 0, "proxy_region": ""}' \
"https://tpcopier.com/api/v1/broker/accounts/{aid}"GET/api/v1/channelsChannels
One source's chats - Telegram's unless asked (WhatsApp and Discord have their own pages).
Parameters
| source | query | string |
Responses
200 Successful Response · 422 Validation Error · 401 402 403 429 - see Errors
Example
curl -H "Authorization: Bearer $TPC_KEY" \
"https://tpcopier.com/api/v1/channels"GET/api/v1/channels/{cid}/timingChannel Timing
A channel's order timing, the customer's own GMT offset as the first guess for its timezone, and the last time its signals named (signals.expiry_time) - for the question asked when it is linked to a binary account.
Parameters
| cid * | path | integer |
Responses
200 Successful Response · 422 Validation Error · 401 402 403 429 - see Errors
Example
curl -H "Authorization: Bearer $TPC_KEY" \
"https://tpcopier.com/api/v1/channels/{cid}/timing"PATCH/api/v1/channels/{cid}Patch Channel
Parameters
| cid * | path | integer |
Request body
{
"monitored": false,
"favorite": false,
"color": "",
"category": "",
"min_confidence": "",
"min_payout": 0,
"max_signals_per_hour": 0,
"stake_override": 0,
"allowed_directions": "",
"entry_mode": "",
"tz_offset_min": 0,
"default_duration": 0,
"read_images": ""
}Responses
200 Successful Response · 422 Validation Error · 401 402 403 429 - see Errors
Example
curl -X PATCH -H "Authorization: Bearer $TPC_KEY" -H "Content-Type: application/json" \
-d '{"monitored": false, "favorite": false, "color": "", "category": "", "min_confidence": "", "min_payout": 0, "max_signals_per_hour": 0, "stake_override": 0, "allowed_directions": "", "entry_mode": "", "tz_offset_min": 0, "default_duration": 0, "read_images": ""}' \
"https://tpcopier.com/api/v1/channels/{cid}"POST/api/v1/broker/accounts/{aid}/modeSet Mode
Parameters
| aid * | path | integer |
Request body
{
"mode": ""
}Responses
200 Successful Response · 422 Validation Error · 401 402 403 429 - see Errors
Example
curl -X POST -H "Authorization: Bearer $TPC_KEY" -H "Content-Type: application/json" \
-d '{"mode": ""}' \
"https://tpcopier.com/api/v1/broker/accounts/{aid}/mode"POST/api/v1/broker/accounts/resumeResume Accounts
Responses
200 Successful Response · 422 Validation Error · 401 402 403 429 - see Errors
Example
curl -X POST -H "Authorization: Bearer $TPC_KEY" \
"https://tpcopier.com/api/v1/broker/accounts/resume"POST/api/v1/broker/accounts/refresh-balancesRefresh Balances
Each connected binary account's broker is asked for its balance now, over the connection already open - the request its own page sends (brokers.ask_balance). No order, no new sign-in. The answers arrive on the socket and set balance and balance_at; this waits a few seconds for them and says how many came. (It used to stamp balance_at with the time and ask nobody.)
Responses
200 Successful Response · 422 Validation Error · 401 402 403 429 - see Errors
Example
curl -X POST -H "Authorization: Bearer $TPC_KEY" \
"https://tpcopier.com/api/v1/broker/accounts/refresh-balances"GET/api/v1/broker/accounts/{aid}/assetsAccount Assets
What this account can trade RIGHT NOW: the favourites first, then the best-paying open ones. Read from the live connection, so a pair that is shut for the session shows as closed instead of being sent and refused.
Parameters
| aid * | path | integer |
Responses
200 Successful Response · 422 Validation Error · 401 402 403 429 - see Errors
Example
curl -H "Authorization: Bearer $TPC_KEY" \
"https://tpcopier.com/api/v1/broker/accounts/{aid}/assets"GET/api/v1/broker/accounts/{aid}/historyAccount History
The broker's OWN list of deals on this account's current balance, read live - trades placed by hand included. Each deal the site placed is marked with its trade number, so a result can be checked against the broker in one look.
Parameters
| aid * | path | integer |
| limit | query | integer |
Responses
200 Successful Response · 422 Validation Error · 401 402 403 429 - see Errors
Example
curl -H "Authorization: Bearer $TPC_KEY" \
"https://tpcopier.com/api/v1/broker/accounts/{aid}/history"POST/api/v1/broker/accounts/test-tradeTest Trade
Request body
{
"account_id": 0,
"asset_code": "EURUSD_otc",
"direction": "call",
"duration": 60
}Responses
200 Successful Response · 422 Validation Error · 401 402 403 429 - see Errors
Example
curl -X POST -H "Authorization: Bearer $TPC_KEY" -H "Content-Type: application/json" \
-d '{"account_id": 0, "asset_code": "EURUSD_otc", "direction": "call", "duration": 60}' \
"https://tpcopier.com/api/v1/broker/accounts/test-trade"GET/api/v1/keywordsGet Keywords
Responses
200 Successful Response · 422 Validation Error · 401 402 403 429 - see Errors
Example
curl -H "Authorization: Bearer $TPC_KEY" \
"https://tpcopier.com/api/v1/keywords"PUT/api/v1/keywordsPut Keywords
Request body
{
"call_words": [
""
],
"put_words": [
""
],
"reject_words": [
""
]
}Responses
200 Successful Response · 422 Validation Error · 401 402 403 429 - see Errors
Example
curl -X PUT -H "Authorization: Bearer $TPC_KEY" -H "Content-Type: application/json" \
-d '{"call_words": [""], "put_words": [""], "reject_words": [""]}' \
"https://tpcopier.com/api/v1/keywords"POST/api/v1/keywords/resetReset Keywords
Responses
200 Successful Response · 422 Validation Error · 401 402 403 429 - see Errors
Example
curl -X POST -H "Authorization: Bearer $TPC_KEY" \
"https://tpcopier.com/api/v1/keywords/reset"GET/api/v1/settingsGet Settings
Responses
200 Successful Response · 422 Validation Error · 401 402 403 429 - see Errors
Example
curl -H "Authorization: Bearer $TPC_KEY" \
"https://tpcopier.com/api/v1/settings"PATCH/api/v1/settingsPatch Settings
Request body
{}Responses
200 Successful Response · 422 Validation Error · 401 402 403 429 - see Errors
Example
curl -X PATCH -H "Authorization: Bearer $TPC_KEY" -H "Content-Type: application/json" \
-d '{}' \
"https://tpcopier.com/api/v1/settings"GET/api/v1/botsBots
Copy Our Bots: the bots this customer may see (not hidden from them) - their records, never the channel behind them - the one plan (every bot), and whether this workspace copies.
Responses
200 Successful Response · 422 Validation Error · 401 402 403 429 - see Errors
Example
curl -H "Authorization: Bearer $TPC_KEY" \
"https://tpcopier.com/api/v1/bots"PUT/api/v1/bot-plan/accountsBot Accounts
Which of my binary accounts the bots copy onto (as many as the plan covers), the lowest payout copied and my starting stake.
Request body
{
"accounts": [
0
],
"only_high": false,
"min_payout": 0,
"stake": 0
}Responses
200 Successful Response · 422 Validation Error · 401 402 403 429 - see Errors
Example
curl -X PUT -H "Authorization: Bearer $TPC_KEY" -H "Content-Type: application/json" \
-d '{"accounts": [0], "only_high": false, "min_payout": 0, "stake": 0}' \
"https://tpcopier.com/api/v1/bot-plan/accounts"PUT/api/v1/bot-plan/botsBot Pick
Which bots my plan copies: every one, or only these.
Request body
{
"bots": [
0
]
}Responses
200 Successful Response · 422 Validation Error · 401 402 403 429 - see Errors
Example
curl -X PUT -H "Authorization: Bearer $TPC_KEY" -H "Content-Type: application/json" \
-d '{"bots": [0]}' \
"https://tpcopier.com/api/v1/bot-plan/bots"GET/api/v1/bots/{bid}Bot
A bot's card and record - or (`floor`) its record for only pairs paying that % or more, as the viewer types it.
Parameters
| bid * | path | integer |
| floor | query | integer |
Responses
200 Successful Response · 422 Validation Error · 401 402 403 429 - see Errors
Example
curl -H "Authorization: Bearer $TPC_KEY" \
"https://tpcopier.com/api/v1/bots/{bid}"GET/api/v1/broker/listBroker List
Which brokers this platform supports, and where their sign-in window opens.
Responses
200 Successful Response · 422 Validation Error · 401 402 403 429 - see Errors
Example
curl -H "Authorization: Bearer $TPC_KEY" \
"https://tpcopier.com/api/v1/broker/list"POST/api/v1/broker/accountsCreate Account
Request body
{
"label": "",
"broker": "quotex",
"mode": "PRACTICE",
"bridge": ""
}Responses
200 Successful Response · 422 Validation Error · 401 402 403 429 - see Errors
Example
curl -X POST -H "Authorization: Bearer $TPC_KEY" -H "Content-Type: application/json" \
-d '{"label": "", "broker": "quotex", "mode": "PRACTICE", "bridge": ""}' \
"https://tpcopier.com/api/v1/broker/accounts"GET/api/v1/broker/accounts/{aid}/connect/statusConnect Status
Parameters
| aid * | path | integer |
Responses
200 Successful Response · 422 Validation Error · 401 402 403 429 - see Errors
Example
curl -H "Authorization: Bearer $TPC_KEY" \
"https://tpcopier.com/api/v1/broker/accounts/{aid}/connect/status"POST/api/v1/broker/accounts/{aid}/connect-linkConnect Link
A link where this account is signed in to its broker in TPcopier's cloud browser - in your website (an iframe), your mobile or PC app (a WebView), or any browser, with no TPcopier login: the API's way to connect a binary account. It works for 30 minutes; GET /api/v1/broker/accounts/{aid}/connect/status says when it is connected, or why not. With return_url (your app's own link, https://..., or http://localhost for a PC app) the browser goes back there when it is done, with ?status=connected or ?status=failed and &account=ID.
Parameters
| aid * | path | integer |
Request body
{
"return_url": ""
}Responses
200 Successful Response · 422 Validation Error · 401 402 403 429 - see Errors
Example
curl -X POST -H "Authorization: Bearer $TPC_KEY" -H "Content-Type: application/json" \
-d '{"return_url": ""}' \
"https://tpcopier.com/api/v1/broker/accounts/{aid}/connect-link"POST/api/v1/broker/accounts/{aid}/reconnectReconnect Account
Try the saved session again, without opening a browser.
Parameters
| aid * | path | integer |
Responses
200 Successful Response · 422 Validation Error · 401 402 403 429 - see Errors
Example
curl -X POST -H "Authorization: Bearer $TPC_KEY" \
"https://tpcopier.com/api/v1/broker/accounts/{aid}/reconnect"POST/api/v1/broker/accounts/{aid}/disconnectDisconnect Account
Parameters
| aid * | path | integer |
Responses
200 Successful Response · 422 Validation Error · 401 402 403 429 - see Errors
Example
curl -X POST -H "Authorization: Bearer $TPC_KEY" \
"https://tpcopier.com/api/v1/broker/accounts/{aid}/disconnect"DELETE/api/v1/broker/accounts/{aid}Delete Account
Parameters
| aid * | path | integer |
Responses
200 Successful Response · 422 Validation Error · 401 402 403 429 - see Errors
Example
curl -X DELETE -H "Authorization: Bearer $TPC_KEY" \
"https://tpcopier.com/api/v1/broker/accounts/{aid}"POST/api/v1/bot-plan/ordersBot Buy
Copy Our Bots: months of the one plan (every bot) for the accounts chosen - Binance Pay's checkout, or a transfer (Pay.start).
Request body
{
"accounts": [],
"months": 1,
"only_high": false,
"min_payout": 0,
"stake": 0,
"bots": [
0
],
"method": "binance",
"accept_no_refund": false
}Responses
200 Successful Response · 422 Validation Error · 401 402 403 429 - see Errors
Example
curl -X POST -H "Authorization: Bearer $TPC_KEY" -H "Content-Type: application/json" \
-d '{"accounts": [], "months": 1, "only_high": false, "min_payout": 0, "stake": 0, "bots": [0], "method": "binance", "accept_no_refund": false}' \
"https://tpcopier.com/api/v1/bot-plan/orders"