Skip to content

Reference

Lightspeed JSON-RPC API Reference

Generated from the Rust API method manifest. Parameter and result field details live in api.schema.json and openrpc.json; this reference focuses on operation semantics.

Universe methods

initialize

Inspect the Lightspeed protocol

Returns protocol version, server identity, and supported capabilities without changing universe state.

  • Params: InitializeParams
  • Result: AgentApiOutcome<InitializeResponse>

session/start

Create or reopen a session

Creates a session with optional config/profile setup. Profile metadata and retention supply creation defaults; explicit start values override them. An existing-or-none environment override can replace the profile intent. Retrying an existing session id returns that session.

  • Params: SessionStartParams
  • Result: AgentApiOutcome<SessionStartResponse>

session/managed/start

Create or reopen a managed session

Creates a session with immutable lifecycle and workflow-tool declarations using explicit bound dispatch. Profile metadata, retention, and environment overrides follow session/start semantics. Retrying an id requires the same managed declaration; an ordinary session cannot be upgraded.

  • Params: ManagedSessionStartParams
  • Result: AgentApiOutcome<SessionStartResponse>

session/read

Read a session

Returns current state plus a bounded newest-first run-summary page. Follow nextRunCursor with session/runs/list when hasOlderRuns is true; use session/events/read for the transcript.

  • Params: SessionReadParams
  • Result: AgentApiOutcome<SessionReadResponse>

session/list

List sessions

Returns a cursor-paginated summary list ordered by most recent update. Pages may shift while sessions are changing.

  • Params: SessionListParams
  • Result: AgentApiOutcome<SessionListResponse>

session/config/put

Replace session configuration

Replaces the complete sparse config while the session is idle. Use the current config revision for safe read-modify-write; omitted features are revoked and an identical document is a no-op.

  • Params: SessionConfigPutParams
  • Result: AgentApiOutcome<SessionConfigPutResponse>

session/rename

Rename a session

Sets the display name, or clears it when displayName is omitted.

  • Params: SessionRenameParams
  • Result: AgentApiOutcome<SessionRenameResponse>

session/metadata/put

Replace session metadata

Replaces the complete descriptive key/value map (bounded like session/start); an omitted or empty map clears it. Record-only: the event log and updatedAtMs are untouched.

  • Params: SessionMetadataPutParams
  • Result: AgentApiOutcome<SessionMetadataPutResponse>

session/retention/put

Replace session retention

Sets the positive close-relative automatic-deletion duration on a retention root, or clears it with null. Forks and delegated children inherit the root policy and cannot override it.

  • Params: SessionRetentionPutParams
  • Result: AgentApiOutcome<SessionRetentionPutResponse>

session/close

Close a session

Closes an idle session and detaches its environment bindings. Force mode cancels active work, drops queued runs, and can recover a session whose workflow is unavailable.

  • Params: SessionCloseParams
  • Result: AgentApiOutcome<SessionCloseResponse>

session/delete

Delete closed sessions

Permanently removes a closed retention-tree leaf, or its closed history-fork and delegated-child subtree when cascade is true. Config-only clones are never included.

  • Params: SessionDeleteParams
  • Result: AgentApiOutcome<SessionDeleteResponse>

session/events/read

Read the session event stream

Returns chronological events. Forward (default) follows after and supports long-polling. Backward reads the latest window below before (or the head); pass nextCursor as before until complete. Follow live events after the initial backward headCursor. Windows may split runs/tool batches; keep historical reconstruction separate from live controls.

  • Params: SessionEventsReadParams
  • Result: AgentApiOutcome<SessionEventsReadResponse>

session/context/append

Append keyed session context

Admits a batch of context entries with per-entry results. Stable keys make same-content retries no-ops; media preprocessing can fail one entry without discarding successful entries.

  • Params: ContextAppendParams
  • Result: AgentApiOutcome<ContextAppendResponse>

session/context/remove

Remove keyed session context

Removes active entries by stable key with per-key results. Missing keys are idempotent no-ops; runtime-reserved run keys cannot be removed.

  • Params: ContextRemoveParams
  • Result: AgentApiOutcome<ContextRemoveResponse>

session/context/compact

Compact session context

Runs the configured compaction policy on an open idle session and waits for the resulting context revision.

  • Params: ContextCompactParams
  • Result: AgentApiOutcome<ContextCompactResponse>

session/runs/start

Start an agent run

Accepts input or existing context keys and returns once the run is accepted — queued behind an active run, or running — not when it finishes. Supply submissionId for retry safety, then follow session events or reread the session.

  • Params: RunStartParams
  • Result: AgentApiOutcome<RunStartResponse>

session/runs/list

List session runs

Returns a newest-first keyset page of bounded run summaries projected from current reducer state.

  • Params: RunListParams
  • Result: AgentApiOutcome<RunListResponse>

session/runs/read

Read one session run

Reads and projects one run from its bounded event interval, paged by event sequence.

  • Params: RunReadParams
  • Result: AgentApiOutcome<RunReadResponse>

session/runs/cancel

Cancel a run

Requests cancellation of the named queued or active run and returns its current projected state; observe session events for terminal completion. In-flight model and tool activity is aborted; no grace turn runs.

  • Params: RunCancelParams
  • Result: AgentApiOutcome<RunCancelResponse>

session/runs/approvals/decide

Decide pending run approvals

Approves or rejects pending MCP tool calls on the named active run. Valid decisions apply independently; the run resumes only after every pending approval has a decision.

  • Params: RunApprovalsDecideParams
  • Result: AgentApiOutcome<RunApprovalsDecideResponse>

session/runs/steer

Steer the active run

Injects input into the named active run; the model sees it at the next turn boundary without interrupting the in-flight turn. Accepted while the run is running or parked on an await; rejected for queued, cancelling, or finished runs.

  • Params: RunSteerParams
  • Result: AgentApiOutcome<RunSteerResponse>

session/skills/list

List available session skills

Refreshes the session’s configured VFS skill catalog and reports which discovered skills are enabled and active. An absent catalog yields an empty result.

  • Params: SkillListParams
  • Result: AgentApiOutcome<SkillListResponse>

session/skills/active

List active session skills

Returns skill instructions currently injected into context, including activation scope and source.

  • Params: SkillActiveParams
  • Result: AgentApiOutcome<SkillActiveResponse>

session/skills/activate

Activate a session skill

Loads an enabled skill from the current catalog and injects its instructions into an open idle session. Run-scoped activation is the default.

  • Params: SkillActivateParams
  • Result: AgentApiOutcome<SkillActivateResponse>

session/skills/deactivate

Deactivate a session skill

Removes an active skill’s injected context from an open idle session; the skill must currently be active.

  • Params: SkillDeactivateParams
  • Result: AgentApiOutcome<SkillDeactivateResponse>

session/profiles/apply

Apply a profile to a session

Applies a named or inline profile’s config, instructions, and environment setup to an existing session; mutating profile sections require it to be open and idle. Pass current revisions to guard concurrent changes.

  • Params: ProfileApplyParams
  • Result: AgentApiOutcome<ProfileApplyResponse>

session/environments/activate

Activate a session environment

Selects an allowed, live universe environment for environment-targeted tools while the session is idle.

  • Params: SessionEnvironmentActivateParams
  • Result: AgentApiOutcome<SessionEnvironmentActivateResponse>

session/environments/deactivate

Deactivate the session environment

Clears active environment selection without changing or closing the universe environment.

  • Params: SessionEnvironmentDeactivateParams
  • Result: AgentApiOutcome<SessionEnvironmentDeactivateResponse>

environments/credentials/bind

Bind a credential into an environment

Maps an environment variable name to an existing grant/provider/direct-secret handle for a universe environment. The response exposes only the source handle, never secret material.

  • Params: EnvironmentCredentialBindParams
  • Result: AgentApiOutcome<EnvironmentCredentialBindResponse>

environments/credentials/list

List environment credential bindings

Returns variable names and credential source handles for a universe environment; resolved secret values are never returned.

  • Params: EnvironmentCredentialListParams
  • Result: AgentApiOutcome<EnvironmentCredentialListResponse>

environments/credentials/unbind

Unbind an environment credential

Removes one variable-to-credential mapping without deleting the underlying grant, provider credential, or secret.

  • Params: EnvironmentCredentialUnbindParams
  • Result: AgentApiOutcome<EnvironmentCredentialUnbindResponse>

environments/create

Create an environment

Records an idempotent provisioning intent against an enabled universe binding. The provider validates its provider-wide template and provisions through its backend asynchronously.

  • Params: EnvironmentCreateParams
  • Result: AgentApiOutcome<EnvironmentCreateResponse>

environments/read

Read an environment

Returns the durable universe resource, source binding, logical lifecycle state, and minimal current-incarnation identity.

  • Params: EnvironmentReadParams
  • Result: AgentApiOutcome<EnvironmentReadResponse>

environments/list

List environments

Lists universe-owned environment resources, optionally filtered by provider, binding, or logical lifecycle state.

  • Params: EnvironmentListParams
  • Result: AgentApiOutcome<EnvironmentListResponse>

environments/close

Close an environment

Records an asynchronous idempotent close intent. Provider cleanup is resumed by lifecycle reconciliation; quota is released only after Closed.

  • Params: EnvironmentCloseParams
  • Result: AgentApiOutcome<EnvironmentCloseResponse>

environments/external/create

Register an external environment

Creates an environment backed by a Lightspeed-reachable envd WebSocket endpoint. Reachability is checked on demand.

  • Params: EnvironmentExternalCreateParams
  • Result: AgentApiOutcome<EnvironmentExternalCreateResponse>

environments/ingress/put

Configure environment public ingress

Synchronously enables or disables one provider-authorized HTTPS endpoint for a provisioned environment. The provider owns hostname allocation, the approved guest port, routing, TLS, and health.

  • Params: EnvironmentIngressPutParams
  • Result: AgentApiOutcome<EnvironmentIngressPutResponse>

environments/power/put

Set environment power intent

Records the desired power state (running, paused, suspended, or stopped) of a provisioned environment; the lifecycle reconciler converges the provider target asynchronously. Powered-down environments wake transparently on their next use. Rejected when the provider does not support the state.

  • Params: EnvironmentPowerPutParams
  • Result: AgentApiOutcome<EnvironmentPowerPutResponse>

environments/idle-policy/put

Set environment idle policy

Replaces or clears the staged idle policy of a provisioned environment. The power reaper measures the daemon’s idle duration against the pause/suspend/stop/close thresholds and escalates through the stages the provider supports.

  • Params: EnvironmentIdlePolicyPutParams
  • Result: AgentApiOutcome<EnvironmentIdlePolicyPutResponse>

environments/provider-bindings/list

List environment provider bindings

Lists this universe’s revisioned routing and admission bindings to deployment-scoped physical providers.

  • Params: EnvironmentProviderBindingListParams
  • Result: AgentApiOutcome<EnvironmentProviderBindingListResponse>

environments/provider-bindings/read

Read an environment provider binding

Returns one universe routing and admission binding. Provider-wide templates and physical resource, network, and ingress policy remain provider-owned.

  • Params: EnvironmentProviderBindingReadParams
  • Result: AgentApiOutcome<EnvironmentProviderBindingReadResponse>

environments/templates/list

List environment templates

Reads immutable templates directly from the selected bound provider controller.

  • Params: EnvironmentTemplateListParams
  • Result: AgentApiOutcome<EnvironmentTemplateListResponse>

environments/templates/read

Read an environment template

Returns one immutable template version from the selected bound provider controller.

  • Params: EnvironmentTemplateReadParams
  • Result: AgentApiOutcome<EnvironmentTemplateReadResponse>

environments/jobs/create

Create environment jobs

Starts a dependency-aware job group on one environment instance, injecting the environment’s configured credentials at provider start. requestId is the retry identity; jobs are owned by the instance rather than a session. A powered-down environment is woken on use: the call fails with environment_not_ready while the wake is in progress; retry with backoff.

  • Params: EnvironmentJobCreateParams
  • Result: AgentApiOutcome<EnvironmentJobCreateResponse>

environments/jobs/read

Read environment jobs

Reads selected job handles with bounded output, optional sequence continuation, and optional artifacts; use returned status/sequence data for polling.

  • Params: EnvironmentJobReadParams
  • Result: AgentApiOutcome<EnvironmentJobReadResponse>

environments/jobs/cancel

Cancel environment jobs

Requests cancellation for selected jobs, optionally including dependents. Force is provider-specific escalation; inspect each per-job result.

  • Params: EnvironmentJobCancelParams
  • Result: AgentApiOutcome<EnvironmentJobCancelResponse>

environments/registration-keys/create

Mint an environment registration key

Creates a reusable universe-scoped key that lets outbound envd daemons register as environments. The plaintext secret is returned exactly once; only its hash is stored. Identity mode, active limit, disconnect grace, and expiry are the key’s policy. Treat the secret like a cluster-join credential.

  • Params: EnvironmentRegistrationKeyCreateParams
  • Result: AgentApiOutcome<EnvironmentRegistrationKeyCreateResponse>

environments/registration-keys/read

Read an environment registration key

Returns the key’s display prefix, policy, status, and derived environment counts; never the secret or its hash.

  • Params: EnvironmentRegistrationKeyReadParams
  • Result: AgentApiOutcome<EnvironmentRegistrationKeyReadResponse>

environments/registration-keys/list

List environment registration keys

Lists this universe’s registration keys with policy, status, and derived counts. Each key is the group of the environments it admitted.

  • Params: EnvironmentRegistrationKeyListParams
  • Result: AgentApiOutcome<EnvironmentRegistrationKeyListResponse>

environments/registration-keys/revoke

Revoke an environment registration key

Stops the key from admitting new daemon identities; already registered daemons keep reconnecting. With closeEnvironments, also closes every non-closed environment the key admitted. Idempotent.

  • Params: EnvironmentRegistrationKeyRevokeParams
  • Result: AgentApiOutcome<EnvironmentRegistrationKeyRevokeResponse>

models/list

Discover available models

Queries supported providers directly, with a brief process-local burst cache, and returns best-effort selectable routes. One provider failure does not discard successful results from others.

  • Params: ModelListParams
  • Result: AgentApiOutcome<ModelListResponse>

profiles/create

Create an agent profile

Creates a new universe-scoped reusable profile document; use profiles/put for create-or-replace revision semantics.

  • Params: ProfileCreateParams
  • Result: AgentApiOutcome<ProfileCreateResponse>

profiles/read

Read an agent profile

Returns the complete profile document and current revision.

  • Params: ProfileReadParams
  • Result: AgentApiOutcome<ProfileReadResponse>

profiles/list

List agent profiles

Returns lightweight summaries of universe-scoped reusable profiles.

  • Params: ProfileListParams
  • Result: AgentApiOutcome<ProfileListResponse>

profiles/put

Create or replace an agent profile

Stores the complete profile document. Use expectedRevision from profiles/read when replacing to prevent lost updates; absence writes unconditionally.

  • Params: ProfilePutParams
  • Result: AgentApiOutcome<ProfilePutResponse>

profiles/delete

Delete an agent profile

Deletes the catalog document; sessions previously created or configured from it retain their materialized state.

  • Params: ProfileDeleteParams
  • Result: AgentApiOutcome<ProfileDeleteResponse>

blobs/put

Store content-addressed blobs

Decodes and stores a batch of base64 payloads, returning immutable content references in request order. Re-uploading identical bytes is naturally deduplicated.

  • Params: BlobPutParams
  • Result: AgentApiOutcome<BlobPutResponse>

blobs/read

Read a content-addressed blob

Returns the complete immutable blob as base64; large values count against gateway and MCP response limits.

  • Params: BlobReadParams
  • Result: AgentApiOutcome<BlobReadResponse>

blobs/has

Check blob availability

Checks a batch of content references without returning blob bodies, preserving request order.

  • Params: BlobHasParams
  • Result: AgentApiOutcome<BlobHasResponse>

vfs/snapshots/commit

Commit a VFS snapshot

Validates and stores an immutable filesystem manifest. Upload referenced file blobs first; the returned snapshot ref is content-addressed.

  • Params: VfsSnapshotCommitParams
  • Result: AgentApiOutcome<VfsSnapshotCommitResponse>

vfs/snapshots/read

Read a VFS snapshot

Returns an immutable snapshot manifest and aggregate file/byte counts; file bodies remain separate blobs.

  • Params: VfsSnapshotReadParams
  • Result: AgentApiOutcome<VfsSnapshotReadResponse>

vfs/workspaces/create

Create a mutable VFS workspace

Creates a universe workspace at an optional seed snapshot; absence starts from a server-created empty snapshot.

  • Params: VfsWorkspaceCreateParams
  • Result: AgentApiOutcome<VfsWorkspaceCreateResponse>

vfs/workspaces/read

Read a VFS workspace

Returns workspace metadata, current head snapshot, and revision for safe updates.

  • Params: VfsWorkspaceReadParams
  • Result: AgentApiOutcome<VfsWorkspaceReadResponse>

vfs/workspaces/list

List VFS workspaces

Lists mutable universe workspaces with head snapshots, sizes, and revisions.

  • Params: VfsWorkspaceListParams
  • Result: AgentApiOutcome<VfsWorkspaceListResponse>

vfs/workspaces/update

Update a VFS workspace

Moves the workspace head to an existing snapshot and updates its display name. Pass expectedRevision from a read to prevent lost updates.

  • Params: VfsWorkspaceUpdateParams
  • Result: AgentApiOutcome<VfsWorkspaceUpdateResponse>

vfs/workspaces/delete

Delete a VFS workspace

Deletes the mutable workspace record; immutable snapshots and blobs remain content-addressed resources.

  • Params: VfsWorkspaceDeleteParams
  • Result: AgentApiOutcome<VfsWorkspaceDeleteResponse>

mcp/servers/put

Create or replace an MCP server record

Stores the complete universe catalog document, including its optional universe auth-grant credential. Use expectedRevision when replacing; token material is never accepted or returned.

  • Params: McpServerPutParams
  • Result: AgentApiOutcome<McpServerPutResponse>

mcp/servers/auth/discover

Discover MCP server authentication

Looks for standards-based OAuth protected-resource metadata without creating a server, OAuth client, flow, or grant. An absent OAuth result is inconclusive and callers must allow manual auth selection.

  • Params: McpServerAuthDiscoverParams
  • Result: AgentApiOutcome<McpServerAuthDiscoverResponse>

mcp/servers/tools/discover

Discover MCP server tools

Connects directly to the configured MCP server with its current universe credential and returns one bounded live tools/list result. The inventory is never persisted or cached and no tool is invoked.

  • Params: McpServerToolsDiscoverParams
  • Result: AgentApiOutcome<McpServerToolsDiscoverResponse>

mcp/servers/read

Read an MCP server record

Returns one catalog document with defaults, auth policy, non-secret grant binding, status, and revision; no credential value is exposed.

  • Params: McpServerReadParams
  • Result: AgentApiOutcome<McpServerReadResponse>

mcp/servers/list

List MCP server records

Lists universe catalog entries, optionally filtered by lifecycle/configuration status.

  • Params: McpServerListParams
  • Result: AgentApiOutcome<McpServerListResponse>

mcp/servers/delete

Delete an MCP server record

Deletes the catalog document. Existing session configs that reference it are not silently rewritten and may need explicit reconfiguration.

  • Params: McpServerDeleteParams
  • Result: AgentApiOutcome<McpServerDeleteResponse>

auth/grants/import

Import a static bearer grant

Accepts a plaintext token, encrypts it immediately, and returns only grant metadata/token-presence flags. Brokered is the default; retrievable exposure is immutable and permits service-only leases.

  • Params: AuthGrantImportParams
  • Result: AgentApiOutcome<AuthGrantImportResponse>

Service methods

auth/grants/lease

Lease a retrievable authentication grant

Service callers only. Resolves the current access token through the broker, records the lease, and returns it once. Cache only in memory until expiry minus margin (or at most five minutes without expiry), re-lease after target 401/403, and never persist or place the token in workflow payloads.

  • Params: AuthGrantLeaseParams
  • Result: AgentApiOutcome<AuthGrantLeaseResponse>

Universe methods

auth/grants/read

Read authentication grant metadata

Returns principal, provider binding, scopes, audience, expiry, status, and token-presence flags; access and refresh token values are never returned.

  • Params: AuthGrantReadParams
  • Result: AgentApiOutcome<AuthGrantReadResponse>

auth/grants/list

List authentication grants

Lists non-secret grant metadata for the universe, optionally filtered by status.

  • Params: AuthGrantListParams
  • Result: AgentApiOutcome<AuthGrantListResponse>

auth/grants/revoke

Revoke an authentication grant

Marks the grant unusable by token consumers while retaining non-secret audit metadata.

  • Params: AuthGrantRevokeParams
  • Result: AgentApiOutcome<AuthGrantRevokeResponse>

auth/clients/create

Register an OAuth client

Stores provider endpoints and client identity; an optional plaintext client secret is encrypted and represented thereafter only by hasClientSecret.

  • Params: AuthClientCreateParams
  • Result: AgentApiOutcome<AuthClientCreateResponse>

auth/clients/read

Read OAuth client metadata

Returns endpoints, public client identity, defaults, and secret-presence state; the client secret is never returned.

  • Params: AuthClientReadParams
  • Result: AgentApiOutcome<AuthClientReadResponse>

auth/clients/list

List OAuth clients

Lists non-secret OAuth client registrations in the universe.

  • Params: AuthClientListParams
  • Result: AgentApiOutcome<AuthClientListResponse>

auth/clients/delete

Delete an OAuth client

Deletes the client registration and its stored client secret; grants already created from it remain separate records.

  • Params: AuthClientDeleteParams
  • Result: AgentApiOutcome<AuthClientDeleteResponse>

auth/flows/start

Start an OAuth authorization flow

Creates a short-lived PKCE flow carrying the immutable grant exposure choice and returns a browser authorization URL containing one-time state. Treat the URL as sensitive and poll auth/flows/read for completion.

  • Params: AuthFlowStartParams
  • Result: AgentApiOutcome<AuthFlowStartResponse>

auth/flows/read

Read OAuth flow status

Polls a flow’s pending/completed/failed/expired state and returns the resulting grant id when authorization succeeds; no token value is exposed.

  • Params: AuthFlowStatusParams
  • Result: AgentApiOutcome<AuthFlowStatusResponse>

auth/providers/create

Register an authentication provider

Creates a model or GitHub credential source. Plaintext API keys/private keys are encrypted on receipt and later represented only by configuration plus hasCredential.

  • Params: AuthProviderCreateParams
  • Result: AgentApiOutcome<AuthProviderCreateResponse>

auth/providers/read

Read authentication provider metadata

Returns provider kind, non-secret configuration, credential-presence state, and status; stored credentials are never returned.

  • Params: AuthProviderReadParams
  • Result: AgentApiOutcome<AuthProviderReadResponse>

auth/providers/list

List authentication providers

Lists non-secret model/GitHub provider registrations for the universe.

  • Params: AuthProviderListParams
  • Result: AgentApiOutcome<AuthProviderListResponse>

auth/providers/delete

Delete an authentication provider

Deletes the provider registration and its directly stored credential; separately stored grants remain independent records.

  • Params: AuthProviderDeleteParams
  • Result: AgentApiOutcome<AuthProviderDeleteResponse>

auth/github/installations/list

List GitHub App installations

Uses the registered GitHub App provider credential to query accessible installations and returns account/permission metadata without tokens.

  • Params: AuthGitHubInstallationListParams
  • Result: AgentApiOutcome<AuthGitHubInstallationListResponse>

auth/github/installations/grant

Grant access to a GitHub App installation

Creates or refreshes a universe auth grant for one accessible installation. The installation token is brokered internally and never returned.

  • Params: AuthGitHubInstallationGrantParams
  • Result: AgentApiOutcome<AuthGitHubInstallationGrantResponse>

bots/create

Create a bot

Creates the bot record, optionally with its triggers, and starts its controller. Fails if the bot id exists; a trigger failure rolls the bot back.

  • Params: BotCreateParams
  • Result: AgentApiOutcome<BotCreateResponse>

bots/put

Create or replace a bot document

Replaces the mutable configuration whole and signals the controller, which applies it at its next idle boundary. Pass expectedRevision when replacing; a closed bot accepts label-only edits.

  • Params: BotPutParams
  • Result: AgentApiOutcome<BotPutResponse>

bots/read

Read a bot

Returns the bot record, its current revision, and lifecycle columns.

  • Params: BotReadParams
  • Result: AgentApiOutcome<BotReadResponse>

bots/list

List bots

Returns the roster: every bot with its trigger count, pending event count, and latest event.

  • Params: BotListParams
  • Result: AgentApiOutcome<BotListResponse>

bots/close

Close a bot

Terminal and idempotent: disables every trigger, drops schedules, and tells the controller to archive pending events and force-close its sessions. Returns once signalled; follow bots/state/read for closing to closed.

  • Params: BotCloseParams
  • Result: AgentApiOutcome<BotCloseResponse>

bots/delete

Delete a bot

Closes the bot if needed, waits for its controller to complete, deletes the sessions it closed, and removes the record so the bot id is free again.

  • Params: BotDeleteParams
  • Result: AgentApiOutcome<BotDeleteResponse>

bots/state/read

Read bot controller state

Queries the controller workflow for its live snapshot (sessions, buffers, active and recent deliveries, budget) and lists sub-agent descendants. The controller is absent until the bot’s first event.

  • Params: BotStateReadParams
  • Result: AgentApiOutcome<BotStateReadResponse>

bots/sessions/rotate

Rotate a bot session

Asks the controller to close one of the bot’s sessions at its next idle boundary and continue on a fresh generation; queued deliveries follow.

  • Params: BotSessionRotateParams
  • Result: AgentApiOutcome<BotSessionRotateResponse>

bots/triggers/put

Create or replace a trigger

Validates the trigger document (CEL parses, grants exist, one inbox per bot, chat routes per conversation), reconciles its Temporal Schedule, and stores it. A poll spec edit resets the cursor; a webhook keeps its URL token.

  • Params: BotTriggerPutParams
  • Result: AgentApiOutcome<BotTriggerPutResponse>

bots/triggers/read

Read a trigger

Returns one trigger with its incidents and cursor; the ingest path and pairing code are shown only to managing principals.

  • Params: BotTriggerReadParams
  • Result: AgentApiOutcome<BotTriggerReadResponse>

bots/triggers/list

List a bot’s triggers

Returns every trigger of the bot ordered by id, secrets redacted for non-managing principals.

  • Params: BotTriggerListParams
  • Result: AgentApiOutcome<BotTriggerListResponse>

bots/triggers/delete

Delete a trigger

Drops the trigger’s Temporal Schedule and pairings, then the record; stored events keep their history.

  • Params: BotTriggerDeleteParams
  • Result: AgentApiOutcome<BotTriggerDeleteResponse>

bots/events/admit

Admit an event manually

Stores an operator-authored event for the bot’s main session and wakes the controller. eventId is the dedupe identity; a duplicate returns the stored row.

  • Params: BotEventAdmitParams
  • Result: AgentApiOutcome<BotEventAdmitResponse>

bots/events/replay

Replay a stored event

Re-admits the stored envelope as a fresh event with the original routing; the replay never coalesces.

  • Params: BotEventReplayParams
  • Result: AgentApiOutcome<BotEventReplayResponse>

bots/events/list

List a bot’s events

Cursor-paginated event log, newest first, with outcomes; payload documents stay in the CAS.

  • Params: BotEventListParams
  • Result: AgentApiOutcome<BotEventListResponse>

bots/events/read

Read an event by number

Returns the event row and its full stored envelope document.

  • Params: BotEventReadParams
  • Result: AgentApiOutcome<BotEventReadResponse>

bots/filters/test

Test a CEL filter

Evaluates a filter against one payload or a sample of recent stored events, reporting matches and evaluation errors without changing anything.

  • Params: BotFilterTestParams
  • Result: AgentApiOutcome<BotFilterTestResponse>

channels/accounts/create

Create a channel account

Registers a provider account (Telegram, WhatsApp) for this universe. The credential is a retrievable grant reference; no token is accepted here.

  • Params: ChannelAccountCreateParams
  • Result: AgentApiOutcome<ChannelAccountCreateResponse>

channels/accounts/put

Create or replace a channel account

Replaces the account document whole; pass expectedRevision when replacing. The connector host picks the change up on its next discovery pass.

  • Params: ChannelAccountPutParams
  • Result: AgentApiOutcome<ChannelAccountPutResponse>

channels/accounts/read

Read a channel account

Returns the account document and revision.

  • Params: ChannelAccountReadParams
  • Result: AgentApiOutcome<ChannelAccountReadResponse>

channels/accounts/list

List channel accounts

Lists this universe’s provider accounts, optionally by provider.

  • Params: ChannelAccountListParams
  • Result: AgentApiOutcome<ChannelAccountListResponse>

channels/accounts/delete

Delete a channel account

Removes the account and its pairings; chat triggers that reference it stop serving conversations.

  • Params: ChannelAccountDeleteParams
  • Result: AgentApiOutcome<ChannelAccountDeleteResponse>

Service methods

channels/inbound/admit

Admit a provider message

Service callers only. Resolves the chat trigger for the conversation, applies pairing, and signals the conversation workflow. Returns the decision so the connector can send pairing prompts itself; acknowledge the provider only after this returns.

  • Params: ChannelInboundAdmitParams
  • Result: AgentApiOutcome<ChannelInboundAdmitResponse>

Universe methods

channels/pairings/list

List chat pairings

Lists conversations paired to chat triggers, optionally by account or bot.

  • Params: ChannelPairingListParams
  • Result: AgentApiOutcome<ChannelPairingListResponse>

channels/pairings/delete

Unpair a conversation

Removes one pairing; the conversation must present the pairing code again to reconnect.

  • Params: ChannelPairingDeleteParams
  • Result: AgentApiOutcome<ChannelPairingDeleteResponse>

channels/conversations/read

Read a conversation snapshot

Queries the conversation workflow’s live state for one chat, for debugging; absent when no workflow exists yet.

  • Params: ChannelConversationReadParams
  • Result: AgentApiOutcome<ChannelConversationReadResponse>

Operator methods

operator/universes/create

Create a universe

Creates the deployment tenant boundary for an explicit UUID. The operation is idempotent and reports whether a new universe was created.

  • Params: OperatorUniverseCreateParams
  • Result: AgentApiOutcome<OperatorUniverseCreateResponse>

operator/universes/list

List universes

Returns deployment-wide universe summaries with approximate live aggregate counts and last session activity.

  • Params: OperatorUniverseListParams
  • Result: AgentApiOutcome<OperatorUniverseListResponse>

operator/universes/read

Read a universe

Returns one deployment tenant summary with aggregate session, workspace, profile, and blob usage.

  • Params: OperatorUniverseReadParams
  • Result: AgentApiOutcome<OperatorUniverseReadResponse>

operator/universes/delete

Purge a universe

Permanently terminates live session workflows, deletes external blob objects, and cascades universe data. The purge is resumable/idempotent after partial failure.

  • Params: OperatorUniverseDeleteParams
  • Result: AgentApiOutcome<OperatorUniverseDeleteResponse>

operator/api-keys/create

Create a universe API key

Mints an inbound gateway key for one existing universe. The plaintext secret is returned exactly once and cannot be recovered; persist only the displayed prefix for identification.

  • Params: OperatorApiKeyCreateParams
  • Result: AgentApiOutcome<OperatorApiKeyCreateResponse>

operator/api-keys/list

List universe API keys

Returns only non-secret key metadata for the requested universe, including revocation and last-use timestamps. Plaintext secrets are never stored or returned.

  • Params: OperatorApiKeyListParams
  • Result: AgentApiOutcome<OperatorApiKeyListResponse>

operator/api-keys/revoke

Revoke a universe API key

Immediately and idempotently revokes the matching key only when it belongs to the requested universe. Unknown and foreign-universe prefixes return not found.

  • Params: OperatorApiKeyRevokeParams
  • Result: AgentApiOutcome<OperatorApiKeyRevokeResponse>

operator/environment-providers/put

Put an environment provider

Registers or replaces one deployment provider and its controller connection. The provider does not call this API or require access to Lightspeed.

  • Params: OperatorEnvironmentProviderPutParams
  • Result: AgentApiOutcome<OperatorEnvironmentProviderPutResponse>

operator/environment-providers/list

List environment providers

Returns every operator-registered deployment provider and its controller connection.

  • Params: OperatorEnvironmentProviderListParams
  • Result: AgentApiOutcome<OperatorEnvironmentProviderListResponse>

operator/environment-providers/read

Read an environment provider

Returns one operator-registered deployment provider and its controller connection.

  • Params: OperatorEnvironmentProviderReadParams
  • Result: AgentApiOutcome<OperatorEnvironmentProviderReadResponse>

operator/environment-providers/delete

Delete an environment provider

Deletes a deployment provider only when no universe binding references it.

  • Params: OperatorEnvironmentProviderDeleteParams
  • Result: AgentApiOutcome<OperatorEnvironmentProviderDeleteResponse>

operator/environment-providers/bindings/put

Put an environment provider binding

Creates or replaces one universe’s complete revisioned routing and admission binding. A deployment provider may have at most one binding in a universe.

  • Params: OperatorProviderBindingPutParams
  • Result: AgentApiOutcome<OperatorProviderBindingPutResponse>

operator/environment-providers/bindings/delete

Delete an environment provider binding

Deletes a universe provider binding only after every referencing environment has reached Closed.

  • Params: OperatorProviderBindingDeleteParams
  • Result: AgentApiOutcome<OperatorProviderBindingDeleteResponse>

operator/environments/adopt

Adopt a provider environment

Creates a universe environment by transferring an existing provider target into Lightspeed’s managed lifecycle. The caller must explicitly accept ownership transfer.

  • Params: OperatorEnvironmentAdoptParams
  • Result: AgentApiOutcome<OperatorEnvironmentAdoptResponse>

operator/channels/accounts/list

List channel accounts across universes

The connector host’s discovery call: every enabled provider account of the deployment with its universe id and credential grant reference. Re-poll to pick up accounts created or disabled since.

  • Params: OperatorChannelAccountListParams
  • Result: AgentApiOutcome<OperatorChannelAccountListResponse>