WebSocket API
Information about the CoinAPI EMS WebSocket API protocol for real-time order management, execution reports, balances and positions.
This section will provide necessary information about the CoinAPI EMS WebSocket API protocol.
WebSocket API provides real-time communication capacity for order management, execution reports, balances and the positions.
Implemented Standards:
[!WARNING] Your WebSocket client implementation must comply with the "v13" version of the protocol documented in the RFC6455, including responding with the "Pong" message each time we will send "Ping" (every minute), failure to respond with the "Pong" from your WebSocket client will cause a connection to be closed.
Endpoints
| Deployment method | Environment | Url |
|---|---|---|
| Managed Cloud | Production | Use Managed Cloud REST API /v1/locations to get specific endpoints to each server site where your deployments span |
Authentication
API authentication is required for our Managed Cloud deployment. There are 2 methods for authenticating with us, you only need to use one:
- Custom authorization header named
X-CoinAPI-Keywith the API Key - Query string parameter named
apikeywith the API Key - TLS Client Certificate from the
Managed Cloud REST API(/v1/certificate/pem endpoint) while establishing a TLS session with us.
Custom authorization header
You can authorize by providing additional custom header named X-CoinAPI-Key and API key as its value.
Assuming that your API key is 73034021-THIS-IS-SAMPLE-KEY, then the authorization header you should send to us will look like: X-CoinAPI-Key: 73034021-THIS-IS-SAMPLE-KEY
[!TIP] This method is recommended by us and you should use it in production environments.
Query string authorization parameter
You can authorize by providing an additional parameter named apikey with a value equal to your API key in the query string of your HTTP request.
Assuming that your API key is 73034021-THIS-IS-SAMPLE-KEY and that you want to request all exchange rates from BTC asset, then your query string should look like this: GET /v1/exchangerate/BTC?apikey=73034021-THIS-IS-SAMPLE-KEY
[!NOTE] Query string method may be more practical for development activities.