Developer portal @switch (activePanel()) { @case ('apis') { Every endpoint carries the thing callers get wrong. Those are learned in production, not in a sandbox, so they belong beside the endpoint rather than three pages into a guide. } @case ('distribution') { @if (stale().length > 0) { {{ stale().length }} artifact is behind the current release. Saying so is the point — a distribution page that claims everything is current is one nobody checks twice. } Stream topics } @case ('extensions') { {{ availableExtensions() }} of {{ extensions.length }} extension points are generally available. Each states its sandbox — what stops a partner’s code from taking the host down with it. } } @switch (activePanel()) { @case ('apis') { @if (selectedEndpoint(); as endpoint) {

{{ endpoint.method }} {{ endpoint.path }}

{{ endpoint.summary }}

What it is for

{{ endpoint.useCase }}

What callers get wrong {{ endpoint.gotcha }}
Stability

A beta endpoint can change shape with one release cycle of notice — the changelog in the Developer Portal is where that lands.

} @else { Select an endpoint. } } @case ('distribution') { @if (selectedArtifact(); as artifact) {

{{ artifact.name }}

{{ artifact.kind }} · {{ artifact.refresh }}

Where it lives
@if (artifact.note) {
Note {{ artifact.note }}
}
Why generated

The spec and the collection are both built from the controllers, so they cannot drift from the code. Anything hand-maintained is the thing that ends up behind — see the Python SDK.

} @else { Select an artifact. } } @case ('extensions') { @if (selectedExtension(); as extension) {

{{ extension.name }}

{{ extension.who }} · {{ extension.state }}

What it lets you build

{{ extension.what }}

The sandbox {{ extension.sandbox }}
See the Flow Builder palette } @else { Select an extension point. } } }