You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: coinapi/market-data-api-rest/spec/openapi.yaml
+8-8Lines changed: 8 additions & 8 deletions
Original file line number
Diff line number
Diff line change
@@ -893,7 +893,7 @@ paths:
893
893
examples:
894
894
Example response:
895
895
value: {
896
-
"time": "2025-09-11T06:04:05.5921920Z",
896
+
"time": "2025-09-12T06:04:04.4720669Z",
897
897
"asset_id_base": "BTC",
898
898
"asset_id_quote": "USD",
899
899
"rate": 10000.0
@@ -904,7 +904,7 @@ paths:
904
904
examples:
905
905
Example response:
906
906
value: {
907
-
"time": "2025-09-11T06:04:05.5921920Z",
907
+
"time": "2025-09-12T06:04:04.4720669Z",
908
908
"asset_id_base": "BTC",
909
909
"asset_id_quote": "USD",
910
910
"rate": 10000.0
@@ -915,7 +915,7 @@ paths:
915
915
examples:
916
916
Example response:
917
917
value: {
918
-
"time": "2025-09-11T06:04:05.5921920Z",
918
+
"time": "2025-09-12T06:04:04.4720669Z",
919
919
"asset_id_base": "BTC",
920
920
"asset_id_quote": "USD",
921
921
"rate": 10000.0
@@ -926,7 +926,7 @@ paths:
926
926
examples:
927
927
Example response:
928
928
value: {
929
-
"time": "2025-09-11T06:04:05.5921920Z",
929
+
"time": "2025-09-12T06:04:04.4720669Z",
930
930
"asset_id_base": "BTC",
931
931
"asset_id_quote": "USD",
932
932
"rate": 10000.0
@@ -8864,13 +8864,13 @@ security:
8864
8864
- JWT: [ ]
8865
8865
tags:
8866
8866
- name: Exchange Rates
8867
-
description: "\nExchange rate is defined as (VWAP-24H) last 24 hour (rolling window over time) Volume Weighted Average Price across multiple data sources listed on our platform. We are selecting and managing the data sources that are used in the calculation based on multiple factors to provide data of highest quality. \n\nAlgorithm is described below:\n\n 1. Exchange rates are produced from quotes, trades, and metadata datasets.\n 1. Symbols that are not data_type = \"SPOT\" are excluded from the calculation.\n 1. Symbols from the data sources that were marked by us as not legitimate are excluded from the calculation.\n 1. Quotes data where the spread is outside the range of ```<0$; 67%>``` are discarded. `spreadPrc = (ask - bid) / ((ask + bid) / 2)`\n 1. The midpoint from the quote data is used as a pricing reference and it's weighted by the passive cumulative volume resting on the best prices.\n 1. Volume from the trades is used to weight the midpoint prices in the VWAP24 algorithm.\n 1. Midpoint data that has not been updated in the last 5 minutes and 1 second is discarded.\n 1. The last 24-hour volume for each symbol is updated every 4 hours when approximately 20% of the data in the sliding window changes (also, the list of eligible markets is updated at the same time).\n 1. Everywhere in the algorithm below, we are using asset pairs only from exchanges that have the highest legitimacy rank, and the rest of the exchanges are discarded. As we establish the highest-ranking exchanges that have this data for each asset pair, we ensure that the highest quality data is used for each of them. The rank used for asset pairing is carried over to the following steps.\n 1. Every 1 second, we update VWAP24 data for every asset pair across all data sources.\n 1. For each asset pair, we also discard data that is outside the 3 sigma range if there are at least 3 exchanges for this asset pair.\n 1. From the VWAP24 data, we are creating a tree structure where node/vertex = asset and edge = rate.\n 1. By traversing the tree structure using the BFS algorithm and our secret sauce, we are able to establish the final exchange rates.\n "
8867
+
description: "\r\nExchange rate is defined as (VWAP-24H) last 24 hour (rolling window over time) Volume Weighted Average Price across multiple data sources listed on our platform. We are selecting and managing the data sources that are used in the calculation based on multiple factors to provide data of highest quality. \r\n\r\nAlgorithm is described below:\r\n\r\n 1. Exchange rates are produced from quotes, trades, and metadata datasets.\r\n 1. Symbols that are not data_type = \"SPOT\" are excluded from the calculation.\r\n 1. Symbols from the data sources that were marked by us as not legitimate are excluded from the calculation.\r\n 1. Quotes data where the spread is outside the range of ```<0$; 67%>``` are discarded. `spreadPrc = (ask - bid) / ((ask + bid) / 2)`\r\n 1. The midpoint from the quote data is used as a pricing reference and it's weighted by the passive cumulative volume resting on the best prices.\r\n 1. Volume from the trades is used to weight the midpoint prices in the VWAP24 algorithm.\r\n 1. Midpoint data that has not been updated in the last 5 minutes and 1 second is discarded.\r\n 1. The last 24-hour volume for each symbol is updated every 4 hours when approximately 20% of the data in the sliding window changes (also, the list of eligible markets is updated at the same time).\r\n 1. Everywhere in the algorithm below, we are using asset pairs only from exchanges that have the highest legitimacy rank, and the rest of the exchanges are discarded. As we establish the highest-ranking exchanges that have this data for each asset pair, we ensure that the highest quality data is used for each of them. The rank used for asset pairing is carried over to the following steps.\r\n 1. Every 1 second, we update VWAP24 data for every asset pair across all data sources.\r\n 1. For each asset pair, we also discard data that is outside the 3 sigma range if there are at least 3 exchanges for this asset pair.\r\n 1. From the VWAP24 data, we are creating a tree structure where node/vertex = asset and edge = rate.\r\n 1. By traversing the tree structure using the BFS algorithm and our secret sauce, we are able to establish the final exchange rates.\r\n "
8868
8868
- name: Order Book L3
8869
-
description: "\nThis section describes calls related to order book data, also known as books or passive level 3 data."
8869
+
description: "\r\nThis section describes calls related to order book data, also known as books or passive level 3 data."
8870
8870
- name: Order Book
8871
-
description: "\nThis section describes calls related to order book data, also known as books or passive level 2 data.\n\n:::info\nWhen requesting current data for a specific symbol, output is not encapsulated into JSON array as only one item is returned.\n:::\n\n:::info\nGET `/v1/orderbooks/current` endpoint is charged one request per 100 data points returned after applying a filter defined by filter_symbol_id parameter. If filter symbols target more than one exchange, error is returned.\n:::\n\n:::info\nWhen requesting current order book data limited to a single level, then quotes are actually used. This information is important from the perspective that quotes data could be faster than order book data (behavior is dependent solely one the data source) and they can have the size equal to 0 when the size is unknown. Some data sources publish order books and separately quote data (without the sizes) at a higher frequency. In that case, we will merge the order book feed with quotes feed to make sure that our updates are as fast as possible. The quotes will have the size equal to 0 as the value is unknown and the customer can decide if these higher frequency updates without the sizes are valuable or if not then can discard them or ask for at least 2 order book levels (in case of a REST API call). For the data sources that publish order books only or order books and quotes with the sizes then this will not happen.\n:::"
8871
+
description: "\r\nThis section describes calls related to order book data, also known as books or passive level 2 data.\r\n\r\n:::info\r\nWhen requesting current data for a specific symbol, output is not encapsulated into JSON array as only one item is returned.\r\n:::\r\n\r\n:::info\r\nGET `/v1/orderbooks/current` endpoint is charged one request per 100 data points returned after applying a filter defined by filter_symbol_id parameter. If filter symbols target more than one exchange, error is returned.\r\n:::\r\n\r\n:::info\r\nWhen requesting current order book data limited to a single level, then quotes are actually used. This information is important from the perspective that quotes data could be faster than order book data (behavior is dependent solely one the data source) and they can have the size equal to 0 when the size is unknown. Some data sources publish order books and separately quote data (without the sizes) at a higher frequency. In that case, we will merge the order book feed with quotes feed to make sure that our updates are as fast as possible. The quotes will have the size equal to 0 as the value is unknown and the customer can decide if these higher frequency updates without the sizes are valuable or if not then can discard them or ask for at least 2 order book levels (in case of a REST API call). For the data sources that publish order books only or order books and quotes with the sizes then this will not happen.\r\n:::"
8872
8872
- name: Ohlcv
8873
-
description: "\nAPI calls described in this section are related to downloading OHLCV *(Open, High, Low, Close, Volume)* timeseries data.\nEach data point of this timeseries represents several indicators calculated from orderbook and transactions activity inside a time range (period).\n\n:::info\nOHLCV data primary purpose is to present an overview of the market in human readable form. \nIt's often used to visualize market data on charts, websites, and various kinds of reports.\n:::\n\n:::tip\nCoinAPI expanded the standard OHLCV timeseries by including time of first and last trade and amount of trades executed inside period.\n:::\n\n:::info\nWhile working on the OHLCV data, especially lower time periods, you can notice that there are cases where there was no transactions and only orderbook activity.\nIn such cases, the volume_traded and trades_count fields are set to 0.\nThis is because the OHLCV data is calculated from the orderbook and transactions activity.\nIf there was no transactions and only orderbook activity, then the volume_traded and trades_count fields are set to 0.\n:::\n "
8873
+
description: "\r\nAPI calls described in this section are related to downloading OHLCV *(Open, High, Low, Close, Volume)* timeseries data.\r\nEach data point of this timeseries represents several indicators calculated from orderbook and transactions activity inside a time range (period).\r\n\r\n:::info\r\nOHLCV data primary purpose is to present an overview of the market in human readable form. \r\nIt's often used to visualize market data on charts, websites, and various kinds of reports.\r\n:::\r\n\r\n:::tip\r\nCoinAPI expanded the standard OHLCV timeseries by including time of first and last trade and amount of trades executed inside period.\r\n:::\r\n\r\n:::info\r\nWhile working on the OHLCV data, especially lower time periods, you can notice that there are cases where there was no transactions and only orderbook activity.\r\nIn such cases, the volume_traded and trades_count fields are set to 0.\r\nThis is because the OHLCV data is calculated from the orderbook and transactions activity.\r\nIf there was no transactions and only orderbook activity, then the volume_traded and trades_count fields are set to 0.\r\n:::\r\n "
0 commit comments