Skip to content

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).