Skip to content

Commit 6a5e856

Browse files
committed
reorganize sidebar: isolate candlestick + data streams api for clarity
1 parent 132bdab commit 6a5e856

29 files changed

+203
-127
lines changed

src/config/sidebar.ts

Lines changed: 35 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -434,47 +434,53 @@ export const SIDEBAR: Partial<Record<Sections, SectionEntry[]>> = {
434434
url: "data-streams/reference/overview",
435435
},
436436
{
437-
title: "Data Streams REST API",
438-
url: "data-streams/reference/interface-api",
439-
},
440-
{
441-
title: "Candlestick REST API",
442-
url: "data-streams/reference/candlestick-api",
443-
},
444-
{
445-
title: "WebSocket",
446-
url: "data-streams/reference/interface-ws",
447-
},
448-
{
449-
title: "Authentication",
450-
url: "data-streams/reference/authentication",
437+
title: "Data Streams API",
438+
url: "data-streams/reference/data-streams-api",
451439
children: [
452440
{
453-
title: "JavaScript examples",
454-
url: "data-streams/reference/authentication/javascript-examples",
441+
title: "Authentication",
442+
url: "data-streams/reference/data-streams-api/authentication",
443+
children: [
444+
{
445+
title: "JavaScript examples",
446+
url: "data-streams/reference/data-streams-api/authentication/javascript-examples",
447+
},
448+
{
449+
title: "TypeScript examples",
450+
url: "data-streams/reference/data-streams-api/authentication/typescript-examples",
451+
},
452+
{
453+
title: "Go examples",
454+
url: "data-streams/reference/data-streams-api/authentication/go-examples",
455+
},
456+
{
457+
title: "Rust examples",
458+
url: "data-streams/reference/data-streams-api/authentication/rust-examples",
459+
},
460+
],
461+
},
462+
{
463+
title: "API Reference",
464+
url: "data-streams/reference/data-streams-api/interface-api",
455465
},
456466
{
457-
title: "TypeScript examples",
458-
url: "data-streams/reference/authentication/typescript-examples",
467+
title: "WebSocket Reference",
468+
url: "data-streams/reference/data-streams-api/interface-ws",
459469
},
460470
{
461-
title: "Go examples",
462-
url: "data-streams/reference/authentication/go-examples",
471+
title: "SDK References",
472+
url: "data-streams/reference/data-streams-api/go-sdk",
473+
highlightAsCurrent: ["data-streams/reference/data-streams-api/rust-sdk"],
463474
},
464475
{
465-
title: "Rust examples",
466-
url: "data-streams/reference/authentication/rust-examples",
476+
title: "Onchain report verification (EVM chains)",
477+
url: "data-streams/reference/data-streams-api/onchain-verification",
467478
},
468479
],
469480
},
470481
{
471-
title: "SDK References",
472-
url: "data-streams/reference/go-sdk",
473-
highlightAsCurrent: ["data-streams/reference/rust-sdk"],
474-
},
475-
{
476-
title: "Onchain report verification (EVM chains)",
477-
url: "data-streams/reference/onchain-verification",
482+
title: "Candlestick API",
483+
url: "data-streams/reference/candlestick-api",
478484
},
479485
],
480486
},

src/content/data-streams/architecture.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -123,7 +123,7 @@ Read the [Getting Started](/data-streams/getting-started) guide to learn how to
123123

124124
Active-active is a system configuration strategy where redundant systems remain active simultaneously to serve requests. Incoming requests are distributed across all active resources and load-balanced to provide high availability, scalability, and fault tolerance. This strategy is the opposite of active-passive where a secondary system remains inactive until the primary system fails.
125125

126-
The Data Streams API services use an active-active setup as a highly available and resilient architecture across multiple distributed and fully isolated origins. This setup ensures that the services are operational even if one origin fails, which provides robust fault tolerance and high availability. This configuration applies to both the [REST API](/data-streams/reference/interface-api) and the [WebSocket API](/data-streams/reference/interface-ws). A global load balancer seamlessly manages the system to provide automated and transparent failovers. For advanced use cases, the service publishes available origins using HTTP headers, which enables you to interact directly with specific origin locations if necessary.
126+
The Data Streams API services use an active-active setup as a highly available and resilient architecture across multiple distributed and fully isolated origins. This setup ensures that the services are operational even if one origin fails, which provides robust fault tolerance and high availability. This configuration applies to both the [REST API](/data-streams/reference/data-streams-api/interface-api) and the [WebSocket API](/data-streams/reference/data-streams-api/interface-ws). A global load balancer seamlessly manages the system to provide automated and transparent failovers. For advanced use cases, the service publishes available origins using HTTP headers, which enables you to interact directly with specific origin locations if necessary.
127127

128128
### Active-Active Setup
129129

src/content/data-streams/developer-responsibilities.mdx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -85,8 +85,8 @@ Developers implementing Chainlink Data Streams are solely responsible for instit
8585
- **Code dependencies and imports:** Developers are responsible for ensuring the quality, reliability, and security of any dependencies or imported packages that they use with Chainlink Data Streams, and review and audit these dependencies and packages.
8686
- **Implementing Contingency Logic:** In extreme circumstances, including situations beyond the control of Chainlink node operators, Chainlink Data Streams may experience periods of unavailability or performance degradation. When a WebSocket connection is dropped, user systems must manage reconnections effectively. Developers are responsible for creating contingency plans tailored to their specific application needs, such as:
8787
- Implementing the [Data Streams Architecture](/data-streams/architecture),
88-
- Adopting an [active-active](/data-streams/architecture#active-active-multi-site-deployment) deployment strategy and [configuring the SDK](/data-streams/reference/go-sdk#config-struct) to support multiple concurrent WebSocket connections,
89-
- Retrieving any potentially missing reports via the [REST API](/data-streams/reference/interface-api).
88+
- Adopting an [active-active](/data-streams/architecture#active-active-multi-site-deployment) deployment strategy and [configuring the SDK](/data-streams/reference/data-streams-api/go-sdk#config-struct) to support multiple concurrent WebSocket connections,
89+
- Retrieving any potentially missing reports via the [REST API](/data-streams/reference/data-streams-api/interface-api).
9090

9191
### Additional Considerations on Data Usage and Verification
9292

src/content/data-streams/index.mdx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -78,9 +78,9 @@ You can access Chainlink Data Streams through SDKs and APIs, allowing you to bui
7878

7979
Access data directly through REST APIs or WebSocket connections using our SDKs:
8080

81-
- **[Go SDK](/data-streams/reference/go-sdk)** - Full-featured SDK with comprehensive examples
82-
- **[Rust SDK](/data-streams/reference/rust-sdk)** - High-performance SDK for Rust applications
83-
- **[REST API](/data-streams/reference/interface-api)** or **[WebSocket](/data-streams/reference/interface-ws)** - Direct access to Data Streams endpoints
81+
- **[Go SDK](/data-streams/reference/data-streams-api/go-sdk)** - Full-featured SDK with comprehensive examples
82+
- **[Rust SDK](/data-streams/reference/data-streams-api/rust-sdk)** - High-performance SDK for Rust applications
83+
- **[REST API](/data-streams/reference/data-streams-api/interface-api)** or **[WebSocket](/data-streams/reference/data-streams-api/interface-ws)** - Direct access to Data Streams endpoints
8484

8585
### Getting started
8686

@@ -90,7 +90,7 @@ Access data directly through REST APIs or WebSocket connections using our SDKs:
9090

9191
1. Try the API: Follow our [hands-on tutorial](/data-streams/tutorials/api-go) to fetch and decode your first report.
9292

93-
1. Implement Verification: Add [onchain verification](/data-streams/reference/onchain-verification) to ensure data authenticity in your smart contracts.
93+
1. Implement Verification: Add [onchain verification](/data-streams/reference/data-streams-api/onchain-verification) to ensure data authenticity in your smart contracts.
9494

9595
### Streams Trade: An alternative implementation
9696

src/content/data-streams/reference/candlestick-api.mdx renamed to src/content/data-streams/reference/candlestick-api/index.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ import DataStreams from "@features/data-streams/common/DataStreams.astro"
1212

1313
<DataStreams section="dsNotes" />
1414

15-
The Candlestick API is designed and implemented to satisfy the [TradingView implementation spec](https://www.tradingview.com/broker-api-docs/rest-api-spec/#tag/Data-Integration), the industry standard for sharing open-high-low-close (OHLC) aggregated trading data.
15+
The Candlestick API is designed and implemented to satisfy [TradingView data integration specifications](https://www.tradingview.com/broker-api-docs/rest-api-spec/#tag/Data-Integration), the industry standard for sharing open-high-low-close (OHLC) aggregated trading data.
1616

1717
Alignment with the TradingView spec allows for TradingView integration and direct customer access to prices without resorting to consuming and decoding reports for non-transactional use cases, like dashboards, analytics platforms, portfolio trackers, research tools, and more.
1818

src/content/data-streams/reference/authentication/go-examples.mdx renamed to src/content/data-streams/reference/data-streams-api/authentication/go-examples.mdx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,9 @@ import DataStreams from "@features/data-streams/common/DataStreams.astro"
1515

1616
Below are complete examples for authenticating with the Data Streams API in Go. Each example shows how to properly generate the required headers and make a request.
1717

18-
To learn more about the Data Streams API authentication, see the [Data Streams Authentication](/data-streams/reference/authentication) page.
18+
To learn more about the Data Streams API authentication, see the [Data Streams Authentication](/data-streams/reference/data-streams-api/authentication) page.
1919

20-
**Note**: The Data Streams SDKs handle authentication automatically. If you're using the [Go SDK](/data-streams/reference/go-sdk) or [Rust SDK](/data-streams/reference/rust-sdk), you don't need to implement the authentication logic manually.
20+
**Note**: The Data Streams SDKs handle authentication automatically. If you're using the [Go SDK](/data-streams/reference/data-streams-api/go-sdk) or [Rust SDK](/data-streams/reference/data-streams-api/rust-sdk), you don't need to implement the authentication logic manually.
2121

2222
## API Authentication Example
2323

@@ -223,7 +223,7 @@ While this example demonstrates the authentication mechanism, production applica
223223
- **Error types**: Define custom error types for better error handling
224224
- **Testing**: Add unit tests for HMAC generation and integration tests
225225

226-
For production use, consider using the [Go SDK](/data-streams/reference/go-sdk) which handles authentication automatically and provides built-in fault tolerance.
226+
For production use, consider using the [Go SDK](/data-streams/reference/data-streams-api/go-sdk) which handles authentication automatically and provides built-in fault tolerance.
227227

228228
## WebSocket Authentication Example
229229

@@ -508,4 +508,4 @@ While this example already includes many production-ready features (keepalive, t
508508
- **Health checks**: Expose WebSocket connection status for monitoring systems
509509
- **Testing**: Add unit tests for HMAC generation and mock WebSocket server for integration tests
510510

511-
For production use, consider using the [Go SDK](/data-streams/reference/go-sdk) which handles authentication automatically and provides built-in fault tolerance for streaming connections.
511+
For production use, consider using the [Go SDK](/data-streams/reference/data-streams-api/go-sdk) which handles authentication automatically and provides built-in fault tolerance for streaming connections.

src/content/data-streams/reference/authentication/index.mdx renamed to src/content/data-streams/reference/data-streams-api/authentication/index.mdx

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,10 @@ metadata:
88
keywords: ["Authentication", "HMAC", "API Key", "API Secret", "Signature", "Security", "Data Streams"]
99
whatsnext:
1010
{
11-
"Learn about the REST API Interface": "/data-streams/reference/interface-api",
12-
"Learn about the WebSocket Interface": "/data-streams/reference/interface-ws",
13-
"Explore the Go SDK": "/data-streams/reference/go-sdk",
14-
"Explore the Rust SDK": "/data-streams/reference/rust-sdk",
11+
"Learn about the REST API Interface": "/data-streams/reference/data-streams-api/interface-api",
12+
"Learn about the WebSocket Interface": "/data-streams/reference/data-streams-api/interface-ws",
13+
"Explore the Go SDK": "/data-streams/reference/data-streams-api/go-sdk",
14+
"Explore the Rust SDK": "/data-streams/reference/data-streams-api/rust-sdk",
1515
}
1616
isIndex: true
1717
---
@@ -26,8 +26,9 @@ This page explains how to authenticate with the Chainlink Data Streams API, cove
2626

2727
<Aside type="note" title="Data Streams SDKs">
2828
The Data Streams SDKs handle authentication automatically. If you're using the [Go
29-
SDK](/data-streams/reference/go-sdk) or [Rust SDK](/data-streams/reference/rust-sdk), you don't need to implement the
30-
authentication logic manually.
29+
SDK](/data-streams/reference/data-streams-api/go-sdk) or [Rust
30+
SDK](/data-streams/reference/data-streams-api/rust-sdk), you don't need to implement the authentication logic
31+
manually.
3132
</Aside>
3233

3334
## Authentication Requirements
@@ -114,10 +115,10 @@ Even for GET requests and WebSocket connections, you need to include a body hash
114115

115116
Below are complete examples for authenticating with the Data Streams API in various languages. Each example shows how to properly generate the required headers and make a request.
116117

117-
- [JavaScript examples](/data-streams/reference/authentication/javascript-examples)
118-
- [TypeScript examples](/data-streams/reference/authentication/typescript-examples)
119-
- [Go examples](/data-streams/reference/authentication/go-examples)
120-
- [Rust examples](/data-streams/reference/authentication/rust-examples)
118+
- [JavaScript examples](/data-streams/reference/data-streams-api/authentication/javascript-examples)
119+
- [TypeScript examples](/data-streams/reference/data-streams-api/authentication/typescript-examples)
120+
- [Go examples](/data-streams/reference/data-streams-api/authentication/go-examples)
121+
- [Rust examples](/data-streams/reference/data-streams-api/authentication/rust-examples)
121122

122123
## Common Authentication Errors
123124

@@ -130,8 +131,8 @@ When working with the Data Streams API, the most common authentication issues in
130131

131132
For complete information on all possible error responses:
132133

133-
- [REST API Error Response Codes](/data-streams/reference/interface-api#error-response-codes)
134-
- [WebSocket Error Response Codes](/data-streams/reference/interface-ws#error-response-codes)
134+
- [REST API Error Response Codes](/data-streams/reference/data-streams-api/interface-api#error-response-codes)
135+
- [WebSocket Error Response Codes](/data-streams/reference/data-streams-api/interface-ws#error-response-codes)
135136

136137
## Troubleshooting Authentication
137138

src/content/data-streams/reference/authentication/javascript-examples.mdx renamed to src/content/data-streams/reference/data-streams-api/authentication/javascript-examples.mdx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,9 @@ import DataStreams from "@features/data-streams/common/DataStreams.astro"
1515

1616
Below are complete examples for authenticating with the Data Streams API in JavaScript, using Node.js. Each example shows how to properly generate the required headers and make a request.
1717

18-
To learn more about the Data Streams API authentication, see the [Data Streams Authentication](/data-streams/reference/authentication) page.
18+
To learn more about the Data Streams API authentication, see the [Data Streams Authentication](/data-streams/reference/data-streams-api/authentication) page.
1919

20-
**Note**: The Data Streams SDKs handle authentication automatically. If you're using the [Go SDK](/data-streams/reference/go-sdk) or [Rust SDK](/data-streams/reference/rust-sdk), you don't need to implement the authentication logic manually.
20+
**Note**: The Data Streams SDKs handle authentication automatically. If you're using the [Go SDK](/data-streams/reference/data-streams-api/go-sdk) or [Rust SDK](/data-streams/reference/data-streams-api/rust-sdk), you don't need to implement the authentication logic manually.
2121

2222
## API Authentication Example
2323

src/content/data-streams/reference/authentication/rust-examples.mdx renamed to src/content/data-streams/reference/data-streams-api/authentication/rust-examples.mdx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,9 @@ import DataStreams from "@features/data-streams/common/DataStreams.astro"
1515

1616
Below are complete examples for authenticating with the Data Streams API in Rust. Each example shows how to properly generate the required headers and make a request.
1717

18-
To learn more about the Data Streams API authentication, see the [Data Streams Authentication](/data-streams/reference/authentication) page.
18+
To learn more about the Data Streams API authentication, see the [Data Streams Authentication](/data-streams/reference/data-streams-api/authentication) page.
1919

20-
**Note**: The Data Streams SDKs handle authentication automatically. If you're using the [Go SDK](/data-streams/reference/go-sdk) or [Rust SDK](/data-streams/reference/rust-sdk), you don't need to implement the authentication logic manually.
20+
**Note**: The Data Streams SDKs handle authentication automatically. If you're using the [Go SDK](/data-streams/reference/data-streams-api/go-sdk) or [Rust SDK](/data-streams/reference/data-streams-api/rust-sdk), you don't need to implement the authentication logic manually.
2121

2222
## API Authentication Example
2323

@@ -229,7 +229,7 @@ While this example demonstrates the authentication mechanism, production applica
229229
- **Resource management**: Implement graceful shutdown for long-running connections
230230
- **Testing**: Add unit tests for HMAC generation and integration tests for API calls
231231

232-
For production use, consider using the [Rust SDK](/data-streams/reference/rust-sdk) which handles authentication automatically and provides built-in fault tolerance.
232+
For production use, consider using the [Rust SDK](/data-streams/reference/data-streams-api/rust-sdk) which handles authentication automatically and provides built-in fault tolerance.
233233

234234
## WebSocket Authentication Example
235235

@@ -530,4 +530,4 @@ While this example demonstrates WebSocket authentication, production application
530530
- **Graceful shutdown**: Properly close WebSocket connections with close frames
531531
- **Testing**: Add tests for connection handling and message parsing
532532

533-
For production use, consider using the [Rust SDK](/data-streams/reference/rust-sdk) which handles authentication automatically and provides built-in fault tolerance.
533+
For production use, consider using the [Rust SDK](/data-streams/reference/data-streams-api/rust-sdk) which handles authentication automatically and provides built-in fault tolerance.

src/content/data-streams/reference/authentication/typescript-examples.mdx renamed to src/content/data-streams/reference/data-streams-api/authentication/typescript-examples.mdx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,9 @@ import DataStreams from "@features/data-streams/common/DataStreams.astro"
1515

1616
Below are complete examples for authenticating with the Data Streams API in TypeScript, using Node.js. Each example shows how to properly generate the required headers and make a request.
1717

18-
To learn more about the Data Streams API authentication, see the [Data Streams Authentication](/data-streams/reference/authentication) page.
18+
To learn more about the Data Streams API authentication, see the [Data Streams Authentication](/data-streams/reference/data-streams-api/authentication) page.
1919

20-
**Note**: The Data Streams SDKs handle authentication automatically. If you're using the [Go SDK](/data-streams/reference/go-sdk) or [Rust SDK](/data-streams/reference/rust-sdk), you don't need to implement the authentication logic manually.
20+
**Note**: The Data Streams SDKs handle authentication automatically. If you're using the [Go SDK](/data-streams/reference/data-streams-api/go-sdk) or [Rust SDK](/data-streams/reference/data-streams-api/rust-sdk), you don't need to implement the authentication logic manually.
2121

2222
## API Authentication Example
2323

0 commit comments

Comments
 (0)