Streams Direct WebSocket
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 nanoseconds. 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. |