Use your language’s HTTP client to call our API—no SDKs needed. Include your API key in the X-API-Key header.
// Node 18+ (native fetch)
const API_BASE_URL = 'https://api.copydium.com';
const API_KEY = 'sk_live_abc123def456...';
// GET: Dashboard stats
const statsRes = await fetch(API_BASE_URL + '/api/v1/reports/user/dashboard-stats', {
headers: { 'X-API-Key': API_KEY }
});
console.log(await statsRes.json());
// POST: Create trading account
const createRes = await fetch(API_BASE_URL + '/api/v1/taccounts', {
method: 'POST',
headers: { 'X-API-Key': API_KEY, 'Content-Type': 'application/json' },
body: JSON.stringify({
serverId: 'srv_123',
accountId: '12345678',
tradePlatform: 'TRADE_PLATFORM_MT4',
accountType: 'T_ACCOUNT_TYPE_FOLLOWER',
password: 'your-password'
})
});
console.log(await createRes.json());
import requests
API_BASE_URL = 'https://api.copydium.com'
API_KEY = 'sk_live_abc123def456...'
headers = { 'X-API-Key': API_KEY }
# GET: Dashboard stats
r = requests.get(API_BASE_URL + '/api/v1/reports/user/dashboard-stats', headers=headers)
print(r.json())
# POST: Create trading account
payload = {
'serverId': 'srv_123',
'accountId': '12345678',
'tradePlatform': 'TRADE_PLATFORM_MT4',
'accountType': 'T_ACCOUNT_TYPE_FOLLOWER',
'password': 'your-password'
}
r = requests.post(API_BASE_URL + '/api/v1/taccounts', headers={**headers, 'Content-Type': 'application/json'}, json=payload)
print(r.json())
<?php
$API_BASE_URL = 'https://api.copydium.com';
$API_KEY = 'sk_live_abc123def456...';
// GET: Dashboard stats
$ch = curl_init($API_BASE_URL . '/api/v1/reports/user/dashboard-stats');
curl_setopt_array($ch, [CURLOPT_HTTPHEADER => ["X-API-Key: $API_KEY"], CURLOPT_RETURNTRANSFER => true]);
$stats = curl_exec($ch);
curl_close($ch);
print_r($stats);
// POST: Create trading account
$payload = json_encode([
'serverId' => 'srv_123',
'accountId' => '12345678',
'tradePlatform' => 'TRADE_PLATFORM_MT4',
'accountType' => 'T_ACCOUNT_TYPE_FOLLOWER',
'password' => 'your-password'
]);
$ch = curl_init($API_BASE_URL . '/api/v1/taccounts');
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => $payload,
CURLOPT_HTTPHEADER => ["X-API-Key: $API_KEY", 'Content-Type: application/json'],
CURLOPT_RETURNTRANSFER => true
]);
$resp = curl_exec($ch);
curl_close($ch);
print_r($resp);
package main
import ("bytes"; "fmt"; "io"; "net/http")
func main() {
api := "https://api.copydium.com"
key := "sk_live_abc123def456..."
// GET: Dashboard stats
req, _ := http.NewRequest("GET", api+"/api/v1/reports/user/dashboard-stats", nil)
req.Header.Set("X-API-Key", key)
res, _ := http.DefaultClient.Do(req)
body, _ := io.ReadAll(res.Body); fmt.Println(string(body))
res.Body.Close()
// POST: Create trading account
payload := []byte(`{"serverId":"srv_123","accountId":"12345678","tradePlatform":"TRADE_PLATFORM_MT4","accountType":"T_ACCOUNT_TYPE_FOLLOWER","password":"your-password"}`)
req2, _ := http.NewRequest("POST", api+"/api/v1/taccounts", bytes.NewBuffer(payload))
req2.Header.Set("X-API-Key", key)
req2.Header.Set("Content-Type", "application/json")
res2, _ := http.DefaultClient.Do(req2)
body2, _ := io.ReadAll(res2.Body); fmt.Println(string(body2))
res2.Body.Close()
}
require 'net/http'; require 'uri'; require 'json'
api = 'https://api.copydium.com'
key = 'sk_live_abc123def456...'
# GET: Dashboard stats
uri = URI(api + '/api/v1/reports/user/dashboard-stats')
req = Net::HTTP::Get.new(uri); req['X-API-Key'] = key
res = Net::HTTP.start(uri.host, uri.port, use_ssl: true) { |http| http.request(req) }
puts res.body
# POST: Create trading account
uri = URI(api + '/api/v1/taccounts')
req = Net::HTTP::Post.new(uri)
req['X-API-Key'] = key; req['Content-Type'] = 'application/json'
req.body = { serverId: 'srv_123', accountId: '12345678', tradePlatform: 'TRADE_PLATFORM_MT4', accountType: 'T_ACCOUNT_TYPE_FOLLOWER', password: 'your-password' }.to_json
res = Net::HTTP.start(uri.host, uri.port, use_ssl: true) { |http| http.request(req) }
puts res.body
import java.net.http.*; import java.net.*; import java.time.*;
var API_BASE_URL = "https://api.copydium.com";
var API_KEY = "sk_live_abc123def456...";
var client = HttpClient.newBuilder().connectTimeout(Duration.ofSeconds(10)).build();
// GET: Dashboard stats
var req1 = HttpRequest.newBuilder(URI.create(API_BASE_URL + "/api/v1/reports/user/dashboard-stats"))
.header("X-API-Key", API_KEY).GET().build();
var res1 = client.send(req1, HttpResponse.BodyHandlers.ofString());
System.out.println(res1.body());
// POST: Create trading account
var body = "{" +
""serverId":"srv_123","accountId":"12345678","tradePlatform":"TRADE_PLATFORM_MT4","accountType":"T_ACCOUNT_TYPE_FOLLOWER","password":"your-password"}";
var req2 = HttpRequest.newBuilder(URI.create(API_BASE_URL + "/api/v1/taccounts"))
.header("X-API-Key", API_KEY).header("Content-Type", "application/json")
.POST(HttpRequest.BodyPublishers.ofString(body)).build();
var res2 = client.send(req2, HttpResponse.BodyHandlers.ofString());
System.out.println(res2.body());
using System; using System.Net.Http; using System.Net.Http.Headers; using System.Threading.Tasks;
var api = "https://api.copydium.com";
var key = "sk_live_abc123def456...";
var http = new HttpClient();
http.DefaultRequestHeaders.Add("X-API-Key", key);
// GET: Dashboard stats
var stats = await http.GetStringAsync(api + "/api/v1/reports/user/dashboard-stats");
Console.WriteLine(stats);
// POST: Create trading account
var json = "{" +
""serverId":"srv_123","accountId":"12345678","tradePlatform":"TRADE_PLATFORM_MT4","accountType":"T_ACCOUNT_TYPE_FOLLOWER","password":"your-password"}";
var content = new StringContent(json, System.Text.Encoding.UTF8, "application/json");
var resp = await http.PostAsync(api + "/api/v1/taccounts", content);
Console.WriteLine(await resp.Content.ReadAsStringAsync());