Factory Studio — APIs¶
Generated from the architecture model
This page is rendered from model/**/*.yaml by tools/docs_model during mkdocs build. Edit the YAML, not this page; hand-written design lives on the linked service, platform and plane pages.
StudioBff¶
REST (public endpoints need a scope; every call carries trusted tenant and project scope)
| Method | Path | Operation | Scope | Side effects | Idempotency | Gateway | Summary |
|---|---|---|---|---|---|---|---|
GET |
/studio/session |
GetStudioSession | factory.studio.use |
read | natural | GW-02 | The session projection: scope, permissions snapshot, locale, theme, work area, feature flags from the Config Platform. |
PUT |
/studio/session/scope |
SetStudioScope | factory.studio.use |
shared-write | natural | GW-02 | Switch tenant, project or environment (validated against the identity platform and Control; grants nothing). |
PUT |
/studio/session/preferences |
SetStudioPreferences | factory.studio.use |
shared-write | natural | GW-02 | Locale (en, he, ru), theme, reduced motion, default work area. |
GET |
/studio/screens/{screenId} |
GetScreenModel | factory.studio.use |
read | natural | GW-02 | A screen-shaped composition for one of the UX model's screens (runs, approvals, assets, evaluation, operations, fleet, …) built from the owning platforms' read models under the session's scope, with projection freshness per source. |
POST |
/studio/commands/{commandId} |
ForwardCommand | factory.studio.use |
production | key-header | GW-02 | Forward a Studio command (submit run, decide approval, acknowledge alert, request promotion, …) to the owning platform with an idempotency key, the session's scope and, for gated classes, the approval binding; the class and the owning service's gates apply, never the BFF's. |
GET |
/studio/views |
ListSavedViews | factory.studio.use |
read | natural | GW-02 | Saved views visible to the user for a screen. |
PUT |
/studio/views/{viewId} |
SaveView | factory.studio.use |
shared-write | natural | GW-02 | Create or update a saved view. |
GET |
/studio/search |
StudioSearch | factory.studio.use |
read | natural | GW-02 | Command-palette search across runs, assets, projects, environments, alerts and screens under the session's scope. |
GET |
/studio/health |
StudioHealth | factory.health.read |
read | natural | GW-01 | Liveness and readiness with per-source dependency health. |
StudioNotificationService¶
REST (public endpoints need a scope; every call carries trusted tenant and project scope)
| Method | Path | Operation | Scope | Side effects | Idempotency | Gateway | Summary |
|---|---|---|---|---|---|---|---|
GET |
/studio/notifications |
ListNotifications | factory.studio.use |
read | natural | GW-02 | The user's notifications with unread counts by importance. |
POST |
/studio/notifications/{notificationId}/read |
MarkNotificationRead | factory.studio.use |
shared-write | natural | GW-02 | Mark read or dismissed. |
PUT |
/studio/notifications/preferences |
SetNotificationPreferences | factory.studio.use |
shared-write | natural | GW-02 | Channels per kind, quiet hours, digest. |
gRPC (code-first, internal)
| gRPC service | Method | Streaming | Visibility | Side effects | Summary |
|---|---|---|---|---|---|
Notifications |
Notify |
none | internal | shared-write | Create notifications for the recipients of a subject (used by platforms that need a guaranteed in-app notice, for example alerts). |
StudioRealtimeGateway¶
REST (public endpoints need a scope; every call carries trusted tenant and project scope)
| Method | Path | Operation | Scope | Side effects | Idempotency | Gateway | Summary |
|---|---|---|---|---|---|---|---|
GET |
/studio/realtime/health |
RealtimeHealth | factory.health.read |
read | natural | GW-01 | Liveness, readiness, connection count and upstream stream health. |
gRPC (code-first, internal)
| gRPC service | Method | Streaming | Visibility | Side effects | Summary |
|---|---|---|---|---|---|
Realtime |
Subscribe |
server | bff | read | Hub-side subscription negotiation (SignalR transport in front; this is the server contract). |