Skip to content

Commit b770966

Browse files
committed
update openapi file
1 parent aa1fb01 commit b770966

File tree

2 files changed

+12
-12
lines changed

2 files changed

+12
-12
lines changed

coinapi/market-data-api-rest/spec/openapi.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1062,7 +1062,7 @@
10621062
"examples": {
10631063
"Example response": {
10641064
"value": {
1065-
"time": "2025-09-11T06:04:05.4493607Z",
1065+
"time": "2025-09-12T06:04:04.3363822Z",
10661066
"asset_id_base": "BTC",
10671067
"asset_id_quote": "USD",
10681068
"rate": 10000.0
@@ -1077,7 +1077,7 @@
10771077
"examples": {
10781078
"Example response": {
10791079
"value": {
1080-
"time": "2025-09-11T06:04:05.4493607Z",
1080+
"time": "2025-09-12T06:04:04.3363822Z",
10811081
"asset_id_base": "BTC",
10821082
"asset_id_quote": "USD",
10831083
"rate": 10000.0
@@ -1092,7 +1092,7 @@
10921092
"examples": {
10931093
"Example response": {
10941094
"value": {
1095-
"time": "2025-09-11T06:04:05.4493607Z",
1095+
"time": "2025-09-12T06:04:04.3363822Z",
10961096
"asset_id_base": "BTC",
10971097
"asset_id_quote": "USD",
10981098
"rate": 10000.0
@@ -1107,7 +1107,7 @@
11071107
"examples": {
11081108
"Example response": {
11091109
"value": {
1110-
"time": "2025-09-11T06:04:05.4493607Z",
1110+
"time": "2025-09-12T06:04:04.3363822Z",
11111111
"asset_id_base": "BTC",
11121112
"asset_id_quote": "USD",
11131113
"rate": 10000.0

coinapi/market-data-api-rest/spec/openapi.yaml

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -893,7 +893,7 @@ paths:
893893
examples:
894894
Example response:
895895
value: {
896-
"time": "2025-09-11T06:04:05.5921920Z",
896+
"time": "2025-09-12T06:04:04.4720669Z",
897897
"asset_id_base": "BTC",
898898
"asset_id_quote": "USD",
899899
"rate": 10000.0
@@ -904,7 +904,7 @@ paths:
904904
examples:
905905
Example response:
906906
value: {
907-
"time": "2025-09-11T06:04:05.5921920Z",
907+
"time": "2025-09-12T06:04:04.4720669Z",
908908
"asset_id_base": "BTC",
909909
"asset_id_quote": "USD",
910910
"rate": 10000.0
@@ -915,7 +915,7 @@ paths:
915915
examples:
916916
Example response:
917917
value: {
918-
"time": "2025-09-11T06:04:05.5921920Z",
918+
"time": "2025-09-12T06:04:04.4720669Z",
919919
"asset_id_base": "BTC",
920920
"asset_id_quote": "USD",
921921
"rate": 10000.0
@@ -926,7 +926,7 @@ paths:
926926
examples:
927927
Example response:
928928
value: {
929-
"time": "2025-09-11T06:04:05.5921920Z",
929+
"time": "2025-09-12T06:04:04.4720669Z",
930930
"asset_id_base": "BTC",
931931
"asset_id_quote": "USD",
932932
"rate": 10000.0
@@ -8864,13 +8864,13 @@ security:
88648864
- JWT: [ ]
88658865
tags:
88668866
- 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 "
88688868
- 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."
88708870
- 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:::"
88728872
- 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 "
88748874
- name: Metadata
88758875
description: ''
88768876
- name: MetricsV1

0 commit comments

Comments
 (0)