Streams Direct WebSocket
     
  
| Description | Testnet URL | Mainnet URL | 
|---|
| WebSocket endpoint to subscribe to price updates | wss://ws.testnet-dataengine.chain.link/ | wss://ws.dataengine.chain.link | 
All routes require the following three headers for user authentication:
| Header | Description | 
|---|
| Authorization | The user’s unique identifier, provided as a UUID (Universally Unique IDentifier). | 
| X-Authorization-Timestamp | The current timestamp, with precision up to milliseconds. The timestamp must closely synchronize with the server time, allowing a maximum discrepancy of 5 seconds (by default). | 
| X-Authorization-Signature-SHA256 | The HMAC (Hash-based Message Authentication Code) signature, generated by hashing parts of the request and its metadata using SHA-256 with a shared secret key. | 
Establish a streaming WebSocket connection that sends reports for the given feedID(s) after they are verified.
/api/v1/ws
| Type | Parameter(s) | 
|---|
| WebSocket | feedIDs: A comma-separated list of Data Streams feed IDs. | 
GET /api/v1/ws?feedIDs=<feedID1>,<feedID2>,...
{
  "report": {
    "feedID": "hex encoded feedId",
    "fullReport": "a blob containing the report context + body, can be passed unmodified to the contract for verification"
  }
}
| Status Code | Description | 
|---|
| 400 Bad Request | This error is triggered when: There is any missing/malformed query argument.Required headers are missing or provided with incorrect values.
 | 
| 401 Unauthorized User | This error is triggered when: Authentication fails, typically because the HMAC signature provided by the client doesn't match the one expected by the server.A user requests access to a feed without the appropriate permission or that does not exist.
 | 
| 500 Internal Server | Indicates an unexpected condition encountered by the server, preventing it from fulfilling the request. This error typically points to issues on the server side. |