Coder API — Agentuity Documentation

Coder API

Manage Coder sessions, custom agents, session data, loop state, and known users through the REST API

https://catalyst-usw.agentuity.cloud

Authentication

All requests require a Bearer token. Pass your API or SDK key in the Authorization header.

HeaderValue
AuthorizationBearer YOUR_SDK_KEY

You can find your SDK key in the Agentuity Console under your project settings.


Discovery

Discover Coder URL

Discovers the org-specific Coder base URL.

GET/coder
https://catalyst-usw.agentuity.cloud/coder

Parameters

query
NameTypeRequiredDescription
orgIdstringNoOrganization ID

Response

Returns the discovered Coder URL.

StatusDescription
200Coder URL discovered
401Unauthorized — invalid or missing API key

Example

curl -X GET 'https://catalyst-usw.agentuity.cloud/coder' \
  -H 'Authorization: Bearer $AGENTUITY_SDK_KEY'

Sessions

Create Session

Creates a new coder session.

POST/hub/session
https://catalyst-usw.agentuity.cloud/hub/session

Parameters

query
NameTypeRequiredDescription
orgIdstringNoOrganization ID

Request Body

Session creation payload.

FieldTypeDescription
taskstringPrimary task prompt for the session
labelstringHuman-readable session label (optional)
agentstringDefault agent identifier to use for execution (optional)
defaultAgentstringPreferred default agent identifier for routing session prompts (optional)
visibilitystringSession visibility setting (optional)
workflowModestringWorkflow execution mode (optional)
loopobjectLoop mode settings for the session (optional)
loop.goalstringHigh-level goal for loop mode execution (optional)
loop.maxIterationsnumberMaximum loop iterations before completion (optional)
loop.autoContinuebooleanWhether the loop auto-continues without manual approval (optional)
loop.allowDetachedbooleanWhether loop execution can continue when no client is actively attached (optional)
tagsstring[]Tags applied to the session for filtering (optional)
enabledAgentsstring[]Enabled agent roster to include in the session (optional)
savedSkillIdsstring[]Saved skill IDs to attach to the session on creation (optional)
skillBucketIdsstring[]Skill bucket IDs to attach to the session on creation (optional)
skillsobject[]Skill definitions attached to the session (optional)
skills[].skillIdstringUnique skill identifier
skills[].repostringRepository slug for the skill source
skills[].namestringHuman-readable skill name (optional)
skills[].urlstringCanonical URL for the skill repository or page (optional)
skills[].contentstringInline SKILL.md content for custom skills (optional)
repoobjectPrimary repository mounted for the session (optional)
repo.repoIdstringRepository identifier when available (optional)
repo.typestringRepository type (e.g., GitHub, GitLab) (optional)
repo.providerstringGit provider identifier (optional)
repo.ownerstringRepository owner or organization (optional)
repo.namestringRepository name (optional)
repo.fullNamestringFully qualified repository name (optional)
repo.urlstringRepository web URL (optional)
repo.cloneUrlstringRepository clone URL (optional)
repo.defaultBranchstringDefault branch for the repository (optional)
repo.branchstringSelected branch for the session workspace (optional)
repo.refstringSelected ref for the session workspace (optional)
repo.commitstringPinned commit SHA for the session workspace (optional)
repo.pathstringSubpath of the repository mounted in session (optional)
repo.rootPathstringAbsolute workspace root path for the repository (optional)
reposobject[]Multiple repositories mounted for the session (optional)
repos[].repoIdstringRepository identifier when available (optional)
repos[].typestringRepository type (e.g., GitHub, GitLab) (optional)
repos[].providerstringGit provider identifier (optional)
repos[].ownerstringRepository owner or organization (optional)
repos[].namestringRepository name (optional)
repos[].fullNamestringFully qualified repository name (optional)
repos[].urlstringRepository web URL (optional)
repos[].cloneUrlstringRepository clone URL (optional)
repos[].defaultBranchstringDefault branch for the repository (optional)
repos[].branchstringSelected branch for the session workspace (optional)
repos[].refstringSelected ref for the session workspace (optional)
repos[].commitstringPinned commit SHA for the session workspace (optional)
repos[].pathstringSubpath of the repository mounted in session (optional)
repos[].rootPathstringAbsolute workspace root path for the repository (optional)
workspaceIdstringWorkspace identifier associated with the session (optional)
projectIdstringProject ID to associate the session sandbox with (optional)
runtimestringRuntime name for the session sandbox (e.g., "bun:1", "python:3.14") (optional)
runtimeIdstringRuntime ID for the session sandbox (e.g., "srt_xxx") (optional)
namestringOptional sandbox name (optional)
descriptionstringOptional sandbox description (optional)
resourcesobjectResource limits for the session sandbox (optional)
resources.memorystringMemory limit (e.g., "500Mi", "1Gi") (optional)
resources.cpustringCPU limit in millicores (e.g., "500m", "1000m") (optional)
resources.diskstringDisk limit (e.g., "500Mi", "1Gi") (optional)
envobjectEnvironment variables injected into session runtime (optional)
networkobjectNetwork configuration for the session sandbox (optional)
network.enabledbooleanWhether to enable outbound network access (default: false) (optional)
network.portnumberPort to expose from the sandbox to the outside Internet (1024-65535) (optional)
streamobjectStream configuration for the session sandbox (optional)
stream.stdoutstringStream ID for stdout (or "ignore" to discard) (optional)
stream.stderrstringStream ID for stderr (or "ignore" to discard) (optional)
stream.stdinstringStream ID for stdin input (optional)
stream.timestampsbooleanInclude timestamps in output (default: true) (optional)
timeoutobjectTimeout configuration for the session sandbox (optional)
timeout.idlestringIdle timeout before sandbox is reaped (e.g., "10m", "1h") (optional)
timeout.executionstringMaximum execution time per command (e.g., "5m", "1h") (optional)
timeout.pausedstringMaximum duration a sandbox can remain paused before termination (e.g., "24h", "0" for infinite) (optional)
commandobjectInitial command to run in the session sandbox (optional)
command.execstring[]Command and arguments to execute
command.filesobject[]Files to create before execution (optional)
command.files[].pathstringPath to the file relative to the sandbox workspace
command.files[].contentanyFile content as bytes
command.modestringExecution mode: "oneshot" auto-destroys sandbox on exit (optional)
filesobject[]Files to write to the session sandbox workspace on creation (optional)
files[].pathstringPath to the file relative to the sandbox workspace
files[].contentanyFile content as bytes
snapshotstringSnapshot ID or tag to restore the sandbox from (optional)
dependenciesstring[]Apt packages to install when creating the session sandbox (optional)
packagesstring[]npm/bun packages to install globally when creating the session sandbox (optional)
metadataobjectArbitrary metadata associated with the session (optional)
scopesstring[]Permission scopes for automatic service access (e.g., "services:read", "services:write") (optional)

Response

Returns the created session.

StatusDescription
201Session created
401Unauthorized — invalid or missing API key

Response Fields

FieldTypeDescription
sessionIdstringCreated session identifier
sandboxIdstring | nullAssociated sandbox identifier
statusstringInitial session status
modestringSession mode
visibilitystringSession visibility

Example

curl -X POST 'https://catalyst-usw.agentuity.cloud/hub/session' \
  -H 'Authorization: Bearer $AGENTUITY_SDK_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
  "task": "Implement feature X",
  "workflowMode": "standard"
}'

Create Agent Builder Session

Creates a dedicated Lead + agent-builder session for designing, editing, or publishing a custom agent.

POST/hub/session/builder
https://catalyst-usw.agentuity.cloud/hub/session/builder

Parameters

query
NameTypeRequiredDescription
orgIdstringNoOrganization ID

Request Body

Agent-builder launch payload.

FieldTypeDescription
labelstringBuilder session label override (optional)
promptstringOptional user focus for the builder session kickoff (optional)
modestringBuilder launch mode override (optional)
visibilitystringBuilder session visibility (optional)
sourceSessionIdstringSource session identifier for build-from-session launches (optional)
targetAgentIdstringTarget custom-agent identifier for edit launches (optional)
targetAgentSlugstringTarget custom-agent slug for edit launches (optional)

Response

Returns the created builder session.

StatusDescription
201Builder session created
404Source session or target agent not found

Response Fields

FieldTypeDescription
sessionIdstringCreated session identifier
sandboxIdstring | nullAssociated sandbox identifier
statusstringInitial session status
modestringSession mode
visibilitystringSession visibility

Example

curl -X POST 'https://catalyst-usw.agentuity.cloud/hub/session/builder' \
  -H 'Authorization: Bearer $AGENTUITY_SDK_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
  "mode": "from_session",
  "sourceSessionId": "codesess_123",
  "label": "Build from release triage",
  "prompt": "Turn the repeated release-triage workflow into a reusable QA agent"
}'

List Sessions

Lists sessions with optional filters and pagination.

GET/hub/sessions
https://catalyst-usw.agentuity.cloud/hub/sessions

Parameters

query
NameTypeRequiredDescription
searchstringNoSearch query
includeArchivedbooleanNoInclude archived sessions
limitnumberNoMaximum results
offsetnumberNoPagination offset
orgIdstringNoOrganization ID

Response

Returns a session list.

StatusDescription
200Sessions returned
401Unauthorized — invalid or missing API key

Response Fields

FieldTypeDescription
sessionsobjectSessions grouped by transport
sessions.websocketobject[]Websocket-backed sessions returned by the hub
sessions.websocket[].sessionIdstringUnique session identifier
sessions.websocket[].labelstringHuman-readable session label
sessions.websocket[].statusstringCurrent session status
sessions.websocket[].modestringRuntime mode used by this session
sessions.websocket[].visibilitystringVisibility value assigned to the session
sessions.websocket[].ownerobjectSession owner identity
sessions.websocket[].owner.userIdstringOwner user identifier
sessions.websocket[].owner.namestringOwner display name
sessions.websocket[].originstring | objectSession origin metadata
sessions.websocket[].repoobjectPrimary repository reference
sessions.websocket[].repo.repoIdstringRepository identifier when available
sessions.websocket[].repo.typestringRepository type (e.g., GitHub, GitLab)
sessions.websocket[].repo.providerstringGit provider identifier
sessions.websocket[].repo.ownerstringRepository owner or organization
sessions.websocket[].repo.namestringRepository name
sessions.websocket[].repo.fullNamestringFully qualified repository name
sessions.websocket[].repo.urlstringRepository web URL
sessions.websocket[].repo.cloneUrlstringRepository clone URL
sessions.websocket[].repo.defaultBranchstringDefault branch for the repository
sessions.websocket[].repo.branchstringSelected branch for the session workspace
sessions.websocket[].repo.refstringSelected ref for the session workspace
sessions.websocket[].repo.commitstringPinned commit SHA for the session workspace
sessions.websocket[].repo.pathstringSubpath of the repository mounted in session
sessions.websocket[].repo.rootPathstringAbsolute workspace root path for the repository
sessions.websocket[].reposobject[]Repository references mounted in session
sessions.websocket[].repos[].repoIdstringRepository identifier when available
sessions.websocket[].repos[].typestringRepository type (e.g., GitHub, GitLab)
sessions.websocket[].repos[].providerstringGit provider identifier
sessions.websocket[].repos[].ownerstringRepository owner or organization
sessions.websocket[].repos[].namestringRepository name
sessions.websocket[].repos[].fullNamestringFully qualified repository name
sessions.websocket[].repos[].urlstringRepository web URL
sessions.websocket[].repos[].cloneUrlstringRepository clone URL
sessions.websocket[].repos[].defaultBranchstringDefault branch for the repository
sessions.websocket[].repos[].branchstringSelected branch for the session workspace
sessions.websocket[].repos[].refstringSelected ref for the session workspace
sessions.websocket[].repos[].commitstringPinned commit SHA for the session workspace
sessions.websocket[].repos[].pathstringSubpath of the repository mounted in session
sessions.websocket[].repos[].rootPathstringAbsolute workspace root path for the repository
sessions.websocket[].workspaceobjectAssociated workspace information
sessions.websocket[].workspace.idstringWorkspace identifier
sessions.websocket[].workspace.namestringWorkspace display name
sessions.websocket[].workspace.scopestringWorkspace ownership scope
sessions.websocket[].sessionKindstringSession kind category emitted by backend
sessions.websocket[].parentSessionIdstringParent session identifier when session is derived
sessions.websocket[].coordinationJobIdstringCoordination job identifier for orchestration
sessions.websocket[].workflowModestringWorkflow mode currently active for session
sessions.websocket[].loopStatusstringCurrent loop status if workflow mode is loop
sessions.websocket[].loopIterationnumberCurrent loop iteration counter when applicable
sessions.websocket[].createdAtstringSession creation timestamp (ISO-8601)
sessions.websocket[].lastActivityAtstringTimestamp of most recent activity (ISO-8601)
sessions.websocket[].taskCountnumberNumber of tasks associated with the session
sessions.websocket[].subAgentCountnumberNumber of sub-agents associated with the session
sessions.websocket[].observerCountnumberNumber of observer participants in the session
sessions.websocket[].participantCountnumberTotal number of participants in the session
sessions.websocket[].tagsstring[]Tag values attached to the session
sessions.websocket[].skillsobject[]Skills attached to the session
sessions.websocket[].skills[].skillIdstringUnique skill identifier
sessions.websocket[].skills[].repostringRepository slug for the skill source
sessions.websocket[].skills[].namestringHuman-readable skill name
sessions.websocket[].skills[].urlstringCanonical URL for the skill repository or page
sessions.websocket[].skills[].contentstringInline SKILL.md content for custom skills
sessions.websocket[].enabledAgentsstring[]Enabled agent roster attached to the session
sessions.websocket[].builderobjectProjected builder-session summary when this session is an agent-builder flow
sessions.websocket[].builder.modestringBuilder session mode
sessions.websocket[].builder.sourceSessionobjectLinked source session when the builder was launched from an existing session
sessions.websocket[].builder.sourceSession.sessionIdstringSource session identifier linked to the builder session
sessions.websocket[].builder.sourceSession.labelstringSource session label when available
sessions.websocket[].builder.targetAgentobjectTarget agent baseline when the builder is editing an existing custom agent
sessions.websocket[].builder.targetAgent.agentIdstringTarget custom-agent identifier when editing
sessions.websocket[].builder.targetAgent.slugstringTarget custom-agent slug
sessions.websocket[].builder.targetAgent.displayNamestringTarget custom-agent display name
sessions.websocket[].builder.durableobjectLinked durable draft/publish state
sessions.websocket[].builder.durable.draftAgentIdstringLinked draft custom-agent identifier
sessions.websocket[].builder.durable.draftAgentSlugstringLinked draft custom-agent slug
sessions.websocket[].builder.durable.lastPublishedVersionnumberLatest published version created through the builder flow
sessions.websocket[].builder.lastActionobjectMost recent durable builder action
sessions.websocket[].builder.lastAction.kindstringLast durable builder action
sessions.websocket[].builder.lastAction.statusstringResult of the last durable builder action
sessions.websocket[].builder.lastAction.occurredAtstringTimestamp of the last durable builder action
sessions.websocket[].builder.lastAction.messagestringHuman-readable builder action result summary
sessions.websocket[].builder.lastAction.agentIdstringAffected custom-agent identifier
sessions.websocket[].builder.lastAction.agentSlugstringAffected custom-agent slug
sessions.websocket[].builder.lastAction.publishedVersionnumberPublished version number when publish succeeded
sessions.websocket[].defaultAgentstringDefault agent assigned to session operations
sessions.websocket[].bucketstringDerived bucket for session listing
sessions.websocket[].runtimeAvailablebooleanWhether runtime is currently reachable
sessions.websocket[].controlAvailablebooleanWhether control operations are currently available
sessions.websocket[].manageAvailablebooleanWhether management operations are currently available
sessions.websocket[].wakeAvailablebooleanWhether wake operation is currently available
sessions.websocket[].historyOnlybooleanWhether session is history-only and no longer interactive
sessions.websocket[].liveExpectedbooleanWhether live connectivity is expected for the session
sessions.sandboxarrayNon-websocket session entries returned by the hub
totalnumberTotal sessions matching the query

Example

curl -X GET 'https://catalyst-usw.agentuity.cloud/hub/sessions?limit=20&offset=0' \
  -H 'Authorization: Bearer $AGENTUITY_SDK_KEY'

Get Session

Retrieve a single coder session by ID.

GET/hub/session/{sessionId}
https://catalyst-usw.agentuity.cloud/hub/session/{sessionId}

Parameters

path
NameTypeRequiredDescription
sessionIdstringYesSession ID
query
NameTypeRequiredDescription
orgIdstringNoOrganization ID

Response

Returns the full session object.

StatusDescription
200Session returned
404Session not found

Response Fields

FieldTypeDescription
sessionIdstringUnique session identifier
labelstringHuman-readable session label
statusstringCurrent session status
modestringRuntime mode used by this session
visibilitystringVisibility value assigned to the session
ownerobjectSession owner identity
owner.userIdstringOwner user identifier
owner.namestringOwner display name
originstring | objectSession origin metadata
repoobjectPrimary repository reference
repo.repoIdstringRepository identifier when available
repo.typestringRepository type (e.g., GitHub, GitLab)
repo.providerstringGit provider identifier
repo.ownerstringRepository owner or organization
repo.namestringRepository name
repo.fullNamestringFully qualified repository name
repo.urlstringRepository web URL
repo.cloneUrlstringRepository clone URL
repo.defaultBranchstringDefault branch for the repository
repo.branchstringSelected branch for the session workspace
repo.refstringSelected ref for the session workspace
repo.commitstringPinned commit SHA for the session workspace
repo.pathstringSubpath of the repository mounted in session
repo.rootPathstringAbsolute workspace root path for the repository
reposobject[]Repository references mounted in session
repos[].repoIdstringRepository identifier when available
repos[].typestringRepository type (e.g., GitHub, GitLab)
repos[].providerstringGit provider identifier
repos[].ownerstringRepository owner or organization
repos[].namestringRepository name
repos[].fullNamestringFully qualified repository name
repos[].urlstringRepository web URL
repos[].cloneUrlstringRepository clone URL
repos[].defaultBranchstringDefault branch for the repository
repos[].branchstringSelected branch for the session workspace
repos[].refstringSelected ref for the session workspace
repos[].commitstringPinned commit SHA for the session workspace
repos[].pathstringSubpath of the repository mounted in session
repos[].rootPathstringAbsolute workspace root path for the repository
workspaceobjectAssociated workspace information
workspace.idstringWorkspace identifier
workspace.namestringWorkspace display name
workspace.scopestringWorkspace ownership scope
sessionKindstringSession kind category emitted by backend
parentSessionIdstringParent session identifier when session is derived
coordinationJobIdstringCoordination job identifier for orchestration
workflowModestringWorkflow mode currently active for session
loopStatusstringCurrent loop status if workflow mode is loop
loopIterationnumberCurrent loop iteration counter when applicable
createdAtstringSession creation timestamp (ISO-8601)
lastActivityAtstringTimestamp of most recent activity (ISO-8601)
taskCountnumberNumber of tasks associated with the session
subAgentCountnumberNumber of sub-agents associated with the session
observerCountnumberNumber of observer participants in the session
participantCountnumberTotal number of participants in the session
tagsstring[]Tag values attached to the session
skillsobject[]Skills attached to the session
skills[].skillIdstringUnique skill identifier
skills[].repostringRepository slug for the skill source
skills[].namestringHuman-readable skill name
skills[].urlstringCanonical URL for the skill repository or page
skills[].contentstringInline SKILL.md content for custom skills
enabledAgentsstring[]Enabled agent roster attached to the session
builderobjectFull builder-session state when this session is an agent-builder flow
builder.modestringBuilder session mode
builder.sourceSessionobjectLinked source session when the builder was launched from an existing session
builder.sourceSession.sessionIdstringSource session identifier linked to the builder session
builder.sourceSession.labelstringSource session label when available
builder.targetAgentobjectTarget agent baseline when the builder is editing an existing custom agent
builder.targetAgent.agentIdstringTarget custom-agent identifier when editing
builder.targetAgent.slugstringTarget custom-agent slug
builder.targetAgent.displayNamestringTarget custom-agent display name
builder.durableobjectLinked durable draft/publish state
builder.durable.draftAgentIdstringLinked draft custom-agent identifier
builder.durable.draftAgentSlugstringLinked draft custom-agent slug
builder.durable.lastPublishedVersionnumberLatest published version created through the builder flow
builder.lastActionobjectMost recent durable builder action
builder.lastAction.kindstringLast durable builder action
builder.lastAction.statusstringResult of the last durable builder action
builder.lastAction.occurredAtstringTimestamp of the last durable builder action
builder.lastAction.messagestringHuman-readable builder action result summary
builder.lastAction.agentIdstringAffected custom-agent identifier
builder.lastAction.agentSlugstringAffected custom-agent slug
builder.lastAction.publishedVersionnumberPublished version number when publish succeeded
builder.proposalobjectFull builder proposal state projected in session detail responses
builder.proposal.slugstringProposed custom-agent slug
builder.proposal.displayNamestringProposed custom-agent name
builder.proposal.descriptionstringProposed custom-agent description
builder.proposal.instructionsstringProposed custom-agent system prompt
builder.proposal.modelstringProposed model override
builder.proposal.thinkingLevelstringProposed thinking level override
builder.proposal.headlessCompatiblebooleanWhether the proposed agent is safe for non-interactive callers
builder.proposal.toolsstring[]Proposed workspace tools for the agent
builder.proposal.serviceToolsstring[]Proposed service tools for the agent
builder.proposal.savedSkillsobject[]Proposed frozen skill refs to attach
builder.proposal.savedSkills[].skillIdstringUnique skill identifier
builder.proposal.savedSkills[].repostringRepository slug for the skill source
builder.proposal.savedSkills[].namestringHuman-readable skill name
builder.proposal.savedSkills[].urlstringCanonical URL for the skill repository or page
builder.proposal.savedSkills[].contentstringInline SKILL.md content for custom skills
builder.proposal.companionAgentsstring[]Proposed companion agents to auto-include
defaultAgentstringDefault agent assigned to session operations
bucketstringDerived bucket for session listing
runtimeAvailablebooleanWhether runtime is currently reachable
controlAvailablebooleanWhether control operations are currently available
manageAvailablebooleanWhether management operations are currently available
wakeAvailablebooleanWhether wake operation is currently available
historyOnlybooleanWhether session is history-only and no longer interactive
liveExpectedbooleanWhether live connectivity is expected for the session
taskstringPrimary task prompt associated with the session
envobjectEnvironment variables associated with the session
metadataobjectAdditional metadata associated with the session
updatedAtstringLast update timestamp for session metadata (ISO-8601)

Example

curl -X GET 'https://catalyst-usw.agentuity.cloud/hub/session/sess_123' \
  -H 'Authorization: Bearer $AGENTUITY_SDK_KEY'

Update Session

Update an existing session.

PATCH/hub/session/{sessionId}
https://catalyst-usw.agentuity.cloud/hub/session/{sessionId}

Parameters

path
NameTypeRequiredDescription
sessionIdstringYesSession ID
query
NameTypeRequiredDescription
orgIdstringNoOrganization ID

Request Body

Session update payload.

FieldTypeDescription
labelstringUpdated session label (optional)
agentstringUpdated default agent identifier (optional)
defaultAgentstringUpdated preferred default agent identifier (optional)
enabledAgentsstring[]Updated enabled agent roster for the session (optional)
visibilitystringUpdated visibility setting (optional)
tagsstring[]Updated set of tags for the session (optional)
skillsobject[]Updated attached skills for the session (optional)
skills[].skillIdstringUnique skill identifier
skills[].repostringRepository slug for the skill source
skills[].namestringHuman-readable skill name (optional)
skills[].urlstringCanonical URL for the skill repository or page (optional)
skills[].contentstringInline SKILL.md content for custom skills (optional)
metadataobjectUpdated arbitrary metadata associated with the session (optional)
savedSkillIdsstring[]Updated saved skill ids (optional)
skillBucketIdsstring[]Updated skill bucket ids (optional)

Response

Returns the updated session fields.

StatusDescription
200Session updated
404Session not found

Response Fields

FieldTypeDescription
sessionIdstringUpdated session identifier
labelstringUpdated label
visibilitystringUpdated visibility
tagsstring[]Updated tags
skillsarrayUpdated skills
defaultAgentstring | nullUpdated default agent
enabledAgentsstring[]Updated enabled agents
metadataobjectUpdated arbitrary metadata associated with the session

Example

curl -X PATCH 'https://catalyst-usw.agentuity.cloud/hub/session/sess_123' \
  -H 'Authorization: Bearer $AGENTUITY_SDK_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
  "label": "Updated Session",
  "tags": [
    "auth",
    "phase-2"
  ]
}'

Archive Session

Archives an existing session.

POST/hub/session/{sessionId}/archive
https://catalyst-usw.agentuity.cloud/hub/session/{sessionId}/archive

Parameters

path
NameTypeRequiredDescription
sessionIdstringYesSession ID
query
NameTypeRequiredDescription
orgIdstringNoOrganization ID

Response

Returns the session identifier and optional updated status.

StatusDescription
200Lifecycle action applied
404Session not found

Response Fields

FieldTypeDescription
sessionIdstringSession identifier
statusstringNew session status

Example

curl -X POST 'https://catalyst-usw.agentuity.cloud/hub/session/sess_123/archive' \
  -H 'Authorization: Bearer $AGENTUITY_SDK_KEY'

Resume Session

Resumes a paused session.

POST/hub/session/{sessionId}/resume
https://catalyst-usw.agentuity.cloud/hub/session/{sessionId}/resume

Parameters

path
NameTypeRequiredDescription
sessionIdstringYesSession ID
query
NameTypeRequiredDescription
orgIdstringNoOrganization ID

Response

Returns the session identifier and optional updated status.

StatusDescription
200Session resume initiated
404Session not found

Response Fields

FieldTypeDescription
sessionIdstringSession identifier
statusstringNew session status

Example

curl -X POST 'https://catalyst-usw.agentuity.cloud/hub/session/sess_123/resume' \
  -H 'Authorization: Bearer $AGENTUITY_SDK_KEY'

Delete Session

Permanently deletes a session.

DELETE/hub/session/{sessionId}
https://catalyst-usw.agentuity.cloud/hub/session/{sessionId}

Parameters

path
NameTypeRequiredDescription
sessionIdstringYesSession ID
query
NameTypeRequiredDescription
orgIdstringNoOrganization ID

Response

Returns the deleted session identifier and status.

StatusDescription
200Session deleted
404Session not found

Response Fields

FieldTypeDescription
sessionIdstringSession identifier
statusstringNew session status

Example

curl -X DELETE 'https://catalyst-usw.agentuity.cloud/hub/session/sess_123' \
  -H 'Authorization: Bearer $AGENTUITY_SDK_KEY'

Loop

Get Loop State

Returns loop workflow state for a session.

GET/hub/session/{sessionId}/loop
https://catalyst-usw.agentuity.cloud/hub/session/{sessionId}/loop

Parameters

path
NameTypeRequiredDescription
sessionIdstringYesSession ID
query
NameTypeRequiredDescription
orgIdstringNoOrganization ID

Response

Returns loop state payload including iteration and status.

StatusDescription
200Loop state returned
404Session not found

Response Fields

FieldTypeDescription
sessionIdstringSession identifier for the loop state payload
workflowModestringWorkflow mode for the target session
loopobject | nullLoop state details, or null when not in loop mode

Example

curl -X GET 'https://catalyst-usw.agentuity.cloud/hub/session/sess_123/loop' \
  -H 'Authorization: Bearer $AGENTUITY_SDK_KEY'

Users

List Users

Lists known coder users with optional search.

GET/hub/users
https://catalyst-usw.agentuity.cloud/hub/users

Parameters

query
NameTypeRequiredDescription
searchstringNoSearch query
limitnumberNoMaximum results
offsetnumberNoPagination offset
orgIdstringNoOrganization ID

Response

Returns known users.

StatusDescription
200Users returned
401Unauthorized — invalid or missing API key

Response Fields

FieldTypeDescription
usersobject[]List of known users
users[].userIdstringUser identifier
users[].displayNamestringHuman-readable user display name
users[].emailstringUser email address
users[].providerstringIdentity provider for this user
users[].avatarUrlstringAvatar URL for the user profile image
users[].lastLoginAtstringTimestamp of the user's last login (ISO-8601)
users[].lastSeenAtstringTimestamp of the user's most recent presence (ISO-8601)
users[].createdAtstringTimestamp when the user identity was first observed (ISO-8601)
totalnumberTotal users matching the query
limitnumberPagination limit used by backend response
offsetnumberPagination offset used by backend response

Example

curl -X GET 'https://catalyst-usw.agentuity.cloud/hub/users?search=jane' \
  -H 'Authorization: Bearer $AGENTUITY_SDK_KEY'

Session Data

Get Session Replay

Retrieve replay data for a session.

GET/hub/session/{sessionId}/replay
https://catalyst-usw.agentuity.cloud/hub/session/{sessionId}/replay

Parameters

path
NameTypeRequiredDescription
sessionIdstringYesSession ID
query
NameTypeRequiredDescription
orgIdstringNoOrganization ID

Response

Returns replay data for the session.

StatusDescription
200Replay returned
404Session not found

Response Fields

FieldTypeDescription
sessionIdstringSession identifier for replay payload
entriesSourcestringSource used to reconstruct replay entries
sourceCountsobjectCounts of replay entries by source
sourceCounts.durableStreamnumberReplay entries loaded from durable stream storage
sourceCounts.sessionEntriesnumberReplay entries loaded from session entry storage
sourceCounts.eventHistorynumberReplay entries synthesized from event history
entriesarrayReplay conversation entries for the session

Example

curl -X GET 'https://catalyst-usw.agentuity.cloud/hub/session/sess_123/replay' \
  -H 'Authorization: Bearer $AGENTUITY_SDK_KEY'

List Session Participants

Retrieve participants for a session.

GET/hub/session/{sessionId}/participants
https://catalyst-usw.agentuity.cloud/hub/session/{sessionId}/participants

Parameters

path
NameTypeRequiredDescription
sessionIdstringYesSession ID
query
NameTypeRequiredDescription
limitnumberNoMaximum records
includeDisconnectedbooleanNoInclude disconnected participants
orgIdstringNoOrganization ID

Response

Returns participants for the session.

StatusDescription
200Participants returned
404Session not found

Response Fields

FieldTypeDescription
sessionIdstringSession identifier for the participant list
participantsobject[]Participant entries associated with session
participants[].idstringParticipant identifier
participants[].rolestringParticipant role in the session
participants[].transportstringTransport protocol used by the participant
participants[].agentRolestringAgent role when participant is an agent
participants[].connectedAtstringTimestamp when participant connected (ISO-8601)
participants[].disconnectedAtstringTimestamp when participant disconnected (ISO-8601)
participants[].lastActivityAtstringTimestamp of last participant activity (ISO-8601)
participants[].metadataobjectAdditional participant metadata

Example

curl -X GET 'https://catalyst-usw.agentuity.cloud/hub/session/sess_123/participants?limit=200&includeDisconnected=true' \
  -H 'Authorization: Bearer $AGENTUITY_SDK_KEY'

List Session Event History

Retrieve historical events for a session.

GET/hub/session/{sessionId}/events/history
https://catalyst-usw.agentuity.cloud/hub/session/{sessionId}/events/history

Parameters

path
NameTypeRequiredDescription
sessionIdstringYesSession ID
query
NameTypeRequiredDescription
limitnumberNoMaximum records
beforeIdnumberNoReturn events before the given event identifier
orgIdstringNoOrganization ID

Response

Returns session event history.

StatusDescription
200Event history returned
404Session not found

Response Fields

FieldTypeDescription
sessionIdstringSession identifier for event history payload
eventsobject[]Event history items for the session
events[].idnumberEvent sequence identifier
events[].eventstringEvent name
events[].categorystringEvent category
events[].agentstringAgent identifier responsible for the event
events[].taskIdstringTask identifier associated with the event
events[].payloadanyEvent payload data
events[].occurredAtstringTimestamp when event occurred (ISO-8601)
events[].ingestedAtstringTimestamp when event was ingested (ISO-8601)

Example

curl -X GET 'https://catalyst-usw.agentuity.cloud/hub/session/sess_123/events/history?limit=50&beforeId=1234' \
  -H 'Authorization: Bearer $AGENTUITY_SDK_KEY'

Agents

List Custom Agents

Lists custom agents visible to the caller.

GET/hub/agents
https://catalyst-usw.agentuity.cloud/hub/agents

Parameters

query
NameTypeRequiredDescription
includeArchivedbooleanNoInclude archived custom agents
orgIdstringNoOrganization ID

Response

Returns custom agents visible to the caller.

StatusDescription
200Custom agents returned
401Unauthorized — invalid or missing API key

Response Fields

FieldTypeDescription
agentsobject[]Custom agents returned by coder hub
agents[].slugstringStable custom agent slug
agents[].displayNamestringHuman-readable custom agent name
agents[].descriptionstringOptional custom agent description
agents[].instructionsstringStandalone custom-agent system prompt
agents[].modelstringOptional model override
agents[].thinkingLevelstringOptional thinking level override
agents[].headlessCompatiblebooleanWhether the custom agent is safe for non-interactive callers
agents[].toolsstring[]Workspace tools granted to the custom agent
agents[].serviceToolsstring[]Service tools granted to the custom agent
agents[].savedSkillsobject[]Frozen saved-skill refs attached to the custom agent snapshot
agents[].savedSkills[].skillIdstringUnique skill identifier
agents[].savedSkills[].repostringRepository slug for the skill source
agents[].savedSkills[].namestringHuman-readable skill name
agents[].savedSkills[].urlstringCanonical URL for the skill repository or page
agents[].savedSkills[].contentstringInline SKILL.md content for custom skills
agents[].companionAgentsstring[]Companion agents auto-included alongside this custom agent
agents[].idstringCustom agent record identifier
agents[].ownerUserIdstringOwner user identifier
agents[].lifecyclestringCurrent lifecycle state for the custom agent
agents[].visibilitystringVisibility tier for the custom agent
agents[].createdAtstringCreation timestamp (ISO-8601)
agents[].updatedAtstringLast update timestamp (ISO-8601)
agents[].hasPublishedVersionbooleanWhether the agent has at least one published version
agents[].hasUnpublishedChangesbooleanWhether the current draft differs from the latest published version
agents[].latestPublishedVersionnumberLatest published version number
agents[].latestPublishedAtstringLatest published timestamp (ISO-8601)
agents[].publishedobjectLatest published version snapshot
agents[].published.slugstringStable custom agent slug
agents[].published.displayNamestringHuman-readable custom agent name
agents[].published.descriptionstringOptional custom agent description
agents[].published.instructionsstringStandalone custom-agent system prompt
agents[].published.modelstringOptional model override
agents[].published.thinkingLevelstringOptional thinking level override
agents[].published.headlessCompatiblebooleanWhether the custom agent is safe for non-interactive callers
agents[].published.toolsstring[]Workspace tools granted to the custom agent
agents[].published.serviceToolsstring[]Service tools granted to the custom agent
agents[].published.savedSkillsobject[]Frozen saved-skill refs attached to the custom agent snapshot
agents[].published.savedSkills[].skillIdstringUnique skill identifier
agents[].published.savedSkills[].repostringRepository slug for the skill source
agents[].published.savedSkills[].namestringHuman-readable skill name
agents[].published.savedSkills[].urlstringCanonical URL for the skill repository or page
agents[].published.savedSkills[].contentstringInline SKILL.md content for custom skills
agents[].published.companionAgentsstring[]Companion agents auto-included alongside this custom agent
agents[].published.idstringPublished custom agent version identifier
agents[].published.agentIdstringParent custom agent identifier
agents[].published.versionnumberPublished version number
agents[].published.createdByUserIdstringUser who published the version
agents[].published.createdAtstringVersion creation timestamp (ISO-8601)
agents[].draftobjectOwner-visible draft snapshot
agents[].draft.slugstringStable custom agent slug
agents[].draft.displayNamestringHuman-readable custom agent name
agents[].draft.descriptionstringOptional custom agent description
agents[].draft.instructionsstringStandalone custom-agent system prompt
agents[].draft.modelstringOptional model override
agents[].draft.thinkingLevelstringOptional thinking level override
agents[].draft.headlessCompatiblebooleanWhether the custom agent is safe for non-interactive callers
agents[].draft.toolsstring[]Workspace tools granted to the custom agent
agents[].draft.serviceToolsstring[]Service tools granted to the custom agent
agents[].draft.savedSkillsobject[]Frozen saved-skill refs attached to the custom agent snapshot
agents[].draft.savedSkills[].skillIdstringUnique skill identifier
agents[].draft.savedSkills[].repostringRepository slug for the skill source
agents[].draft.savedSkills[].namestringHuman-readable skill name
agents[].draft.savedSkills[].urlstringCanonical URL for the skill repository or page
agents[].draft.savedSkills[].contentstringInline SKILL.md content for custom skills
agents[].draft.companionAgentsstring[]Companion agents auto-included alongside this custom agent

Example

curl -X GET 'https://catalyst-usw.agentuity.cloud/hub/agents?includeArchived=true' \
  -H 'Authorization: Bearer $AGENTUITY_SDK_KEY'

Create Custom Agent

Creates a new custom-agent draft.

POST/hub/agents
https://catalyst-usw.agentuity.cloud/hub/agents

Parameters

query
NameTypeRequiredDescription
orgIdstringNoOrganization ID

Request Body

Custom-agent creation payload.

FieldTypeDescription
slugstringStable custom agent slug
displayNamestringHuman-readable custom agent name
descriptionstringOptional custom agent description (optional)
instructionsstringStandalone custom-agent system prompt
modelstringOptional model override (optional)
thinkingLevelstringOptional thinking level override (optional)
headlessCompatiblebooleanWhether the custom agent is safe for non-interactive callers (optional)
toolsstring[]Workspace tools to grant to the custom agent (optional)
serviceToolsstring[]Service tools to grant to the custom agent (optional)
savedSkillIdsstring[]Saved skill row ids to snapshot onto the custom agent (optional)
companionAgentsstring[]Agent names to auto-include alongside this custom agent (optional)

Response

Returns the created custom agent.

StatusDescription
201Custom agent created
401Unauthorized — invalid or missing API key

Example

curl -X POST 'https://catalyst-usw.agentuity.cloud/hub/agents' \
  -H 'Authorization: Bearer $AGENTUITY_SDK_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
  "slug": "code-review",
  "displayName": "Code Review",
  "instructions": "Focus on correctness, regressions, and missing tests.",
  "tools": [
    "read",
    "grep",
    "ls"
  ],
  "serviceTools": [
    "session_todo_list",
    "session_todo_update"
  ]
}'

Get Custom Agent

Fetches a custom agent by id or slug.

GET/hub/agents/{agentIdOrSlug}
https://catalyst-usw.agentuity.cloud/hub/agents/{agentIdOrSlug}

Parameters

path
NameTypeRequiredDescription
agentIdOrSlugstringYesCustom agent id or slug
query
NameTypeRequiredDescription
orgIdstringNoOrganization ID

Response

Returns the requested custom agent.

StatusDescription
200Custom agent returned
404Custom agent not found

Example

curl -X GET 'https://catalyst-usw.agentuity.cloud/hub/agents/code-review' \
  -H 'Authorization: Bearer $AGENTUITY_SDK_KEY'

Update Custom Agent

Updates an owned custom-agent draft.

PATCH/hub/agents/{agentIdOrSlug}
https://catalyst-usw.agentuity.cloud/hub/agents/{agentIdOrSlug}

Parameters

path
NameTypeRequiredDescription
agentIdOrSlugstringYesCustom agent id or slug
query
NameTypeRequiredDescription
orgIdstringNoOrganization ID

Request Body

Custom-agent update payload.

FieldTypeDescription
slugstringStable custom agent slug (optional)
displayNamestringHuman-readable custom agent name (optional)
descriptionstring | nullOptional custom agent description (optional)
instructionsstringStandalone custom-agent system prompt (optional)
modelstring | nullOptional model override (optional)
thinkingLevelstring | nullOptional thinking level override (optional)
headlessCompatiblebooleanWhether the custom agent is safe for non-interactive callers (optional)
toolsstring[]Workspace tools to grant to the custom agent (optional)
serviceToolsstring[]Service tools to grant to the custom agent (optional)
savedSkillIdsstring[]Saved skill row ids to snapshot onto the custom agent (optional)
companionAgentsstring[]Agent names to auto-include alongside this custom agent (optional)

Response

Returns the updated custom agent.

StatusDescription
200Custom agent updated
404Custom agent not found

Example

curl -X PATCH 'https://catalyst-usw.agentuity.cloud/hub/agents/code-review' \
  -H 'Authorization: Bearer $AGENTUITY_SDK_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
  "displayName": "Code Review Draft"
}'

Publish Custom Agent

Publishes an owned custom agent.

POST/hub/agents/{agentIdOrSlug}/publish
https://catalyst-usw.agentuity.cloud/hub/agents/{agentIdOrSlug}/publish

Parameters

path
NameTypeRequiredDescription
agentIdOrSlugstringYesCustom agent id or slug
query
NameTypeRequiredDescription
orgIdstringNoOrganization ID

Response

Returns the updated custom agent.

StatusDescription
200Custom agent published
404Custom agent not found

Example

curl -X POST 'https://catalyst-usw.agentuity.cloud/hub/agents/code-review/publish' \
  -H 'Authorization: Bearer $AGENTUITY_SDK_KEY'

Archive Custom Agent

Archives an owned custom agent.

POST/hub/agents/{agentIdOrSlug}/archive
https://catalyst-usw.agentuity.cloud/hub/agents/{agentIdOrSlug}/archive

Parameters

path
NameTypeRequiredDescription
agentIdOrSlugstringYesCustom agent id or slug
query
NameTypeRequiredDescription
orgIdstringNoOrganization ID

Response

Returns the updated custom agent.

StatusDescription
200Custom agent archived
404Custom agent not found

Example

curl -X POST 'https://catalyst-usw.agentuity.cloud/hub/agents/code-review/archive' \
  -H 'Authorization: Bearer $AGENTUITY_SDK_KEY'

List Custom Agent Versions

Lists immutable published versions for a custom agent.

GET/hub/agents/{agentIdOrSlug}/versions
https://catalyst-usw.agentuity.cloud/hub/agents/{agentIdOrSlug}/versions

Parameters

path
NameTypeRequiredDescription
agentIdOrSlugstringYesCustom agent id or slug
query
NameTypeRequiredDescription
orgIdstringNoOrganization ID

Response

Returns published versions for the custom agent.

StatusDescription
200Custom agent versions returned
404Custom agent not found

Response Fields

FieldTypeDescription
versionsobject[]Published custom agent versions returned by coder hub
versions[].slugstringStable custom agent slug
versions[].displayNamestringHuman-readable custom agent name
versions[].descriptionstringOptional custom agent description
versions[].instructionsstringStandalone custom-agent system prompt
versions[].modelstringOptional model override
versions[].thinkingLevelstringOptional thinking level override
versions[].headlessCompatiblebooleanWhether the custom agent is safe for non-interactive callers
versions[].toolsstring[]Workspace tools granted to the custom agent
versions[].serviceToolsstring[]Service tools granted to the custom agent
versions[].savedSkillsobject[]Frozen saved-skill refs attached to the custom agent snapshot
versions[].savedSkills[].skillIdstringUnique skill identifier
versions[].savedSkills[].repostringRepository slug for the skill source
versions[].savedSkills[].namestringHuman-readable skill name
versions[].savedSkills[].urlstringCanonical URL for the skill repository or page
versions[].savedSkills[].contentstringInline SKILL.md content for custom skills
versions[].companionAgentsstring[]Companion agents auto-included alongside this custom agent
versions[].idstringPublished custom agent version identifier
versions[].agentIdstringParent custom agent identifier
versions[].versionnumberPublished version number
versions[].createdByUserIdstringUser who published the version
versions[].createdAtstringVersion creation timestamp (ISO-8601)

Example

curl -X GET 'https://catalyst-usw.agentuity.cloud/hub/agents/code-review/versions' \
  -H 'Authorization: Bearer $AGENTUITY_SDK_KEY'