Below are the available REST API endpoints for Fig Markets REST API
Fig Markets REST API (1.0)
https://api.test.figmarkets.com/v1/
https://api.figmarkets.com/v1/
Request
Get a list of the exchange credentials set up on your account.
The exchange API keys themselves are never included in the list; use Get exchange credentials by ID with includeCredentials=true to read one.
- Test API
https://api.test.figmarkets.com/v1/account/exchange-credentials
- Production API
https://api.figmarkets.com/v1/account/exchange-credentials
- curl
- JavaScript
- Go
- Java
- Python
curl -i -X GET \
https://api.test.figmarkets.com/v1/account/exchange-credentials \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
-H 'X-FIG-Signature: YOUR_API_KEY_HERE' \
-H 'X-FIG-Timestamp: YOUR_API_KEY_HERE'List of exchange credentials
Custom alias/reference for exchange credentials, unique on your account
Short code for the exchange - see Exchanges
Exchange name - see Exchanges
The exchange network the credentials are for. Credentials must match the environment: testnet on the Test API and mainnet on the Production API.
Whether these are your default credentials for their exchange. A default is optional, and at most one set of credentials per exchange is the default.
The base currencies these credentials may trade, as token symbols. An empty list means the credentials are not restricted and may trade every token.
What the exchange last reported for these credentials, each list in the exchange's own vocabulary. null when the exchange has not been asked yet or could not be reached.
true when the exchange requires each block trade on these credentials to be approved, such as Deribit's block_trade_approval feature. RFQs and RFQ quotes cannot settle on such credentials, so creating an RFQ or quote with them is refused.
Read from exchangeAccess, so it is false for credentials the exchange has not been asked about yet.
[ { "credentialsId": 1, "alias": "DBT-main", "exchangeId": 17, "exchangeShortCode": "DBT", "exchange": "Deribit", "network": "testnet", "isExchangeDefault": true, "allowedTokens": [ … ], "exchangeAccess": { … }, "blockTradeApproval": false } ]
Request
Add a set of exchange credentials to your account.
The credentials are checked with the exchange before they are saved, so they must be valid and for the network of the environment you are calling (testnet on the Test API, mainnet on the Production API).
An API key may add exchange credentials only when the user who created it is a trader admin.
Exchange credentials to add
Custom alias/reference for exchange credentials, unique on your account
Makes these credentials your default for their exchange. Setting it to true clears the default from your other credentials on the same exchange; false removes the default from these credentials. Leave it out of an update to keep the current setting.
- Test API
https://api.test.figmarkets.com/v1/account/exchange-credentials
- Production API
https://api.figmarkets.com/v1/account/exchange-credentials
- curl
- JavaScript
- Go
- Java
- Python
curl -i -X POST \
https://api.test.figmarkets.com/v1/account/exchange-credentials \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
-H 'Content-Type: application/json' \
-H 'X-FIG-Signature: YOUR_API_KEY_HERE' \
-H 'X-FIG-Timestamp: YOUR_API_KEY_HERE' \
-d '{
"exchangeId": 17,
"alias": "DBT-main",
"credentials": {
"client_id": "zAtLC8iG",
"client_secret": "CEXYHBPchiNcDEYxaFl7gIhA90gfebnyJ5NEjVmUDiI"
},
"isExchangeDefault": true,
"allowedTokens": [
"BTC",
"ETH"
]
}'The added exchange credentials, without the exchange API key
Custom alias/reference for exchange credentials, unique on your account
Short code for the exchange - see Exchanges
Exchange name - see Exchanges
The exchange network the credentials are for. Credentials must match the environment: testnet on the Test API and mainnet on the Production API.
Whether these are your default credentials for their exchange. A default is optional, and at most one set of credentials per exchange is the default.
The base currencies these credentials may trade, as token symbols. An empty list means the credentials are not restricted and may trade every token.
What the exchange last reported for these credentials, each list in the exchange's own vocabulary. null when the exchange has not been asked yet or could not be reached.
true when the exchange requires each block trade on these credentials to be approved, such as Deribit's block_trade_approval feature. RFQs and RFQ quotes cannot settle on such credentials, so creating an RFQ or quote with them is refused.
Read from exchangeAccess, so it is false for credentials the exchange has not been asked about yet.
{ "credentialsId": 1, "alias": "DBT-main", "exchangeId": 17, "exchangeShortCode": "DBT", "exchange": "Deribit", "network": "testnet", "isExchangeDefault": true, "allowedTokens": [ "BTC", "ETH" ], "exchangeAccess": { "permissions": [ … ], "features": [ … ], "ipWhitelist": [ … ], "checkedAt": "2026-10-19T09:30:00Z" }, "blockTradeApproval": false }
Request
Get a set of exchange credentials by ID.
The ID is the exchange credentials' credentialsId, from the response of the Get exchange credentials endpoint.
The decrypted exchange API key is included as credentials only when you set includeCredentials=true, which an API key may do only when the user who created it is a trader admin.
- Test API
https://api.test.figmarkets.com/v1/account/exchange-credentials/{id}
- Production API
https://api.figmarkets.com/v1/account/exchange-credentials/{id}
- curl
- JavaScript
- Go
- Java
- Python
curl -i -X GET \
https://api.test.figmarkets.com/v1/account/exchange-credentials/57 \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
-H 'X-FIG-Signature: YOUR_API_KEY_HERE' \
-H 'X-FIG-Timestamp: YOUR_API_KEY_HERE'Exchange credentials details
Custom alias/reference for exchange credentials, unique on your account
Short code for the exchange - see Exchanges
Exchange name - see Exchanges
The exchange network the credentials are for. Credentials must match the environment: testnet on the Test API and mainnet on the Production API.
Whether these are your default credentials for their exchange. A default is optional, and at most one set of credentials per exchange is the default.
The base currencies these credentials may trade, as token symbols. An empty list means the credentials are not restricted and may trade every token.
What the exchange last reported for these credentials, each list in the exchange's own vocabulary. null when the exchange has not been asked yet or could not be reached.
true when the exchange requires each block trade on these credentials to be approved, such as Deribit's block_trade_approval feature. RFQs and RFQ quotes cannot settle on such credentials, so creating an RFQ or quote with them is refused.
Read from exchangeAccess, so it is false for credentials the exchange has not been asked about yet.
{ "credentialsId": 1, "alias": "DBT-main", "exchangeId": 17, "exchangeShortCode": "DBT", "exchange": "Deribit", "network": "testnet", "isExchangeDefault": true, "allowedTokens": [ "BTC", "ETH" ], "exchangeAccess": { "permissions": [ … ], "features": [ … ], "ipWhitelist": [ … ], "checkedAt": "2026-10-19T09:30:00Z" }, "blockTradeApproval": false, "credentials": { "client_id": "zAtLC8iG", "client_secret": "CEXYHBPchiNcDEYxaFl7gIhA90gfebnyJ5NEjVmUDiI" } }
Request
Change the alias or the exchange API key of a set of exchange credentials.
The credentials are always required and are checked with the exchange again before they are saved. The exchange cannot be changed: exchangeId must be the one the credentials were added for. To change the token restriction use Update exchange credentials allowed tokens.
An API key may change exchange credentials only when the user who created it is a trader admin.
Exchange credentials to save
Custom alias/reference for exchange credentials, unique on your account
Makes these credentials your default for their exchange. Setting it to true clears the default from your other credentials on the same exchange; false removes the default from these credentials. Leave it out of an update to keep the current setting.
- Test API
https://api.test.figmarkets.com/v1/account/exchange-credentials/{id}
- Production API
https://api.figmarkets.com/v1/account/exchange-credentials/{id}
- curl
- JavaScript
- Go
- Java
- Python
curl -i -X PUT \
https://api.test.figmarkets.com/v1/account/exchange-credentials/57 \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
-H 'Content-Type: application/json' \
-H 'X-FIG-Signature: YOUR_API_KEY_HERE' \
-H 'X-FIG-Timestamp: YOUR_API_KEY_HERE' \
-d '{
"exchangeId": 17,
"alias": "DBT-main",
"credentials": {
"client_id": "zAtLC8iG",
"client_secret": "CEXYHBPchiNcDEYxaFl7gIhA90gfebnyJ5NEjVmUDiI"
},
"isExchangeDefault": true
}'{ "message": "string" }
- Test API
https://api.test.figmarkets.com/v1/account/exchange-credentials/{id}
- Production API
https://api.figmarkets.com/v1/account/exchange-credentials/{id}
- curl
- JavaScript
- Go
- Java
- Python
curl -i -X DELETE \
https://api.test.figmarkets.com/v1/account/exchange-credentials/57 \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
-H 'X-FIG-Signature: YOUR_API_KEY_HERE' \
-H 'X-FIG-Timestamp: YOUR_API_KEY_HERE'{ "message": "string" }
- Test API
https://api.test.figmarkets.com/v1/account/exchange-credentials/{id}/allowed-tokens
- Production API
https://api.figmarkets.com/v1/account/exchange-credentials/{id}/allowed-tokens
- curl
- JavaScript
- Go
- Java
- Python
curl -i -X PUT \
https://api.test.figmarkets.com/v1/account/exchange-credentials/57/allowed-tokens \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
-H 'Content-Type: application/json' \
-H 'X-FIG-Signature: YOUR_API_KEY_HERE' \
-H 'X-FIG-Timestamp: YOUR_API_KEY_HERE' \
-d '{
"allowedTokens": [
"BTC",
"ETH"
]
}'{ "message": "string" }