ArtsaysDeveloper Portal

Getting Started

Everything you need to integrate with the Artsays Trading API. Follow the steps below to make your first API call.

1Get Your API Key

Your API key is generated by the platform admin. Contact your admin or visit the Settings page to request access.

sk_sandbox_...

Sandbox key — Returns mock/test data. No real funds are affected. Use this for development and testing.

sk_prod_...

Production key — Returns real live data. Real trading and real funds. Use only in production environments.

2Authenticate Your Requests

Every API request must include your API key. You can pass it in two ways:

Recommended: Header
x-api-key: sk_sandbox_your_key_here

Most secure. Use this in production.

Alternative: Query Parameter
?x-api-key=sk_sandbox_your_key_here

Convenient for quick testing in Postman or browser.

3Base URL

https://trading.artsays.in/api/v1/

All endpoints are prefixed with /api/v1/. Both sandbox and production use the same URL — your API key determines the environment.

4Make Your First API Call

Try fetching the asset list — the simplest endpoint with no required parameters:

cURL
curl -X GET "https://trading.artsays.in/api/v1/assets" \
     -H "x-api-key: YOUR_API_KEY"

Or in Postman:

  1. Set method to GET
  2. Enter URL: https://trading.artsays.in/api/v1/assets
  3. Go to Headers tab, add: Key = x-api-key, Value = your_api_key
  4. Click Send

5Understand the Response

All responses are JSON with a consistent structure:

Success Response (200)
{
  "success": true,
  "count": 12,
  "data": [...]
}
Error Response (4xx/5xx)
{
  "error": "Invalid or missing API key"
}

Sandbox responses include extra fields: "test": true and "environment": "sandbox"

Common Mistakes

ProblemCauseFix
Missing API KeyNo x-api-key header or query param sentAdd the header or query parameter with your key
Invalid API KeyKey doesn't match any record in database, or has been rotated/deletedCheck key is correct, not expired. Generate a new key from admin.
Endpoint not allowedYour API key does not have permission for this endpointContact admin to add endpoint to your allowed list
429 Too Many RequestsExceeded 60 requests/min rate limitWait and retry. Check Retry-After header.
Sandbox returns test dataUsing a sk_sandbox_ keySwitch to sk_prod_ key for real data

API Scopes

Public Endpoints

Return market-wide data. Any valid API key can access these. No user identity is needed.

User-Scoped Endpoints

Return data specific to the API client user. The API key acts as the user identity — you see only your own orders, portfolio, and wallet.

Rate Limiting

Default rate limit is 60 requests per minute per API key. Exceeding this returns a 429 status. Your admin can adjust your per-key limit. The Retry-After header indicates when you can retry.

All Endpoints

MethodPathDescriptionScope
GET/api/v1/statsMarket StatsPublic
GET/api/v1/assetsAsset ListPublic
GET/api/v1/tradesRecent TradesPublic
GET/api/v1/orderbookOrderbookPublic
GET/api/v1/artistsArtist DirectoryPublic
GET/api/v1/ipoIPO ListingsPublic
POST/api/v1/ipo/subscribeIPO SubscribeUser
GET/api/v1/ordersList OrdersUser
POST/api/v1/ordersPlace OrderUser
GET/api/v1/portfolioMy PortfolioUser
GET/api/v1/walletWallet BalanceUser
GET/api/v1/transactionsTransaction LedgerUser
GET/api/v1/withdrawalsWithdrawal HistoryUser
POST/api/v1/withdrawalsRequest WithdrawalUser
GET/api/v1/artist/artworksList ArtworksUser
POST/api/v1/artist/artworksSubmit ArtworkUser