API Documentation
Home
v1.0

SicariTrade API

RESTful API for managing leads, campaigns, deposits, and trading operations. Base URL: https://api.sicaritrade.com/v1

📘 Introduction

The SicariTrade API provides programmatic access to lead management, campaign operations, deposit processing, and trading functionality. All API requests require authentication using API keys.

â„šī¸
Base URL: All endpoints are relative to https://api.sicaritrade.com/v1

🔐 Authentication

All API requests must include your API key in the Authorization header. You can generate an API key from your account dashboard.

Request Headers
Header Value Description
Authorization Bearer YOUR_API_KEY Your API authentication token
Content-Type application/json Request body format
Example Request
cURL
curl -X GET https://api.sicaritrade.com/v1/account \ -H "Authorization: Bearer sk_live_abc123xyz456def789" \ -H "Content-Type: application/json"

âš ī¸ Error Codes

The API uses standard HTTP status codes to indicate success or failure.

Code Status Description
200 OK Request successful
201 Created Resource successfully created
400 Bad Request Invalid request parameters
401 Unauthorized Invalid or missing API key
404 Not Found Resource not found
500 Server Error Internal server error
POST /leads

Submit a new lead to the system. This endpoint captures potential customer information for follow-up and conversion tracking.

📝 Request Body
Parameter Type Description
emailrequired string Lead's email address
first_namerequired string Lead's first name
last_namerequired string Lead's last name
phoneoptional string Lead's phone number
countryoptional string Lead's country code (ISO 3166-1 alpha-2)
campaign_idoptional string Associated campaign identifier
sourceoptional string Lead source (e.g., "facebook", "google", "organic")
đŸ’ģ Code Examples
cURL
curl -X POST https://api.sicaritrade.com/v1/leads \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "email": "john.doe@example.com", "first_name": "John", "last_name": "Doe", "phone": "+1234567890", "country": "US", "campaign_id": "camp_abc123", "source": "facebook" }'
JavaScript (Fetch)
const response = await fetch('https://api.sicaritrade.com/v1/leads', { method: 'POST', headers: { 'Authorization': 'Bearer YOUR_API_KEY', 'Content-Type': 'application/json' }, body: JSON.stringify({ email: 'john.doe@example.com', first_name: 'John', last_name: 'Doe', phone: '+1234567890', country: 'US', campaign_id: 'camp_abc123', source: 'facebook' }) }); const data = await response.json(); console.log(data);
Python (Requests)
import requests url = "https://api.sicaritrade.com/v1/leads" headers = { "Authorization": "Bearer YOUR_API_KEY", "Content-Type": "application/json" } payload = { "email": "john.doe@example.com", "first_name": "John", "last_name": "Doe", "phone": "+1234567890", "country": "US", "campaign_id": "camp_abc123", "source": "facebook" } response = requests.post(url, headers=headers, json=payload) print(response.json())
✅ Response
201 Created
JSON Response
{ "success": true, "data": { "id": "lead_1a2b3c4d5e6f", "email": "john.doe@example.com", "first_name": "John", "last_name": "Doe", "phone": "+1234567890", "country": "US", "campaign_id": "camp_abc123", "source": "facebook", "status": "new", "created_at": "2024-08-02T10:30:00Z", "updated_at": "2024-08-02T10:30:00Z" } }
GET /leads

Retrieve a paginated list of all leads in the system. Supports filtering by status, campaign, and date range.

🔍 Query Parameters
Parameter Type Description
pageoptional integer Page number (default: 1)
limitoptional integer Items per page (default: 50, max: 100)
statusoptional string Filter by status: "new", "contacted", "qualified", "converted"
campaign_idoptional string Filter by campaign ID
from_dateoptional string Filter leads created after this date (ISO 8601)
to_dateoptional string Filter leads created before this date (ISO 8601)
đŸ’ģ Code Example
cURL
curl -X GET "https://api.sicaritrade.com/v1/leads?page=1&limit=50&status=new" \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json"
✅ Response
200 OK
JSON Response
{ "success": true, "data": { "leads": [ { "id": "lead_1a2b3c4d5e6f", "email": "john.doe@example.com", "first_name": "John", "last_name": "Doe", "phone": "+1234567890", "country": "US", "status": "new", "campaign_id": "camp_abc123", "source": "facebook", "created_at": "2024-08-02T10:30:00Z" }, { "id": "lead_2b3c4d5e6f7g", "email": "jane.smith@example.com", "first_name": "Jane", "last_name": "Smith", "phone": "+9876543210", "country": "GB", "status": "new", "campaign_id": "camp_abc123", "source": "google", "created_at": "2024-08-02T11:45:00Z" } ], "pagination": { "page": 1, "limit": 50, "total": 156, "pages": 4 } } }
GET /leads/:id

Retrieve detailed information about a specific lead by their unique identifier.

🔑 Path Parameters
Parameter Type Description
idrequired string Unique lead identifier
đŸ’ģ Code Example
cURL
curl -X GET https://api.sicaritrade.com/v1/leads/lead_1a2b3c4d5e6f \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json"
✅ Response
200 OK
JSON Response
{ "success": true, "data": { "id": "lead_1a2b3c4d5e6f", "email": "john.doe@example.com", "first_name": "John", "last_name": "Doe", "phone": "+1234567890", "country": "US", "status": "new", "campaign_id": "camp_abc123", "source": "facebook", "notes": "Interested in forex trading", "assigned_to": "agent_xyz789", "created_at": "2024-08-02T10:30:00Z", "updated_at": "2024-08-02T10:30:00Z" } }
PUT /leads/:id

Update an existing lead's information. Only provided fields will be updated.

📝 Request Body
Parameter Type Description
statusoptional string Lead status: "new", "contacted", "qualified", "converted"
notesoptional string Additional notes about the lead
assigned_tooptional string Agent ID to assign the lead to
đŸ’ģ Code Example
cURL
curl -X PUT https://api.sicaritrade.com/v1/leads/lead_1a2b3c4d5e6f \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "status": "contacted", "notes": "Called and scheduled follow-up", "assigned_to": "agent_xyz789" }'
✅ Response
200 OK
JSON Response
{ "success": true, "data": { "id": "lead_1a2b3c4d5e6f", "email": "john.doe@example.com", "first_name": "John", "last_name": "Doe", "status": "contacted", "notes": "Called and scheduled follow-up", "assigned_to": "agent_xyz789", "updated_at": "2024-08-02T14:20:00Z" } }
GET /campaigns

Retrieve all marketing campaigns with performance metrics including leads generated, conversion rates, and ROI.

🔍 Query Parameters
Parameter Type Description
pageoptional integer Page number (default: 1)
limitoptional integer Items per page (default: 20)
statusoptional string Filter by status: "active", "paused", "completed"
đŸ’ģ Code Example
cURL
curl -X GET "https://api.sicaritrade.com/v1/campaigns?status=active" \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json"
✅ Response
200 OK
JSON Response
{ "success": true, "data": { "campaigns": [ { "id": "camp_abc123", "name": "Q4 Forex Campaign", "status": "active", "budget": 10000.00, "spent": 4250.50, "leads_generated": 156, "conversions": 23, "conversion_rate": 14.74, "roi": 245.5, "start_date": "2024-07-01", "end_date": "2024-09-30", "created_at": "2024-06-25T09:00:00Z" }, { "id": "camp_def456", "name": "Crypto Trading Summer", "status": "active", "budget": 15000.00, "spent": 8900.00, "leads_generated": 234, "conversions": 45, "conversion_rate": 19.23, "roi": 312.8, "start_date": "2024-06-15", "end_date": "2024-08-31", "created_at": "2024-06-10T10:30:00Z" } ], "pagination": { "page": 1, "limit": 20, "total": 12, "pages": 1 } } }
POST /campaigns

Create a new marketing campaign to track leads and performance metrics.

📝 Request Body
Parameter Type Description
namerequired string Campaign name
budgetrequired number Total campaign budget
start_daterequired string Campaign start date (YYYY-MM-DD)
end_daterequired string Campaign end date (YYYY-MM-DD)
descriptionoptional string Campaign description
đŸ’ģ Code Example
cURL
curl -X POST https://api.sicaritrade.com/v1/campaigns \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "name": "Q4 Forex Campaign", "budget": 10000.00, "start_date": "2024-07-01", "end_date": "2024-09-30", "description": "Target forex traders in EU and US markets" }'
✅ Response
201 Created
JSON Response
{ "success": true, "data": { "id": "camp_abc123", "name": "Q4 Forex Campaign", "status": "active", "budget": 10000.00, "spent": 0.00, "leads_generated": 0, "conversions": 0, "start_date": "2024-07-01", "end_date": "2024-09-30", "description": "Target forex traders in EU and US markets", "created_at": "2024-06-25T09:00:00Z" } }
GET /campaigns/:id

Get detailed information about a specific campaign including all performance metrics.

đŸ’ģ Code Example
cURL
curl -X GET https://api.sicaritrade.com/v1/campaigns/camp_abc123 \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json"
✅ Response
200 OK
JSON Response
{ "success": true, "data": { "id": "camp_abc123", "name": "Q4 Forex Campaign", "status": "active", "budget": 10000.00, "spent": 4250.50, "leads_generated": 156, "conversions": 23, "conversion_rate": 14.74, "roi": 245.5, "start_date": "2024-07-01", "end_date": "2024-09-30", "description": "Target forex traders in EU and US markets", "created_at": "2024-06-25T09:00:00Z", "updated_at": "2024-08-02T10:00:00Z" } }
PUT /campaigns/:id

Update campaign details including budget, dates, or status.

📝 Request Body
Parameter Type Description
statusoptional string Campaign status: "active", "paused", "completed"
budgetoptional number Updated budget amount
end_dateoptional string Updated end date (YYYY-MM-DD)
đŸ’ģ Code Example
cURL
curl -X PUT https://api.sicaritrade.com/v1/campaigns/camp_abc123 \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "status": "paused", "budget": 12000.00 }'
✅ Response
200 OK
JSON Response
{ "success": true, "data": { "id": "camp_abc123", "name": "Q4 Forex Campaign", "status": "paused", "budget": 12000.00, "spent": 4250.50, "updated_at": "2024-08-02T15:30:00Z" } }
POST /deposits

Initiate a new deposit transaction. This endpoint creates a deposit request and returns payment instructions.

📝 Request Body
Parameter Type Description
amountrequired number Deposit amount
currencyrequired string Currency code (USD, EUR, GBP, BTC, ETH, etc.)
methodrequired string Payment method: "card", "bank_transfer", "crypto", "ewallet"
account_idrequired string Trading account ID to credit
đŸ’ģ Code Example
cURL
curl -X POST https://api.sicaritrade.com/v1/deposits \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "amount": 1000.00, "currency": "USD", "method": "card", "account_id": "acc_123456789" }'
✅ Response
201 Created
JSON Response
{ "success": true, "data": { "id": "dep_1a2b3c4d5e6f", "account_id": "acc_123456789", "amount": 1000.00, "currency": "USD", "method": "card", "status": "pending", "payment_url": "https://pay.sicaritrade.com/deposit/dep_1a2b3c4d5e6f", "expires_at": "2024-08-02T12:30:00Z", "created_at": "2024-08-02T11:30:00Z" } }
âš ī¸
Payment URL: Redirect users to the payment_url to complete the deposit. The URL expires after 1 hour.
GET /deposits

Retrieve deposit transaction history for an account with filtering options.

🔍 Query Parameters
Parameter Type Description
account_idoptional string Filter by account ID
statusoptional string Filter by status: "pending", "completed", "failed"
pageoptional integer Page number (default: 1)
limitoptional integer Items per page (default: 50)
đŸ’ģ Code Example
cURL
curl -X GET "https://api.sicaritrade.com/v1/deposits?account_id=acc_123456789&status=completed" \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json"
✅ Response
200 OK
JSON Response
{ "success": true, "data": { "deposits": [ { "id": "dep_1a2b3c4d5e6f", "account_id": "acc_123456789", "amount": 1000.00, "currency": "USD", "method": "card", "status": "completed", "completed_at": "2024-08-02T11:35:00Z", "created_at": "2024-08-02T11:30:00Z" }, { "id": "dep_2b3c4d5e6f7g", "account_id": "acc_123456789", "amount": 5000.00, "currency": "USD", "method": "bank_transfer", "status": "completed", "completed_at": "2024-07-28T14:20:00Z", "created_at": "2024-07-28T10:15:00Z" } ], "pagination": { "page": 1, "limit": 50, "total": 18, "pages": 1 } } }
GET /deposits/:id

Check the status of a specific deposit transaction.

đŸ’ģ Code Example
cURL
curl -X GET https://api.sicaritrade.com/v1/deposits/dep_1a2b3c4d5e6f \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json"
✅ Response
200 OK
JSON Response
{ "success": true, "data": { "id": "dep_1a2b3c4d5e6f", "account_id": "acc_123456789", "amount": 1000.00, "currency": "USD", "method": "card", "status": "completed", "transaction_id": "txn_9z8y7x6w5v4u", "completed_at": "2024-08-02T11:35:00Z", "created_at": "2024-08-02T11:30:00Z" } }
GET /account

Retrieve detailed information about the authenticated trading account.

đŸ’ģ Code Example
cURL
curl -X GET https://api.sicaritrade.com/v1/account \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json"
✅ Response
200 OK
JSON Response
{ "success": true, "data": { "id": "acc_123456789", "user_id": "user_abc123", "type": "standard", "status": "active", "currency": "USD", "leverage": "1:100", "balance": 10250.50, "equity": 10580.75, "margin_used": 1250.00, "margin_free": 9330.75, "margin_level": 846.46, "created_at": "2024-06-15T10:00:00Z", "verified": true } }
GET /account/balance

Get current balance and margin information for the trading account.

đŸ’ģ Code Example
cURL
curl -X GET https://api.sicaritrade.com/v1/account/balance \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json"
✅ Response
200 OK
JSON Response
{ "success": true, "data": { "balance": 10250.50, "equity": 10580.75, "margin_used": 1250.00, "margin_free": 9330.75, "margin_level": 846.46, "currency": "USD", "updated_at": "2024-08-02T11:30:00Z" } }
GET /account/transactions

Retrieve account transaction history including deposits, withdrawals, and trading activity.

🔍 Query Parameters
Parameter Type Description
typeoptional string Filter by type: "deposit", "withdrawal", "trade"
from_dateoptional string Start date (ISO 8601)
to_dateoptional string End date (ISO 8601)
pageoptional integer Page number (default: 1)
đŸ’ģ Code Example
cURL
curl -X GET "https://api.sicaritrade.com/v1/account/transactions?type=deposit&page=1" \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json"
✅ Response
200 OK
JSON Response
{ "success": true, "data": { "transactions": [ { "id": "txn_1a2b3c4d5e6f", "type": "deposit", "amount": 1000.00, "currency": "USD", "status": "completed", "description": "Card deposit", "created_at": "2024-08-02T11:30:00Z" }, { "id": "txn_2b3c4d5e6f7g", "type": "trade", "amount": 125.50, "currency": "USD", "status": "completed", "description": "Profit from EUR/USD trade", "created_at": "2024-08-01T15:20:00Z" } ], "pagination": { "page": 1, "limit": 50, "total": 45, "pages": 1 } } }
POST /orders

Place a new trading order (market or limit order) on any available trading instrument.

📝 Request Body
Parameter Type Description
symbolrequired string Trading pair (e.g., EURUSD, BTCUSD)
typerequired string Order type: "market" or "limit"
siderequired string Order side: "buy" or "sell"
volumerequired number Order volume in lots
priceoptional number Limit price (required for limit orders)
stop_lossoptional number Stop loss price
take_profitoptional number Take profit price
đŸ’ģ Code Example
cURL
curl -X POST https://api.sicaritrade.com/v1/orders \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "symbol": "EURUSD", "type": "market", "side": "buy", "volume": 0.1, "stop_loss": 1.0800, "take_profit": 1.0900 }'
✅ Response
201 Created
JSON Response
{ "success": true, "data": { "id": "ord_1a2b3c4d5e6f", "symbol": "EURUSD", "type": "market", "side": "buy", "volume": 0.1, "open_price": 1.0847, "stop_loss": 1.0800, "take_profit": 1.0900, "status": "filled", "created_at": "2024-08-02T11:30:00Z", "filled_at": "2024-08-02T11:30:01Z" } }
GET /orders

Retrieve all orders (active and historical) with optional filtering.

🔍 Query Parameters
Parameter Type Description
statusoptional string Filter by status: "pending", "filled", "cancelled"
symboloptional string Filter by trading symbol
pageoptional integer Page number (default: 1)
đŸ’ģ Code Example
cURL
curl -X GET "https://api.sicaritrade.com/v1/orders?status=filled" \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json"
✅ Response
200 OK
JSON Response
{ "success": true, "data": { "orders": [ { "id": "ord_1a2b3c4d5e6f", "symbol": "EURUSD", "type": "market", "side": "buy", "volume": 0.1, "open_price": 1.0847, "status": "filled", "created_at": "2024-08-02T11:30:00Z" }, { "id": "ord_2b3c4d5e6f7g", "symbol": "BTCUSD", "type": "limit", "side": "buy", "volume": 0.05, "open_price": 43000.00, "status": "filled", "created_at": "2024-08-01T14:20:00Z" } ], "pagination": { "page": 1, "limit": 50, "total": 87, "pages": 2 } } }
GET /positions

Get all currently open trading positions with real-time profit/loss information.

đŸ’ģ Code Example
cURL
curl -X GET https://api.sicaritrade.com/v1/positions \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json"
✅ Response
200 OK
JSON Response
{ "success": true, "data": { "positions": [ { "id": "pos_1a2b3c4d5e6f", "symbol": "EURUSD", "side": "buy", "volume": 0.1, "open_price": 1.0847, "current_price": 1.0865, "profit": 18.00, "profit_percent": 1.66, "stop_loss": 1.0800, "take_profit": 1.0900, "opened_at": "2024-08-02T11:30:00Z" }, { "id": "pos_2b3c4d5e6f7g", "symbol": "BTCUSD", "side": "buy", "volume": 0.05, "open_price": 43000.00, "current_price": 43250.50, "profit": 12.53, "profit_percent": 0.58, "opened_at": "2024-08-01T14:20:00Z" } ], "summary": { "total_positions": 2, "total_profit": 30.53, "total_profit_percent": 1.12 } } }