Skip to content

Beta module namespace

sessions

Beta routes may change with notice and are NOT covered by the 24-month stable window of the core contract.

Every module route is enumerated with method, path, auth and required permission; request/response schemas are not published for the beta surface.

157 operations

MethodPathRequired permissionAuthenticationSummary
get/v1/m/sessions/channelssessions:channel:readBearer tokenLists the active Channels of the selected workspace that the current caller may read, with the caller's own current local grant bits, without changing any state.
post/v1/m/sessions/channelssessions:channel:writeBearer tokenCreates an active Channel with only the explicit initial grants supplied by an authorized caller; no grant is implied.
patch/v1/m/sessions/channelssessions:channel:adminBearer tokenUpdates one Channel under conditional-write semantics while preserving the irreversible application-sealed content boundary.
get/v1/m/sessions/channels/administrationsessions:channel:adminBearer tokenLists the Channels of the selected workspace that the current caller may administer, each with the strong Channel ETag the existing mutations take as their precondition, without changing any state.
get/v1/m/sessions/channels/{id}sessions:channel:readBearer tokenReturns one Channel only after current core and local read authorization.
get/v1/m/sessions/channels/{id}/grantssessions:channel:adminBearer tokenReturns one administrable Channel, its precondition ETag and a bounded page of the stored grant generations the requested filters select, without opening content or changing any state.
post/v1/m/sessions/channels/{id}/grantssessions:channel:adminBearer tokenAdds one explicit, optionally expiring grant generation.
post/v1/m/sessions/channels/{id}/grants/{grant_id}/revokesessions:channel:adminBearer tokenRevokes one active grant without deleting its history.
post/v1/m/sessions/decision-requests/{id}/responsessessions:decision-request:writeBearer tokenResolves or dismisses a decision request with current authority.
get/v1/m/sessions/decisionssessions:decision:readBearer tokensessions module route (requires sessions:decision:read)
post/v1/m/sessions/decisionssessions:decision:writeBearer tokensessions module route (requires sessions:decision:write)
get/v1/m/sessions/decisions/{id}sessions:decision:readBearer tokensessions module route (requires sessions:decision:read)
post/v1/m/sessions/decisions/{id}/revokesessions:decision:adminBearer tokensessions module route (requires sessions:decision:admin)
get/v1/m/sessions/deliveries/{id}sessions:delivery:readBearer tokenOpens one authorized Delivery for its exact user, agent, or session recipient.
post/v1/m/sessions/deliveries/{id}/acksessions:delivery:writeBearer tokenAcknowledges one exact Delivery with CAS and idempotent receipt semantics.
get/v1/m/sessions/deliveries/{id}/handoffsessions:delivery:readBearer tokenOpens the offer context of one exact Delivery for its own recipient.
post/v1/m/sessions/handoffssessions:message-send:writeBearer tokenCreates the carrier and WorkItem offer atomically without changing ownership.
post/v1/m/sessions/handoffs/{id}/responsessessions:handoff-response:writeBearer tokenAccepts or rejects an offered Handoff; accept atomically transfers ownership and fences the old lease.
get/v1/m/sessions/inboxsessions:delivery:readBearer tokenLists an authenticated principal's exact mailbox without advancing or acknowledging it.
get/v1/m/sessions/inbox/cursors/personal/{recipient}sessions:delivery:readBearer tokenMints an opaque navigation token without advancing durable cursor state.
put/v1/m/sessions/inbox/cursors/personal/{recipient}sessions:delivery:writeBearer tokenRescans current Delivery authority and conditionally advances the personal cursor and barriers.
get/v1/m/sessions/inbox/handoffssessions:delivery:readBearer tokenLists the handoff offers addressed to the authenticated recipient without opening their content.
get/v1/m/sessions/leasessessions:lease:readBearer tokensessions module route (requires sessions:lease:read)
get/v1/m/sessions/livesessions:live:readBearer tokenLists live sessions, most-recently-active first.
get/v1/m/sessions/live/by-id/{live_ref}sessions:live:readBearer tokenReturns the live operation of one session row by its opaque live_ref, whichever channel it was observed through.
get/v1/m/sessions/live/by-id/{live_ref}/timelinesessions:live:readBearer tokenReturns the timeline of exactly one session row by its live_ref: a scoped row by the events written with that reference, a legacy row by its legacy events.
get/v1/m/sessions/live/{ref}sessions:live:readBearer tokenReturns the live operation of the LEGACY row of one session by its bare external reference; a profile-scoped row is never returned here — read it by its live_ref.
get/v1/m/sessions/live/{ref}/timelinesessions:live:readBearer tokenReturns the LEGACY timeline of one session by its bare external reference — the events that carry no live_ref — in chronological (ingestion) order, keyset-paginated by the time-ordered row id.
post/v1/m/sessions/messages/sendsessions:message-send:writeBearer tokenPublishes one governed direct Message and required Delivery.
get/v1/m/sessions/messages/{id}sessions:message:readBearer tokenOpens one authorized user Message after its exact carrier checks.
get/v1/m/sessions/protocol-binding-specssessions:protocol-binding:readBearer tokenLists protocol binding spec generations in one workspace.
post/v1/m/sessions/protocol-binding-specssessions:protocol-binding:writeBearer tokenRecords a new draft generation of a protocol binding spec.
get/v1/m/sessions/protocol-binding-specs/{id}sessions:protocol-binding:readBearer tokenReturns one immutable protocol binding spec generation.
post/v1/m/sessions/protocol-binding-specs/{id}/activatesessions:protocol-binding:adminBearer tokenMakes one spec generation the active desired state for its binding.
post/v1/m/sessions/protocol-binding-specs/{id}/disablesessions:protocol-binding:adminBearer tokenStops one spec generation from being the active desired state.
get/v1/m/sessions/protocol-bindingssessions:protocol-binding:readBearer tokenLists the protocol bindings visible to the caller, filtered and paginated by the query.
get/v1/m/sessions/protocol-bindings/{id}sessions:protocol-binding:readBearer tokenReturns one protocol binding in the caller's tenant.
post/v1/m/sessions/protocol-bindings/{id}/reconcilesessions:protocol-binding:writeBearer tokenDrives one binding towards its desired state.
get/v1/m/sessions/provider-accountssessions:account:readBearer tokenLists the tenant's named provider accounts, optionally narrowed by environment, driver and state; a profile nobody has named is never listed.
post/v1/m/sessions/provider-accountssessions:account:writeBearer tokenCreates a provider account: the server builds its home on this node in two phases and registers the account that owns it, under the given name or a generated one.
get/v1/m/sessions/provider-accounts/{ref}sessions:account:readBearer tokenReturns one provider account by its reference, without its paths; a profile nobody has named is not an account and answers not found.
patch/v1/m/sessions/provider-accounts/{ref}sessions:account:writeBearer tokenEdits the account's name, display label and/or color; a rename changes only the name, never the reference, home or launch configuration, and an empty display label or color clears that field.
post/v1/m/sessions/provider-accounts/{ref}/adoptsessions:account:writeBearer tokenNames an existing provider profile as an account, under the given name or a generated one; the database decides whether the name is free, and the home is recorded as shared isolation.
get/v1/m/sessions/provider-profilessessions:profile:readBearer tokenLists the tenant's provider profiles as references and labels, never paths.
post/v1/m/sessions/provider-profilessessions:profile:writeBearer tokenRegisters a provider profile for a configuration home on this node's execution environment; the homes are validated on the server and must already exist.
get/v1/m/sessions/provider-profiles/readinesssessions:profile:readBearer tokenAnswers whether a new session can start on each tool now: what it would run on (its own login, or a key or local model from Providers), or a stable code and the one sentence that says why not (not installed, nothing to run on, a refused key, an unreadable sign-in); it creates nothing.
get/v1/m/sessions/provider-profiles/resolvesessions:profile:readBearer tokenAnswers what a new session of a driver would run on, without creating anything: the tool's own login when it is signed in, otherwise the key or local model from Providers that the resolve rule picks, or the sentence that says what to add.
post/v1/m/sessions/provider-profiles/resolvesessions:profile:writeBearer tokenAnswers which provider profile a new session of a driver uses on this node: the tool's own login when it is signed in, otherwise a key or local model from Providers; it reuses a matching profile or creates one.
get/v1/m/sessions/provider-profiles/{ref}sessions:profile:readBearer tokenReturns one provider profile by its reference, without its paths.
patch/v1/m/sessions/provider-profiles/{ref}sessions:profile:writeBearer tokenRenames a provider profile and/or moves it between active and disabled; driver, environment and homes are immutable and retirement has its own route.
get/v1/m/sessions/provider-profiles/{ref}/configurationsessions:profile:adminBearer tokenReturns the stored canonical homes of one provider profile; this is the only read that exposes paths, and it never exposes a credential value.
get/v1/m/sessions/provider-profiles/{ref}/host-toolssessions:profile:readBearer tokenReports the official provider CLI candidates this node observes for one provider profile, grouped into closed codes; it installs nothing, probes nothing and authorizes nothing.
get/v1/m/sessions/provider-profiles/{ref}/launch-readinesssessions:profile:readBearer tokenReports the LOCAL launch requirements observed for one provider profile under one transport and isolation, with the checks this read cannot make left explicitly unknown; it starts nothing, mints nothing and authorizes nothing.
get/v1/m/sessions/provider-profiles/{ref}/modelssessions:profile:readBearer tokenLists the models and effort levels that the installed tool or bound provider of one provider profile reports now, cached for two minutes; it sends no prompt, starts no conversation and returns no credential.
post/v1/m/sessions/provider-profiles/{ref}/retiresessions:profile:adminBearer tokenRetires a provider profile for good: the id stays, its history stays, and the home becomes free for a new profile id.
get/v1/m/sessions/provider-source-bindingssessions:profile-binding:readBearer tokenLists the source-to-profile bindings of the tenant, optionally narrowed to one profile.
post/v1/m/sessions/provider-source-bindingssessions:profile-binding:writeBearer tokenDedicates one configured source, at the exact revision this node has applied, to a provider profile; administering the source is checked through the composition port.
get/v1/m/sessions/provider-source-bindings/{ref}sessions:profile-binding:readBearer tokenReturns one source-to-profile binding by its reference.
post/v1/m/sessions/provider-source-bindings/{ref}/revokesessions:profile-binding:adminBearer tokenRevokes a source-to-profile binding; events already attributed under it keep their provenance and later observations through that source are no longer attributed to the profile.
get/v1/m/sessions/providerssessions:provider:readBearer tokenLists the tenant's registered providers as kinds, names and hints, never a credential.
post/v1/m/sessions/providerssessions:provider:writeBearer tokenRegisters one provider credential; the engine seals the value and returns only a four-character hint.
get/v1/m/sessions/providers/{ref}sessions:provider:readBearer tokenReturns one registered provider by its reference, without its credential.
patch/v1/m/sessions/providers/{ref}sessions:provider:writeBearer tokenRenames a provider, changes its endpoint and/or rotates its credential in place.
post/v1/m/sessions/providers/{ref}/revokesessions:provider:adminBearer tokenWithdraws a provider credential for good; the record keeps its id so the sessions it authorized still read truthfully.
post/v1/m/sessions/providers/{ref}/testsessions:provider:writeBearer tokenAsks the provider which models it serves with the registered credential; it sends no completion and spends nothing.
get/v1/m/sessions/runssessions:run:readBearer tokensessions module route (requires sessions:run:read)
post/v1/m/sessions/runssessions:run:writeBearer tokensessions module route (requires sessions:run:write)
get/v1/m/sessions/runs/{ref}sessions:run:readBearer tokensessions module route (requires sessions:run:read)
delete/v1/m/sessions/runs/{ref}sessions:run:adminBearer tokensessions module route (requires sessions:run:admin)
get/v1/m/sessions/runs/{ref}/activitysessions:run:readBearer tokensessions module route (requires sessions:run:read)
get/v1/m/sessions/runs/{ref}/activity/agents/{agent}sessions:run:readBearer tokensessions module route (requires sessions:run:read)
post/v1/m/sessions/runs/{ref}/archivesessions:run:writeBearer tokenArchives the run for every reader, idempotently: an archived run keeps its first archived_at.
delete/v1/m/sessions/runs/{ref}/archivesessions:run:writeBearer tokenUnarchives the run, idempotently.
get/v1/m/sessions/runs/{ref}/attachsessions:run:readBearer tokenStreams a live session's bridged I/O as server-sent events, replaying from an optional ?from=<seq> cursor.
post/v1/m/sessions/runs/{ref}/attachmentssessions:run:writeBearer tokenStores one image with a session, to be sent with its next message.
get/v1/m/sessions/runs/{ref}/attachments/{id}sessions:run:readBearer tokenReturns an image stored with a session, as it was uploaded.
get/v1/m/sessions/runs/{ref}/changessessions:run:readBearer tokenLists the files in the run's folder that changed since the run started, newest first.
get/v1/m/sessions/runs/{ref}/changes/filesessions:run:readBearer tokenReturns the current text of one file in the run's folder, or with rev=HEAD the text git HEAD holds for it (?path=, relative to the folder; at most 256 KiB; 404 when the folder has no readable git history or HEAD has no such file).
post/v1/m/sessions/runs/{ref}/cleanupsessions:run:adminBearer tokensessions module route (requires sessions:run:admin)
get/v1/m/sessions/runs/{ref}/commandssessions:run:writeBearer tokenLists the commands, skills and agents the session's tool reports.
get/v1/m/sessions/runs/{ref}/diffsessions:run:readBearer tokenLists the paths the run's worktree branch changed since it left the workspace's current commit.
get/v1/m/sessions/runs/{ref}/diff/filesessions:run:readBearer tokenReturns one path of the run's worktree branch at the base and at the branch tip (?path=, relative to the repository's top folder; each side keeps the workspace's read limit and the 64 KiB Git output cap).
post/v1/m/sessions/runs/{ref}/donesessions:run:readBearer tokenMarks the run done for the caller, idempotently.
delete/v1/m/sessions/runs/{ref}/donesessions:run:readBearer tokenRemoves the caller's done mark, idempotently.
get/v1/m/sessions/runs/{ref}/eventssessions:run:readBearer tokensessions module route (requires sessions:run:read)
get/v1/m/sessions/runs/{ref}/gitsessions:run:readBearer tokensessions module route (requires sessions:run:read)
post/v1/m/sessions/runs/{ref}/git/branchsessions:run:writeBearer tokensessions module route (requires sessions:run:write)
post/v1/m/sessions/runs/{ref}/git/commitsessions:run:writeBearer tokensessions module route (requires sessions:run:write)
post/v1/m/sessions/runs/{ref}/git/stagesessions:run:writeBearer tokensessions module route (requires sessions:run:write)
post/v1/m/sessions/runs/{ref}/git/unstagesessions:run:writeBearer tokensessions module route (requires sessions:run:write)
get/v1/m/sessions/runs/{ref}/handoffsessions:run:readBearer tokensessions module route (requires sessions:run:read)
post/v1/m/sessions/runs/{ref}/handoffsessions:run:writeBearer tokensessions module route (requires sessions:run:write)
post/v1/m/sessions/runs/{ref}/inputsessions:run:writeBearer tokensessions module route (requires sessions:run:write)
post/v1/m/sessions/runs/{ref}/interruptsessions:run:writeBearer tokenCancels the active provider turn of a live session and keeps its owned process running; it is the non-terminal control, /stop remains the terminal one, and the optional body decides which control plane answers — absent, it is the legacy interrupt of a non-work run; with a positive work_lease_fence, it is the fenced control this work-bound run's input and stop already use.
get/v1/m/sessions/runs/{ref}/messagessessions:run:readBearer tokensessions module route (requires sessions:run:read)
post/v1/m/sessions/runs/{ref}/movesessions:run:writeBearer tokensessions module route (requires sessions:run:write)
put/v1/m/sessions/runs/{ref}/namesessions:run:writeBearer tokenRenames the run; an empty name clears it.
put/v1/m/sessions/runs/{ref}/peerssessions:run:writeBearer tokenStores one operator choice on the existing run row.
post/v1/m/sessions/runs/{ref}/pinsessions:run:readBearer tokenPins the run for the caller.
delete/v1/m/sessions/runs/{ref}/pinsessions:run:readBearer tokenRemoves the caller's pin, idempotently.
get/v1/m/sessions/runs/{ref}/previewsessions:run:readBearer tokenLists the loopback ports the run's own processes listen on, which a browser preview can open; a run not live on this node has none.
post/v1/m/sessions/runs/{ref}/previewsessions:run:writeBearer tokenOpens a browser preview of one port the run listens on and returns its URL, which expires within the hour and when the session stops.
post/v1/m/sessions/runs/{ref}/resumesessions:run:writeBearer tokensessions module route (requires sessions:run:write)
post/v1/m/sessions/runs/{ref}/snoozesessions:run:readBearer tokenSnoozes the run for the caller until a moment still to come, or moves the moment of a snooze already set.
delete/v1/m/sessions/runs/{ref}/snoozesessions:run:readBearer tokenEnds the caller's snooze, idempotently.
post/v1/m/sessions/runs/{ref}/stopsessions:run:writeBearer tokensessions module route (requires sessions:run:write)
get/v1/m/sessions/streamsessions:live:readBearer tokenServes the live operation as server-sent events.
get/v1/m/sessions/templatessessions:template:readBearer tokensessions module route (requires sessions:template:read)
post/v1/m/sessions/templatessessions:template:writeBearer tokensessions module route (requires sessions:template:write)
get/v1/m/sessions/templates/{id}sessions:template:readBearer tokensessions module route (requires sessions:template:read)
put/v1/m/sessions/templates/{id}sessions:template:writeBearer tokensessions module route (requires sessions:template:write)
delete/v1/m/sessions/templates/{id}sessions:template:adminBearer tokensessions module route (requires sessions:template:admin)
post/v1/m/sessions/templates/{id}/applysessions:template:readBearer tokensessions module route (requires sessions:template:read)
post/v1/m/sessions/templates/{id}/duplicatesessions:template:writeBearer tokensessions module route (requires sessions:template:write)
get/v1/m/sessions/tool-ringssessions:run:adminBearer tokenReturns HTTP 501 with business_required because tool version rings require Business; no ring is read or changed.
put/v1/m/sessions/tool-rings/{driver}sessions:run:adminBearer tokenReturns HTTP 501 with business_required because tool version rings require Business; no ring is read or changed.
post/v1/m/sessions/tool-rings/{driver}/promotesessions:run:adminBearer tokenReturns HTTP 501 with business_required because tool version rings require Business; no ring is read or changed.
post/v1/m/sessions/tool-rings/{driver}/rollbacksessions:run:adminBearer tokenReturns HTTP 501 with business_required because tool version rings require Business; no ring is read or changed.
post/v1/m/sessions/work-events/{event_id}/replaysessions:work:adminBearer tokensessions module route (requires sessions:work:admin)
get/v1/m/sessions/work-itemssessions:work:readBearer tokensessions module route (requires sessions:work:read)
post/v1/m/sessions/work-itemssessions:work:writeBearer tokensessions module route (requires sessions:work:write)
get/v1/m/sessions/work-items/{id}sessions:work:readBearer tokensessions module route (requires sessions:work:read)
patch/v1/m/sessions/work-items/{id}sessions:work:writeBearer tokensessions module route (requires sessions:work:write)
get/v1/m/sessions/work-items/{id}/acceptancesessions:work:readBearer tokensessions module route (requires sessions:work:read)
post/v1/m/sessions/work-items/{id}/acceptancesessions:work:writeBearer tokensessions module route (requires sessions:work:write)
patch/v1/m/sessions/work-items/{id}/acceptance/{criterion_id}sessions:work:writeBearer tokensessions module route (requires sessions:work:write)
post/v1/m/sessions/work-items/{id}/assignmentssessions:work:adminBearer tokensessions module route (requires sessions:work:admin)
get/v1/m/sessions/work-items/{id}/dependenciessessions:work:readBearer tokensessions module route (requires sessions:work:read)
post/v1/m/sessions/work-items/{id}/dependenciessessions:work:writeBearer tokensessions module route (requires sessions:work:write)
delete/v1/m/sessions/work-items/{id}/dependencies/{dep_id}sessions:work:writeBearer tokensessions module route (requires sessions:work:write)
get/v1/m/sessions/work-items/{id}/eventssessions:work:readBearer tokensessions module route (requires sessions:work:read)
get/v1/m/sessions/work-items/{id}/leasesessions:lease:readBearer tokensessions module route (requires sessions:lease:read)
post/v1/m/sessions/work-items/{id}/lease/acquiresessions:lease:writeBearer tokensessions module route (requires sessions:lease:write)
post/v1/m/sessions/work-items/{id}/lease/clock-rebasesessions:lease:adminBearer tokensessions module route (requires sessions:lease:admin)
post/v1/m/sessions/work-items/{id}/lease/releasesessions:lease:writeBearer tokensessions module route (requires sessions:lease:write)
post/v1/m/sessions/work-items/{id}/lease/renewsessions:lease:writeBearer tokensessions module route (requires sessions:lease:write)
post/v1/m/sessions/work-items/{id}/lease/revokesessions:lease:adminBearer tokensessions module route (requires sessions:lease:admin)
post/v1/m/sessions/work-items/{id}/lease/takeoversessions:lease:adminBearer tokensessions module route (requires sessions:lease:admin)
post/v1/m/sessions/work-items/{id}/transitionssessions:work:writeBearer tokensessions module route (requires sessions:work:write)
get/v1/m/sessions/work-streamsessions:work:readBearer tokensessions module route (requires sessions:work:read)
get/v1/m/sessions/workspacessessions:workspace:readBearer tokensessions module route (requires sessions:workspace:read)
post/v1/m/sessions/workspacessessions:workspace:adminBearer tokensessions module route (requires sessions:workspace:admin)
get/v1/m/sessions/workspaces/{ref}sessions:workspace:readBearer tokensessions module route (requires sessions:workspace:read)
delete/v1/m/sessions/workspaces/{ref}sessions:workspace:adminBearer tokensessions module route (requires sessions:workspace:admin)
patch/v1/m/sessions/workspaces/{ref}sessions:workspace:adminBearer tokenChanges a workspace's read-only host folders or DLP mode.
get/v1/m/sessions/workspaces/{ref}/filessessions:workspace:readBearer tokensessions module route (requires sessions:workspace:read)
delete/v1/m/sessions/workspaces/{ref}/filessessions:workspace:writeBearer tokensessions module route (requires sessions:workspace:write)
post/v1/m/sessions/workspaces/{ref}/files/dirsessions:workspace:writeBearer tokensessions module route (requires sessions:workspace:write)
post/v1/m/sessions/workspaces/{ref}/files/movesessions:workspace:writeBearer tokensessions module route (requires sessions:workspace:write)
get/v1/m/sessions/workspaces/{ref}/files/rawsessions:workspace:readBearer tokensessions module route (requires sessions:workspace:read)
put/v1/m/sessions/workspaces/{ref}/files/rawsessions:workspace:writeBearer tokensessions module route (requires sessions:workspace:write)
get/v1/m/sessions/workspaces/{ref}/files/statsessions:workspace:readBearer tokensessions module route (requires sessions:workspace:read)
get/v1/m/sessions/workspaces/{ref}/project-configsessions:workspace:adminBearer tokenLists the repo-resident agent configuration of a registered folder that runs programs or redirects traffic, with the SHA-256 of that flagged part and whether a person approved it; the files are read and never executed.
post/v1/m/sessions/workspaces/{ref}/project-config/approvesessions:workspace:adminBearer tokenRecords that a person approved the SHA-256 of a folder's flagged agent configuration, so sessions of the tools that read it may start until one character of it changes.
put/v1/m/sessions/workspaces/{ref}/setup-commandsessions:workspace:adminBearer tokenStores the exact setup command text of one folder, or clears it when the text is empty.
post/v1/m/sessions/workspaces/{ref}/setup-command/approvesessions:workspace:adminBearer tokenRecords a person's approval of the setup command text whose SHA-256 is posted, and refuses with 409 when the stored text no longer has that hash.
post/v1/m/sessions/workspaces/{ref}/wikisessions:workspace:adminBearer tokensessions module route (requires sessions:workspace:admin)