10000 Client update needed to match WebSocket spec changes · Issue #571 · polygon-io/client-python · GitHub
[go: up one dir, main page]

Skip to content

Client update needed to match WebSocket spec changes #571

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
client-library-maintainer bot opened this issue Dec 11, 2023 · 1 comment
Closed

Client update needed to match WebSocket spec changes #571

client-library-maintainer bot opened this issue Dec 11, 2023 · 1 comment
Labels
spec The client may need an update due to API spec changes

Comments

@client-library-maintainer
Copy link

A diff between this client library's spec and our hosted spec was found. The client may need an update to match any changes in our API. See the diff below:

--- https://raw.githubusercontent.com/polygon-io/client-python/master/.polygon/websocket.json
+++ https://api.polygon.io/specs/websocket.json
@@ -117,6 +117,11 @@
         },
         {
           "paths": [
+            "/forex/CAS"
+          ]
+        },
+        {
+          "paths": [
             "/forex/C"
           ]
         },
@@ -148,6 +153,11 @@
         },
         {
           "paths": [
+            "/crypto/XAS"
+          ]
+        },
+        {
+          "paths": [
             "/crypto/XT"
           ]
         },
@@ -189,6 +199,11 @@
         },
         {
           "paths": [
+            "/indices/A"
+          ]
+        },
+        {
+          "paths": [
             "/indices/V"
           ]
         }
@@ -2171,6 +2186,106 @@
         ]
       }
     },
+    "/forex/CAS": {
+      "get": {
+        "summary": "Aggregates (Per Second)",
+        "description": "Stream real-time per-second forex aggregates for a given forex pair.\n",
+        "parameters": [
+          {
+            "name": "ticker",
+            "in": "query",
+            "description": "Specify a forex pair in the format {from}/{to} or use * to subscribe to all forex pairs.\nYou can also use a comma separated list to subscribe to multiple forex pairs.\nYou can retrieve active forex tickers from our [Forex Tickers API](https://polygon.io/docs/forex/get_v3_reference_tickers).\n",
+            "required": true,
+            "schema": {
+              "type": "string",
+              "pattern": "/^(?<from>([A-Z]{3})\\/?<to>([A-Z]{3}))$/"
+            },
+            "example": "*"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "The WebSocket message for a forex per-second aggregate event.",
+            "content": {
+              "application/json": {
+                "schema": {
+                  "type": "object",
+                  "properties": {
+                    "ev": {
+                      "type": "string",
+                      "enum": [
+                        "CAS"
+                      ],
+                      "description": "The event type."
+                    },
+                    "pair": {
+                      "type": "string",
+                      "description": "The currency pair."
+                    },
+                    "o": {
+                      "type": "number",
+                      "format": "double",
+                      "description": "The open price for this aggregate window."
+                    },
+                    "c": {
+                      "type": "number",
+                      "format": "double",
+                      "description": "The close price for this aggregate window."
+                    },
+                    "h": {
+                      "type": "number",
+                      "format": "double",
+                      "description": "The high price for this aggregate window."
+                    },
+                    "l": {
+                      "type": "number",
+                      "format": "double",
+                      "description": "The low price for this aggregate window."
+                    },
+                    "v": {
+                      "type": "integer",
+                      "description": "The volume of trades during this aggregate window."
+                    },
+                    "s": {
+                      "type": "integer",
+                      "description": "The start time for this aggregate window in Unix Milliseconds."
+                    },
+                    "e": {
+                      "type": "integer",
+                      "description": "The end time for this aggregate window in Unix Milliseconds."
+                    }
+                  }
+                },
+                "example": {
+                  "ev": "CAS",
+                  "pair": "USD/EUR",
+                  "o": 0.8687,
+                  "c": 0.86889,
+                  "h": 0.86889,
+                  "l": 0.8686,
+                  "v": 20,
+                  "s": 1539145740000
+                }
+              }
+            }
+          }
+        },
+        "x-polygon-entitlement-data-type": {
+          "name": "aggregates",
+          "description": "Aggregate data"
+        },
+        "x-polygon-entitlement-market-type": {
+          "name": "fx",
+          "description": "Forex data"
+        },
+        "x-polygon-entitlement-allowed-timeframes": [
+          {
+            "name": "realtime",
+            "description": "Real Time Data"
+          }
+        ]
+      }
+    },
     "/business/forex/FMV": {
       "get": {
         "summary": "Fair Market Value",
@@ -2885,6 +3000,118 @@
         ]
       }
     },
+    "/crypto/XAS": {
+      "get": {
+        "summary": "Aggregates (Per Second)",
+        "description": "Stream real-time per-second crypto aggregates for a given crypto pair.\n",
+        "parameters": [
+          {
+            "name": "ticker",
+            "in": "query",
+            "description": "Specify a crypto pair in the format {from}-{to} or use * to subscribe to all crypto pairs.\nYou can also use a comma separated list to subscribe to multiple crypto pairs.\nYou can retrieve active crypto tickers from our [Crypto Tickers API](https://polygon.io/docs/crypto/get_v3_reference_tickers).\n",
+            "required": true,
+            "schema": {
+              "type": "string",
+              "pattern": "/^(?<from>([A-Z]*)-(?<to>[A-Z]{3}))$/"
+            },
+            "example": "*"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "The WebSocket message for a crypto per-second aggregate event.",
+            "content": {
+              "application/json": {
+                "schema": {
+                  "type": "object",
+                  "properties": {
+                    "ev": {
+                      "type": "string",
+                      "enum": [
+                        "XAS"
+                      ],
+                      "description": "The event type."
+                    },
+                    "pair": {
+                      "type": "string",
+                      "description": "The crypto pair."
+                    },
+                    "o": {
+                      "type": "number",
+                      "format": "double",
+                      "description": "The open price for this aggregate window."
+                    },
+                    "c": {
+                      "type": "number",
+                      "format": "double",
+                      "description": "The close price for this aggregate window."
+                    },
+                    "h": {
+                      "type": "number",
+                      "format": "double",
+                      "description": "The high price for this aggregate window."
+                    },
+                    "l": {
+                      "type": "number",
+                      "format": "double",
+                      "description": "The low price for this aggregate window."
+                    },
+                    "v": {
+                      "type": "integer",
+                      "description": "The volume of trades during this aggregate window."
+                    },
+                    "s": {
+                      "type": "integer",
+                      "description": "The start time for this aggregate window in Unix Milliseconds."
+                    },
+                    "e": {
+                      "type": "integer",
+                      "description": "The end time for this aggregate window in Unix Milliseconds."
+                    },
+                    "vw": {
+                      "type": "number",
+                      "format": "double",
+                      "description": "The volume weighted average price."
+                    },
+                    "z": {
+                      "type": "integer",
+                      "description": "The average trade size for this aggregate window."
+                    }
+                  }
+                },
+                "example": {
+                  "ev": "XAS",
+                  "pair": "BCD-USD",
+                  "v": 951.6112,
+                  "vw": 0.7756,
+                  "z": 73,
+                  "o": 0.772,
+                  "c": 0.784,
+                  "h": 0.784,
+                  "l": 0.771,
+                  "s": 1610463240000,
+                  "e": 1610463300000
+                }
+              }
+            }
+          }
+        },
+        "x-polygon-entitlement-data-type": {
+          "name": "aggregates",
+          "description": "Aggregate data"
+        },
+        "x-polygon-entitlement-market-type": {
+          "name": "crypto",
+          "description": "Crypto data"
+        },
+        "x-polygon-entitlement-allowed-timeframes": [
+          {
+            "name": "realtime",
+            "description": "Real Time Data"
+          }
+        ]
+      }
+    },
     "/business/crypto/FMV": {
       "get": {
         "summary": "Fair Market Value",
@@ -3160,6 +3387,122 @@
         ]
       }
     },
+    "/indices/A": {
+      "get": {
+        "summary": "Aggregates (Per Second)",
+        "description": "Stream real-time second aggregates for a given index ticker symbol.\n",
+        "parameters": [
+          {
+            "name": "ticker",
+            "in": "query",
+            "description": "Specify an index ticker using \"I:\" prefix or use * to subscribe to all index tickers.\nYou can also use a comma separated list to subscribe to multiple index tickers.\nYou can retrieve available index tickers from our [Index Tickers API](https://polygon.io/docs/indices/get_v3_reference_tickers).\n",
+            "required": true,
+            "schema": {
+              "type": "string",
+              "pattern": "/^(I:[a-zA-Z0-9]+)$/"
+            },
+            "example": "*"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "The WebSocket message for a second aggregate event.",
+            "content": {
+              "application/json": {
+                "schema": {
+                  "allOf": [
+                    {
+                      "type": "object",
+                      "properties": {
+                        "ev": {
+                          "description": "The event type."
+                        },
+                        "sym": {
+                          "type": "string",
+                          "description": "The symbol representing the given index."
+                        },
+                        "op": {
+                          "type": "number",
+                          "format": "double",
+                          "description": "Today's official opening value."
+                        },
+                        "o": {
+                          "type": "number",
+                          "format": "double",
+                          "description": "The opening index value for this aggregate window."
+                        },
+                        "c": {
+                          "type": "number",
+                          "format": "double",
+                          "description": "The closing index value for this aggregate window."
+                        },
+                        "h": {
+                          "type": "number",
+                          "format": "double",
+                          "description": "The highest index value for this aggregate window."
+                        },
+                        "l": {
+                          "type": "number",
+                          "format": "double",
+                          "description": "The lowest index value for this aggregate window."
+                        },
+                        "s": {
+                          "type": "integer",
+                          "description": "The timestamp of the starting index for this aggregate window in Unix Milliseconds."
+                        },
+                        "e": {
+                          "type": "integer",
+                          "description": "The timestamp of the ending index for this aggregate window in Unix Milliseconds."
+                        }
+                      }
+                    },
+                    {
+                      "properties": {
+                        "ev": {
+                          "enum": [
+                            "A"
+                          ],
+                          "description": "The event type."
+                        }
+                      }
+                    }
+                  ]
+                },
+                "example": {
+                  "ev": "A",
+                  "sym": "I:SPX",
+                  "op": 3985.67,
+                  "o": 3985.67,
+                  "c": 3985.67,
+                  "h": 3985.67,
+                  "l": 3985.67,
+                  "s": 1678220675805,
+                  "e": 1678220675805
+                }
+              }
+            }
+          }
+        },
+        "x-polygon-entitlement-data-type": {
+          "name": "aggregates",
+          "description": "Aggregate data"
+        },
+        "x-polygon-entitlement-market-type": {
+          "name": "indices",
+          "description": "Indices data"
+        },
+        "x-polygon-entitlement-allowed-timeframes": [
+          {
+            "name": "delayed",
+            "description": "15 minute delayed data"
+          },
+          {
+            "name": "realtime",
+            "description": "Real Time Data"
+          }
+        ]
+      }
+    },
     "/indices/AM": {
       "get": {
         "summary": "Aggregates (Per Minute)",
@@ -4454,7 +4797,7 @@
           }
         ]
       },
-      "ForexAggregateEvent": {
+      "ForexMinuteAggregateEvent": {
         "type": "object",
         "properties": {
           "ev": {
@@ -4502,6 +4845,54 @@
           }
         }
       },
+      "ForexSecondAggregateEvent": {
+        "type": "object",
+        "properties": {
+          "ev": {
+
8000
            "type": "string",
+            "enum": [
+              "CAS"
+            ],
+            "description": "The event type."
+          },
+          "pair": {
+            "type": "string",
+            "description": "The currency pair."
+          },
+          "o": {
+            "type": "number",
+            "format": "double",
+            "description": "The open price for this aggregate window."
+          },
+          "c": {
+            "type": "number",
+            "format": "double",
+            "description": "The close price for this aggregate window."
+          },
+          "h": {
+            "type": "number",
+            "format": "double",
+            "description": "The high price for this aggregate window."
+          },
+          "l": {
+            "type": "number",
+            "format": "double",
+            "description": "The low price for this aggregate window."
+          },
+          "v": {
+            "type": "integer",
+            "description": "The volume of trades during this aggregate window."
+          },
+          "s": {
+            "type": "integer",
+            "description": "The start time for this aggregate window in Unix Milliseconds."
+          },
+          "e": {
+            "type": "integer",
+            "description": "The end time for this aggregate window in Unix Milliseconds."
+          }
+        }
+      },
       "CryptoQuoteEvent": {
         "type": "object",
         "properties": {
@@ -4600,7 +4991,7 @@
           }
         }
       },
-      "CryptoAggregateEvent": {
+      "CryptoMinuteAggregateEvent": {
         "type": "object",
         "properties": {
           "ev": {
@@ -4657,6 +5048,63 @@
           }
         }
       },
+      "CryptoSecondAggregateEvent": {
+        "type": "object",
+        "properties": {
+          "ev": {
+            "type": "string",
+            "enum": [
+              "XAS"
+            ],
+            "description": "The event type."
+          },
+          "pair": {
+            "type": "string",
+            "description": "The crypto pair."
+          },
+          "o": {
+            "type": "number",
+            "format": "double",
+            "description": "The open price for this aggregate window."
+          },
+          "c": {
+            "type": "number",
+            "format": "double",
+            "description": "The close price for this aggregate window."
+          },
+          "h": {
+            "type": "number",
+            "format": "double",
+            "description": "The high price for this aggregate window."
+          },
+          "l": {
+            "type": "number",
+            "format": "double",
+            "description": "The low price for this aggregate window."
+          },
+          "v": {
+            "type": "integer",
+            "description": "The volume of trades during this aggregate window."
+          },
+          "s": {
+            "type": "integer",
+            "description": "The start time for this aggregate window in Unix Milliseconds."
+          },
+          "e": {
+            "type": "integer",
+            "description": "The end time for this aggregate window in Unix Milliseconds."
+          },
+          "vw": {
+            "type": "number",
+            "format": "double",
+            "description": "The volume weighted average price."
+          },
+          "z": {
+            "type": "integer",
+            "description": "The average trade size for this aggregate window."
+          }
+        }
+      },
       "CryptoL2BookEvent": {
         "type": "object",
         "properties": {
@@ -4825,6 +5273,65 @@
           }
         ]
       },
+      "IndicesSecondAggregateEvent": {
+        "allOf": [
+          {
+            "type": "object",
+            "properties": {
+              "ev": {
+                "description": "The event type."
+              },
+              "sym": {
+                "type": "string",
+                "description": "The symbol representing the given index."
+              },
+              "op": {
+                "type": "number",
+                "format": "double",
+                "description": "Today's official opening value."
+              },
+              "o": {
+                "type": "number",
+                "format": "double",
+                "description": "The opening index value for this aggregate window."
+              },
+              "c": {
+                "type": "number",
+                "format": "double",
+                "description": "The closing index value for this aggregate window."
+              },
+              "h": {
+                "type": "number",
+                "format": "double",
+                "description": "The highest index value for this aggregate window."
+              },
+              "l": {
+                "type": "number",
+                "format": "double",
+                "description": "The lowest index value for this aggregate window."
+              },
+              "s": {
+                "type": "integer",
+                "description": "The timestamp of the starting index for this aggregate window in Unix Milliseconds."
+              },
+              "e": {
+                "type": "integer",
+                "description": "The timestamp of the ending index for this aggregate window in Unix Milliseconds."
+              }
+            }
+          },
+          {
+            "properties": {
+              "ev": {
+                "enum": [
+                  "A"
+                ],
+                "description": "The event type."
+              }
+            }
+          }
+        ]
+      },
       "IndicesValueEvent": {
         "type": "object",
         "properties": {
@client-library-maintainer client-library-maintainer bot added the spec The client may need an update due to API spec changes label Dec 11, 2023
@justinpolygon
Copy link
Contributor

Fixed via #572.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
spec The client may need an update due to API spec changes
Projects
None yet
Development

No branches or pull requests

1 participant
0