Quick Start Guide
Overview
This guide provides a comprehensive overview of how to use the Monday API endpoints. It covers the essential steps from authentication to making your first API call.
Important: All API endpoints require authentication.
Prerequisites
Before you begin, ensure you have:
A Monday account
API credentials:
API Key: Your public API key
Secret Key: Your private secret key (keep this secure!)
Passphrase: Required for API authentication
Basic understanding of REST APIs
Your preferred programming language environment set up (Python recommended for API examples)
Authentication
All API endpoints (prefixed with /v4/public/mm/) require authentication using HMAC-SHA256 signature authentication.
API Authentication
API endpoints (prefixed with /v4/public/mm/) use HMAC-SHA256 signature authentication.
Required Headers
Signature Generation
The signature is generated using HMAC-SHA256 and Base64 encoding:
Message Format:
Signature Calculation:
Python Implementation Example
Important Notes for API
Timestamp Format: Use ISO 8601 UTC format (e.g.,
2020-12-08T09:08:57.715Z)Time Window: Requests are valid within 30 seconds of the timestamp
GET Requests: Query parameters must be sorted alphabetically by key
Example:
symbol=BTCUSDT&side=buy&amount=0.001→amount=0.001&side=buy&symbol=BTCUSDT
POST Requests:
JSON body keys must be sorted alphabetically
Use compact JSON format (no spaces):
json.dumps(data, sort_keys=True, separators=(',', ':'))Form body: No sorting required, maintain original order
Base URL
All API requests should be made to:
API endpoints use the path prefix /v4/public/mm/, so the full URL format is:
Important: When generating signatures, use the full path including /v4/public/mm/ (e.g., /v4/public/mm/serverTime).
Step-by-Step Examples
API Examples
Step 1: Get Server Time (API)
First, synchronize with the server time:
Step 2: Get Orderbook (API)
Retrieve orderbook data:
Step 3: Get Account Balance (API)
Retrieve your account balance:
Step 4: POST Request Example (API)
Example of a POST request with JSON body:
Error Handling
Always implement proper error handling:
Rate Limits
Be aware of rate limits:
All Endpoints: 120 requests per minute
Implement rate limiting in your application to avoid hitting these limits.
Common Parameters
Category Types
spot: Spot tradinglinear: Linear perpetual contractsinverse: Inverse perpetual contractsoption: Options trading
Account Types
UNIFIED: Unified trading accountCONTRACT: Derivatives accountSPOT: Spot trading account
Order Status
New: New orderPartiallyFilled: Partially filledFilled: Completely filledCancelled: CancelledRejected: Rejected
Best Practices
1. Use HTTPS
Always use HTTPS for API requests to ensure data security.
2. Handle Timestamps
Use server time for synchronization
Include proper timestamp in requests
Account for network latency
3. Implement Retry Logic
4. Validate Responses
Always validate API responses before processing:
5. Use Pagination
For endpoints that return large datasets, use pagination:
Testing Your Setup
Test your API setup with this Python script:
API Endpoints
The API provides the following endpoints (all prefixed with /v4/public/mm/):
/v4/public/mm/serverTime- Get server time/v4/public/mm/kline- Get kline/candlestick data/v4/public/mm/instruments-info- Get instrument information/v4/public/mm/tickers- Get ticker data/v4/public/mm/funding/history- Get funding rate history/v4/public/mm/orderBook- Get orderbook data/v4/public/mm/order/realTime- Get open orders/v4/public/mm/order/history- Get order history/v4/public/mm/execution/list- Get trade execution history/v4/public/mm/position/list- Get position information/v4/public/mm/liquidity/list- Get liquidity positions/v4/public/mm/liquidity/history- Get liquidity history/v4/public/mm/account/wallet-balance- Get account balance/v4/public/mm/account/transaction-history- Get transaction history/v4/public/mm/token/tokensWithAddress- Get tokens with addresses/v4/public/mm/token/coinsWithSymbol- Get coins with symbols
Next Steps
Set Up Authentication: Ensure your API credentials (API Key, Secret Key, and Passphrase) are properly configured
Test Basic Endpoints: Start with simple endpoints like
/v4/public/mm/serverTimeUnderstand Signature Requirements:
GET requests: Sort query parameters alphabetically
POST requests: Sort JSON keys alphabetically
Use ISO 8601 UTC timestamp format
Explore Market Data: Access market data endpoints to understand available instruments
Check Account Status: Verify your account balance and permissions
Monitor Positions: Use position endpoints to track your current positions
Review Order History: Analyze your trading history and performance
Implement Trading Logic: Build your trading strategies using the API
Support
For additional help:
Check the individual API documentation files
Review error codes and messages
Ensure your API keys have the correct permissions
Verify your request format matches the documentation
Security Notes
Never expose your API secret key or passphrase in client-side code
Use environment variables for API credentials
Implement proper access controls
Monitor your API usage regularly
Rotate your API keys periodically
Keep your passphrase secure - it's required for API authentication
Ensure timestamps are accurate - requests expire after 30 seconds for API
Troubleshooting
Common Issues with API
Signature Mismatch
Verify query parameters are sorted alphabetically for GET requests
Ensure JSON keys are sorted alphabetically for POST requests
Check timestamp format (must be ISO 8601 UTC)
Verify the message format:
timestamp + method + request_path + body
Invalid Timestamp
Ensure your system clock is synchronized
Use UTC timezone for timestamps
Timestamp must be within 30 seconds of server time
Format:
YYYY-MM-DDTHH:MM:SS[.ms]Z(e.g.,2020-12-08T09:08:57.715Z)
API Key Not Found
Verify your API key is correct
Check if the API key is active
Ensure you're using the correct base URL
Passphrase Mismatch
Verify your passphrase matches the one associated with your API key
Passphrase is case-sensitive
Last updated