How to List EMS-Supported Exchanges and Their Required Login Parameters
When you connect an exchange account to CoinAPI EMS Managed Cloud, each exchange expects a specific set of credentials (for example: API key, API secret, passphrase). The Exchange Configuration endpoint lets you retrieve, in one call, the list of EMS-supported exchanges along with:
- the required login parameters you must provide for each exchange, and
- the location used by that exchange inside the Managed Cloud environment.
You typically call this endpoint before creating or validating an EMS account, so you don’t guess which credential fields are needed.
What you need before you start
- ✅ A CoinAPI EMS API Key
- ✅ An EMS Trading API subscription
- ✅ Any HTTP client:
- Terminal (
curl) - Postman / Insomnia
- Browser (for simple GET requests)
- Terminal (
What “exchange configuration” is
In EMS Managed Cloud, exchange configuration is the metadata that describes how to log in to each supported exchange in this environment.
For each exchange entry, you’ll get:
exchange_idExchange identifier and optional tag identifying specific account configured when the software will be managing multiple accounts on the same exchange; for eg:BITSTAMPBITSTAMP/7c177641-74bd-4dbe-9b01-2497c12a5f70``BITSTAMP/2574Allowed separators between the exchange identifier and the tag:~/.,:;!@#$%^&*-_+=.`location_idThe Managed Cloud location identifier associated with that exchange.required_parametersAn array listing the credential/config fields you must provide to log in for that exchange.
Why this matters:
- It prevents trial-and-error when creating exchange logins.
- It helps you build UI/forms or automation that prompts for the right fields per exchange.
- It ensures your EMS account setup is complete before you attempt to connect.
Step-by-step: Get exchange configuration
Step 1) Call the endpoint
Endpoint
- Method:
GET - Path:
/v1/exchanges - Base URL (Managed Cloud REST API):
https://ems-mgmt.coinapi.io
Authentication
You can pass your API key either via:
- Header:
X-CoinAPI-Key: <YOUR_API_KEY>(recommended), or - Query param:
apikey=<YOUR_API_KEY>
Step 2) Example request (cURL)
Using header authentication
Using query parameter authentication
Step 3) Understand the response
The response is a JSON array of exchange configuration objects. The documented schema looks like:
How to use each field:
- Pick an exchange you want to connect (match by
exchange_id). - Read
required_parametersand ensure you have all of them ready. - Record the
location_idto understand the Managed Cloud placement for that exchange.
Step 4) Practical workflow example
Let’s say you want to add an account for EXAMPLE_EXCHANGE.
- Call
GET /v1/exchanges - Find the object where
exchange_idmatches your target exchange - Use its
required_parameterslist as your checklist:- If it includes
apiKeyandapiSecret, you must provide both (and any others listed)
- If it includes
- Proceed to your “add or update account” step (in the accounts endpoint) only after your credential set is complete.
This is the intended purpose of the endpoint: it tells you what’s mandatory per exchange, so your EMS account configuration won’t fail due to missing fields.
Troubleshooting
- 401 / 403 Unauthorized
- Confirm you’re calling the EMS Managed Cloud base URL (
https://ems-mgmt.coinapi.io) and sending the API key viaX-CoinAPI-Keyheader (orapikey=query parameter). - Confirm that you have an active EMS Subscription.
- Confirm you’re calling the EMS Managed Cloud base URL (
- Empty or unexpected results
- Double-check you’re using the Managed Cloud REST API endpoint (not a different CoinAPI product’s base URL).
🎉 Next steps
You’ve now pulled the EMS Managed Cloud exchange configuration list, which tells you; what credential fields are required (required_parameters) and which Managed Cloud location applies (location_id).
Use the required_parameters checklist for your chosen exchange, then proceed to the EMS account configuration endpoint to add the account with the correct fields on the first try.