Download OpenAPI specification:Download
OpenAPI reference for the bossanova.v1 OrchestratorService, the Connect API served by bosso. Callers select a date-based API version with the Bossanova-Version request header; see the API changelog for version history.
OrchestratorService is the cloud-hosted service that coordinates multiple daemons, provides remote CLI access, and handles webhook routing.
| Connect-Protocol-Version required | number (Connect-Protocol-Version) Value: 1 Define the version of the Connect protocol Value: 1 |
| Connect-Timeout-Ms | number (Connect-Timeout-Ms) Define the timeout, in ms |
| repoOriginUrl | string (repo_origin_url) |
| organizationId | string (organization_id) Deletes are scoped by organization as an authorization backstop, so the wire carries the organization alongside the key. |
{- "repoOriginUrl": "string",
- "organizationId": "string"
}{ }| Connect-Protocol-Version required | number (Connect-Protocol-Version) Value: 1 Define the version of the Connect protocol Value: 1 |
| Connect-Timeout-Ms | number (Connect-Timeout-Ms) Define the timeout, in ms |
| installationId | integer or string <int64> (installation_id) |
| state | string (state) Server-issued setup state returned by GetGitHubAppInstallURL. |
| githubCode | string (github_code) GitHub OAuth code returned by the GitHub App setup callback. Exchanged once for a user access token to verify the caller can access installation_id. |
{- "installationId": 0,
- "state": "string",
- "githubCode": "string"
}{- "repos": [
- {
- "repoOriginUrl": "string",
- "owner": "string",
- "name": "string",
- "installationId": 0,
- "installed": true,
- "webhookHealthy": true,
- "lastDeliveryAt": "2023-01-15T01:30:15.01Z",
- "lastDeliveryStatus": "string",
- "lastError": "string"
}
]
}| Connect-Protocol-Version required | number (Connect-Protocol-Version) Value: 1 Define the version of the Connect protocol Value: 1 |
| Connect-Timeout-Ms | number (Connect-Timeout-Ms) Define the timeout, in ms |
| returnUrl | string (return_url) |
| organizationId | string or null (organization_id) Organization whose billing portal to open, as the internal organization id (the same flavour ListOrganizationMembers and InviteOrganizationMember take), NOT the WorkOS organization id. Absent or empty keeps the pre-existing behaviour exactly: the portal is minted for the cloud account the caller's own claim resolves to. Set, it targets the named organization instead, which bosso authorizes with a per-organization owner check — so a user who cannot re-scope their session to an organization can still cancel its subscription. |
{- "returnUrl": "string",
- "organizationId": "string"
}{- "url": "string"
}| Connect-Protocol-Version required | number (Connect-Protocol-Version) Value: 1 Define the version of the Connect protocol Value: 1 |
| Connect-Timeout-Ms | number (Connect-Timeout-Ms) Define the timeout, in ms |
| returnUrl | string (return_url) |
| cancelUrl | string (cancel_url) |
{- "returnUrl": "string",
- "cancelUrl": "string"
}{- "url": "string",
- "status": {
- "state": "CLOUD_ACCESS_STATE_UNSPECIFIED",
- "accountId": "string",
- "workosOrgId": "string",
- "message": "string",
- "canRetry": true,
- "canCreateCheckout": true,
- "checkoutStarted": true,
- "denialReason": "string",
- "trialEligibility": "CLOUD_TRIAL_ELIGIBILITY_UNSPECIFIED"
}
}| Connect-Protocol-Version required | number (Connect-Protocol-Version) Value: 1 Define the version of the Connect protocol Value: 1 |
| Connect-Timeout-Ms | number (Connect-Timeout-Ms) Define the timeout, in ms |
| name | string (name) |
{- "name": "string"
}{- "organization": {
- "id": "string",
- "workosOrgId": "string",
- "name": "string",
- "callerRole": "MEMBER_ROLE_UNSPECIFIED",
- "isPersonal": true,
- "memberCount": 0,
- "createdAt": "2023-01-15T01:30:15.01Z",
- "isMemberSessionSharingEnabled": true
}, - "reauthorizeUrl": "string"
}The six user RPCs authenticate a user. Every call requires membership of the request's organization_id (PermissionDenied otherwise) and the paid-plan entitlement for THAT organization, judged alone: paying through one organization grants nothing in another. An unentitled organization answers the same access-denied error other cloud features return. Any member reads every note in the organization; Update and Delete are allowed for the note's author or an organization owner, and PermissionDenied for anyone else. A note id from another organization, or an expired note, is NotFound.
Writes are bounded by a per-organization hourly quota counted over a fixed UTC clock hour (see OrganizationNoteQuota). One accepted create, or one update that changes the body or tags, consumes one unit; deletes, reads and idempotent replays consume none. An exhausted quota is ResourceExhausted with an OrganizationNoteQuotaExceeded error detail.
| Connect-Protocol-Version required | number (Connect-Protocol-Version) Value: 1 Define the version of the Connect protocol Value: 1 |
| Connect-Timeout-Ms | number (Connect-Timeout-Ms) Define the timeout, in ms |
| organizationId | string (organization_id) Target organization. Required; the caller must be a member. |
| body | string (body) Must be non-empty after trimming and within the same 64 KiB cap as the daemon Note, else InvalidArgument. Stored verbatim. |
| tags | Array of strings (tags) Normalised like the daemon Note. At most 32 tags of at most 64 bytes each (measured after trimming), else InvalidArgument. |
| repoOriginUrl | string or null (repo_origin_url) Optional repository the note is about. Canonicalised the same way as a repository-organization mapping; a malformed URL is InvalidArgument. |
| sessionId | string or null (session_id) Optional provenance. |
| chatId | string or null (chat_id) |
| idempotencyKey | string or null (idempotency_key) Optional key for an idempotent create, scoped to (organization_id, caller). A retry with the same key returns the original note unchanged and consumes no quota. The key is remembered for as long as that note exists (until it is deleted or expires). Reusing a key with a different body or tags is AlreadyExists. |
{- "organizationId": "string",
- "body": "string",
- "tags": [
- "string"
], - "repoOriginUrl": "string",
- "sessionId": "string",
- "chatId": "string",
- "idempotencyKey": "string"
}{- "note": {
- "id": "string",
- "organizationId": "string",
- "authorUserId": "string",
- "origin": "ORGANIZATION_NOTE_ORIGIN_UNSPECIFIED",
- "sourceDaemonId": "string",
- "sourceNoteId": "string",
- "sourceVersion": 0,
- "repoOriginUrl": "string",
- "sessionId": "string",
- "chatId": "string",
- "body": "string",
- "tags": [
- "string"
], - "sourceCreatedAt": "2023-01-15T01:30:15.01Z",
- "sourceUpdatedAt": "2023-01-15T01:30:15.01Z",
- "createdAt": "2023-01-15T01:30:15.01Z",
- "updatedAt": "2023-01-15T01:30:15.01Z",
- "expiresAt": "2023-01-15T01:30:15.01Z"
}
}CreateSessionWebhook registers an endpoint. INVALID_ARGUMENT for a URL the endpoint policy rejects (not https, credentials in the URL, a fragment, or a host that is or resolves to a private, loopback, link-local or metadata address), an empty or unknown event type set, an unknown format, a description over 200 characters, or a caller-supplied secret that is not 16-256 visible ASCII characters. FAILED_PRECONDITION once the organization has 20 endpoints, counting other owners' endpoints the caller cannot see.
| Connect-Protocol-Version required | number (Connect-Protocol-Version) Value: 1 Define the version of the Connect protocol Value: 1 |
| Connect-Timeout-Ms | number (Connect-Timeout-Ms) Define the timeout, in ms |
| organizationId | string (organization_id) |
| url | string (url) |
| description | string (description) |
| eventTypes | Array of strings (event_types) Required, non-empty; each must be a catalog type. Duplicates collapse. |
| secret | string or null (secret) Signing secret to use. Absent generates a random one. |
| isEnabled | boolean (is_enabled) False creates the endpoint disabled. |
| format | string (format) Payload format (SessionWebhookFormat.id). Empty means "raw"; an unknown format is INVALID_ARGUMENT. |
| managedBy | string (managed_by) Config-ownership marker: empty (unmarked) or "boss-project: |
{- "organizationId": "string",
- "url": "string",
- "description": "string",
- "eventTypes": [
- "string"
], - "secret": "string",
- "isEnabled": true,
- "format": "string",
- "managedBy": "string"
}{- "webhook": {
- "id": "string",
- "organizationId": "string",
- "url": "string",
- "description": "string",
- "eventTypes": [
- "string"
], - "isEnabled": true,
- "createdByUserId": "string",
- "createdAt": "2023-01-15T01:30:15.01Z",
- "updatedAt": "2023-01-15T01:30:15.01Z",
- "secretRotatedAt": "2023-01-15T01:30:15.01Z",
- "format": "string",
- "managedBy": "string",
- "isRetireOnly": true
}, - "secret": "string"
}CreateTrigger creates a trigger owned by the caller in organization_id, which the caller must be a member of. For an HTTP trigger the response carries the signing secret; it is returned ONLY in this response and can never be read back, only replaced with RotateTriggerSecret.
| Connect-Protocol-Version required | number (Connect-Protocol-Version) Value: 1 Define the version of the Connect protocol Value: 1 |
| Connect-Timeout-Ms | number (Connect-Timeout-Ms) Define the timeout, in ms |
| organizationId | string (organization_id) Required. The caller must be a member. |
| name | string (name) |
| isEnabled | boolean (is_enabled) |
| triggerType | string (trigger_type) Required authoritative type name and catalog key, e.g. "http" or "github". A string lets older clients show a new type even without recognizing its arm. |
| repoOriginUrl | string (repo_origin_url) |
object (bossanova.v1.TriggerLaunchSettings) TriggerLaunchSettings is what a trigger launches. | |
object (bossanova.v1.TriggerPlacement) TriggerPlacement is where a trigger launches its session. | |
| concurrencyPolicy | string (bossanova.v1.TriggerConcurrencyPolicy) Enum: "TRIGGER_CONCURRENCY_POLICY_UNSPECIFIED" "TRIGGER_CONCURRENCY_POLICY_SKIP_IF_RUNNING" "TRIGGER_CONCURRENCY_POLICY_ALLOW_PARALLEL" "TRIGGER_CONCURRENCY_POLICY_QUEUE_LATEST" "TRIGGER_CONCURRENCY_POLICY_CANCEL_IN_PROGRESS" TriggerConcurrencyPolicy decides what happens when an invocation arrives while the trigger's previous launch is still running. |
| cooldownSeconds | integer <int32> (cooldown_seconds) |
Array of objects (filters) | |
| payloadFields | Array of strings (payload_fields) |
object (bossanova.v1.TriggerGate) Optional gate; absent or an empty script_path creates the trigger without one. | |
| managedBy | string (managed_by) Config-ownership marker: empty (unmarked) or "boss-project: |
required | object (bossanova.v1.GithubTriggerConfig) GithubTriggerConfig is config version 1 for trigger_type "github". Events arrive through the Bossanova GitHub App installation on repo_origin_url. |
{- "organizationId": "string",
- "name": "string",
- "isEnabled": true,
- "triggerType": "string",
- "repoOriginUrl": "string",
- "launch": {
- "promptTemplate": "string",
- "skillName": "string",
- "agentName": "string",
- "model": "string",
- "effort": "string",
- "baseBranch": "string",
- "shouldRunSetupCommand": true,
- "isZeroOutput": true
}, - "placement": {
- "mode": "TRIGGER_PLACEMENT_MODE_UNSPECIFIED",
- "daemonId": "string"
}, - "concurrencyPolicy": "TRIGGER_CONCURRENCY_POLICY_UNSPECIFIED",
- "cooldownSeconds": 0,
- "filters": [
- {
- "field": "string",
- "operator": "TRIGGER_FILTER_OPERATOR_UNSPECIFIED",
- "values": [
- "string"
]
}
], - "payloadFields": [
- "string"
], - "gate": {
- "scriptPath": "string",
- "timeoutSeconds": 0
}, - "managedBy": "string",
- "github": {
- "eventTypes": [
- "string"
]
}
}{- "trigger": {
- "id": "string",
- "organizationId": "string",
- "creatorUserId": "string",
- "name": "string",
- "isEnabled": true,
- "triggerType": "string",
- "configVersion": 0,
- "repoOriginUrl": "string",
- "launch": {
- "promptTemplate": "string",
- "skillName": "string",
- "agentName": "string",
- "model": "string",
- "effort": "string",
- "baseBranch": "string",
- "shouldRunSetupCommand": true,
- "isZeroOutput": true
}, - "placement": {
- "mode": "TRIGGER_PLACEMENT_MODE_UNSPECIFIED",
- "daemonId": "string"
}, - "concurrencyPolicy": "TRIGGER_CONCURRENCY_POLICY_UNSPECIFIED",
- "cooldownSeconds": 0,
- "filters": [
- {
- "field": "string",
- "operator": "TRIGGER_FILTER_OPERATOR_UNSPECIFIED",
- "values": [
- "string"
]
}
], - "payloadFields": [
- "string"
], - "endpointPath": "string",
- "lastInvocation": {
- "status": "TRIGGER_INVOCATION_STATUS_UNSPECIFIED",
- "decisionReason": "string",
- "receivedAt": "2023-01-15T01:30:15.01Z",
- "sessionId": "string"
}, - "createdAt": "2023-01-15T01:30:15.01Z",
- "updatedAt": "2023-01-15T01:30:15.01Z",
- "gate": {
- "scriptPath": "string",
- "timeoutSeconds": 0
}, - "managedBy": "string",
- "github": {
- "eventTypes": [
- "string"
]
}
}, - "secret": "string"
}Webhook configuration management
| Connect-Protocol-Version required | number (Connect-Protocol-Version) Value: 1 Define the version of the Connect protocol Value: 1 |
| Connect-Timeout-Ms | number (Connect-Timeout-Ms) Define the timeout, in ms |
| repoOriginUrl | string (repo_origin_url) |
| provider | string (provider) |
| secret | string (secret) Ignored: the server always generates the secret and returns it once, in CreateWebhookConfigResponse. |
{- "repoOriginUrl": "string",
- "provider": "string",
- "secret": "string"
}{- "config": {
- "id": "string",
- "repoOriginUrl": "string",
- "provider": "string",
- "secret": "string",
- "createdAt": "2023-01-15T01:30:15.01Z"
}
}DeleteOrganization removes an organization the caller owns. Refused unless the organization is empty: no sessions, no entitled cloud account, no other members. The personal organization can never be deleted.
| Connect-Protocol-Version required | number (Connect-Protocol-Version) Value: 1 Define the version of the Connect protocol Value: 1 |
| Connect-Timeout-Ms | number (Connect-Timeout-Ms) Define the timeout, in ms |
| organizationId | string (organization_id) |
{- "organizationId": "string"
}{ }| Connect-Protocol-Version required | number (Connect-Protocol-Version) Value: 1 Define the version of the Connect protocol Value: 1 |
| Connect-Timeout-Ms | number (Connect-Timeout-Ms) Define the timeout, in ms |
| organizationId | string (organization_id) |
| id | string (id) |
{- "organizationId": "string",
- "id": "string"
}{ }DeleteSessionWebhook permanently deletes an endpoint with its delivery history. While member session sharing is off: NOT_FOUND for another owner's endpoint; an orphaned one may be deleted.
| Connect-Protocol-Version required | number (Connect-Protocol-Version) Value: 1 Define the version of the Connect protocol Value: 1 |
| Connect-Timeout-Ms | number (Connect-Timeout-Ms) Define the timeout, in ms |
| organizationId | string (organization_id) |
| id | string (id) |
{- "organizationId": "string",
- "id": "string"
}{ }DeleteTrigger permanently deletes a trigger the caller created, or, for an owner of its organization, a member's trigger, together with its secret and invocation history. Its endpoint stops accepting requests immediately.
| Connect-Protocol-Version required | number (Connect-Protocol-Version) Value: 1 Define the version of the Connect protocol Value: 1 |
| Connect-Timeout-Ms | number (Connect-Timeout-Ms) Define the timeout, in ms |
| id | string (id) |
{- "id": "string"
}{ }| Connect-Protocol-Version required | number (Connect-Protocol-Version) Value: 1 Define the version of the Connect protocol Value: 1 |
| Connect-Timeout-Ms | number (Connect-Timeout-Ms) Define the timeout, in ms |
| id | string (id) |
{- "id": "string"
}{ }| Connect-Protocol-Version required | number (Connect-Protocol-Version) Value: 1 Define the version of the Connect protocol Value: 1 |
| Connect-Timeout-Ms | number (Connect-Timeout-Ms) Define the timeout, in ms |
| repoOriginUrl | string (repo_origin_url) |
{- "repoOriginUrl": "string"
}{ }Cloud billing and access. User-authenticated.
| Connect-Protocol-Version required | number (Connect-Protocol-Version) Value: 1 Define the version of the Connect protocol Value: 1 |
| Connect-Timeout-Ms | number (Connect-Timeout-Ms) Define the timeout, in ms |
{ }{- "status": {
- "state": "CLOUD_ACCESS_STATE_UNSPECIFIED",
- "accountId": "string",
- "workosOrgId": "string",
- "message": "string",
- "canRetry": true,
- "canCreateCheckout": true,
- "checkoutStarted": true,
- "denialReason": "string",
- "trialEligibility": "CLOUD_TRIAL_ELIGIBILITY_UNSPECIFIED"
}
}GitHub App repository registration. User-authenticated.
| Connect-Protocol-Version required | number (Connect-Protocol-Version) Value: 1 Define the version of the Connect protocol Value: 1 |
| Connect-Timeout-Ms | number (Connect-Timeout-Ms) Define the timeout, in ms |
| returnUrl | string (return_url) Optional absolute URL to return to after GitHub setup. Empty uses bosso default. |
{- "returnUrl": "string"
}{- "installUrl": "string"
}Weekly newsletter opt-in (BOS-1318). User-authenticated. The subscription goes through the Loops form endpoint, the only path Loops gates with double opt-in; see docs/analytics/newsletter.md.
| Connect-Protocol-Version required | number (Connect-Protocol-Version) Value: 1 Define the version of the Connect protocol Value: 1 |
| Connect-Timeout-Ms | number (Connect-Timeout-Ms) Define the timeout, in ms |
{ }{- "isAvailable": true,
- "wordingVersion": "string",
- "wordingText": "string",
- "consent": {
- "consentedAt": "2023-01-15T01:30:15.01Z",
- "source": "string",
- "sourcePage": "string",
- "wordingVersion": "string"
}
}| Connect-Protocol-Version required | number (Connect-Protocol-Version) Value: 1 Define the version of the Connect protocol Value: 1 |
| Connect-Timeout-Ms | number (Connect-Timeout-Ms) Define the timeout, in ms |
| organizationId | string (organization_id) |
{- "organizationId": "string"
}{- "organization": {
- "id": "string",
- "workosOrgId": "string",
- "name": "string",
- "callerRole": "MEMBER_ROLE_UNSPECIFIED",
- "isPersonal": true,
- "memberCount": 0,
- "createdAt": "2023-01-15T01:30:15.01Z",
- "isMemberSessionSharingEnabled": true
}
}| Connect-Protocol-Version required | number (Connect-Protocol-Version) Value: 1 Define the version of the Connect protocol Value: 1 |
| Connect-Timeout-Ms | number (Connect-Timeout-Ms) Define the timeout, in ms |
| organizationId | string (organization_id) |
| id | string (id) |
{- "organizationId": "string",
- "id": "string"
}{- "note": {
- "id": "string",
- "organizationId": "string",
- "authorUserId": "string",
- "origin": "ORGANIZATION_NOTE_ORIGIN_UNSPECIFIED",
- "sourceDaemonId": "string",
- "sourceNoteId": "string",
- "sourceVersion": 0,
- "repoOriginUrl": "string",
- "sessionId": "string",
- "chatId": "string",
- "body": "string",
- "tags": [
- "string"
], - "sourceCreatedAt": "2023-01-15T01:30:15.01Z",
- "sourceUpdatedAt": "2023-01-15T01:30:15.01Z",
- "createdAt": "2023-01-15T01:30:15.01Z",
- "updatedAt": "2023-01-15T01:30:15.01Z",
- "expiresAt": "2023-01-15T01:30:15.01Z"
}
}GetOrganizationNoteQuota reports the organization's current quota window without consuming any of it. Same membership and entitlement rules as the other organization-note RPCs.
| Connect-Protocol-Version required | number (Connect-Protocol-Version) Value: 1 Define the version of the Connect protocol Value: 1 |
| Connect-Timeout-Ms | number (Connect-Timeout-Ms) Define the timeout, in ms |
| organizationId | string (organization_id) |
{- "organizationId": "string"
}{- "quota": {
- "organizationId": "string",
- "hourlyLimit": 0,
- "usedCount": 0,
- "windowStartedAt": "2023-01-15T01:30:15.01Z",
- "windowResetsAt": "2023-01-15T01:30:15.01Z"
}
}| Connect-Protocol-Version required | number (Connect-Protocol-Version) Value: 1 Define the version of the Connect protocol Value: 1 |
| Connect-Timeout-Ms | number (Connect-Timeout-Ms) Define the timeout, in ms |
| repoOriginUrl | string (repo_origin_url) |
{- "repoOriginUrl": "string"
}{- "mapping": {
- "id": "string",
- "repoOriginUrl": "string",
- "organizationId": "string",
- "createdAt": "2023-01-15T01:30:15.01Z",
- "updatedAt": "2023-01-15T01:30:15.01Z"
}
}GetSessionWebhookDelivery returns one delivery with its attempts in order, the request body rendered through the endpoint's current format and the request headers. Never returns a secret. While member session sharing is off: NOT_FOUND for a delivery about another member's session or on another owner's endpoint, FAILED_PRECONDITION for one on an orphaned endpoint.
| Connect-Protocol-Version required | number (Connect-Protocol-Version) Value: 1 Define the version of the Connect protocol Value: 1 |
| Connect-Timeout-Ms | number (Connect-Timeout-Ms) Define the timeout, in ms |
| organizationId | string (organization_id) |
| deliveryId | string (delivery_id) |
{- "organizationId": "string",
- "deliveryId": "string"
}{- "delivery": {
- "id": "string",
- "webhookId": "string",
- "eventId": "string",
- "eventType": "string",
- "isTest": true,
- "status": "string",
- "attemptCount": 0,
- "lastResponseStatusCode": 0,
- "lastError": "string",
- "nextAttemptAt": "2023-01-15T01:30:15.01Z",
- "createdAt": "2023-01-15T01:30:15.01Z",
- "completedAt": "2023-01-15T01:30:15.01Z"
}, - "attempts": [
- {
- "attemptNumber": 0,
- "startedAt": "2023-01-15T01:30:15.01Z",
- "durationMs": 0,
- "responseStatusCode": 0,
- "responseBodyExcerpt": "string",
- "errorMessage": "string",
- "isSuccess": true
}
], - "requestBody": "string",
- "requestHeaders": [
- {
- "name": "string",
- "value": "string"
}
]
}GetTrigger returns one trigger the caller created, or, for an owner of its organization, a member's trigger. Never returns a secret.
| Connect-Protocol-Version required | number (Connect-Protocol-Version) Value: 1 Define the version of the Connect protocol Value: 1 |
| Connect-Timeout-Ms | number (Connect-Timeout-Ms) Define the timeout, in ms |
| id | string (id) |
{- "id": "string"
}{- "trigger": {
- "id": "string",
- "organizationId": "string",
- "creatorUserId": "string",
- "name": "string",
- "isEnabled": true,
- "triggerType": "string",
- "configVersion": 0,
- "repoOriginUrl": "string",
- "launch": {
- "promptTemplate": "string",
- "skillName": "string",
- "agentName": "string",
- "model": "string",
- "effort": "string",
- "baseBranch": "string",
- "shouldRunSetupCommand": true,
- "isZeroOutput": true
}, - "placement": {
- "mode": "TRIGGER_PLACEMENT_MODE_UNSPECIFIED",
- "daemonId": "string"
}, - "concurrencyPolicy": "TRIGGER_CONCURRENCY_POLICY_UNSPECIFIED",
- "cooldownSeconds": 0,
- "filters": [
- {
- "field": "string",
- "operator": "TRIGGER_FILTER_OPERATOR_UNSPECIFIED",
- "values": [
- "string"
]
}
], - "payloadFields": [
- "string"
], - "endpointPath": "string",
- "lastInvocation": {
- "status": "TRIGGER_INVOCATION_STATUS_UNSPECIFIED",
- "decisionReason": "string",
- "receivedAt": "2023-01-15T01:30:15.01Z",
- "sessionId": "string"
}, - "createdAt": "2023-01-15T01:30:15.01Z",
- "updatedAt": "2023-01-15T01:30:15.01Z",
- "gate": {
- "scriptPath": "string",
- "timeoutSeconds": 0
}, - "managedBy": "string",
- "github": {
- "eventTypes": [
- "string"
]
}
}
}GetTriggerCatalog returns the trigger types, event types, and filter fields bosso accepts. Needs user authentication only; it is static metadata, so no cloud access or organization is required.
| Connect-Protocol-Version required | number (Connect-Protocol-Version) Value: 1 Define the version of the Connect protocol Value: 1 |
| Connect-Timeout-Ms | number (Connect-Timeout-Ms) Define the timeout, in ms |
{ }{- "catalog": {
- "types": [
- {
- "name": "string",
- "displayName": "string",
- "configVersion": 0,
- "eventTypes": [
- {
- "id": "string",
- "displayName": "string",
- "description": "string"
}
], - "filterFields": [
- {
- "field": "string",
- "description": "string",
- "operators": [
- "TRIGGER_FILTER_OPERATOR_UNSPECIFIED"
], - "isPrefix": true
}
]
}
]
}
}| Connect-Protocol-Version required | number (Connect-Protocol-Version) Value: 1 Define the version of the Connect protocol Value: 1 |
| Connect-Timeout-Ms | number (Connect-Timeout-Ms) Define the timeout, in ms |
| organizationId | string (organization_id) |
string (email) | |
| role | string (bossanova.v1.MemberRole) Enum: "MEMBER_ROLE_UNSPECIFIED" "MEMBER_ROLE_OWNER" "MEMBER_ROLE_USER" MemberRole is a member's role inside an organization. Owners can rename the organization and manage its members and billing; users cannot. |
{- "organizationId": "string",
- "email": "string",
- "role": "MEMBER_ROLE_UNSPECIFIED"
}{- "member": {
- "userId": "string",
- "workosMembershipId": "string",
- "email": "string",
- "displayName": "string",
- "role": "MEMBER_ROLE_UNSPECIFIED",
- "isInvitePending": true,
- "joinedAt": "2023-01-15T01:30:15.01Z",
- "invitationId": "string",
- "isInviteAccepted": true
}
}IssueAttachToken returns a short-lived JWT bound to (user, session, chat, scope) that the browser uses to authenticate the /ws/attach WebSocket handshake. TTL ~5 minutes.
| Connect-Protocol-Version required | number (Connect-Protocol-Version) Value: 1 Define the version of the Connect protocol Value: 1 |
| Connect-Timeout-Ms | number (Connect-Timeout-Ms) Define the timeout, in ms |
| sessionId | string (session_id) |
| chatId | string (chat_id) |
| scope | string (bossanova.v1.AttachScope) Enum: "ATTACH_SCOPE_UNSPECIFIED" "ATTACH_SCOPE_EDITOR" "ATTACH_SCOPE_VIEWER" EDITOR or VIEWER. Only EDITOR is used in v1 — VIEWER is accepted and behaves identically for now (see the plan's deferred items). |
{- "sessionId": "string",
- "chatId": "string",
- "scope": "ATTACH_SCOPE_UNSPECIFIED"
}{- "token": "string",
- "expiresAt": "2023-01-15T01:30:15.01Z"
}LeaveOrganization removes the CALLER's own membership. Any member may leave; the last owner of an organization that still has members may not, and nobody may leave their personal organization.
| Connect-Protocol-Version required | number (Connect-Protocol-Version) Value: 1 Define the version of the Connect protocol Value: 1 |
| Connect-Timeout-Ms | number (Connect-Timeout-Ms) Define the timeout, in ms |
| organizationId | string (organization_id) |
{- "organizationId": "string"
}{ }| Connect-Protocol-Version required | number (Connect-Protocol-Version) Value: 1 Define the version of the Connect protocol Value: 1 |
| Connect-Timeout-Ms | number (Connect-Timeout-Ms) Define the timeout, in ms |
| organizationId | string or null (organization_id) Target organization, if the caller needs one. Otherwise a user-scoped caller on V20260905 or newer receives the union across every organization they belong to. Older clients and daemon-authenticated callers retain the legacy single-organization resolution. |
{- "organizationId": "string"
}{- "daemons": [
- {
- "daemonId": "string",
- "hostname": "string",
- "repoIds": [
- "string"
], - "activeSessions": 0,
- "connectedAt": "2023-01-15T01:30:15.01Z",
- "online": true,
- "organizationId": "string"
}
], - "failedOrganizations": [
- {
- "organizationId": "string",
- "organizationName": "string",
- "reason": "string"
}
], - "sessionDaemons": [
- {
- "daemonId": "string",
- "hostname": "string",
- "organizationId": "string",
- "isOnline": true
}
]
}| Connect-Protocol-Version required | number (Connect-Protocol-Version) Value: 1 Define the version of the Connect protocol Value: 1 |
| Connect-Timeout-Ms | number (Connect-Timeout-Ms) Define the timeout, in ms |
{ }{- "repos": [
- {
- "repoOriginUrl": "string",
- "owner": "string",
- "name": "string",
- "installationId": 0,
- "installed": true,
- "webhookHealthy": true,
- "lastDeliveryAt": "2023-01-15T01:30:15.01Z",
- "lastDeliveryStatus": "string",
- "lastError": "string"
}
]
}| Connect-Protocol-Version required | number (Connect-Protocol-Version) Value: 1 Define the version of the Connect protocol Value: 1 |
| Connect-Timeout-Ms | number (Connect-Timeout-Ms) Define the timeout, in ms |
| organizationId | string (organization_id) |
{- "organizationId": "string"
}{- "members": [
- {
- "userId": "string",
- "workosMembershipId": "string",
- "email": "string",
- "displayName": "string",
- "role": "MEMBER_ROLE_UNSPECIFIED",
- "isInvitePending": true,
- "joinedAt": "2023-01-15T01:30:15.01Z",
- "invitationId": "string",
- "isInviteAccepted": true
}
]
}| Connect-Protocol-Version required | number (Connect-Protocol-Version) Value: 1 Define the version of the Connect protocol Value: 1 |
| Connect-Timeout-Ms | number (Connect-Timeout-Ms) Define the timeout, in ms |
| organizationId | string (organization_id) Target organization. Required; the caller must be a member. |
| authorUserId | string or null (author_user_id) |
| repoOriginUrl | string or null (repo_origin_url) |
| sessionId | string or null (session_id) |
| tags | Array of strings (tags) Matches notes carrying ANY of these tags (OR), normalised like the daemon ListNotesRequest.tags filter. |
| search | string or null (search) Substring match on the body. A term that is blank after trimming means no search. |
| pageSize | integer <int32> (page_size) Maximum notes per page. Zero or negative means the server default (50); values above 200 are clamped to 200. |
| pageToken | string (page_token) Opaque next_page_token from a previous response with the same filters. Empty asks for the first page; a malformed token is InvalidArgument. |
{- "organizationId": "string",
- "authorUserId": "string",
- "repoOriginUrl": "string",
- "sessionId": "string",
- "tags": [
- "string"
], - "search": "string",
- "pageSize": 0,
- "pageToken": "string"
}{- "notes": [
- {
- "id": "string",
- "organizationId": "string",
- "authorUserId": "string",
- "origin": "ORGANIZATION_NOTE_ORIGIN_UNSPECIFIED",
- "sourceDaemonId": "string",
- "sourceNoteId": "string",
- "sourceVersion": 0,
- "repoOriginUrl": "string",
- "sessionId": "string",
- "chatId": "string",
- "body": "string",
- "tags": [
- "string"
], - "sourceCreatedAt": "2023-01-15T01:30:15.01Z",
- "sourceUpdatedAt": "2023-01-15T01:30:15.01Z",
- "createdAt": "2023-01-15T01:30:15.01Z",
- "updatedAt": "2023-01-15T01:30:15.01Z",
- "expiresAt": "2023-01-15T01:30:15.01Z"
}
], - "nextPageToken": "string"
}Organizations. User-authenticated.
| Connect-Protocol-Version required | number (Connect-Protocol-Version) Value: 1 Define the version of the Connect protocol Value: 1 |
| Connect-Timeout-Ms | number (Connect-Timeout-Ms) Define the timeout, in ms |
{ }{- "organizations": [
- {
- "id": "string",
- "workosOrgId": "string",
- "name": "string",
- "callerRole": "MEMBER_ROLE_UNSPECIFIED",
- "isPersonal": true,
- "memberCount": 0,
- "createdAt": "2023-01-15T01:30:15.01Z",
- "isMemberSessionSharingEnabled": true
}
]
}| Connect-Protocol-Version required | number (Connect-Protocol-Version) Value: 1 Define the version of the Connect protocol Value: 1 |
| Connect-Timeout-Ms | number (Connect-Timeout-Ms) Define the timeout, in ms |
| organizationId | string (organization_id) |
{- "organizationId": "string"
}{- "mappings": [
- {
- "id": "string",
- "repoOriginUrl": "string",
- "organizationId": "string",
- "createdAt": "2023-01-15T01:30:15.01Z",
- "updatedAt": "2023-01-15T01:30:15.01Z"
}
]
}ListSessionWebhookDeliveries pages an endpoint's delivery history, newest first. INVALID_ARGUMENT for a page_token that does not decode, an unknown status, or a negative page_size. While member session sharing is off it lists only test deliveries and deliveries about the caller's own sessions, and answers NOT_FOUND for another owner's endpoint and FAILED_PRECONDITION for an orphaned one.
| Connect-Protocol-Version required | number (Connect-Protocol-Version) Value: 1 Define the version of the Connect protocol Value: 1 |
| Connect-Timeout-Ms | number (Connect-Timeout-Ms) Define the timeout, in ms |
| organizationId | string (organization_id) |
| webhookId | string (webhook_id) |
| status | string or null (status) Only deliveries in this status (see SessionWebhookDelivery.status). |
| eventType | string or null (event_type) Only deliveries of this event type. |
| isTest | boolean or null (is_test) Only test (true) or only live (false) deliveries. |
| pageSize | integer <int32> (page_size) Default 25, at most 100; larger values are clamped and a negative value is INVALID_ARGUMENT. |
| pageToken | string (page_token) Opaque next_page_token from a previous response with the same filters. |
{- "organizationId": "string",
- "webhookId": "string",
- "status": "string",
- "eventType": "string",
- "isTest": true,
- "pageSize": 0,
- "pageToken": "string"
}{- "deliveries": [
- {
- "id": "string",
- "webhookId": "string",
- "eventId": "string",
- "eventType": "string",
- "isTest": true,
- "status": "string",
- "attemptCount": 0,
- "lastResponseStatusCode": 0,
- "lastError": "string",
- "nextAttemptAt": "2023-01-15T01:30:15.01Z",
- "createdAt": "2023-01-15T01:30:15.01Z",
- "completedAt": "2023-01-15T01:30:15.01Z"
}
], - "nextPageToken": "string"
}Member session sharing (BOS-1593, Organization.is_member_session_sharing_enabled, false by default) narrows this further. While it is off an endpoint delivers only its creator's sessions, so only its creator may act on it: another owner's endpoint is not listed, and every id-addressed RPC answers NOT_FOUND for it -- GetSessionWebhookDelivery too, even for a delivery about the caller's own session. The exception is an orphaned endpoint, whose creator is no longer an owner of the organization: it is listed to every owner with SessionWebhook.is_retire_only set and an empty url (the URL is often a bearer credential), and any owner may delete it or disable it with an UpdateSessionWebhook that sets nothing but is_enabled=false (whose response is marked and withholds the url the same way). Every other RPC on an orphaned endpoint answers FAILED_PRECONDITION. While sharing is on, every owner may act on every endpoint.
ListSessionWebhookEventTypes returns the event catalog an endpoint can subscribe to, in canonical order.
| Connect-Protocol-Version required | number (Connect-Protocol-Version) Value: 1 Define the version of the Connect protocol Value: 1 |
| Connect-Timeout-Ms | number (Connect-Timeout-Ms) Define the timeout, in ms |
| organizationId | string (organization_id) |
{- "organizationId": "string"
}{- "eventTypes": [
- {
- "type": "string",
- "displayLabel": "string",
- "description": "string",
- "samplePayloadJson": "string"
}
]
}ListSessionWebhookFormats returns the built-in payload formats an endpoint can pick (SessionWebhook.format), in canonical order.
| Connect-Protocol-Version required | number (Connect-Protocol-Version) Value: 1 Define the version of the Connect protocol Value: 1 |
| Connect-Timeout-Ms | number (Connect-Timeout-Ms) Define the timeout, in ms |
| organizationId | string (organization_id) |
{- "organizationId": "string"
}{- "formats": [
- {
- "id": "string",
- "displayLabel": "string",
- "description": "string"
}
]
}ListSessionWebhooks returns the organization's endpoints the caller may act on, oldest first: every one while member session sharing is on, otherwise the caller's own plus any orphaned one, marked is_retire_only with its url empty. Never returns a secret.
| Connect-Protocol-Version required | number (Connect-Protocol-Version) Value: 1 Define the version of the Connect protocol Value: 1 |
| Connect-Timeout-Ms | number (Connect-Timeout-Ms) Define the timeout, in ms |
| organizationId | string (organization_id) |
{- "organizationId": "string"
}{- "webhooks": [
- {
- "id": "string",
- "organizationId": "string",
- "url": "string",
- "description": "string",
- "eventTypes": [
- "string"
], - "isEnabled": true,
- "createdByUserId": "string",
- "createdAt": "2023-01-15T01:30:15.01Z",
- "updatedAt": "2023-01-15T01:30:15.01Z",
- "secretRotatedAt": "2023-01-15T01:30:15.01Z",
- "format": "string",
- "managedBy": "string",
- "isRetireOnly": true
}
]
}ListTriggerInvocations returns the invocation history of a trigger the caller created, or, for an owner of its organization, a member's trigger, newest first.
| Connect-Protocol-Version required | number (Connect-Protocol-Version) Value: 1 Define the version of the Connect protocol Value: 1 |
| Connect-Timeout-Ms | number (Connect-Timeout-Ms) Define the timeout, in ms |
| triggerId | string (trigger_id) |
| limit | integer <int32> (limit) Maximum invocations to return. 0 means 50; values above 200 are capped at 200. |
google.protobuf.Timestamp (string) or before_received_at (null) (before_received_at) Page cursor, paired with before_id: pass the received_at and id of the last invocation of the previous page. Returns only invocations that sort after that one in (received_at DESC, id DESC) order, so invocations that share a received_at are never skipped at a page boundary. | |
| beforeId | string or null (before_id) Tiebreak for before_received_at: the id of the last invocation of the previous page. Ignored unless before_received_at is set; when it is empty, every invocation received at exactly before_received_at is excluded. |
{- "triggerId": "string",
- "limit": 0,
- "beforeReceivedAt": "2023-01-15T01:30:15.01Z",
- "beforeId": "string"
}{- "invocations": [
- {
- "id": "string",
- "triggerId": "string",
- "source": "string",
- "eventType": "string",
- "status": "TRIGGER_INVOCATION_STATUS_UNSPECIFIED",
- "decisionReason": "string",
- "errorDetail": "string",
- "payloadExcerpt": "string",
- "daemonId": "string",
- "sessionId": "string",
- "attemptCount": 0,
- "receivedAt": "2023-01-15T01:30:15.01Z",
- "decidedAt": "2023-01-15T01:30:15.01Z",
- "launchedAt": "2023-01-15T01:30:15.01Z"
}
]
}ListTriggers returns the caller's own triggers, in organization_id when set (the caller must be a member) or across every organization the caller belongs to. With should_include_member_triggers it returns every member's triggers in that organization instead (organization_id, or the caller's active organization when absent), which needs the owner role there (PERMISSION_DENIED otherwise). Never returns a secret.
| Connect-Protocol-Version required | number (Connect-Protocol-Version) Value: 1 Define the version of the Connect protocol Value: 1 |
| Connect-Timeout-Ms | number (Connect-Timeout-Ms) Define the timeout, in ms |
| organizationId | string or null (organization_id) Restrict to one organization the caller belongs to. Absent lists the caller's triggers across every organization they belong to. |
| shouldIncludeMemberTriggers | boolean or null (should_include_member_triggers) List every member's triggers in the organization rather than only the caller's: organization_id when set, otherwise the caller's active organization. Requires the owner role there; PERMISSION_DENIED otherwise. Absent or false lists only the caller's own triggers. |
{- "organizationId": "string",
- "shouldIncludeMemberTriggers": true
}{- "triggers": [
- {
- "id": "string",
- "organizationId": "string",
- "creatorUserId": "string",
- "name": "string",
- "isEnabled": true,
- "triggerType": "string",
- "configVersion": 0,
- "repoOriginUrl": "string",
- "launch": {
- "promptTemplate": "string",
- "skillName": "string",
- "agentName": "string",
- "model": "string",
- "effort": "string",
- "baseBranch": "string",
- "shouldRunSetupCommand": true,
- "isZeroOutput": true
}, - "placement": {
- "mode": "TRIGGER_PLACEMENT_MODE_UNSPECIFIED",
- "daemonId": "string"
}, - "concurrencyPolicy": "TRIGGER_CONCURRENCY_POLICY_UNSPECIFIED",
- "cooldownSeconds": 0,
- "filters": [
- {
- "field": "string",
- "operator": "TRIGGER_FILTER_OPERATOR_UNSPECIFIED",
- "values": [
- "string"
]
}
], - "payloadFields": [
- "string"
], - "endpointPath": "string",
- "lastInvocation": {
- "status": "TRIGGER_INVOCATION_STATUS_UNSPECIFIED",
- "decisionReason": "string",
- "receivedAt": "2023-01-15T01:30:15.01Z",
- "sessionId": "string"
}, - "createdAt": "2023-01-15T01:30:15.01Z",
- "updatedAt": "2023-01-15T01:30:15.01Z",
- "gate": {
- "scriptPath": "string",
- "timeoutSeconds": 0
}, - "managedBy": "string",
- "github": {
- "eventTypes": [
- "string"
]
}
}
]
}| Connect-Protocol-Version required | number (Connect-Protocol-Version) Value: 1 Define the version of the Connect protocol Value: 1 |
| Connect-Timeout-Ms | number (Connect-Timeout-Ms) Define the timeout, in ms |
{ }{- "configs": [
- {
- "id": "string",
- "repoOriginUrl": "string",
- "provider": "string",
- "secret": "string",
- "createdAt": "2023-01-15T01:30:15.01Z"
}
]
}| Connect-Protocol-Version required | number (Connect-Protocol-Version) Value: 1 Define the version of the Connect protocol Value: 1 |
| Connect-Timeout-Ms | number (Connect-Timeout-Ms) Define the timeout, in ms |
| daemonId | string (daemon_id) |
| provider | string (provider) "claude" | "codex" |
| label | string (label) |
| priority | integer <int32> (priority) sort order; lower = preferred |
| credential | string <byte> (credential) inbound only; consumed into the keyring, never echoed |
{- "daemonId": "string",
- "provider": "string",
- "label": "string",
- "priority": 0,
- "credential": "string"
}{- "account": {
- "id": "string",
- "provider": "string",
- "label": "string",
- "status": "string",
- "priority": 0,
- "cooldownUntil": "2023-01-15T01:30:15.01Z",
- "lastUsedAt": "2023-01-15T01:30:15.01Z",
- "health": "string",
- "tier": "string",
- "allowedModels": [
- "string"
], - "lastTestOkAt": "2023-01-15T01:30:15.01Z",
- "lastTestError": "string",
- "createdAt": "2023-01-15T01:30:15.01Z",
- "updatedAt": "2023-01-15T01:30:15.01Z",
- "usage": {
- "util5h": 0.1,
- "util7d": 0.1,
- "reset5h": "2023-01-15T01:30:15.01Z",
- "reset7d": "2023-01-15T01:30:15.01Z",
- "status": "string",
- "planTier": "string",
- "fetchedAt": "2023-01-15T01:30:15.01Z"
}, - "authCheck": {
- "outcome": "string",
- "failureClass": "string",
- "checkedAt": "2023-01-15T01:30:15.01Z",
- "nextRetryAt": "2023-01-15T01:30:15.01Z"
}
}
}Archives a session via the owning daemon's reverse stream.
| Connect-Protocol-Version required | number (Connect-Protocol-Version) Value: 1 Define the version of the Connect protocol Value: 1 |
| Connect-Timeout-Ms | number (Connect-Timeout-Ms) Define the timeout, in ms |
| id | string (id) |
{- "id": "string"
}{- "session": {
- "id": "string",
- "repoId": "string",
- "title": "string",
- "plan": "string",
- "worktreePath": "string",
- "branchName": "string",
- "baseBranch": "string",
- "state": "SESSION_STATE_UNSPECIFIED",
- "agentSessionId": "string",
- "prNumber": 0,
- "prUrl": "string",
- "lastCheckState": "CHECKS_OVERALL_UNSPECIFIED",
- "lastCheckStateObserved": "CHECKS_OVERALL_UNSPECIFIED",
- "lastCheckStateHeadSha": "string",
- "lastCheckStateAt": "2023-01-15T01:30:15.01Z",
- "stateEnteredAt": "2023-01-15T01:30:15.01Z",
- "effectiveModel": "string",
- "effectiveEffort": "string",
- "organizationId": "string",
- "ownerUserId": "string",
- "ownerDisplayName": "string",
- "isAutomationEnabled": true,
- "attemptCount": 0,
- "blockedReason": "string",
- "archivedAt": "2023-01-15T01:30:15.01Z",
- "createdAt": "2023-01-15T01:30:15.01Z",
- "updatedAt": "2023-01-15T01:30:15.01Z",
- "repoDisplayName": "string",
- "displayStatus": "DISPLAY_STATUS_UNSPECIFIED",
- "displayHasFailures": true,
- "displayHasChangesRequested": true,
- "attentionStatus": {
- "needsAttention": true,
- "reason": "ATTENTION_REASON_UNSPECIFIED",
- "summary": "string",
- "since": "2023-01-15T01:30:15.01Z"
}, - "displayIsRepairing": true,
- "workflowDisplayStatus": "WORKFLOW_STATUS_UNSPECIFIED",
- "workflowDisplayLeg": 0,
- "workflowDisplayMaxLegs": 0,
- "hasActiveChat": true,
- "trackerId": "string",
- "trackerUrl": "string",
- "tmuxSessionName": "string",
- "prDisplayHeadSha": "string",
- "displayLabel": "string",
- "displayIntent": "DISPLAY_INTENT_UNSPECIFIED",
- "displaySpinner": true,
- "transferringTo": "string",
- "transferringFrom": "string",
- "agentName": "string",
- "lastRepairStartedAt": "2023-01-15T01:30:15.01Z",
- "lastRepairRunnerError": "string",
- "lastRepairExitError": "string",
- "lastRepairAttemptCount": 0,
- "lastRepairHeadSha": "string",
- "lastRepairDisplayStatus": "DISPLAY_STATUS_UNSPECIFIED",
- "lastChatActivityAt": "2023-01-15T01:30:15.01Z",
- "repoOriginUrl": "string",
- "lastRepairReviewFingerprint": "string",
- "displaySettingUp": true,
- "repoCanAutoRepair": true,
- "setupError": "string",
- "lastRepairBlockedReason": "string",
- "lastRepairBlockedAt": "2023-01-15T01:30:15.01Z",
- "repairActive": true,
- "prMergeable": true,
- "mergeBlock": {
- "gate": "GATE_UNSPECIFIED",
- "detail": "string",
- "blockingReviewers": [
- "string"
], - "displayStatus": "DISPLAY_STATUS_UNSPECIFIED"
}, - "lastAgentActivityAt": "2023-01-15T01:30:15.01Z",
- "accountId": "string",
- "accountLabel": "string",
- "rotationEvents": [
- {
- "id": "string",
- "sessionId": "string",
- "chatId": "string",
- "provider": "string",
- "trigger": "ROTATION_TRIGGER_UNSPECIFIED",
- "fromAccount": "string",
- "toAccount": "string",
- "resetAt": "2023-01-15T01:30:15.01Z",
- "outcome": "ROTATION_OUTCOME_UNSPECIFIED",
- "detail": "string",
- "createdAt": "2023-01-15T01:30:15.01Z"
}
], - "displayMerging": true,
- "repoShouldArchiveSessionsAfterMerge": true,
- "archivePending": true,
- "httpEndpoints": [
- {
- "port": 0,
- "url": "string"
}
], - "repairStalledAt": "2023-01-15T01:30:15.01Z",
- "listRank": 0,
- "isWaitingDemoted": true,
- "hasBuildReceipt": true,
- "isReadyOverWaiting": true,
- "attention": {
- "kind": "ATTENTION_KIND_UNSPECIFIED",
- "sentence": "string",
- "actions": [
- "ATTENTION_ACTION_UNSPECIFIED"
], - "since": "2023-01-15T01:30:15.01Z",
- "progressLabel": "string",
- "parkCodes": [
- "string"
], - "alertKey": "string",
- "targetChatId": "string",
- "evidenceUrl": "string",
- "openItems": [
- "string"
], - "isUnverified": true,
- "shouldShowDisplayLabel": true
}, - "isWorkingOverWaiting": true,
- "lastRepairBaseSha": "string",
- "verifyParkCodes": [
- "string"
]
}
}Destructive-tier MCP gateway parity (BOS-404). Session-scoped destructive ops route to the owning daemon via FindSessionDaemon (NotFound for a missing/foreign session); empty_trash is daemon-wide and aggregates across the caller's Ready daemons via the shared resolver. ProxyCloseSession closes (abandons) a session, returning the updated Session.
| Connect-Protocol-Version required | number (Connect-Protocol-Version) Value: 1 Define the version of the Connect protocol Value: 1 |
| Connect-Timeout-Ms | number (Connect-Timeout-Ms) Define the timeout, in ms |
| id | string (id) |
{- "id": "string"
}{- "session": {
- "id": "string",
- "repoId": "string",
- "title": "string",
- "plan": "string",
- "worktreePath": "string",
- "branchName": "string",
- "baseBranch": "string",
- "state": "SESSION_STATE_UNSPECIFIED",
- "agentSessionId": "string",
- "prNumber": 0,
- "prUrl": "string",
- "lastCheckState": "CHECKS_OVERALL_UNSPECIFIED",
- "lastCheckStateObserved": "CHECKS_OVERALL_UNSPECIFIED",
- "lastCheckStateHeadSha": "string",
- "lastCheckStateAt": "2023-01-15T01:30:15.01Z",
- "stateEnteredAt": "2023-01-15T01:30:15.01Z",
- "effectiveModel": "string",
- "effectiveEffort": "string",
- "organizationId": "string",
- "ownerUserId": "string",
- "ownerDisplayName": "string",
- "isAutomationEnabled": true,
- "attemptCount": 0,
- "blockedReason": "string",
- "archivedAt": "2023-01-15T01:30:15.01Z",
- "createdAt": "2023-01-15T01:30:15.01Z",
- "updatedAt": "2023-01-15T01:30:15.01Z",
- "repoDisplayName": "string",
- "displayStatus": "DISPLAY_STATUS_UNSPECIFIED",
- "displayHasFailures": true,
- "displayHasChangesRequested": true,
- "attentionStatus": {
- "needsAttention": true,
- "reason": "ATTENTION_REASON_UNSPECIFIED",
- "summary": "string",
- "since": "2023-01-15T01:30:15.01Z"
}, - "displayIsRepairing": true,
- "workflowDisplayStatus": "WORKFLOW_STATUS_UNSPECIFIED",
- "workflowDisplayLeg": 0,
- "workflowDisplayMaxLegs": 0,
- "hasActiveChat": true,
- "trackerId": "string",
- "trackerUrl": "string",
- "tmuxSessionName": "string",
- "prDisplayHeadSha": "string",
- "displayLabel": "string",
- "displayIntent": "DISPLAY_INTENT_UNSPECIFIED",
- "displaySpinner": true,
- "transferringTo": "string",
- "transferringFrom": "string",
- "agentName": "string",
- "lastRepairStartedAt": "2023-01-15T01:30:15.01Z",
- "lastRepairRunnerError": "string",
- "lastRepairExitError": "string",
- "lastRepairAttemptCount": 0,
- "lastRepairHeadSha": "string",
- "lastRepairDisplayStatus": "DISPLAY_STATUS_UNSPECIFIED",
- "lastChatActivityAt": "2023-01-15T01:30:15.01Z",
- "repoOriginUrl": "string",
- "lastRepairReviewFingerprint": "string",
- "displaySettingUp": true,
- "repoCanAutoRepair": true,
- "setupError": "string",
- "lastRepairBlockedReason": "string",
- "lastRepairBlockedAt": "2023-01-15T01:30:15.01Z",
- "repairActive": true,
- "prMergeable": true,
- "mergeBlock": {
- "gate": "GATE_UNSPECIFIED",
- "detail": "string",
- "blockingReviewers": [
- "string"
], - "displayStatus": "DISPLAY_STATUS_UNSPECIFIED"
}, - "lastAgentActivityAt": "2023-01-15T01:30:15.01Z",
- "accountId": "string",
- "accountLabel": "string",
- "rotationEvents": [
- {
- "id": "string",
- "sessionId": "string",
- "chatId": "string",
- "provider": "string",
- "trigger": "ROTATION_TRIGGER_UNSPECIFIED",
- "fromAccount": "string",
- "toAccount": "string",
- "resetAt": "2023-01-15T01:30:15.01Z",
- "outcome": "ROTATION_OUTCOME_UNSPECIFIED",
- "detail": "string",
- "createdAt": "2023-01-15T01:30:15.01Z"
}
], - "displayMerging": true,
- "repoShouldArchiveSessionsAfterMerge": true,
- "archivePending": true,
- "httpEndpoints": [
- {
- "port": 0,
- "url": "string"
}
], - "repairStalledAt": "2023-01-15T01:30:15.01Z",
- "listRank": 0,
- "isWaitingDemoted": true,
- "hasBuildReceipt": true,
- "isReadyOverWaiting": true,
- "attention": {
- "kind": "ATTENTION_KIND_UNSPECIFIED",
- "sentence": "string",
- "actions": [
- "ATTENTION_ACTION_UNSPECIFIED"
], - "since": "2023-01-15T01:30:15.01Z",
- "progressLabel": "string",
- "parkCodes": [
- "string"
], - "alertKey": "string",
- "targetChatId": "string",
- "evidenceUrl": "string",
- "openItems": [
- "string"
], - "isUnverified": true,
- "shouldShowDisplayLabel": true
}, - "isWorkingOverWaiting": true,
- "lastRepairBaseSha": "string",
- "verifyParkCodes": [
- "string"
]
}
}| Connect-Protocol-Version required | number (Connect-Protocol-Version) Value: 1 Define the version of the Connect protocol Value: 1 |
| Connect-Timeout-Ms | number (Connect-Timeout-Ms) Define the timeout, in ms |
| daemonId | string (daemon_id) |
| repoId | string (repo_id) |
| name | string (name) |
| prompt | string (prompt) |
| schedule | string (schedule) |
| timezone | string (timezone) |
| isEnabled | boolean (is_enabled) |
| agentName | string (agent_name) |
| model | string (model) |
| gateCommand | string (gate_command) |
| shouldRunSetupCommand | boolean or null (should_run_setup_command) |
| isZeroOutput | boolean or null (is_zero_output) |
CronJobConcurrencyPolicy (string) or concurrency_policy (null) (concurrency_policy) What a fire does while the job's previous run is still in progress. Omitted or UNSPECIFIED = SKIP. | |
| managedBy | string (managed_by) Config-ownership marker: empty (unmarked) or "boss-project: |
{- "daemonId": "string",
- "repoId": "string",
- "name": "string",
- "prompt": "string",
- "schedule": "string",
- "timezone": "string",
- "isEnabled": true,
- "agentName": "string",
- "model": "string",
- "gateCommand": "string",
- "shouldRunSetupCommand": true,
- "isZeroOutput": true,
- "concurrencyPolicy": "CRON_JOB_CONCURRENCY_POLICY_UNSPECIFIED",
- "managedBy": "string"
}{- "job": {
- "id": "string",
- "repoId": "string",
- "name": "string",
- "prompt": "string",
- "schedule": "string",
- "timezone": "string",
- "isEnabled": true,
- "lastRunSessionId": "string",
- "lastRunAt": "2023-01-15T01:30:15.01Z",
- "lastRunOutcome": "string",
- "nextRunAt": "2023-01-15T01:30:15.01Z",
- "createdAt": "2023-01-15T01:30:15.01Z",
- "updatedAt": "2023-01-15T01:30:15.01Z",
- "lastRunStatus": "CRON_JOB_STATUS_UNSPECIFIED",
- "agentName": "string",
- "model": "string",
- "gateCommand": "string",
- "shouldRunSetupCommand": true,
- "isZeroOutput": true,
- "lastRunAgentName": "string",
- "concurrencyPolicy": "CRON_JOB_CONCURRENCY_POLICY_UNSPECIFIED",
- "managedBy": "string"
}
}GitHub-callback proxies for remote-CLI callback management (BOS-469). All route to the owning daemon by target_chat_id via FindDaemonForChat, reusing the caller's own auth — a foreign chat resolves to NotFound so no cross-user registration can dispatch. Create/Delete require target_chat_id; List routes by target_chat_id when set, else aggregates across the caller's Ready daemons.
| Connect-Protocol-Version required | number (Connect-Protocol-Version) Value: 1 Define the version of the Connect protocol Value: 1 |
| Connect-Timeout-Ms | number (Connect-Timeout-Ms) Define the timeout, in ms |
| groupId | string or null (group_id) |
| targetChatId | string (target_chat_id) |
| repoOwner | string (repo_owner) |
| repoName | string (repo_name) |
| prNumber | integer <int32> (pr_number) |
| trigger | string (trigger) |
| message | string (message) |
google.protobuf.Timestamp (string) or expires_at (null) (expires_at) | |
| shouldRequireTransition | boolean or null (should_require_transition) |
| isIndependentWatch | boolean or null (is_independent_watch) Mirrors CreateGithubCallbackRequest.is_independent_watch. |
{- "groupId": "string",
- "targetChatId": "string",
- "repoOwner": "string",
- "repoName": "string",
- "prNumber": 0,
- "trigger": "string",
- "message": "string",
- "expiresAt": "2023-01-15T01:30:15.01Z",
- "shouldRequireTransition": true,
- "isIndependentWatch": true
}{- "githubCallback": {
- "id": "string",
- "groupId": "string",
- "targetChatId": "string",
- "repoOwner": "string",
- "repoName": "string",
- "prNumber": 0,
- "trigger": "string",
- "state": "string",
- "message": "string",
- "leaseOwner": "string",
- "attemptCount": 0,
- "lastError": "string",
- "lastEvent": "string",
- "leaseDeadlineAt": "2023-01-15T01:30:15.01Z",
- "nextAttemptAt": "2023-01-15T01:30:15.01Z",
- "triggeredAt": "2023-01-15T01:30:15.01Z",
- "deliveredAt": "2023-01-15T01:30:15.01Z",
- "expiresAt": "2023-01-15T01:30:15.01Z",
- "createdAt": "2023-01-15T01:30:15.01Z",
- "updatedAt": "2023-01-15T01:30:15.01Z",
- "shouldRequireTransition": true,
- "hasObservedBaseline": true
}, - "noticeText": "string"
}Notes proxies for remote-CLI and hosted-gateway note management (BOS-552). A note is repo-scoped, so all five route to the owning daemon by repo_id, reusing the caller's own auth — a foreign repo resolves to NotFound so no cross-user note access can dispatch. Create/Get/Update/Delete require repo_id; List routes by repo_id when set, else aggregates across the caller's Ready daemons.
| Connect-Protocol-Version required | number (Connect-Protocol-Version) Value: 1 Define the version of the Connect protocol Value: 1 |
| Connect-Timeout-Ms | number (Connect-Timeout-Ms) Define the timeout, in ms |
| repoId | string (repo_id) Owning repository (daemon-local repos.id). Required — also the routing key. |
| sessionId | string or null (session_id) Optional provenance: which run recorded this note. |
| chatId | string or null (chat_id) |
| body | string (body) Stored verbatim. Must be non-empty after trimming and within the 64 KiB cap, else InvalidArgument. |
| tags | Array of strings (tags) Trimmed, lowercased and de-duplicated before storage. At most 32 tags of at most 64 bytes each (measured after trimming), else InvalidArgument. |
| idempotencyKey | string or null (idempotency_key) Optional repo-scoped key for an atomic idempotent create. A retry with the same key returns the original note without changing it. |
{- "repoId": "string",
- "sessionId": "string",
- "chatId": "string",
- "body": "string",
- "tags": [
- "string"
], - "idempotencyKey": "string"
}{- "note": {
- "id": "string",
- "repoId": "string",
- "sessionId": "string",
- "chatId": "string",
- "body": "string",
- "tags": [
- "string"
], - "createdAt": "2023-01-15T01:30:15.01Z",
- "updatedAt": "2023-01-15T01:30:15.01Z",
- "syncState": "string",
- "syncedAt": "2023-01-15T01:30:15.01Z",
- "syncLastError": "string"
}
}Deletes a chat via the owning daemon's reverse stream.
| Connect-Protocol-Version required | number (Connect-Protocol-Version) Value: 1 Define the version of the Connect protocol Value: 1 |
| Connect-Timeout-Ms | number (Connect-Timeout-Ms) Define the timeout, in ms |
| sessionId | string (session_id) for authz scoping (mirror ProxyWakeChat) |
| agentSessionId | string (agent_session_id) |
{- "sessionId": "string",
- "agentSessionId": "string"
}{ }| Connect-Protocol-Version required | number (Connect-Protocol-Version) Value: 1 Define the version of the Connect protocol Value: 1 |
| Connect-Timeout-Ms | number (Connect-Timeout-Ms) Define the timeout, in ms |
| daemonId | string (daemon_id) |
| id | string (id) |
{- "daemonId": "string",
- "id": "string"
}{ }| Connect-Protocol-Version required | number (Connect-Protocol-Version) Value: 1 Define the version of the Connect protocol Value: 1 |
| Connect-Timeout-Ms | number (Connect-Timeout-Ms) Define the timeout, in ms |
| targetChatId | string (target_chat_id) routing key (FindDaemonForChat) |
| id | string (id) |
| expectTargetChatId | string or null (expect_target_chat_id) |
{- "targetChatId": "string",
- "id": "string",
- "expectTargetChatId": "string"
}{- "outcome": "string"
}| Connect-Protocol-Version required | number (Connect-Protocol-Version) Value: 1 Define the version of the Connect protocol Value: 1 |
| Connect-Timeout-Ms | number (Connect-Timeout-Ms) Define the timeout, in ms |
| repoId | string (repo_id) routing key only; the daemon resolves by id alone |
| id | string (id) |
{- "repoId": "string",
- "id": "string"
}{ }ProxyDismissSessionAlert forwards DaemonService.DismissSessionAlert to the owning daemon.
| Connect-Protocol-Version required | number (Connect-Protocol-Version) Value: 1 Define the version of the Connect protocol Value: 1 |
| Connect-Timeout-Ms | number (Connect-Timeout-Ms) Define the timeout, in ms |
| id | string (id) |
| alertKey | string (alert_key) |
{- "id": "string",
- "alertKey": "string"
}{- "session": {
- "id": "string",
- "repoId": "string",
- "title": "string",
- "plan": "string",
- "worktreePath": "string",
- "branchName": "string",
- "baseBranch": "string",
- "state": "SESSION_STATE_UNSPECIFIED",
- "agentSessionId": "string",
- "prNumber": 0,
- "prUrl": "string",
- "lastCheckState": "CHECKS_OVERALL_UNSPECIFIED",
- "lastCheckStateObserved": "CHECKS_OVERALL_UNSPECIFIED",
- "lastCheckStateHeadSha": "string",
- "lastCheckStateAt": "2023-01-15T01:30:15.01Z",
- "stateEnteredAt": "2023-01-15T01:30:15.01Z",
- "effectiveModel": "string",
- "effectiveEffort": "string",
- "organizationId": "string",
- "ownerUserId": "string",
- "ownerDisplayName": "string",
- "isAutomationEnabled": true,
- "attemptCount": 0,
- "blockedReason": "string",
- "archivedAt": "2023-01-15T01:30:15.01Z",
- "createdAt": "2023-01-15T01:30:15.01Z",
- "updatedAt": "2023-01-15T01:30:15.01Z",
- "repoDisplayName": "string",
- "displayStatus": "DISPLAY_STATUS_UNSPECIFIED",
- "displayHasFailures": true,
- "displayHasChangesRequested": true,
- "attentionStatus": {
- "needsAttention": true,
- "reason": "ATTENTION_REASON_UNSPECIFIED",
- "summary": "string",
- "since": "2023-01-15T01:30:15.01Z"
}, - "displayIsRepairing": true,
- "workflowDisplayStatus": "WORKFLOW_STATUS_UNSPECIFIED",
- "workflowDisplayLeg": 0,
- "workflowDisplayMaxLegs": 0,
- "hasActiveChat": true,
- "trackerId": "string",
- "trackerUrl": "string",
- "tmuxSessionName": "string",
- "prDisplayHeadSha": "string",
- "displayLabel": "string",
- "displayIntent": "DISPLAY_INTENT_UNSPECIFIED",
- "displaySpinner": true,
- "transferringTo": "string",
- "transferringFrom": "string",
- "agentName": "string",
- "lastRepairStartedAt": "2023-01-15T01:30:15.01Z",
- "lastRepairRunnerError": "string",
- "lastRepairExitError": "string",
- "lastRepairAttemptCount": 0,
- "lastRepairHeadSha": "string",
- "lastRepairDisplayStatus": "DISPLAY_STATUS_UNSPECIFIED",
- "lastChatActivityAt": "2023-01-15T01:30:15.01Z",
- "repoOriginUrl": "string",
- "lastRepairReviewFingerprint": "string",
- "displaySettingUp": true,
- "repoCanAutoRepair": true,
- "setupError": "string",
- "lastRepairBlockedReason": "string",
- "lastRepairBlockedAt": "2023-01-15T01:30:15.01Z",
- "repairActive": true,
- "prMergeable": true,
- "mergeBlock": {
- "gate": "GATE_UNSPECIFIED",
- "detail": "string",
- "blockingReviewers": [
- "string"
], - "displayStatus": "DISPLAY_STATUS_UNSPECIFIED"
}, - "lastAgentActivityAt": "2023-01-15T01:30:15.01Z",
- "accountId": "string",
- "accountLabel": "string",
- "rotationEvents": [
- {
- "id": "string",
- "sessionId": "string",
- "chatId": "string",
- "provider": "string",
- "trigger": "ROTATION_TRIGGER_UNSPECIFIED",
- "fromAccount": "string",
- "toAccount": "string",
- "resetAt": "2023-01-15T01:30:15.01Z",
- "outcome": "ROTATION_OUTCOME_UNSPECIFIED",
- "detail": "string",
- "createdAt": "2023-01-15T01:30:15.01Z"
}
], - "displayMerging": true,
- "repoShouldArchiveSessionsAfterMerge": true,
- "archivePending": true,
- "httpEndpoints": [
- {
- "port": 0,
- "url": "string"
}
], - "repairStalledAt": "2023-01-15T01:30:15.01Z",
- "listRank": 0,
- "isWaitingDemoted": true,
- "hasBuildReceipt": true,
- "isReadyOverWaiting": true,
- "attention": {
- "kind": "ATTENTION_KIND_UNSPECIFIED",
- "sentence": "string",
- "actions": [
- "ATTENTION_ACTION_UNSPECIFIED"
], - "since": "2023-01-15T01:30:15.01Z",
- "progressLabel": "string",
- "parkCodes": [
- "string"
], - "alertKey": "string",
- "targetChatId": "string",
- "evidenceUrl": "string",
- "openItems": [
- "string"
], - "isUnverified": true,
- "shouldShowDisplayLabel": true
}, - "isWorkingOverWaiting": true,
- "lastRepairBaseSha": "string",
- "verifyParkCodes": [
- "string"
]
}
}ProxyEmptyTrash permanently deletes archived sessions across the caller's Ready daemons, summing each daemon's deleted_count.
| Connect-Protocol-Version required | number (Connect-Protocol-Version) Value: 1 Define the version of the Connect protocol Value: 1 |
| Connect-Timeout-Ms | number (Connect-Timeout-Ms) Define the timeout, in ms |
google.protobuf.Timestamp (string) or older_than (null) (older_than) | |
| organizationId | string or null (organization_id) Target organization, if the caller needs one. Absent queries every organization the caller belongs to. Set narrows after a membership check; a non-member organization is denied rather than quietly widened. Before V20260910 there was no field and this read resolved one organization. |
{- "olderThan": "2023-01-15T01:30:15.01Z",
- "organizationId": "string"
}{- "deletedCount": 0,
- "failedOrganizations": [
- {
- "organizationId": "string",
- "organizationName": "string",
- "reason": "string"
}
], - "deletions": [
- {
- "organizationId": "string",
- "organizationName": "string",
- "deletedCount": 0
}
]
}ProxyGetChatStatuses reads one session's per-chat statuses (routes by session_id, exactly as ProxyListChats does). Not interchangeable with ProxyGetSessionStatuses: that aggregates across a session's chats, so it cannot say whether one specific chat has settled.
| Connect-Protocol-Version required | number (Connect-Protocol-Version) Value: 1 Define the version of the Connect protocol Value: 1 |
| Connect-Timeout-Ms | number (Connect-Timeout-Ms) Define the timeout, in ms |
| sessionId | string (session_id) |
{- "sessionId": "string"
}{- "statuses": [
- {
- "agentSessionId": "string",
- "status": "CHAT_STATUS_UNSPECIFIED",
- "lastOutputAt": "2023-01-15T01:30:15.01Z",
- "waitingReason": "string",
- "spinnerPresent": true,
- "lastSubstantiveOutputAt": "2023-01-15T01:30:15.01Z",
- "lastOutputSeeded": true,
- "phase": "string"
}
]
}Reads a chat's transcript via the owning daemon's reverse stream. Routes by session_id (FindSessionDaemon) with a GetChat authz check, like ProxyWakeChat.
| Connect-Protocol-Version required | number (Connect-Protocol-Version) Value: 1 Define the version of the Connect protocol Value: 1 |
| Connect-Timeout-Ms | number (Connect-Timeout-Ms) Define the timeout, in ms |
| sessionId | string (session_id) for authz scoping (mirror ProxyWakeChat) |
| agentSessionId | string (agent_session_id) |
| maxMessages | integer <int32> (max_messages) 0 = all; otherwise the most recent N |
{- "sessionId": "string",
- "agentSessionId": "string",
- "maxMessages": 0
}{- "messages": [
- {
- "role": "string",
- "text": "string",
- "timestamp": "string",
- "kind": "string"
}
], - "finalAssistantText": "string",
- "exists": true,
- "reason": "string"
}ProxyGetCronJob returns the first Ready daemon that owns the id (NotFound if none).
| Connect-Protocol-Version required | number (Connect-Protocol-Version) Value: 1 Define the version of the Connect protocol Value: 1 |
| Connect-Timeout-Ms | number (Connect-Timeout-Ms) Define the timeout, in ms |
| id | string (id) |
| organizationId | string or null (organization_id) Target organization, if the caller needs one. Absent queries every organization the caller belongs to. Set narrows after a membership check; a non-member organization is denied rather than quietly widened. Before V20260910 there was no field and this read resolved one organization. |
{- "id": "string",
- "organizationId": "string"
}{- "cronJob": {
- "id": "string",
- "repoId": "string",
- "name": "string",
- "prompt": "string",
- "schedule": "string",
- "timezone": "string",
- "isEnabled": true,
- "lastRunSessionId": "string",
- "lastRunAt": "2023-01-15T01:30:15.01Z",
- "lastRunOutcome": "string",
- "nextRunAt": "2023-01-15T01:30:15.01Z",
- "createdAt": "2023-01-15T01:30:15.01Z",
- "updatedAt": "2023-01-15T01:30:15.01Z",
- "lastRunStatus": "CRON_JOB_STATUS_UNSPECIFIED",
- "agentName": "string",
- "model": "string",
- "gateCommand": "string",
- "shouldRunSetupCommand": true,
- "isZeroOutput": true,
- "lastRunAgentName": "string",
- "concurrencyPolicy": "CRON_JOB_CONCURRENCY_POLICY_UNSPECIFIED",
- "managedBy": "string"
}, - "failedOrganizations": [
- {
- "organizationId": "string",
- "organizationName": "string",
- "reason": "string"
}
]
}| Connect-Protocol-Version required | number (Connect-Protocol-Version) Value: 1 Define the version of the Connect protocol Value: 1 |
| Connect-Timeout-Ms | number (Connect-Timeout-Ms) Define the timeout, in ms |
| repoId | string (repo_id) routing key only; the daemon resolves by id alone |
| id | string (id) |
{- "repoId": "string",
- "id": "string"
}{- "note": {
- "id": "string",
- "repoId": "string",
- "sessionId": "string",
- "chatId": "string",
- "body": "string",
- "tags": [
- "string"
], - "createdAt": "2023-01-15T01:30:15.01Z",
- "updatedAt": "2023-01-15T01:30:15.01Z",
- "syncState": "string",
- "syncedAt": "2023-01-15T01:30:15.01Z",
- "syncLastError": "string"
}
}Per-repo proxies for web repo management. Route to the daemon named by daemon_id and address the repo by repo_id. Reads/updates are secret-masked (RepoSettings); writes carry tri-state SecretUpdate + expected_updated_at.
| Connect-Protocol-Version required | number (Connect-Protocol-Version) Value: 1 Define the version of the Connect protocol Value: 1 |
| Connect-Timeout-Ms | number (Connect-Timeout-Ms) Define the timeout, in ms |
| daemonId | string (daemon_id) |
| repoId | string (repo_id) |
{- "daemonId": "string",
- "repoId": "string"
}{- "settings": {
- "id": "string",
- "displayName": "string",
- "setupScript": "string",
- "mergeStrategy": "MERGE_STRATEGY_UNSPECIFIED",
- "canAutoMerge": true,
- "canAutoMergeDependabot": true,
- "canAutoRepair": true,
- "shouldArchiveSessionsAfterMerge": true,
- "sentryOrg": "string",
- "hasLinearKey": true,
- "hasSentryKey": true,
- "updatedAt": "2023-01-15T01:30:15.01Z"
}
}| Connect-Protocol-Version required | number (Connect-Protocol-Version) Value: 1 Define the version of the Connect protocol Value: 1 |
| Connect-Timeout-Ms | number (Connect-Timeout-Ms) Define the timeout, in ms |
| id | string (id) |
{- "id": "string"
}{- "session": {
- "id": "string",
- "repoId": "string",
- "title": "string",
- "plan": "string",
- "worktreePath": "string",
- "branchName": "string",
- "baseBranch": "string",
- "state": "SESSION_STATE_UNSPECIFIED",
- "agentSessionId": "string",
- "prNumber": 0,
- "prUrl": "string",
- "lastCheckState": "CHECKS_OVERALL_UNSPECIFIED",
- "lastCheckStateObserved": "CHECKS_OVERALL_UNSPECIFIED",
- "lastCheckStateHeadSha": "string",
- "lastCheckStateAt": "2023-01-15T01:30:15.01Z",
- "stateEnteredAt": "2023-01-15T01:30:15.01Z",
- "effectiveModel": "string",
- "effectiveEffort": "string",
- "organizationId": "string",
- "ownerUserId": "string",
- "ownerDisplayName": "string",
- "isAutomationEnabled": true,
- "attemptCount": 0,
- "blockedReason": "string",
- "archivedAt": "2023-01-15T01:30:15.01Z",
- "createdAt": "2023-01-15T01:30:15.01Z",
- "updatedAt": "2023-01-15T01:30:15.01Z",
- "repoDisplayName": "string",
- "displayStatus": "DISPLAY_STATUS_UNSPECIFIED",
- "displayHasFailures": true,
- "displayHasChangesRequested": true,
- "attentionStatus": {
- "needsAttention": true,
- "reason": "ATTENTION_REASON_UNSPECIFIED",
- "summary": "string",
- "since": "2023-01-15T01:30:15.01Z"
}, - "displayIsRepairing": true,
- "workflowDisplayStatus": "WORKFLOW_STATUS_UNSPECIFIED",
- "workflowDisplayLeg": 0,
- "workflowDisplayMaxLegs": 0,
- "hasActiveChat": true,
- "trackerId": "string",
- "trackerUrl": "string",
- "tmuxSessionName": "string",
- "prDisplayHeadSha": "string",
- "displayLabel": "string",
- "displayIntent": "DISPLAY_INTENT_UNSPECIFIED",
- "displaySpinner": true,
- "transferringTo": "string",
- "transferringFrom": "string",
- "agentName": "string",
- "lastRepairStartedAt": "2023-01-15T01:30:15.01Z",
- "lastRepairRunnerError": "string",
- "lastRepairExitError": "string",
- "lastRepairAttemptCount": 0,
- "lastRepairHeadSha": "string",
- "lastRepairDisplayStatus": "DISPLAY_STATUS_UNSPECIFIED",
- "lastChatActivityAt": "2023-01-15T01:30:15.01Z",
- "repoOriginUrl": "string",
- "lastRepairReviewFingerprint": "string",
- "displaySettingUp": true,
- "repoCanAutoRepair": true,
- "setupError": "string",
- "lastRepairBlockedReason": "string",
- "lastRepairBlockedAt": "2023-01-15T01:30:15.01Z",
- "repairActive": true,
- "prMergeable": true,
- "mergeBlock": {
- "gate": "GATE_UNSPECIFIED",
- "detail": "string",
- "blockingReviewers": [
- "string"
], - "displayStatus": "DISPLAY_STATUS_UNSPECIFIED"
}, - "lastAgentActivityAt": "2023-01-15T01:30:15.01Z",
- "accountId": "string",
- "accountLabel": "string",
- "rotationEvents": [
- {
- "id": "string",
- "sessionId": "string",
- "chatId": "string",
- "provider": "string",
- "trigger": "ROTATION_TRIGGER_UNSPECIFIED",
- "fromAccount": "string",
- "toAccount": "string",
- "resetAt": "2023-01-15T01:30:15.01Z",
- "outcome": "ROTATION_OUTCOME_UNSPECIFIED",
- "detail": "string",
- "createdAt": "2023-01-15T01:30:15.01Z"
}
], - "displayMerging": true,
- "repoShouldArchiveSessionsAfterMerge": true,
- "archivePending": true,
- "httpEndpoints": [
- {
- "port": 0,
- "url": "string"
}
], - "repairStalledAt": "2023-01-15T01:30:15.01Z",
- "listRank": 0,
- "isWaitingDemoted": true,
- "hasBuildReceipt": true,
- "isReadyOverWaiting": true,
- "attention": {
- "kind": "ATTENTION_KIND_UNSPECIFIED",
- "sentence": "string",
- "actions": [
- "ATTENTION_ACTION_UNSPECIFIED"
], - "since": "2023-01-15T01:30:15.01Z",
- "progressLabel": "string",
- "parkCodes": [
- "string"
], - "alertKey": "string",
- "targetChatId": "string",
- "evidenceUrl": "string",
- "openItems": [
- "string"
], - "isUnverified": true,
- "shouldShowDisplayLabel": true
}, - "isWorkingOverWaiting": true,
- "lastRepairBaseSha": "string",
- "verifyParkCodes": [
- "string"
]
}
}ProxyGetSessionStatuses fans out per session_id (FindSessionDaemon), skipping unknown ids, and unions the returned SessionStatusEntry values.
| Connect-Protocol-Version required | number (Connect-Protocol-Version) Value: 1 Define the version of the Connect protocol Value: 1 |
| Connect-Timeout-Ms | number (Connect-Timeout-Ms) Define the timeout, in ms |
| sessionIds | Array of strings (session_ids) |
{- "sessionIds": [
- "string"
]
}{- "statuses": [
- {
- "sessionId": "string",
- "status": "CHAT_STATUS_UNSPECIFIED",
- "waitingReason": "string",
- "phase": "string"
}
]
}ProxyLinkSessionPR attaches an existing PR to a session (routes by session_id).
| Connect-Protocol-Version required | number (Connect-Protocol-Version) Value: 1 Define the version of the Connect protocol Value: 1 |
| Connect-Timeout-Ms | number (Connect-Timeout-Ms) Define the timeout, in ms |
| id | string (id) |
| pr | string (pr) |
{- "id": "string",
- "pr": "string"
}{- "session": {
- "id": "string",
- "repoId": "string",
- "title": "string",
- "plan": "string",
- "worktreePath": "string",
- "branchName": "string",
- "baseBranch": "string",
- "state": "SESSION_STATE_UNSPECIFIED",
- "agentSessionId": "string",
- "prNumber": 0,
- "prUrl": "string",
- "lastCheckState": "CHECKS_OVERALL_UNSPECIFIED",
- "lastCheckStateObserved": "CHECKS_OVERALL_UNSPECIFIED",
- "lastCheckStateHeadSha": "string",
- "lastCheckStateAt": "2023-01-15T01:30:15.01Z",
- "stateEnteredAt": "2023-01-15T01:30:15.01Z",
- "effectiveModel": "string",
- "effectiveEffort": "string",
- "organizationId": "string",
- "ownerUserId": "string",
- "ownerDisplayName": "string",
- "isAutomationEnabled": true,
- "attemptCount": 0,
- "blockedReason": "string",
- "archivedAt": "2023-01-15T01:30:15.01Z",
- "createdAt": "2023-01-15T01:30:15.01Z",
- "updatedAt": "2023-01-15T01:30:15.01Z",
- "repoDisplayName": "string",
- "displayStatus": "DISPLAY_STATUS_UNSPECIFIED",
- "displayHasFailures": true,
- "displayHasChangesRequested": true,
- "attentionStatus": {
- "needsAttention": true,
- "reason": "ATTENTION_REASON_UNSPECIFIED",
- "summary": "string",
- "since": "2023-01-15T01:30:15.01Z"
}, - "displayIsRepairing": true,
- "workflowDisplayStatus": "WORKFLOW_STATUS_UNSPECIFIED",
- "workflowDisplayLeg": 0,
- "workflowDisplayMaxLegs": 0,
- "hasActiveChat": true,
- "trackerId": "string",
- "trackerUrl": "string",
- "tmuxSessionName": "string",
- "prDisplayHeadSha": "string",
- "displayLabel": "string",
- "displayIntent": "DISPLAY_INTENT_UNSPECIFIED",
- "displaySpinner": true,
- "transferringTo": "string",
- "transferringFrom": "string",
- "agentName": "string",
- "lastRepairStartedAt": "2023-01-15T01:30:15.01Z",
- "lastRepairRunnerError": "string",
- "lastRepairExitError": "string",
- "lastRepairAttemptCount": 0,
- "lastRepairHeadSha": "string",
- "lastRepairDisplayStatus": "DISPLAY_STATUS_UNSPECIFIED",
- "lastChatActivityAt": "2023-01-15T01:30:15.01Z",
- "repoOriginUrl": "string",
- "lastRepairReviewFingerprint": "string",
- "displaySettingUp": true,
- "repoCanAutoRepair": true,
- "setupError": "string",
- "lastRepairBlockedReason": "string",
- "lastRepairBlockedAt": "2023-01-15T01:30:15.01Z",
- "repairActive": true,
- "prMergeable": true,
- "mergeBlock": {
- "gate": "GATE_UNSPECIFIED",
- "detail": "string",
- "blockingReviewers": [
- "string"
], - "displayStatus": "DISPLAY_STATUS_UNSPECIFIED"
}, - "lastAgentActivityAt": "2023-01-15T01:30:15.01Z",
- "accountId": "string",
- "accountLabel": "string",
- "rotationEvents": [
- {
- "id": "string",
- "sessionId": "string",
- "chatId": "string",
- "provider": "string",
- "trigger": "ROTATION_TRIGGER_UNSPECIFIED",
- "fromAccount": "string",
- "toAccount": "string",
- "resetAt": "2023-01-15T01:30:15.01Z",
- "outcome": "ROTATION_OUTCOME_UNSPECIFIED",
- "detail": "string",
- "createdAt": "2023-01-15T01:30:15.01Z"
}
], - "displayMerging": true,
- "repoShouldArchiveSessionsAfterMerge": true,
- "archivePending": true,
- "httpEndpoints": [
- {
- "port": 0,
- "url": "string"
}
], - "repairStalledAt": "2023-01-15T01:30:15.01Z",
- "listRank": 0,
- "isWaitingDemoted": true,
- "hasBuildReceipt": true,
- "isReadyOverWaiting": true,
- "attention": {
- "kind": "ATTENTION_KIND_UNSPECIFIED",
- "sentence": "string",
- "actions": [
- "ATTENTION_ACTION_UNSPECIFIED"
], - "since": "2023-01-15T01:30:15.01Z",
- "progressLabel": "string",
- "parkCodes": [
- "string"
], - "alertKey": "string",
- "targetChatId": "string",
- "evidenceUrl": "string",
- "openItems": [
- "string"
], - "isUnverified": true,
- "shouldShowDisplayLabel": true
}, - "isWorkingOverWaiting": true,
- "lastRepairBaseSha": "string",
- "verifyParkCodes": [
- "string"
]
}
}Lists the rotation accounts on the daemon owning session_id (web account-switch picker). Routes by session_id (FindSessionDaemon) for authz scope, like ProxySwitchSessionAccount. Accounts are metadata only — never credentials. Optional provider filter ("" = all).
| Connect-Protocol-Version required | number (Connect-Protocol-Version) Value: 1 Define the version of the Connect protocol Value: 1 |
| Connect-Timeout-Ms | number (Connect-Timeout-Ms) Define the timeout, in ms |
| sessionId | string (session_id) |
| provider | string (provider) |
{- "sessionId": "string",
- "provider": "string"
}{- "accounts": [
- {
- "id": "string",
- "provider": "string",
- "label": "string",
- "status": "string",
- "priority": 0,
- "cooldownUntil": "2023-01-15T01:30:15.01Z",
- "lastUsedAt": "2023-01-15T01:30:15.01Z",
- "health": "string",
- "tier": "string",
- "allowedModels": [
- "string"
], - "lastTestOkAt": "2023-01-15T01:30:15.01Z",
- "lastTestError": "string",
- "createdAt": "2023-01-15T01:30:15.01Z",
- "updatedAt": "2023-01-15T01:30:15.01Z",
- "usage": {
- "util5h": 0.1,
- "util7d": 0.1,
- "reset5h": "2023-01-15T01:30:15.01Z",
- "reset7d": "2023-01-15T01:30:15.01Z",
- "status": "string",
- "planTier": "string",
- "fetchedAt": "2023-01-15T01:30:15.01Z"
}, - "authCheck": {
- "outcome": "string",
- "failureClass": "string",
- "checkedAt": "2023-01-15T01:30:15.01Z",
- "nextRetryAt": "2023-01-15T01:30:15.01Z"
}
}
]
}Lists the installed agents on a single named daemon via its reverse stream.
| Connect-Protocol-Version required | number (Connect-Protocol-Version) Value: 1 Define the version of the Connect protocol Value: 1 |
| Connect-Timeout-Ms | number (Connect-Timeout-Ms) Define the timeout, in ms |
| daemonId | string (daemon_id) |
{- "daemonId": "string"
}{- "agents": [
- {
- "name": "string",
- "version": "string",
- "userSettings": [
- {
- "key": "string",
- "label": "string",
- "description": "string",
- "type": "USER_SETTING_TYPE_UNSPECIFIED",
- "defaultValue": "string",
- "allowedValues": [
- "string"
]
}
]
}
]
}ProxyListAgentsAggregated aggregates installed agents across the caller's Ready daemons (session-less; distinct from the daemon-scoped ProxyListAgents).
| Connect-Protocol-Version required | number (Connect-Protocol-Version) Value: 1 Define the version of the Connect protocol Value: 1 |
| Connect-Timeout-Ms | number (Connect-Timeout-Ms) Define the timeout, in ms |
| organizationId | string or null (organization_id) Target organization, if the caller needs one. Absent queries every organization the caller belongs to. Set narrows after a membership check; a non-member organization is denied rather than quietly widened. Before V20260910 there was no field and this read resolved one organization. |
{- "organizationId": "string"
}{- "agents": [
- {
- "name": "string",
- "version": "string",
- "userSettings": [
- {
- "key": "string",
- "label": "string",
- "description": "string",
- "type": "USER_SETTING_TYPE_UNSPECIFIED",
- "defaultValue": "string",
- "allowedValues": [
- "string"
]
}
]
}
], - "failedOrganizations": [
- {
- "organizationId": "string",
- "organizationName": "string",
- "reason": "string"
}
]
}Read-tier MCP gateway parity (BOS-401). Session-scoped reads route to the owning daemon via FindSessionDaemon; session-less reads aggregate across the caller's Ready daemons via the shared resolver. ProxyListChats reads a session's chats (routes by session_id).
| Connect-Protocol-Version required | number (Connect-Protocol-Version) Value: 1 Define the version of the Connect protocol Value: 1 |
| Connect-Timeout-Ms | number (Connect-Timeout-Ms) Define the timeout, in ms |
| sessionId | string (session_id) |
{- "sessionId": "string"
}{- "chats": [
- {
- "id": "string",
- "sessionId": "string",
- "agentSessionId": "string",
- "title": "string",
- "daemonId": "string",
- "createdAt": "2023-01-15T01:30:15.01Z",
- "tmuxSessionName": "string",
- "agentName": "string",
- "providerSessionId": "string",
- "startError": "string",
- "ownerUserId": "string",
- "role": "CHAT_ROLE_UNSPECIFIED",
- "reclaimedAt": "2023-01-15T01:30:15.01Z",
- "reclaimReason": "string"
}
]
}ProxyListCheckSnapshots reads a session's recent CI check snapshots (routes by session_id).
| Connect-Protocol-Version required | number (Connect-Protocol-Version) Value: 1 Define the version of the Connect protocol Value: 1 |
| Connect-Timeout-Ms | number (Connect-Timeout-Ms) Define the timeout, in ms |
| sessionId | string (session_id) |
| limit | integer <int32> (limit) |
{- "sessionId": "string",
- "limit": 0
}{- "snapshots": [
- {
- "polledAt": "2023-01-15T01:30:15.01Z",
- "headSha": "string",
- "rawJson": "string",
- "computedStatus": "DISPLAY_STATUS_UNSPECIFIED"
}
]
}Cron-job proxies for web cron-job management. ProxyListCronJobs aggregates across all of the caller's live daemons; the mutating proxies route to the daemon named by daemon_id and address the job by id.
| Connect-Protocol-Version required | number (Connect-Protocol-Version) Value: 1 Define the version of the Connect protocol Value: 1 |
| Connect-Timeout-Ms | number (Connect-Timeout-Ms) Define the timeout, in ms |
| organizationId | string or null (organization_id) Target organization, if the caller needs one. Otherwise the orchestrator queries every organization the caller belongs to. Set narrows the read after a membership check; an organization outside the caller's membership is denied rather than quietly widened. Before V20260910 the read resolved one organization from the caller's own claim. A client pinned older keeps that behavior. |
{- "organizationId": "string"
}{- "jobs": [
- {
- "job": {
- "id": "string",
- "repoId": "string",
- "name": "string",
- "prompt": "string",
- "schedule": "string",
- "timezone": "string",
- "isEnabled": true,
- "lastRunSessionId": "string",
- "lastRunAt": "2023-01-15T01:30:15.01Z",
- "lastRunOutcome": "string",
- "nextRunAt": "2023-01-15T01:30:15.01Z",
- "createdAt": "2023-01-15T01:30:15.01Z",
- "updatedAt": "2023-01-15T01:30:15.01Z",
- "lastRunStatus": "CRON_JOB_STATUS_UNSPECIFIED",
- "agentName": "string",
- "model": "string",
- "gateCommand": "string",
- "shouldRunSetupCommand": true,
- "isZeroOutput": true,
- "lastRunAgentName": "string",
- "concurrencyPolicy": "CRON_JOB_CONCURRENCY_POLICY_UNSPECIFIED",
- "managedBy": "string"
}, - "daemonId": "string",
- "daemonHostname": "string",
- "organizationId": "string"
}
], - "failedOrganizations": [
- {
- "organizationId": "string",
- "organizationName": "string",
- "reason": "string"
}
]
}| Connect-Protocol-Version required | number (Connect-Protocol-Version) Value: 1 Define the version of the Connect protocol Value: 1 |
| Connect-Timeout-Ms | number (Connect-Timeout-Ms) Define the timeout, in ms |
| targetChatId | string or null (target_chat_id) |
| repoOwner | string or null (repo_owner) |
| repoName | string or null (repo_name) |
| prNumber | integer or null <int32> (pr_number) |
| trigger | string or null (trigger) |
| state | string or null (state) |
| organizationId | string or null (organization_id) Target organization, if the caller needs one. Absent queries every organization the caller belongs to. Set narrows after a membership check; a non-member organization is denied rather than quietly widened. Before V20260910 there was no field and this read resolved one organization. |
{- "targetChatId": "string",
- "repoOwner": "string",
- "repoName": "string",
- "prNumber": 0,
- "trigger": "string",
- "state": "string",
- "organizationId": "string"
}{- "githubCallbacks": [
- {
- "id": "string",
- "groupId": "string",
- "targetChatId": "string",
- "repoOwner": "string",
- "repoName": "string",
- "prNumber": 0,
- "trigger": "string",
- "state": "string",
- "message": "string",
- "leaseOwner": "string",
- "attemptCount": 0,
- "lastError": "string",
- "lastEvent": "string",
- "leaseDeadlineAt": "2023-01-15T01:30:15.01Z",
- "nextAttemptAt": "2023-01-15T01:30:15.01Z",
- "triggeredAt": "2023-01-15T01:30:15.01Z",
- "deliveredAt": "2023-01-15T01:30:15.01Z",
- "expiresAt": "2023-01-15T01:30:15.01Z",
- "createdAt": "2023-01-15T01:30:15.01Z",
- "updatedAt": "2023-01-15T01:30:15.01Z",
- "shouldRequireTransition": true,
- "hasObservedBaseline": true
}
], - "failedOrganizations": [
- {
- "organizationId": "string",
- "organizationName": "string",
- "reason": "string"
}
]
}| Connect-Protocol-Version required | number (Connect-Protocol-Version) Value: 1 Define the version of the Connect protocol Value: 1 |
| Connect-Timeout-Ms | number (Connect-Timeout-Ms) Define the timeout, in ms |
| repoId | string or null (repo_id) Applied whenever the field is SET, including when set to the empty string:
the value is trimmed and compared with |
| sessionId | string or null (session_id) |
| chatId | string or null (chat_id) |
| tags | Array of strings (tags) Matches notes carrying ANY of these tags (OR), not all of them. Entries are trimmed and lowercased to match the normalisation applied on write, and blank entries are dropped. A non-empty list whose entries ALL normalise away matches nothing rather than everything — the filter fails closed, so a stray empty tag can never widen the result set. |
| search | string or null (search) Substring match on the body. SQL wildcards are matched literally, not as patterns. Case-insensitivity is ASCII-only. A term that is blank after trimming means NO search, unlike a blank tag entry, which matches nothing. |
| limit | integer <int32> (limit) Caps the rows returned; zero or negative means unlimited. On an unfiltered
fan-out it is passed through to every daemon AND re-applied to the merged
list, so a caller asking for N always receives at most N — never N per
daemon. Because each daemon returns its own oldest |
| organizationId | string or null (organization_id) Target organization, if the caller needs one. Absent queries every organization the caller belongs to. Set narrows after a membership check; a non-member organization is denied rather than quietly widened. Before V20260910 there was no field and this read resolved one organization. |
{- "repoId": "string",
- "sessionId": "string",
- "chatId": "string",
- "tags": [
- "string"
], - "search": "string",
- "limit": 0,
- "organizationId": "string"
}{- "notes": [
- {
- "id": "string",
- "repoId": "string",
- "sessionId": "string",
- "chatId": "string",
- "body": "string",
- "tags": [
- "string"
], - "createdAt": "2023-01-15T01:30:15.01Z",
- "updatedAt": "2023-01-15T01:30:15.01Z",
- "syncState": "string",
- "syncedAt": "2023-01-15T01:30:15.01Z",
- "syncLastError": "string"
}
], - "failedOrganizations": [
- {
- "organizationId": "string",
- "organizationName": "string",
- "reason": "string"
}
]
}ProxyListPlugins aggregates configured plugins across the caller's Ready daemons.
| Connect-Protocol-Version required | number (Connect-Protocol-Version) Value: 1 Define the version of the Connect protocol Value: 1 |
| Connect-Timeout-Ms | number (Connect-Timeout-Ms) Define the timeout, in ms |
| organizationId | string or null (organization_id) Target organization, if the caller needs one. Absent queries every organization the caller belongs to. Set narrows after a membership check; a non-member organization is denied rather than quietly widened. Before V20260910 there was no field and this read resolved one organization. |
{- "organizationId": "string"
}{- "plugins": [
- {
- "name": "string",
- "path": "string",
- "enabled": true,
- "status": "STATUS_UNSPECIFIED",
- "capabilities": [
- "string"
], - "error": "string"
}
], - "failedOrganizations": [
- {
- "organizationId": "string",
- "organizationName": "string",
- "reason": "string"
}
]
}| Connect-Protocol-Version required | number (Connect-Protocol-Version) Value: 1 Define the version of the Connect protocol Value: 1 |
| Connect-Timeout-Ms | number (Connect-Timeout-Ms) Define the timeout, in ms |
| daemonId | string (daemon_id) |
| repoId | string (repo_id) |
{- "daemonId": "string",
- "repoId": "string"
}{- "pullRequests": [
- {
- "number": 0,
- "title": "string",
- "headBranch": "string",
- "state": "PR_STATE_UNSPECIFIED",
- "author": "string"
}
]
}Aggregates repos across the caller's live daemons, deduped by origin URL, with the serving daemon IDs unioned per repo. Spans every organization the caller belongs to unless the request narrows it to one.
| Connect-Protocol-Version required | number (Connect-Protocol-Version) Value: 1 Define the version of the Connect protocol Value: 1 |
| Connect-Timeout-Ms | number (Connect-Timeout-Ms) Define the timeout, in ms |
| organizationId | string or null (organization_id) Target organization, if the caller needs one. Otherwise the orchestrator queries every organization the caller belongs to — the same shape as ProxyListSessionsRequest.daemon_id one axis up. Absent is a defined answer ("all of them"), not an unresolved scope, so this read never raises the ambiguous-scope FailedPrecondition that ProxyListSessions raises. Set narrows to that organization after a membership check; an organization the caller does not belong to is denied rather than quietly widened. Before V20260905 there was no field, and the read resolved ONE organization from the caller's own claim. A client pinned older keeps that behavior. |
{- "organizationId": "string"
}{- "repos": [
- {
- "originUrl": "string",
- "displayName": "string",
- "defaultBaseBranch": "string",
- "daemons": [
- {
- "daemonId": "string",
- "repoId": "string",
- "hasLinearKey": true,
- "hasSentryKey": true,
- "daemonHostname": "string"
}
], - "organizationId": "string"
}
], - "failedOrganizations": [
- {
- "organizationId": "string",
- "organizationName": "string",
- "reason": "string"
}
]
}Proxied daemon RPCs (remote CLI → orchestrator → daemon)
| Connect-Protocol-Version required | number (Connect-Protocol-Version) Value: 1 Define the version of the Connect protocol Value: 1 |
| Connect-Timeout-Ms | number (Connect-Timeout-Ms) Define the timeout, in ms |
| repoId | string or null (repo_id) |
| states | Array of strings (states) Items Enum: "SESSION_STATE_UNSPECIFIED" "SESSION_STATE_CREATING_WORKTREE" "SESSION_STATE_STARTING_AGENT" "SESSION_STATE_PUSHING_BRANCH" "SESSION_STATE_OPENING_DRAFT_PR" "SESSION_STATE_IMPLEMENTING_PLAN" "SESSION_STATE_AWAITING_CHECKS" "SESSION_STATE_FIXING_CHECKS" "SESSION_STATE_GREEN_DRAFT" "SESSION_STATE_READY_FOR_REVIEW" "SESSION_STATE_BLOCKED" "SESSION_STATE_MERGED" "SESSION_STATE_CLOSED" "SESSION_STATE_FINALIZING" "SESSION_STATE_ORPHANED" |
| includeArchived | boolean (include_archived) |
| daemonId | string or null (daemon_id) Target daemon, if known. Otherwise orchestrator queries all. |
| organizationId | string or null (organization_id) Unset means every organization the caller belongs to. Set narrows to that organization after a membership check. Clients pinned below 2026-09-12 retain the former single-organization behavior when this is unset. |
{- "repoId": "string",
- "states": [
- "SESSION_STATE_UNSPECIFIED"
], - "includeArchived": true,
- "daemonId": "string",
- "organizationId": "string"
}{- "sessions": [
- {
- "id": "string",
- "repoId": "string",
- "title": "string",
- "plan": "string",
- "worktreePath": "string",
- "branchName": "string",
- "baseBranch": "string",
- "state": "SESSION_STATE_UNSPECIFIED",
- "agentSessionId": "string",
- "prNumber": 0,
- "prUrl": "string",
- "lastCheckState": "CHECKS_OVERALL_UNSPECIFIED",
- "lastCheckStateObserved": "CHECKS_OVERALL_UNSPECIFIED",
- "lastCheckStateHeadSha": "string",
- "lastCheckStateAt": "2023-01-15T01:30:15.01Z",
- "stateEnteredAt": "2023-01-15T01:30:15.01Z",
- "effectiveModel": "string",
- "effectiveEffort": "string",
- "organizationId": "string",
- "ownerUserId": "string",
- "ownerDisplayName": "string",
- "isAutomationEnabled": true,
- "attemptCount": 0,
- "blockedReason": "string",
- "archivedAt": "2023-01-15T01:30:15.01Z",
- "createdAt": "2023-01-15T01:30:15.01Z",
- "updatedAt": "2023-01-15T01:30:15.01Z",
- "repoDisplayName": "string",
- "displayStatus": "DISPLAY_STATUS_UNSPECIFIED",
- "displayHasFailures": true,
- "displayHasChangesRequested": true,
- "attentionStatus": {
- "needsAttention": true,
- "reason": "ATTENTION_REASON_UNSPECIFIED",
- "summary": "string",
- "since": "2023-01-15T01:30:15.01Z"
}, - "displayIsRepairing": true,
- "workflowDisplayStatus": "WORKFLOW_STATUS_UNSPECIFIED",
- "workflowDisplayLeg": 0,
- "workflowDisplayMaxLegs": 0,
- "hasActiveChat": true,
- "trackerId": "string",
- "trackerUrl": "string",
- "tmuxSessionName": "string",
- "prDisplayHeadSha": "string",
- "displayLabel": "string",
- "displayIntent": "DISPLAY_INTENT_UNSPECIFIED",
- "displaySpinner": true,
- "transferringTo": "string",
- "transferringFrom": "string",
- "agentName": "string",
- "lastRepairStartedAt": "2023-01-15T01:30:15.01Z",
- "lastRepairRunnerError": "string",
- "lastRepairExitError": "string",
- "lastRepairAttemptCount": 0,
- "lastRepairHeadSha": "string",
- "lastRepairDisplayStatus": "DISPLAY_STATUS_UNSPECIFIED",
- "lastChatActivityAt": "2023-01-15T01:30:15.01Z",
- "repoOriginUrl": "string",
- "lastRepairReviewFingerprint": "string",
- "displaySettingUp": true,
- "repoCanAutoRepair": true,
- "setupError": "string",
- "lastRepairBlockedReason": "string",
- "lastRepairBlockedAt": "2023-01-15T01:30:15.01Z",
- "repairActive": true,
- "prMergeable": true,
- "mergeBlock": {
- "gate": "GATE_UNSPECIFIED",
- "detail": "string",
- "blockingReviewers": [
- "string"
], - "displayStatus": "DISPLAY_STATUS_UNSPECIFIED"
}, - "lastAgentActivityAt": "2023-01-15T01:30:15.01Z",
- "accountId": "string",
- "accountLabel": "string",
- "rotationEvents": [
- {
- "id": "string",
- "sessionId": "string",
- "chatId": "string",
- "provider": "string",
- "trigger": "ROTATION_TRIGGER_UNSPECIFIED",
- "fromAccount": "string",
- "toAccount": "string",
- "resetAt": "2023-01-15T01:30:15.01Z",
- "outcome": "ROTATION_OUTCOME_UNSPECIFIED",
- "detail": "string",
- "createdAt": "2023-01-15T01:30:15.01Z"
}
], - "displayMerging": true,
- "repoShouldArchiveSessionsAfterMerge": true,
- "archivePending": true,
- "httpEndpoints": [
- {
- "port": 0,
- "url": "string"
}
], - "repairStalledAt": "2023-01-15T01:30:15.01Z",
- "listRank": 0,
- "isWaitingDemoted": true,
- "hasBuildReceipt": true,
- "isReadyOverWaiting": true,
- "attention": {
- "kind": "ATTENTION_KIND_UNSPECIFIED",
- "sentence": "string",
- "actions": [
- "ATTENTION_ACTION_UNSPECIFIED"
], - "since": "2023-01-15T01:30:15.01Z",
- "progressLabel": "string",
- "parkCodes": [
- "string"
], - "alertKey": "string",
- "targetChatId": "string",
- "evidenceUrl": "string",
- "openItems": [
- "string"
], - "isUnverified": true,
- "shouldShowDisplayLabel": true
}, - "isWorkingOverWaiting": true,
- "lastRepairBaseSha": "string",
- "verifyParkCodes": [
- "string"
]
}
], - "failedOrganizations": [
- {
- "organizationId": "string",
- "organizationName": "string",
- "reason": "string"
}
]
}Deprecated: use ProxyListSessions with organization_id unset for the union, or set organization_id to narrow the read.
| Connect-Protocol-Version required | number (Connect-Protocol-Version) Value: 1 Define the version of the Connect protocol Value: 1 |
| Connect-Timeout-Ms | number (Connect-Timeout-Ms) Define the timeout, in ms |
| repoId | string or null (repo_id) Mirrors ProxyListSessionsRequest field-for-field; each filter is applied per organization, exactly as the single-organization read applies it. The archived flag carries the should_ prefix the bool naming rule requires; ProxyListSessionsRequest.include_archived keeps its legacy spelling because renaming a shipped field is an API-version change of its own. |
| states | Array of strings (states) Items Enum: "SESSION_STATE_UNSPECIFIED" "SESSION_STATE_CREATING_WORKTREE" "SESSION_STATE_STARTING_AGENT" "SESSION_STATE_PUSHING_BRANCH" "SESSION_STATE_OPENING_DRAFT_PR" "SESSION_STATE_IMPLEMENTING_PLAN" "SESSION_STATE_AWAITING_CHECKS" "SESSION_STATE_FIXING_CHECKS" "SESSION_STATE_GREEN_DRAFT" "SESSION_STATE_READY_FOR_REVIEW" "SESSION_STATE_BLOCKED" "SESSION_STATE_MERGED" "SESSION_STATE_CLOSED" "SESSION_STATE_FINALIZING" "SESSION_STATE_ORPHANED" |
| shouldIncludeArchived | boolean (should_include_archived) |
| daemonId | string or null (daemon_id) Target daemon, if known. Otherwise orchestrator queries all. |
{- "repoId": "string",
- "states": [
- "SESSION_STATE_UNSPECIFIED"
], - "shouldIncludeArchived": true,
- "daemonId": "string"
}{- "sessions": [
- {
- "id": "string",
- "repoId": "string",
- "title": "string",
- "plan": "string",
- "worktreePath": "string",
- "branchName": "string",
- "baseBranch": "string",
- "state": "SESSION_STATE_UNSPECIFIED",
- "agentSessionId": "string",
- "prNumber": 0,
- "prUrl": "string",
- "lastCheckState": "CHECKS_OVERALL_UNSPECIFIED",
- "lastCheckStateObserved": "CHECKS_OVERALL_UNSPECIFIED",
- "lastCheckStateHeadSha": "string",
- "lastCheckStateAt": "2023-01-15T01:30:15.01Z",
- "stateEnteredAt": "2023-01-15T01:30:15.01Z",
- "effectiveModel": "string",
- "effectiveEffort": "string",
- "organizationId": "string",
- "ownerUserId": "string",
- "ownerDisplayName": "string",
- "isAutomationEnabled": true,
- "attemptCount": 0,
- "blockedReason": "string",
- "archivedAt": "2023-01-15T01:30:15.01Z",
- "createdAt": "2023-01-15T01:30:15.01Z",
- "updatedAt": "2023-01-15T01:30:15.01Z",
- "repoDisplayName": "string",
- "displayStatus": "DISPLAY_STATUS_UNSPECIFIED",
- "displayHasFailures": true,
- "displayHasChangesRequested": true,
- "attentionStatus": {
- "needsAttention": true,
- "reason": "ATTENTION_REASON_UNSPECIFIED",
- "summary": "string",
- "since": "2023-01-15T01:30:15.01Z"
}, - "displayIsRepairing": true,
- "workflowDisplayStatus": "WORKFLOW_STATUS_UNSPECIFIED",
- "workflowDisplayLeg": 0,
- "workflowDisplayMaxLegs": 0,
- "hasActiveChat": true,
- "trackerId": "string",
- "trackerUrl": "string",
- "tmuxSessionName": "string",
- "prDisplayHeadSha": "string",
- "displayLabel": "string",
- "displayIntent": "DISPLAY_INTENT_UNSPECIFIED",
- "displaySpinner": true,
- "transferringTo": "string",
- "transferringFrom": "string",
- "agentName": "string",
- "lastRepairStartedAt": "2023-01-15T01:30:15.01Z",
- "lastRepairRunnerError": "string",
- "lastRepairExitError": "string",
- "lastRepairAttemptCount": 0,
- "lastRepairHeadSha": "string",
- "lastRepairDisplayStatus": "DISPLAY_STATUS_UNSPECIFIED",
- "lastChatActivityAt": "2023-01-15T01:30:15.01Z",
- "repoOriginUrl": "string",
- "lastRepairReviewFingerprint": "string",
- "displaySettingUp": true,
- "repoCanAutoRepair": true,
- "setupError": "string",
- "lastRepairBlockedReason": "string",
- "lastRepairBlockedAt": "2023-01-15T01:30:15.01Z",
- "repairActive": true,
- "prMergeable": true,
- "mergeBlock": {
- "gate": "GATE_UNSPECIFIED",
- "detail": "string",
- "blockingReviewers": [
- "string"
], - "displayStatus": "DISPLAY_STATUS_UNSPECIFIED"
}, - "lastAgentActivityAt": "2023-01-15T01:30:15.01Z",
- "accountId": "string",
- "accountLabel": "string",
- "rotationEvents": [
- {
- "id": "string",
- "sessionId": "string",
- "chatId": "string",
- "provider": "string",
- "trigger": "ROTATION_TRIGGER_UNSPECIFIED",
- "fromAccount": "string",
- "toAccount": "string",
- "resetAt": "2023-01-15T01:30:15.01Z",
- "outcome": "ROTATION_OUTCOME_UNSPECIFIED",
- "detail": "string",
- "createdAt": "2023-01-15T01:30:15.01Z"
}
], - "displayMerging": true,
- "repoShouldArchiveSessionsAfterMerge": true,
- "archivePending": true,
- "httpEndpoints": [
- {
- "port": 0,
- "url": "string"
}
], - "repairStalledAt": "2023-01-15T01:30:15.01Z",
- "listRank": 0,
- "isWaitingDemoted": true,
- "hasBuildReceipt": true,
- "isReadyOverWaiting": true,
- "attention": {
- "kind": "ATTENTION_KIND_UNSPECIFIED",
- "sentence": "string",
- "actions": [
- "ATTENTION_ACTION_UNSPECIFIED"
], - "since": "2023-01-15T01:30:15.01Z",
- "progressLabel": "string",
- "parkCodes": [
- "string"
], - "alertKey": "string",
- "targetChatId": "string",
- "evidenceUrl": "string",
- "openItems": [
- "string"
], - "isUnverified": true,
- "shouldShowDisplayLabel": true
}, - "isWorkingOverWaiting": true,
- "lastRepairBaseSha": "string",
- "verifyParkCodes": [
- "string"
]
}
], - "organizations": [
- {
- "id": "string",
- "workosOrgId": "string",
- "name": "string",
- "callerRole": "MEMBER_ROLE_UNSPECIFIED",
- "isPersonal": true,
- "memberCount": 0,
- "createdAt": "2023-01-15T01:30:15.01Z",
- "isMemberSessionSharingEnabled": true
}
], - "failedOrganizations": [
- {
- "organizationId": "string",
- "organizationName": "string",
- "reason": "string"
}
]
}| Connect-Protocol-Version required | number (Connect-Protocol-Version) Value: 1 Define the version of the Connect protocol Value: 1 |
| Connect-Timeout-Ms | number (Connect-Timeout-Ms) Define the timeout, in ms |
| daemonId | string (daemon_id) |
| repoId | string (repo_id) |
| query | string (query) |
| source | string or null (source) "linear" (default) | "sentry" |
{- "daemonId": "string",
- "repoId": "string",
- "query": "string",
- "source": "string"
}{- "issues": [
- {
- "externalId": "string",
- "title": "string",
- "description": "string",
- "branchName": "string",
- "url": "string",
- "state": "string",
- "prNumber": 0,
- "existingBranch": "string"
}
]
}Daemon-scoped account-management proxies for the web Settings > Accounts section. Unlike ProxyListAccounts (session-scoped, switch picker) these route to the daemon named by daemon_id, since a Settings-level manager is not session-scoped. Accounts stay metadata only on the wire — the add / refresh requests carry an inbound-only credential blob (consumed straight into the daemon keyring, never echoed back). Each proxy forwards 1:1 to the existing daemon account.go handler via a reverse-stream OrchestratorCommand.
| Connect-Protocol-Version required | number (Connect-Protocol-Version) Value: 1 Define the version of the Connect protocol Value: 1 |
| Connect-Timeout-Ms | number (Connect-Timeout-Ms) Define the timeout, in ms |
| daemonId | string (daemon_id) |
| provider | string (provider) |
| shouldRefresh | boolean (should_refresh) |
{- "daemonId": "string",
- "provider": "string",
- "shouldRefresh": true
}{- "accounts": [
- {
- "id": "string",
- "provider": "string",
- "label": "string",
- "status": "string",
- "priority": 0,
- "cooldownUntil": "2023-01-15T01:30:15.01Z",
- "lastUsedAt": "2023-01-15T01:30:15.01Z",
- "health": "string",
- "tier": "string",
- "allowedModels": [
- "string"
], - "lastTestOkAt": "2023-01-15T01:30:15.01Z",
- "lastTestError": "string",
- "createdAt": "2023-01-15T01:30:15.01Z",
- "updatedAt": "2023-01-15T01:30:15.01Z",
- "usage": {
- "util5h": 0.1,
- "util7d": 0.1,
- "reset5h": "2023-01-15T01:30:15.01Z",
- "reset7d": "2023-01-15T01:30:15.01Z",
- "status": "string",
- "planTier": "string",
- "fetchedAt": "2023-01-15T01:30:15.01Z"
}, - "authCheck": {
- "outcome": "string",
- "failureClass": "string",
- "checkedAt": "2023-01-15T01:30:15.01Z",
- "nextRetryAt": "2023-01-15T01:30:15.01Z"
}
}
], - "hasRefreshed": true
}Merges a session's PR via the owning daemon's reverse stream.
| Connect-Protocol-Version required | number (Connect-Protocol-Version) Value: 1 Define the version of the Connect protocol Value: 1 |
| Connect-Timeout-Ms | number (Connect-Timeout-Ms) Define the timeout, in ms |
| id | string (id) |
{- "id": "string"
}{- "session": {
- "id": "string",
- "repoId": "string",
- "title": "string",
- "plan": "string",
- "worktreePath": "string",
- "branchName": "string",
- "baseBranch": "string",
- "state": "SESSION_STATE_UNSPECIFIED",
- "agentSessionId": "string",
- "prNumber": 0,
- "prUrl": "string",
- "lastCheckState": "CHECKS_OVERALL_UNSPECIFIED",
- "lastCheckStateObserved": "CHECKS_OVERALL_UNSPECIFIED",
- "lastCheckStateHeadSha": "string",
- "lastCheckStateAt": "2023-01-15T01:30:15.01Z",
- "stateEnteredAt": "2023-01-15T01:30:15.01Z",
- "effectiveModel": "string",
- "effectiveEffort": "string",
- "organizationId": "string",
- "ownerUserId": "string",
- "ownerDisplayName": "string",
- "isAutomationEnabled": true,
- "attemptCount": 0,
- "blockedReason": "string",
- "archivedAt": "2023-01-15T01:30:15.01Z",
- "createdAt": "2023-01-15T01:30:15.01Z",
- "updatedAt": "2023-01-15T01:30:15.01Z",
- "repoDisplayName": "string",
- "displayStatus": "DISPLAY_STATUS_UNSPECIFIED",
- "displayHasFailures": true,
- "displayHasChangesRequested": true,
- "attentionStatus": {
- "needsAttention": true,
- "reason": "ATTENTION_REASON_UNSPECIFIED",
- "summary": "string",
- "since": "2023-01-15T01:30:15.01Z"
}, - "displayIsRepairing": true,
- "workflowDisplayStatus": "WORKFLOW_STATUS_UNSPECIFIED",
- "workflowDisplayLeg": 0,
- "workflowDisplayMaxLegs": 0,
- "hasActiveChat": true,
- "trackerId": "string",
- "trackerUrl": "string",
- "tmuxSessionName": "string",
- "prDisplayHeadSha": "string",
- "displayLabel": "string",
- "displayIntent": "DISPLAY_INTENT_UNSPECIFIED",
- "displaySpinner": true,
- "transferringTo": "string",
- "transferringFrom": "string",
- "agentName": "string",
- "lastRepairStartedAt": "2023-01-15T01:30:15.01Z",
- "lastRepairRunnerError": "string",
- "lastRepairExitError": "string",
- "lastRepairAttemptCount": 0,
- "lastRepairHeadSha": "string",
- "lastRepairDisplayStatus": "DISPLAY_STATUS_UNSPECIFIED",
- "lastChatActivityAt": "2023-01-15T01:30:15.01Z",
- "repoOriginUrl": "string",
- "lastRepairReviewFingerprint": "string",
- "displaySettingUp": true,
- "repoCanAutoRepair": true,
- "setupError": "string",
- "lastRepairBlockedReason": "string",
- "lastRepairBlockedAt": "2023-01-15T01:30:15.01Z",
- "repairActive": true,
- "prMergeable": true,
- "mergeBlock": {
- "gate": "GATE_UNSPECIFIED",
- "detail": "string",
- "blockingReviewers": [
- "string"
], - "displayStatus": "DISPLAY_STATUS_UNSPECIFIED"
}, - "lastAgentActivityAt": "2023-01-15T01:30:15.01Z",
- "accountId": "string",
- "accountLabel": "string",
- "rotationEvents": [
- {
- "id": "string",
- "sessionId": "string",
- "chatId": "string",
- "provider": "string",
- "trigger": "ROTATION_TRIGGER_UNSPECIFIED",
- "fromAccount": "string",
- "toAccount": "string",
- "resetAt": "2023-01-15T01:30:15.01Z",
- "outcome": "ROTATION_OUTCOME_UNSPECIFIED",
- "detail": "string",
- "createdAt": "2023-01-15T01:30:15.01Z"
}
], - "displayMerging": true,
- "repoShouldArchiveSessionsAfterMerge": true,
- "archivePending": true,
- "httpEndpoints": [
- {
- "port": 0,
- "url": "string"
}
], - "repairStalledAt": "2023-01-15T01:30:15.01Z",
- "listRank": 0,
- "isWaitingDemoted": true,
- "hasBuildReceipt": true,
- "isReadyOverWaiting": true,
- "attention": {
- "kind": "ATTENTION_KIND_UNSPECIFIED",
- "sentence": "string",
- "actions": [
- "ATTENTION_ACTION_UNSPECIFIED"
], - "since": "2023-01-15T01:30:15.01Z",
- "progressLabel": "string",
- "parkCodes": [
- "string"
], - "alertKey": "string",
- "targetChatId": "string",
- "evidenceUrl": "string",
- "openItems": [
- "string"
], - "isUnverified": true,
- "shouldShowDisplayLabel": true
}, - "isWorkingOverWaiting": true,
- "lastRepairBaseSha": "string",
- "verifyParkCodes": [
- "string"
]
}
}ProxyMoveSession moves a session up or down the rendered list (routes by session_id). It is a pure passthrough: the rank arithmetic lives in the daemon, so bosso resolves the owner, forwards the DIRECTION, and returns the daemon's answer unchanged.
| Connect-Protocol-Version required | number (Connect-Protocol-Version) Value: 1 Define the version of the Connect protocol Value: 1 |
| Connect-Timeout-Ms | number (Connect-Timeout-Ms) Define the timeout, in ms |
| id | string (id) The session to move. |
| direction | string (bossanova.v1.MoveDirection) Enum: "MOVE_DIRECTION_UNSPECIFIED" "MOVE_DIRECTION_UP" "MOVE_DIRECTION_DOWN" Which way to move it. UNSPECIFIED is rejected by the daemon rather than defaulted, so a client that forgets to set it gets an error. |
| repoId | string or null (repo_id) Scope the neighbour computation to one repo, exactly as ProxyListSessionsRequest.repo_id does. Absent/empty means the cross-repo list, which is what the web app renders by default. |
{- "id": "string",
- "direction": "MOVE_DIRECTION_UNSPECIFIED",
- "repoId": "string"
}{- "session": {
- "id": "string",
- "repoId": "string",
- "title": "string",
- "plan": "string",
- "worktreePath": "string",
- "branchName": "string",
- "baseBranch": "string",
- "state": "SESSION_STATE_UNSPECIFIED",
- "agentSessionId": "string",
- "prNumber": 0,
- "prUrl": "string",
- "lastCheckState": "CHECKS_OVERALL_UNSPECIFIED",
- "lastCheckStateObserved": "CHECKS_OVERALL_UNSPECIFIED",
- "lastCheckStateHeadSha": "string",
- "lastCheckStateAt": "2023-01-15T01:30:15.01Z",
- "stateEnteredAt": "2023-01-15T01:30:15.01Z",
- "effectiveModel": "string",
- "effectiveEffort": "string",
- "organizationId": "string",
- "ownerUserId": "string",
- "ownerDisplayName": "string",
- "isAutomationEnabled": true,
- "attemptCount": 0,
- "blockedReason": "string",
- "archivedAt": "2023-01-15T01:30:15.01Z",
- "createdAt": "2023-01-15T01:30:15.01Z",
- "updatedAt": "2023-01-15T01:30:15.01Z",
- "repoDisplayName": "string",
- "displayStatus": "DISPLAY_STATUS_UNSPECIFIED",
- "displayHasFailures": true,
- "displayHasChangesRequested": true,
- "attentionStatus": {
- "needsAttention": true,
- "reason": "ATTENTION_REASON_UNSPECIFIED",
- "summary": "string",
- "since": "2023-01-15T01:30:15.01Z"
}, - "displayIsRepairing": true,
- "workflowDisplayStatus": "WORKFLOW_STATUS_UNSPECIFIED",
- "workflowDisplayLeg": 0,
- "workflowDisplayMaxLegs": 0,
- "hasActiveChat": true,
- "trackerId": "string",
- "trackerUrl": "string",
- "tmuxSessionName": "string",
- "prDisplayHeadSha": "string",
- "displayLabel": "string",
- "displayIntent": "DISPLAY_INTENT_UNSPECIFIED",
- "displaySpinner": true,
- "transferringTo": "string",
- "transferringFrom": "string",
- "agentName": "string",
- "lastRepairStartedAt": "2023-01-15T01:30:15.01Z",
- "lastRepairRunnerError": "string",
- "lastRepairExitError": "string",
- "lastRepairAttemptCount": 0,
- "lastRepairHeadSha": "string",
- "lastRepairDisplayStatus": "DISPLAY_STATUS_UNSPECIFIED",
- "lastChatActivityAt": "2023-01-15T01:30:15.01Z",
- "repoOriginUrl": "string",
- "lastRepairReviewFingerprint": "string",
- "displaySettingUp": true,
- "repoCanAutoRepair": true,
- "setupError": "string",
- "lastRepairBlockedReason": "string",
- "lastRepairBlockedAt": "2023-01-15T01:30:15.01Z",
- "repairActive": true,
- "prMergeable": true,
- "mergeBlock": {
- "gate": "GATE_UNSPECIFIED",
- "detail": "string",
- "blockingReviewers": [
- "string"
], - "displayStatus": "DISPLAY_STATUS_UNSPECIFIED"
}, - "lastAgentActivityAt": "2023-01-15T01:30:15.01Z",
- "accountId": "string",
- "accountLabel": "string",
- "rotationEvents": [
- {
- "id": "string",
- "sessionId": "string",
- "chatId": "string",
- "provider": "string",
- "trigger": "ROTATION_TRIGGER_UNSPECIFIED",
- "fromAccount": "string",
- "toAccount": "string",
- "resetAt": "2023-01-15T01:30:15.01Z",
- "outcome": "ROTATION_OUTCOME_UNSPECIFIED",
- "detail": "string",
- "createdAt": "2023-01-15T01:30:15.01Z"
}
], - "displayMerging": true,
- "repoShouldArchiveSessionsAfterMerge": true,
- "archivePending": true,
- "httpEndpoints": [
- {
- "port": 0,
- "url": "string"
}
], - "repairStalledAt": "2023-01-15T01:30:15.01Z",
- "listRank": 0,
- "isWaitingDemoted": true,
- "hasBuildReceipt": true,
- "isReadyOverWaiting": true,
- "attention": {
- "kind": "ATTENTION_KIND_UNSPECIFIED",
- "sentence": "string",
- "actions": [
- "ATTENTION_ACTION_UNSPECIFIED"
], - "since": "2023-01-15T01:30:15.01Z",
- "progressLabel": "string",
- "parkCodes": [
- "string"
], - "alertKey": "string",
- "targetChatId": "string",
- "evidenceUrl": "string",
- "openItems": [
- "string"
], - "isUnverified": true,
- "shouldShowDisplayLabel": true
}, - "isWorkingOverWaiting": true,
- "lastRepairBaseSha": "string",
- "verifyParkCodes": [
- "string"
]
}, - "isMoved": true
}ProxyOperatorMergeSession forwards DaemonService.OperatorMergeSession to the owning daemon.
| Connect-Protocol-Version required | number (Connect-Protocol-Version) Value: 1 Define the version of the Connect protocol Value: 1 |
| Connect-Timeout-Ms | number (Connect-Timeout-Ms) Define the timeout, in ms |
| id | string (id) |
| expectedHeadSha | string (expected_head_sha) |
| shouldApprove | boolean (should_approve) |
| waives | Array of strings (waives) |
{- "id": "string",
- "expectedHeadSha": "string",
- "shouldApprove": true,
- "waives": [
- "string"
]
}{- "isMerged": true,
- "session": {
- "id": "string",
- "repoId": "string",
- "title": "string",
- "plan": "string",
- "worktreePath": "string",
- "branchName": "string",
- "baseBranch": "string",
- "state": "SESSION_STATE_UNSPECIFIED",
- "agentSessionId": "string",
- "prNumber": 0,
- "prUrl": "string",
- "lastCheckState": "CHECKS_OVERALL_UNSPECIFIED",
- "lastCheckStateObserved": "CHECKS_OVERALL_UNSPECIFIED",
- "lastCheckStateHeadSha": "string",
- "lastCheckStateAt": "2023-01-15T01:30:15.01Z",
- "stateEnteredAt": "2023-01-15T01:30:15.01Z",
- "effectiveModel": "string",
- "effectiveEffort": "string",
- "organizationId": "string",
- "ownerUserId": "string",
- "ownerDisplayName": "string",
- "isAutomationEnabled": true,
- "attemptCount": 0,
- "blockedReason": "string",
- "archivedAt": "2023-01-15T01:30:15.01Z",
- "createdAt": "2023-01-15T01:30:15.01Z",
- "updatedAt": "2023-01-15T01:30:15.01Z",
- "repoDisplayName": "string",
- "displayStatus": "DISPLAY_STATUS_UNSPECIFIED",
- "displayHasFailures": true,
- "displayHasChangesRequested": true,
- "attentionStatus": {
- "needsAttention": true,
- "reason": "ATTENTION_REASON_UNSPECIFIED",
- "summary": "string",
- "since": "2023-01-15T01:30:15.01Z"
}, - "displayIsRepairing": true,
- "workflowDisplayStatus": "WORKFLOW_STATUS_UNSPECIFIED",
- "workflowDisplayLeg": 0,
- "workflowDisplayMaxLegs": 0,
- "hasActiveChat": true,
- "trackerId": "string",
- "trackerUrl": "string",
- "tmuxSessionName": "string",
- "prDisplayHeadSha": "string",
- "displayLabel": "string",
- "displayIntent": "DISPLAY_INTENT_UNSPECIFIED",
- "displaySpinner": true,
- "transferringTo": "string",
- "transferringFrom": "string",
- "agentName": "string",
- "lastRepairStartedAt": "2023-01-15T01:30:15.01Z",
- "lastRepairRunnerError": "string",
- "lastRepairExitError": "string",
- "lastRepairAttemptCount": 0,
- "lastRepairHeadSha": "string",
- "lastRepairDisplayStatus": "DISPLAY_STATUS_UNSPECIFIED",
- "lastChatActivityAt": "2023-01-15T01:30:15.01Z",
- "repoOriginUrl": "string",
- "lastRepairReviewFingerprint": "string",
- "displaySettingUp": true,
- "repoCanAutoRepair": true,
- "setupError": "string",
- "lastRepairBlockedReason": "string",
- "lastRepairBlockedAt": "2023-01-15T01:30:15.01Z",
- "repairActive": true,
- "prMergeable": true,
- "mergeBlock": {
- "gate": "GATE_UNSPECIFIED",
- "detail": "string",
- "blockingReviewers": [
- "string"
], - "displayStatus": "DISPLAY_STATUS_UNSPECIFIED"
}, - "lastAgentActivityAt": "2023-01-15T01:30:15.01Z",
- "accountId": "string",
- "accountLabel": "string",
- "rotationEvents": [
- {
- "id": "string",
- "sessionId": "string",
- "chatId": "string",
- "provider": "string",
- "trigger": "ROTATION_TRIGGER_UNSPECIFIED",
- "fromAccount": "string",
- "toAccount": "string",
- "resetAt": "2023-01-15T01:30:15.01Z",
- "outcome": "ROTATION_OUTCOME_UNSPECIFIED",
- "detail": "string",
- "createdAt": "2023-01-15T01:30:15.01Z"
}
], - "displayMerging": true,
- "repoShouldArchiveSessionsAfterMerge": true,
- "archivePending": true,
- "httpEndpoints": [
- {
- "port": 0,
- "url": "string"
}
], - "repairStalledAt": "2023-01-15T01:30:15.01Z",
- "listRank": 0,
- "isWaitingDemoted": true,
- "hasBuildReceipt": true,
- "isReadyOverWaiting": true,
- "attention": {
- "kind": "ATTENTION_KIND_UNSPECIFIED",
- "sentence": "string",
- "actions": [
- "ATTENTION_ACTION_UNSPECIFIED"
], - "since": "2023-01-15T01:30:15.01Z",
- "progressLabel": "string",
- "parkCodes": [
- "string"
], - "alertKey": "string",
- "targetChatId": "string",
- "evidenceUrl": "string",
- "openItems": [
- "string"
], - "isUnverified": true,
- "shouldShowDisplayLabel": true
}, - "isWorkingOverWaiting": true,
- "lastRepairBaseSha": "string",
- "verifyParkCodes": [
- "string"
]
}, - "mergeDetail": "string",
- "approval": {
- "isApproved": true,
- "isPlanned": true,
- "isDryRun": true,
- "reason": "string",
- "waives": "string",
- "lifted": "string",
- "headSha": "string",
- "trackerWrites": "string",
- "approvalUrl": "string",
- "why": "string",
- "park": "string",
- "state": "string",
- "signOff": "string",
- "detail": "string"
}, - "trackerWrites": "string",
- "trackerWhy": "string",
- "trackerTicket": "string"
}| Connect-Protocol-Version required | number (Connect-Protocol-Version) Value: 1 Define the version of the Connect protocol Value: 1 |
| Connect-Timeout-Ms | number (Connect-Timeout-Ms) Define the timeout, in ms |
| id | string (id) |
{- "id": "string"
}{- "session": {
- "id": "string",
- "repoId": "string",
- "title": "string",
- "plan": "string",
- "worktreePath": "string",
- "branchName": "string",
- "baseBranch": "string",
- "state": "SESSION_STATE_UNSPECIFIED",
- "agentSessionId": "string",
- "prNumber": 0,
- "prUrl": "string",
- "lastCheckState": "CHECKS_OVERALL_UNSPECIFIED",
- "lastCheckStateObserved": "CHECKS_OVERALL_UNSPECIFIED",
- "lastCheckStateHeadSha": "string",
- "lastCheckStateAt": "2023-01-15T01:30:15.01Z",
- "stateEnteredAt": "2023-01-15T01:30:15.01Z",
- "effectiveModel": "string",
- "effectiveEffort": "string",
- "organizationId": "string",
- "ownerUserId": "string",
- "ownerDisplayName": "string",
- "isAutomationEnabled": true,
- "attemptCount": 0,
- "blockedReason": "string",
- "archivedAt": "2023-01-15T01:30:15.01Z",
- "createdAt": "2023-01-15T01:30:15.01Z",
- "updatedAt": "2023-01-15T01:30:15.01Z",
- "repoDisplayName": "string",
- "displayStatus": "DISPLAY_STATUS_UNSPECIFIED",
- "displayHasFailures": true,
- "displayHasChangesRequested": true,
- "attentionStatus": {
- "needsAttention": true,
- "reason": "ATTENTION_REASON_UNSPECIFIED",
- "summary": "string",
- "since": "2023-01-15T01:30:15.01Z"
}, - "displayIsRepairing": true,
- "workflowDisplayStatus": "WORKFLOW_STATUS_UNSPECIFIED",
- "workflowDisplayLeg": 0,
- "workflowDisplayMaxLegs": 0,
- "hasActiveChat": true,
- "trackerId": "string",
- "trackerUrl": "string",
- "tmuxSessionName": "string",
- "prDisplayHeadSha": "string",
- "displayLabel": "string",
- "displayIntent": "DISPLAY_INTENT_UNSPECIFIED",
- "displaySpinner": true,
- "transferringTo": "string",
- "transferringFrom": "string",
- "agentName": "string",
- "lastRepairStartedAt": "2023-01-15T01:30:15.01Z",
- "lastRepairRunnerError": "string",
- "lastRepairExitError": "string",
- "lastRepairAttemptCount": 0,
- "lastRepairHeadSha": "string",
- "lastRepairDisplayStatus": "DISPLAY_STATUS_UNSPECIFIED",
- "lastChatActivityAt": "2023-01-15T01:30:15.01Z",
- "repoOriginUrl": "string",
- "lastRepairReviewFingerprint": "string",
- "displaySettingUp": true,
- "repoCanAutoRepair": true,
- "setupError": "string",
- "lastRepairBlockedReason": "string",
- "lastRepairBlockedAt": "2023-01-15T01:30:15.01Z",
- "repairActive": true,
- "prMergeable": true,
- "mergeBlock": {
- "gate": "GATE_UNSPECIFIED",
- "detail": "string",
- "blockingReviewers": [
- "string"
], - "displayStatus": "DISPLAY_STATUS_UNSPECIFIED"
}, - "lastAgentActivityAt": "2023-01-15T01:30:15.01Z",
- "accountId": "string",
- "accountLabel": "string",
- "rotationEvents": [
- {
- "id": "string",
- "sessionId": "string",
- "chatId": "string",
- "provider": "string",
- "trigger": "ROTATION_TRIGGER_UNSPECIFIED",
- "fromAccount": "string",
- "toAccount": "string",
- "resetAt": "2023-01-15T01:30:15.01Z",
- "outcome": "ROTATION_OUTCOME_UNSPECIFIED",
- "detail": "string",
- "createdAt": "2023-01-15T01:30:15.01Z"
}
], - "displayMerging": true,
- "repoShouldArchiveSessionsAfterMerge": true,
- "archivePending": true,
- "httpEndpoints": [
- {
- "port": 0,
- "url": "string"
}
], - "repairStalledAt": "2023-01-15T01:30:15.01Z",
- "listRank": 0,
- "isWaitingDemoted": true,
- "hasBuildReceipt": true,
- "isReadyOverWaiting": true,
- "attention": {
- "kind": "ATTENTION_KIND_UNSPECIFIED",
- "sentence": "string",
- "actions": [
- "ATTENTION_ACTION_UNSPECIFIED"
], - "since": "2023-01-15T01:30:15.01Z",
- "progressLabel": "string",
- "parkCodes": [
- "string"
], - "alertKey": "string",
- "targetChatId": "string",
- "evidenceUrl": "string",
- "openItems": [
- "string"
], - "isUnverified": true,
- "shouldShowDisplayLabel": true
}, - "isWorkingOverWaiting": true,
- "lastRepairBaseSha": "string",
- "verifyParkCodes": [
- "string"
]
}
}Records or resumes a chat via the owning daemon's reverse stream.
| Connect-Protocol-Version required | number (Connect-Protocol-Version) Value: 1 Define the version of the Connect protocol Value: 1 |
| Connect-Timeout-Ms | number (Connect-Timeout-Ms) Define the timeout, in ms |
| sessionId | string (session_id) |
| agentSessionId | string (agent_session_id) |
| title | string (title) |
| resume | boolean (resume) |
| agentName | string (agent_name) |
{- "sessionId": "string",
- "agentSessionId": "string",
- "title": "string",
- "resume": true,
- "agentName": "string"
}{- "chat": {
- "id": "string",
- "sessionId": "string",
- "agentSessionId": "string",
- "title": "string",
- "daemonId": "string",
- "createdAt": "2023-01-15T01:30:15.01Z",
- "tmuxSessionName": "string",
- "agentName": "string",
- "providerSessionId": "string",
- "startError": "string",
- "ownerUserId": "string",
- "role": "CHAT_ROLE_UNSPECIFIED",
- "reclaimedAt": "2023-01-15T01:30:15.01Z",
- "reclaimReason": "string"
}
}| Connect-Protocol-Version required | number (Connect-Protocol-Version) Value: 1 Define the version of the Connect protocol Value: 1 |
| Connect-Timeout-Ms | number (Connect-Timeout-Ms) Define the timeout, in ms |
| daemonId | string (daemon_id) |
| id | string (id) |
| credential | string <byte> (credential) inbound only; never echoed |
| testAfterSave | boolean (test_after_save) run the TestAccount validation path after saving |
{- "daemonId": "string",
- "id": "string",
- "credential": "string",
- "testAfterSave": true
}{- "account": {
- "id": "string",
- "provider": "string",
- "label": "string",
- "status": "string",
- "priority": 0,
- "cooldownUntil": "2023-01-15T01:30:15.01Z",
- "lastUsedAt": "2023-01-15T01:30:15.01Z",
- "health": "string",
- "tier": "string",
- "allowedModels": [
- "string"
], - "lastTestOkAt": "2023-01-15T01:30:15.01Z",
- "lastTestError": "string",
- "createdAt": "2023-01-15T01:30:15.01Z",
- "updatedAt": "2023-01-15T01:30:15.01Z",
- "usage": {
- "util5h": 0.1,
- "util7d": 0.1,
- "reset5h": "2023-01-15T01:30:15.01Z",
- "reset7d": "2023-01-15T01:30:15.01Z",
- "status": "string",
- "planTier": "string",
- "fetchedAt": "2023-01-15T01:30:15.01Z"
}, - "authCheck": {
- "outcome": "string",
- "failureClass": "string",
- "checkedAt": "2023-01-15T01:30:15.01Z",
- "nextRetryAt": "2023-01-15T01:30:15.01Z"
}
}, - "liveSmokeRan": true,
- "detail": "string"
}| Connect-Protocol-Version required | number (Connect-Protocol-Version) Value: 1 Define the version of the Connect protocol Value: 1 |
| Connect-Timeout-Ms | number (Connect-Timeout-Ms) Define the timeout, in ms |
| daemonId | string (daemon_id) |
| id | string (id) |
{- "daemonId": "string",
- "id": "string"
}{ }| Connect-Protocol-Version required | number (Connect-Protocol-Version) Value: 1 Define the version of the Connect protocol Value: 1 |
| Connect-Timeout-Ms | number (Connect-Timeout-Ms) Define the timeout, in ms |
| daemonId | string (daemon_id) |
| repoId | string (repo_id) |
{- "daemonId": "string",
- "repoId": "string"
}{ }ProxyRemoveSession permanently removes a session and its worktree (Ok-only).
| Connect-Protocol-Version required | number (Connect-Protocol-Version) Value: 1 Define the version of the Connect protocol Value: 1 |
| Connect-Timeout-Ms | number (Connect-Timeout-Ms) Define the timeout, in ms |
| id | string (id) |
{- "id": "string"
}{ }ProxyRepairDoctor merges repair-doctor reports across the caller's Ready daemons.
| Connect-Protocol-Version required | number (Connect-Protocol-Version) Value: 1 Define the version of the Connect protocol Value: 1 |
| Connect-Timeout-Ms | number (Connect-Timeout-Ms) Define the timeout, in ms |
| organizationId | string or null (organization_id) Target organization, if the caller needs one. Absent queries every organization the caller belongs to. Set narrows after a membership check; a non-member organization is denied rather than quietly widened. Before V20260910 there was no field and this read resolved one organization. |
{- "organizationId": "string"
}{- "checks": [
- {
- "name": "string",
- "ok": true,
- "detail": "string"
}
], - "recentLogs": [
- {
- "path": "string",
- "sizeBytes": 0,
- "modifiedAt": "2023-01-15T01:30:15.01Z",
- "headLine": "string"
}
], - "failedOrganizations": [
- {
- "organizationId": "string",
- "organizationName": "string",
- "reason": "string"
}
]
}ProxyReportChatStatus forwards chat status heartbeats. All reports must resolve to the caller's own chats on a single daemon.
| Connect-Protocol-Version required | number (Connect-Protocol-Version) Value: 1 Define the version of the Connect protocol Value: 1 |
| Connect-Timeout-Ms | number (Connect-Timeout-Ms) Define the timeout, in ms |
Array of objects (reports) | |||||||
Array
| |||||||
{- "reports": [
- {
- "agentSessionId": "string",
- "status": "CHAT_STATUS_UNSPECIFIED",
- "lastOutputAt": "2023-01-15T01:30:15.01Z"
}
]
}{ }| Connect-Protocol-Version required | number (Connect-Protocol-Version) Value: 1 Define the version of the Connect protocol Value: 1 |
| Connect-Timeout-Ms | number (Connect-Timeout-Ms) Define the timeout, in ms |
| id | string (id) |
{- "id": "string"
}{- "session": {
- "id": "string",
- "repoId": "string",
- "title": "string",
- "plan": "string",
- "worktreePath": "string",
- "branchName": "string",
- "baseBranch": "string",
- "state": "SESSION_STATE_UNSPECIFIED",
- "agentSessionId": "string",
- "prNumber": 0,
- "prUrl": "string",
- "lastCheckState": "CHECKS_OVERALL_UNSPECIFIED",
- "lastCheckStateObserved": "CHECKS_OVERALL_UNSPECIFIED",
- "lastCheckStateHeadSha": "string",
- "lastCheckStateAt": "2023-01-15T01:30:15.01Z",
- "stateEnteredAt": "2023-01-15T01:30:15.01Z",
- "effectiveModel": "string",
- "effectiveEffort": "string",
- "organizationId": "string",
- "ownerUserId": "string",
- "ownerDisplayName": "string",
- "isAutomationEnabled": true,
- "attemptCount": 0,
- "blockedReason": "string",
- "archivedAt": "2023-01-15T01:30:15.01Z",
- "createdAt": "2023-01-15T01:30:15.01Z",
- "updatedAt": "2023-01-15T01:30:15.01Z",
- "repoDisplayName": "string",
- "displayStatus": "DISPLAY_STATUS_UNSPECIFIED",
- "displayHasFailures": true,
- "displayHasChangesRequested": true,
- "attentionStatus": {
- "needsAttention": true,
- "reason": "ATTENTION_REASON_UNSPECIFIED",
- "summary": "string",
- "since": "2023-01-15T01:30:15.01Z"
}, - "displayIsRepairing": true,
- "workflowDisplayStatus": "WORKFLOW_STATUS_UNSPECIFIED",
- "workflowDisplayLeg": 0,
- "workflowDisplayMaxLegs": 0,
- "hasActiveChat": true,
- "trackerId": "string",
- "trackerUrl": "string",
- "tmuxSessionName": "string",
- "prDisplayHeadSha": "string",
- "displayLabel": "string",
- "displayIntent": "DISPLAY_INTENT_UNSPECIFIED",
- "displaySpinner": true,
- "transferringTo": "string",
- "transferringFrom": "string",
- "agentName": "string",
- "lastRepairStartedAt": "2023-01-15T01:30:15.01Z",
- "lastRepairRunnerError": "string",
- "lastRepairExitError": "string",
- "lastRepairAttemptCount": 0,
- "lastRepairHeadSha": "string",
- "lastRepairDisplayStatus": "DISPLAY_STATUS_UNSPECIFIED",
- "lastChatActivityAt": "2023-01-15T01:30:15.01Z",
- "repoOriginUrl": "string",
- "lastRepairReviewFingerprint": "string",
- "displaySettingUp": true,
- "repoCanAutoRepair": true,
- "setupError": "string",
- "lastRepairBlockedReason": "string",
- "lastRepairBlockedAt": "2023-01-15T01:30:15.01Z",
- "repairActive": true,
- "prMergeable": true,
- "mergeBlock": {
- "gate": "GATE_UNSPECIFIED",
- "detail": "string",
- "blockingReviewers": [
- "string"
], - "displayStatus": "DISPLAY_STATUS_UNSPECIFIED"
}, - "lastAgentActivityAt": "2023-01-15T01:30:15.01Z",
- "accountId": "string",
- "accountLabel": "string",
- "rotationEvents": [
- {
- "id": "string",
- "sessionId": "string",
- "chatId": "string",
- "provider": "string",
- "trigger": "ROTATION_TRIGGER_UNSPECIFIED",
- "fromAccount": "string",
- "toAccount": "string",
- "resetAt": "2023-01-15T01:30:15.01Z",
- "outcome": "ROTATION_OUTCOME_UNSPECIFIED",
- "detail": "string",
- "createdAt": "2023-01-15T01:30:15.01Z"
}
], - "displayMerging": true,
- "repoShouldArchiveSessionsAfterMerge": true,
- "archivePending": true,
- "httpEndpoints": [
- {
- "port": 0,
- "url": "string"
}
], - "repairStalledAt": "2023-01-15T01:30:15.01Z",
- "listRank": 0,
- "isWaitingDemoted": true,
- "hasBuildReceipt": true,
- "isReadyOverWaiting": true,
- "attention": {
- "kind": "ATTENTION_KIND_UNSPECIFIED",
- "sentence": "string",
- "actions": [
- "ATTENTION_ACTION_UNSPECIFIED"
], - "since": "2023-01-15T01:30:15.01Z",
- "progressLabel": "string",
- "parkCodes": [
- "string"
], - "alertKey": "string",
- "targetChatId": "string",
- "evidenceUrl": "string",
- "openItems": [
- "string"
], - "isUnverified": true,
- "shouldShowDisplayLabel": true
}, - "isWorkingOverWaiting": true,
- "lastRepairBaseSha": "string",
- "verifyParkCodes": [
- "string"
]
}
}ProxyResumeSessionRun forwards DaemonService.ResumeSessionRun to the owning daemon.
| Connect-Protocol-Version required | number (Connect-Protocol-Version) Value: 1 Define the version of the Connect protocol Value: 1 |
| Connect-Timeout-Ms | number (Connect-Timeout-Ms) Define the timeout, in ms |
| id | string (id) |
{- "id": "string"
}{- "session": {
- "id": "string",
- "repoId": "string",
- "title": "string",
- "plan": "string",
- "worktreePath": "string",
- "branchName": "string",
- "baseBranch": "string",
- "state": "SESSION_STATE_UNSPECIFIED",
- "agentSessionId": "string",
- "prNumber": 0,
- "prUrl": "string",
- "lastCheckState": "CHECKS_OVERALL_UNSPECIFIED",
- "lastCheckStateObserved": "CHECKS_OVERALL_UNSPECIFIED",
- "lastCheckStateHeadSha": "string",
- "lastCheckStateAt": "2023-01-15T01:30:15.01Z",
- "stateEnteredAt": "2023-01-15T01:30:15.01Z",
- "effectiveModel": "string",
- "effectiveEffort": "string",
- "organizationId": "string",
- "ownerUserId": "string",
- "ownerDisplayName": "string",
- "isAutomationEnabled": true,
- "attemptCount": 0,
- "blockedReason": "string",
- "archivedAt": "2023-01-15T01:30:15.01Z",
- "createdAt": "2023-01-15T01:30:15.01Z",
- "updatedAt": "2023-01-15T01:30:15.01Z",
- "repoDisplayName": "string",
- "displayStatus": "DISPLAY_STATUS_UNSPECIFIED",
- "displayHasFailures": true,
- "displayHasChangesRequested": true,
- "attentionStatus": {
- "needsAttention": true,
- "reason": "ATTENTION_REASON_UNSPECIFIED",
- "summary": "string",
- "since": "2023-01-15T01:30:15.01Z"
}, - "displayIsRepairing": true,
- "workflowDisplayStatus": "WORKFLOW_STATUS_UNSPECIFIED",
- "workflowDisplayLeg": 0,
- "workflowDisplayMaxLegs": 0,
- "hasActiveChat": true,
- "trackerId": "string",
- "trackerUrl": "string",
- "tmuxSessionName": "string",
- "prDisplayHeadSha": "string",
- "displayLabel": "string",
- "displayIntent": "DISPLAY_INTENT_UNSPECIFIED",
- "displaySpinner": true,
- "transferringTo": "string",
- "transferringFrom": "string",
- "agentName": "string",
- "lastRepairStartedAt": "2023-01-15T01:30:15.01Z",
- "lastRepairRunnerError": "string",
- "lastRepairExitError": "string",
- "lastRepairAttemptCount": 0,
- "lastRepairHeadSha": "string",
- "lastRepairDisplayStatus": "DISPLAY_STATUS_UNSPECIFIED",
- "lastChatActivityAt": "2023-01-15T01:30:15.01Z",
- "repoOriginUrl": "string",
- "lastRepairReviewFingerprint": "string",
- "displaySettingUp": true,
- "repoCanAutoRepair": true,
- "setupError": "string",
- "lastRepairBlockedReason": "string",
- "lastRepairBlockedAt": "2023-01-15T01:30:15.01Z",
- "repairActive": true,
- "prMergeable": true,
- "mergeBlock": {
- "gate": "GATE_UNSPECIFIED",
- "detail": "string",
- "blockingReviewers": [
- "string"
], - "displayStatus": "DISPLAY_STATUS_UNSPECIFIED"
}, - "lastAgentActivityAt": "2023-01-15T01:30:15.01Z",
- "accountId": "string",
- "accountLabel": "string",
- "rotationEvents": [
- {
- "id": "string",
- "sessionId": "string",
- "chatId": "string",
- "provider": "string",
- "trigger": "ROTATION_TRIGGER_UNSPECIFIED",
- "fromAccount": "string",
- "toAccount": "string",
- "resetAt": "2023-01-15T01:30:15.01Z",
- "outcome": "ROTATION_OUTCOME_UNSPECIFIED",
- "detail": "string",
- "createdAt": "2023-01-15T01:30:15.01Z"
}
], - "displayMerging": true,
- "repoShouldArchiveSessionsAfterMerge": true,
- "archivePending": true,
- "httpEndpoints": [
- {
- "port": 0,
- "url": "string"
}
], - "repairStalledAt": "2023-01-15T01:30:15.01Z",
- "listRank": 0,
- "isWaitingDemoted": true,
- "hasBuildReceipt": true,
- "isReadyOverWaiting": true,
- "attention": {
- "kind": "ATTENTION_KIND_UNSPECIFIED",
- "sentence": "string",
- "actions": [
- "ATTENTION_ACTION_UNSPECIFIED"
], - "since": "2023-01-15T01:30:15.01Z",
- "progressLabel": "string",
- "parkCodes": [
- "string"
], - "alertKey": "string",
- "targetChatId": "string",
- "evidenceUrl": "string",
- "openItems": [
- "string"
], - "isUnverified": true,
- "shouldShowDisplayLabel": true
}, - "isWorkingOverWaiting": true,
- "lastRepairBaseSha": "string",
- "verifyParkCodes": [
- "string"
]
}
}ProxyResurrectSession restores an archived session, returning the updated Session.
| Connect-Protocol-Version required | number (Connect-Protocol-Version) Value: 1 Define the version of the Connect protocol Value: 1 |
| Connect-Timeout-Ms | number (Connect-Timeout-Ms) Define the timeout, in ms |
| id | string (id) |
{- "id": "string"
}{- "session": {
- "id": "string",
- "repoId": "string",
- "title": "string",
- "plan": "string",
- "worktreePath": "string",
- "branchName": "string",
- "baseBranch": "string",
- "state": "SESSION_STATE_UNSPECIFIED",
- "agentSessionId": "string",
- "prNumber": 0,
- "prUrl": "string",
- "lastCheckState": "CHECKS_OVERALL_UNSPECIFIED",
- "lastCheckStateObserved": "CHECKS_OVERALL_UNSPECIFIED",
- "lastCheckStateHeadSha": "string",
- "lastCheckStateAt": "2023-01-15T01:30:15.01Z",
- "stateEnteredAt": "2023-01-15T01:30:15.01Z",
- "effectiveModel": "string",
- "effectiveEffort": "string",
- "organizationId": "string",
- "ownerUserId": "string",
- "ownerDisplayName": "string",
- "isAutomationEnabled": true,
- "attemptCount": 0,
- "blockedReason": "string",
- "archivedAt": "2023-01-15T01:30:15.01Z",
- "createdAt": "2023-01-15T01:30:15.01Z",
- "updatedAt": "2023-01-15T01:30:15.01Z",
- "repoDisplayName": "string",
- "displayStatus": "DISPLAY_STATUS_UNSPECIFIED",
- "displayHasFailures": true,
- "displayHasChangesRequested": true,
- "attentionStatus": {
- "needsAttention": true,
- "reason": "ATTENTION_REASON_UNSPECIFIED",
- "summary": "string",
- "since": "2023-01-15T01:30:15.01Z"
}, - "displayIsRepairing": true,
- "workflowDisplayStatus": "WORKFLOW_STATUS_UNSPECIFIED",
- "workflowDisplayLeg": 0,
- "workflowDisplayMaxLegs": 0,
- "hasActiveChat": true,
- "trackerId": "string",
- "trackerUrl": "string",
- "tmuxSessionName": "string",
- "prDisplayHeadSha": "string",
- "displayLabel": "string",
- "displayIntent": "DISPLAY_INTENT_UNSPECIFIED",
- "displaySpinner": true,
- "transferringTo": "string",
- "transferringFrom": "string",
- "agentName": "string",
- "lastRepairStartedAt": "2023-01-15T01:30:15.01Z",
- "lastRepairRunnerError": "string",
- "lastRepairExitError": "string",
- "lastRepairAttemptCount": 0,
- "lastRepairHeadSha": "string",
- "lastRepairDisplayStatus": "DISPLAY_STATUS_UNSPECIFIED",
- "lastChatActivityAt": "2023-01-15T01:30:15.01Z",
- "repoOriginUrl": "string",
- "lastRepairReviewFingerprint": "string",
- "displaySettingUp": true,
- "repoCanAutoRepair": true,
- "setupError": "string",
- "lastRepairBlockedReason": "string",
- "lastRepairBlockedAt": "2023-01-15T01:30:15.01Z",
- "repairActive": true,
- "prMergeable": true,
- "mergeBlock": {
- "gate": "GATE_UNSPECIFIED",
- "detail": "string",
- "blockingReviewers": [
- "string"
], - "displayStatus": "DISPLAY_STATUS_UNSPECIFIED"
}, - "lastAgentActivityAt": "2023-01-15T01:30:15.01Z",
- "accountId": "string",
- "accountLabel": "string",
- "rotationEvents": [
- {
- "id": "string",
- "sessionId": "string",
- "chatId": "string",
- "provider": "string",
- "trigger": "ROTATION_TRIGGER_UNSPECIFIED",
- "fromAccount": "string",
- "toAccount": "string",
- "resetAt": "2023-01-15T01:30:15.01Z",
- "outcome": "ROTATION_OUTCOME_UNSPECIFIED",
- "detail": "string",
- "createdAt": "2023-01-15T01:30:15.01Z"
}
], - "displayMerging": true,
- "repoShouldArchiveSessionsAfterMerge": true,
- "archivePending": true,
- "httpEndpoints": [
- {
- "port": 0,
- "url": "string"
}
], - "repairStalledAt": "2023-01-15T01:30:15.01Z",
- "listRank": 0,
- "isWaitingDemoted": true,
- "hasBuildReceipt": true,
- "isReadyOverWaiting": true,
- "attention": {
- "kind": "ATTENTION_KIND_UNSPECIFIED",
- "sentence": "string",
- "actions": [
- "ATTENTION_ACTION_UNSPECIFIED"
], - "since": "2023-01-15T01:30:15.01Z",
- "progressLabel": "string",
- "parkCodes": [
- "string"
], - "alertKey": "string",
- "targetChatId": "string",
- "evidenceUrl": "string",
- "openItems": [
- "string"
], - "isUnverified": true,
- "shouldShowDisplayLabel": true
}, - "isWorkingOverWaiting": true,
- "lastRepairBaseSha": "string",
- "verifyParkCodes": [
- "string"
]
}
}Mutating MCP gateway parity (BOS-402). Session-scoped mutations route to the owning daemon via FindSessionDaemon; chat-scoped mutations via FindDaemonForChat(agent_session_id). A foreign entity resolves to NotFound, so no cross-user mutation can dispatch. ProxyRetrySession retries a failed session (routes by session_id).
| Connect-Protocol-Version required | number (Connect-Protocol-Version) Value: 1 Define the version of the Connect protocol Value: 1 |
| Connect-Timeout-Ms | number (Connect-Timeout-Ms) Define the timeout, in ms |
| id | string (id) |
{- "id": "string"
}{- "session": {
- "id": "string",
- "repoId": "string",
- "title": "string",
- "plan": "string",
- "worktreePath": "string",
- "branchName": "string",
- "baseBranch": "string",
- "state": "SESSION_STATE_UNSPECIFIED",
- "agentSessionId": "string",
- "prNumber": 0,
- "prUrl": "string",
- "lastCheckState": "CHECKS_OVERALL_UNSPECIFIED",
- "lastCheckStateObserved": "CHECKS_OVERALL_UNSPECIFIED",
- "lastCheckStateHeadSha": "string",
- "lastCheckStateAt": "2023-01-15T01:30:15.01Z",
- "stateEnteredAt": "2023-01-15T01:30:15.01Z",
- "effectiveModel": "string",
- "effectiveEffort": "string",
- "organizationId": "string",
- "ownerUserId": "string",
- "ownerDisplayName": "string",
- "isAutomationEnabled": true,
- "attemptCount": 0,
- "blockedReason": "string",
- "archivedAt": "2023-01-15T01:30:15.01Z",
- "createdAt": "2023-01-15T01:30:15.01Z",
- "updatedAt": "2023-01-15T01:30:15.01Z",
- "repoDisplayName": "string",
- "displayStatus": "DISPLAY_STATUS_UNSPECIFIED",
- "displayHasFailures": true,
- "displayHasChangesRequested": true,
- "attentionStatus": {
- "needsAttention": true,
- "reason": "ATTENTION_REASON_UNSPECIFIED",
- "summary": "string",
- "since": "2023-01-15T01:30:15.01Z"
}, - "displayIsRepairing": true,
- "workflowDisplayStatus": "WORKFLOW_STATUS_UNSPECIFIED",
- "workflowDisplayLeg": 0,
- "workflowDisplayMaxLegs": 0,
- "hasActiveChat": true,
- "trackerId": "string",
- "trackerUrl": "string",
- "tmuxSessionName": "string",
- "prDisplayHeadSha": "string",
- "displayLabel": "string",
- "displayIntent": "DISPLAY_INTENT_UNSPECIFIED",
- "displaySpinner": true,
- "transferringTo": "string",
- "transferringFrom": "string",
- "agentName": "string",
- "lastRepairStartedAt": "2023-01-15T01:30:15.01Z",
- "lastRepairRunnerError": "string",
- "lastRepairExitError": "string",
- "lastRepairAttemptCount": 0,
- "lastRepairHeadSha": "string",
- "lastRepairDisplayStatus": "DISPLAY_STATUS_UNSPECIFIED",
- "lastChatActivityAt": "2023-01-15T01:30:15.01Z",
- "repoOriginUrl": "string",
- "lastRepairReviewFingerprint": "string",
- "displaySettingUp": true,
- "repoCanAutoRepair": true,
- "setupError": "string",
- "lastRepairBlockedReason": "string",
- "lastRepairBlockedAt": "2023-01-15T01:30:15.01Z",
- "repairActive": true,
- "prMergeable": true,
- "mergeBlock": {
- "gate": "GATE_UNSPECIFIED",
- "detail": "string",
- "blockingReviewers": [
- "string"
], - "displayStatus": "DISPLAY_STATUS_UNSPECIFIED"
}, - "lastAgentActivityAt": "2023-01-15T01:30:15.01Z",
- "accountId": "string",
- "accountLabel": "string",
- "rotationEvents": [
- {
- "id": "string",
- "sessionId": "string",
- "chatId": "string",
- "provider": "string",
- "trigger": "ROTATION_TRIGGER_UNSPECIFIED",
- "fromAccount": "string",
- "toAccount": "string",
- "resetAt": "2023-01-15T01:30:15.01Z",
- "outcome": "ROTATION_OUTCOME_UNSPECIFIED",
- "detail": "string",
- "createdAt": "2023-01-15T01:30:15.01Z"
}
], - "displayMerging": true,
- "repoShouldArchiveSessionsAfterMerge": true,
- "archivePending": true,
- "httpEndpoints": [
- {
- "port": 0,
- "url": "string"
}
], - "repairStalledAt": "2023-01-15T01:30:15.01Z",
- "listRank": 0,
- "isWaitingDemoted": true,
- "hasBuildReceipt": true,
- "isReadyOverWaiting": true,
- "attention": {
- "kind": "ATTENTION_KIND_UNSPECIFIED",
- "sentence": "string",
- "actions": [
- "ATTENTION_ACTION_UNSPECIFIED"
], - "since": "2023-01-15T01:30:15.01Z",
- "progressLabel": "string",
- "parkCodes": [
- "string"
], - "alertKey": "string",
- "targetChatId": "string",
- "evidenceUrl": "string",
- "openItems": [
- "string"
], - "isUnverified": true,
- "shouldShowDisplayLabel": true
}, - "isWorkingOverWaiting": true,
- "lastRepairBaseSha": "string",
- "verifyParkCodes": [
- "string"
]
}
}| Connect-Protocol-Version required | number (Connect-Protocol-Version) Value: 1 Define the version of the Connect protocol Value: 1 |
| Connect-Timeout-Ms | number (Connect-Timeout-Ms) Define the timeout, in ms |
| daemonId | string (daemon_id) |
| id | string (id) |
{- "daemonId": "string",
- "id": "string"
}{- "session": {
- "id": "string",
- "repoId": "string",
- "title": "string",
- "plan": "string",
- "worktreePath": "string",
- "branchName": "string",
- "baseBranch": "string",
- "state": "SESSION_STATE_UNSPECIFIED",
- "agentSessionId": "string",
- "prNumber": 0,
- "prUrl": "string",
- "lastCheckState": "CHECKS_OVERALL_UNSPECIFIED",
- "lastCheckStateObserved": "CHECKS_OVERALL_UNSPECIFIED",
- "lastCheckStateHeadSha": "string",
- "lastCheckStateAt": "2023-01-15T01:30:15.01Z",
- "stateEnteredAt": "2023-01-15T01:30:15.01Z",
- "effectiveModel": "string",
- "effectiveEffort": "string",
- "organizationId": "string",
- "ownerUserId": "string",
- "ownerDisplayName": "string",
- "isAutomationEnabled": true,
- "attemptCount": 0,
- "blockedReason": "string",
- "archivedAt": "2023-01-15T01:30:15.01Z",
- "createdAt": "2023-01-15T01:30:15.01Z",
- "updatedAt": "2023-01-15T01:30:15.01Z",
- "repoDisplayName": "string",
- "displayStatus": "DISPLAY_STATUS_UNSPECIFIED",
- "displayHasFailures": true,
- "displayHasChangesRequested": true,
- "attentionStatus": {
- "needsAttention": true,
- "reason": "ATTENTION_REASON_UNSPECIFIED",
- "summary": "string",
- "since": "2023-01-15T01:30:15.01Z"
}, - "displayIsRepairing": true,
- "workflowDisplayStatus": "WORKFLOW_STATUS_UNSPECIFIED",
- "workflowDisplayLeg": 0,
- "workflowDisplayMaxLegs": 0,
- "hasActiveChat": true,
- "trackerId": "string",
- "trackerUrl": "string",
- "tmuxSessionName": "string",
- "prDisplayHeadSha": "string",
- "displayLabel": "string",
- "displayIntent": "DISPLAY_INTENT_UNSPECIFIED",
- "displaySpinner": true,
- "transferringTo": "string",
- "transferringFrom": "string",
- "agentName": "string",
- "lastRepairStartedAt": "2023-01-15T01:30:15.01Z",
- "lastRepairRunnerError": "string",
- "lastRepairExitError": "string",
- "lastRepairAttemptCount": 0,
- "lastRepairHeadSha": "string",
- "lastRepairDisplayStatus": "DISPLAY_STATUS_UNSPECIFIED",
- "lastChatActivityAt": "2023-01-15T01:30:15.01Z",
- "repoOriginUrl": "string",
- "lastRepairReviewFingerprint": "string",
- "displaySettingUp": true,
- "repoCanAutoRepair": true,
- "setupError": "string",
- "lastRepairBlockedReason": "string",
- "lastRepairBlockedAt": "2023-01-15T01:30:15.01Z",
- "repairActive": true,
- "prMergeable": true,
- "mergeBlock": {
- "gate": "GATE_UNSPECIFIED",
- "detail": "string",
- "blockingReviewers": [
- "string"
], - "displayStatus": "DISPLAY_STATUS_UNSPECIFIED"
}, - "lastAgentActivityAt": "2023-01-15T01:30:15.01Z",
- "accountId": "string",
- "accountLabel": "string",
- "rotationEvents": [
- {
- "id": "string",
- "sessionId": "string",
- "chatId": "string",
- "provider": "string",
- "trigger": "ROTATION_TRIGGER_UNSPECIFIED",
- "fromAccount": "string",
- "toAccount": "string",
- "resetAt": "2023-01-15T01:30:15.01Z",
- "outcome": "ROTATION_OUTCOME_UNSPECIFIED",
- "detail": "string",
- "createdAt": "2023-01-15T01:30:15.01Z"
}
], - "displayMerging": true,
- "repoShouldArchiveSessionsAfterMerge": true,
- "archivePending": true,
- "httpEndpoints": [
- {
- "port": 0,
- "url": "string"
}
], - "repairStalledAt": "2023-01-15T01:30:15.01Z",
- "listRank": 0,
- "isWaitingDemoted": true,
- "hasBuildReceipt": true,
- "isReadyOverWaiting": true,
- "attention": {
- "kind": "ATTENTION_KIND_UNSPECIFIED",
- "sentence": "string",
- "actions": [
- "ATTENTION_ACTION_UNSPECIFIED"
], - "since": "2023-01-15T01:30:15.01Z",
- "progressLabel": "string",
- "parkCodes": [
- "string"
], - "alertKey": "string",
- "targetChatId": "string",
- "evidenceUrl": "string",
- "openItems": [
- "string"
], - "isUnverified": true,
- "shouldShowDisplayLabel": true
}, - "isWorkingOverWaiting": true,
- "lastRepairBaseSha": "string",
- "verifyParkCodes": [
- "string"
]
}, - "skippedReason": "string"
}Sends a user message into a chat via the owning daemon's reverse stream. Routes by agent_session_id (FindDaemonForChat) since the MCP send tool carries no session_id.
| Connect-Protocol-Version required | number (Connect-Protocol-Version) Value: 1 Define the version of the Connect protocol Value: 1 |
| Connect-Timeout-Ms | number (Connect-Timeout-Ms) Define the timeout, in ms |
| agentSessionId | string (agent_session_id) |
| message | string (message) |
| wakeIfAsleep | boolean (wake_if_asleep) |
| submit | boolean or null (submit) when true, submit the message (BOS-242); when false, prefill only. optional so an omitting (pre-BOS-242) client is treated as submit=true server-side, preserving the prior always-submit proxy behavior. |
{- "agentSessionId": "string",
- "message": "string",
- "wakeIfAsleep": true,
- "submit": true
}{- "tmuxSessionName": "string",
- "delivered": true,
- "noticeText": "string",
- "deliveryState": "DELIVERY_STATE_UNSPECIFIED"
}| Connect-Protocol-Version required | number (Connect-Protocol-Version) Value: 1 Define the version of the Connect protocol Value: 1 |
| Connect-Timeout-Ms | number (Connect-Timeout-Ms) Define the timeout, in ms |
| id | string (id) |
{- "id": "string"
}{- "session": {
- "id": "string",
- "repoId": "string",
- "title": "string",
- "plan": "string",
- "worktreePath": "string",
- "branchName": "string",
- "baseBranch": "string",
- "state": "SESSION_STATE_UNSPECIFIED",
- "agentSessionId": "string",
- "prNumber": 0,
- "prUrl": "string",
- "lastCheckState": "CHECKS_OVERALL_UNSPECIFIED",
- "lastCheckStateObserved": "CHECKS_OVERALL_UNSPECIFIED",
- "lastCheckStateHeadSha": "string",
- "lastCheckStateAt": "2023-01-15T01:30:15.01Z",
- "stateEnteredAt": "2023-01-15T01:30:15.01Z",
- "effectiveModel": "string",
- "effectiveEffort": "string",
- "organizationId": "string",
- "ownerUserId": "string",
- "ownerDisplayName": "string",
- "isAutomationEnabled": true,
- "attemptCount": 0,
- "blockedReason": "string",
- "archivedAt": "2023-01-15T01:30:15.01Z",
- "createdAt": "2023-01-15T01:30:15.01Z",
- "updatedAt": "2023-01-15T01:30:15.01Z",
- "repoDisplayName": "string",
- "displayStatus": "DISPLAY_STATUS_UNSPECIFIED",
- "displayHasFailures": true,
- "displayHasChangesRequested": true,
- "attentionStatus": {
- "needsAttention": true,
- "reason": "ATTENTION_REASON_UNSPECIFIED",
- "summary": "string",
- "since": "2023-01-15T01:30:15.01Z"
}, - "displayIsRepairing": true,
- "workflowDisplayStatus": "WORKFLOW_STATUS_UNSPECIFIED",
- "workflowDisplayLeg": 0,
- "workflowDisplayMaxLegs": 0,
- "hasActiveChat": true,
- "trackerId": "string",
- "trackerUrl": "string",
- "tmuxSessionName": "string",
- "prDisplayHeadSha": "string",
- "displayLabel": "string",
- "displayIntent": "DISPLAY_INTENT_UNSPECIFIED",
- "displaySpinner": true,
- "transferringTo": "string",
- "transferringFrom": "string",
- "agentName": "string",
- "lastRepairStartedAt": "2023-01-15T01:30:15.01Z",
- "lastRepairRunnerError": "string",
- "lastRepairExitError": "string",
- "lastRepairAttemptCount": 0,
- "lastRepairHeadSha": "string",
- "lastRepairDisplayStatus": "DISPLAY_STATUS_UNSPECIFIED",
- "lastChatActivityAt": "2023-01-15T01:30:15.01Z",
- "repoOriginUrl": "string",
- "lastRepairReviewFingerprint": "string",
- "displaySettingUp": true,
- "repoCanAutoRepair": true,
- "setupError": "string",
- "lastRepairBlockedReason": "string",
- "lastRepairBlockedAt": "2023-01-15T01:30:15.01Z",
- "repairActive": true,
- "prMergeable": true,
- "mergeBlock": {
- "gate": "GATE_UNSPECIFIED",
- "detail": "string",
- "blockingReviewers": [
- "string"
], - "displayStatus": "DISPLAY_STATUS_UNSPECIFIED"
}, - "lastAgentActivityAt": "2023-01-15T01:30:15.01Z",
- "accountId": "string",
- "accountLabel": "string",
- "rotationEvents": [
- {
- "id": "string",
- "sessionId": "string",
- "chatId": "string",
- "provider": "string",
- "trigger": "ROTATION_TRIGGER_UNSPECIFIED",
- "fromAccount": "string",
- "toAccount": "string",
- "resetAt": "2023-01-15T01:30:15.01Z",
- "outcome": "ROTATION_OUTCOME_UNSPECIFIED",
- "detail": "string",
- "createdAt": "2023-01-15T01:30:15.01Z"
}
], - "displayMerging": true,
- "repoShouldArchiveSessionsAfterMerge": true,
- "archivePending": true,
- "httpEndpoints": [
- {
- "port": 0,
- "url": "string"
}
], - "repairStalledAt": "2023-01-15T01:30:15.01Z",
- "listRank": 0,
- "isWaitingDemoted": true,
- "hasBuildReceipt": true,
- "isReadyOverWaiting": true,
- "attention": {
- "kind": "ATTENTION_KIND_UNSPECIFIED",
- "sentence": "string",
- "actions": [
- "ATTENTION_ACTION_UNSPECIFIED"
], - "since": "2023-01-15T01:30:15.01Z",
- "progressLabel": "string",
- "parkCodes": [
- "string"
], - "alertKey": "string",
- "targetChatId": "string",
- "evidenceUrl": "string",
- "openItems": [
- "string"
], - "isUnverified": true,
- "shouldShowDisplayLabel": true
}, - "isWorkingOverWaiting": true,
- "lastRepairBaseSha": "string",
- "verifyParkCodes": [
- "string"
]
}
}Switches a session's live chat to a different account (stop+swap+resume) via the owning daemon's reverse stream. Routes by session_id (FindSessionDaemon) with an optional GetChat authz check, like ProxyWakeChat.
| Connect-Protocol-Version required | number (Connect-Protocol-Version) Value: 1 Define the version of the Connect protocol Value: 1 |
| Connect-Timeout-Ms | number (Connect-Timeout-Ms) Define the timeout, in ms |
| sessionId | string (session_id) for authz scoping (mirror ProxyWakeChat) |
| agentSessionId | string (agent_session_id) optional; empty => session's primary live chat |
| accountId | string (account_id) "" = system default |
| force | boolean (force) |
{- "sessionId": "string",
- "agentSessionId": "string",
- "accountId": "string",
- "force": true
}{- "resumed": true,
- "targetLabel": "string",
- "noticeText": "string"
}| Connect-Protocol-Version required | number (Connect-Protocol-Version) Value: 1 Define the version of the Connect protocol Value: 1 |
| Connect-Timeout-Ms | number (Connect-Timeout-Ms) Define the timeout, in ms |
| daemonId | string (daemon_id) |
| id | string (id) |
{- "daemonId": "string",
- "id": "string"
}{- "account": {
- "id": "string",
- "provider": "string",
- "label": "string",
- "status": "string",
- "priority": 0,
- "cooldownUntil": "2023-01-15T01:30:15.01Z",
- "lastUsedAt": "2023-01-15T01:30:15.01Z",
- "health": "string",
- "tier": "string",
- "allowedModels": [
- "string"
], - "lastTestOkAt": "2023-01-15T01:30:15.01Z",
- "lastTestError": "string",
- "createdAt": "2023-01-15T01:30:15.01Z",
- "updatedAt": "2023-01-15T01:30:15.01Z",
- "usage": {
- "util5h": 0.1,
- "util7d": 0.1,
- "reset5h": "2023-01-15T01:30:15.01Z",
- "reset7d": "2023-01-15T01:30:15.01Z",
- "status": "string",
- "planTier": "string",
- "fetchedAt": "2023-01-15T01:30:15.01Z"
}, - "authCheck": {
- "outcome": "string",
- "failureClass": "string",
- "checkedAt": "2023-01-15T01:30:15.01Z",
- "nextRetryAt": "2023-01-15T01:30:15.01Z"
}
}, - "liveSmokeRan": true,
- "detail": "string"
}| Connect-Protocol-Version required | number (Connect-Protocol-Version) Value: 1 Define the version of the Connect protocol Value: 1 |
| Connect-Timeout-Ms | number (Connect-Timeout-Ms) Define the timeout, in ms |
| daemonId | string (daemon_id) |
| id | string (id) |
| label | string or null (label) |
| priority | integer or null <int32> (priority) |
| status | string or null (status) "active" | "disabled" |
| allowedModels | Array of strings (allowed_models) |
{- "daemonId": "string",
- "id": "string",
- "label": "string",
- "priority": 0,
- "status": "string",
- "allowedModels": [
- "string"
]
}{- "account": {
- "id": "string",
- "provider": "string",
- "label": "string",
- "status": "string",
- "priority": 0,
- "cooldownUntil": "2023-01-15T01:30:15.01Z",
- "lastUsedAt": "2023-01-15T01:30:15.01Z",
- "health": "string",
- "tier": "string",
- "allowedModels": [
- "string"
], - "lastTestOkAt": "2023-01-15T01:30:15.01Z",
- "lastTestError": "string",
- "createdAt": "2023-01-15T01:30:15.01Z",
- "updatedAt": "2023-01-15T01:30:15.01Z",
- "usage": {
- "util5h": 0.1,
- "util7d": 0.1,
- "reset5h": "2023-01-15T01:30:15.01Z",
- "reset7d": "2023-01-15T01:30:15.01Z",
- "status": "string",
- "planTier": "string",
- "fetchedAt": "2023-01-15T01:30:15.01Z"
}, - "authCheck": {
- "outcome": "string",
- "failureClass": "string",
- "checkedAt": "2023-01-15T01:30:15.01Z",
- "nextRetryAt": "2023-01-15T01:30:15.01Z"
}
}
}ProxyUpdateChatTitle renames a chat (routes by agent_session_id).
| Connect-Protocol-Version required | number (Connect-Protocol-Version) Value: 1 Define the version of the Connect protocol Value: 1 |
| Connect-Timeout-Ms | number (Connect-Timeout-Ms) Define the timeout, in ms |
| agentSessionId | string (agent_session_id) |
| title | string (title) |
{- "agentSessionId": "string",
- "title": "string"
}{ }| Connect-Protocol-Version required | number (Connect-Protocol-Version) Value: 1 Define the version of the Connect protocol Value: 1 |
| Connect-Timeout-Ms | number (Connect-Timeout-Ms) Define the timeout, in ms |
| daemonId | string (daemon_id) |
| id | string (id) |
| name | string or null (name) |
| prompt | string or null (prompt) |
| schedule | string or null (schedule) |
| timezone | string or null (timezone) |
| isEnabled | boolean or null (is_enabled) |
| agentName | string or null (agent_name) |
| model | string or null (model) |
| gateCommand | string or null (gate_command) |
| shouldRunSetupCommand | boolean or null (should_run_setup_command) |
| isZeroOutput | boolean or null (is_zero_output) |
CronJobConcurrencyPolicy (string) or concurrency_policy (null) (concurrency_policy) What a fire does while the job's previous run is still in progress. Omitted or UNSPECIFIED = leave unchanged. | |
| managedBy | string or null (managed_by) Config-ownership marker. Omitted = leave unchanged; "" = clear; otherwise
"boss-project: |
{- "daemonId": "string",
- "id": "string",
- "name": "string",
- "prompt": "string",
- "schedule": "string",
- "timezone": "string",
- "isEnabled": true,
- "agentName": "string",
- "model": "string",
- "gateCommand": "string",
- "shouldRunSetupCommand": true,
- "isZeroOutput": true,
- "concurrencyPolicy": "CRON_JOB_CONCURRENCY_POLICY_UNSPECIFIED",
- "managedBy": "string"
}{- "job": {
- "id": "string",
- "repoId": "string",
- "name": "string",
- "prompt": "string",
- "schedule": "string",
- "timezone": "string",
- "isEnabled": true,
- "lastRunSessionId": "string",
- "lastRunAt": "2023-01-15T01:30:15.01Z",
- "lastRunOutcome": "string",
- "nextRunAt": "2023-01-15T01:30:15.01Z",
- "createdAt": "2023-01-15T01:30:15.01Z",
- "updatedAt": "2023-01-15T01:30:15.01Z",
- "lastRunStatus": "CRON_JOB_STATUS_UNSPECIFIED",
- "agentName": "string",
- "model": "string",
- "gateCommand": "string",
- "shouldRunSetupCommand": true,
- "isZeroOutput": true,
- "lastRunAgentName": "string",
- "concurrencyPolicy": "CRON_JOB_CONCURRENCY_POLICY_UNSPECIFIED",
- "managedBy": "string"
}
}| Connect-Protocol-Version required | number (Connect-Protocol-Version) Value: 1 Define the version of the Connect protocol Value: 1 |
| Connect-Timeout-Ms | number (Connect-Timeout-Ms) Define the timeout, in ms |
| repoId | string (repo_id) routing key only; the daemon resolves by id alone |
| id | string (id) |
| body | string or null (body) Unset = leave the body alone. |
NoteTagSet (object) or tags (null) (tags) Unset = leave the tags alone. SET = REPLACE the entire tag set with this list, including replacing it with nothing when the list is empty. |
{- "repoId": "string",
- "id": "string",
- "body": "string",
- "tags": {
- "tags": [
- "string"
]
}
}{- "note": {
- "id": "string",
- "repoId": "string",
- "sessionId": "string",
- "chatId": "string",
- "body": "string",
- "tags": [
- "string"
], - "createdAt": "2023-01-15T01:30:15.01Z",
- "updatedAt": "2023-01-15T01:30:15.01Z",
- "syncState": "string",
- "syncedAt": "2023-01-15T01:30:15.01Z",
- "syncLastError": "string"
}
}| Connect-Protocol-Version required | number (Connect-Protocol-Version) Value: 1 Define the version of the Connect protocol Value: 1 |
| Connect-Timeout-Ms | number (Connect-Timeout-Ms) Define the timeout, in ms |
| daemonId | string (daemon_id) |
| repoId | string (repo_id) |
| displayName | string or null (display_name) |
| setupScript | string or null (setup_script) |
MergeStrategy (string) or merge_strategy (null) (merge_strategy) | |
| canAutoMerge | boolean or null (can_auto_merge) |
| canAutoMergeDependabot | boolean or null (can_auto_merge_dependabot) |
| canAutoRepair | boolean or null (can_auto_repair) |
| shouldArchiveSessionsAfterMerge | boolean or null (should_archive_sessions_after_merge) |
| sentryOrg | string or null (sentry_org) |
object (bossanova.v1.SecretUpdate) SecretUpdate carries a secret mutation. value is required iff action == SET and is ignored otherwise. Never populated on read/aggregate responses. | |
object (bossanova.v1.SecretUpdate) SecretUpdate carries a secret mutation. value is required iff action == SET and is ignored otherwise. Never populated on read/aggregate responses. | |
| expectedUpdatedAt | string <date-time> (google.protobuf.Timestamp) A Timestamp represents a point in time independent of any time zone or local calendar, encoded as a count of seconds and fractions of seconds at nanosecond resolution. The count is relative to an epoch at UTC midnight on January 1, 1970, in the proleptic Gregorian calendar which extends the Gregorian calendar backwards to year one. All minutes are 60 seconds long. Leap seconds are "smeared" so that no leap second table is needed for interpretation, using a 24-hour linear smear. The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By restricting to that range, we ensure that we can convert to and from RFC 3339 date strings. Examples Example 1: Compute Timestamp from POSIX
Example 2: Compute Timestamp from POSIX
Example 3: Compute Timestamp from Win32
Example 4: Compute Timestamp from Java
Example 5: Compute Timestamp from Java
Example 6: Compute Timestamp from current time in Python.
JSON MappingIn JSON format, the Timestamp type is encoded as a string in the RFC 3339 format. That is, the format is "{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z" where {year} is always expressed using four digits while {month}, {day}, {hour}, {min}, and {sec} are zero-padded to two digits each. The fractional seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution), are optional. The "Z" suffix indicates the timezone ("UTC"); the timezone is required. A proto3 JSON serializer should always use UTC (as indicated by "Z") when printing the Timestamp type and a proto3 JSON parser should be able to accept both UTC and other timezones (as indicated by an offset). For example, "2017-01-15T01:30:15.01Z" encodes 15.01 seconds past 01:30 UTC on January 15, 2017. In JavaScript, one can convert a Date object to this format using the
standard
toISOString()
method. In Python, a standard |
{- "daemonId": "string",
- "repoId": "string",
- "displayName": "string",
- "setupScript": "string",
- "mergeStrategy": "MERGE_STRATEGY_UNSPECIFIED",
- "canAutoMerge": true,
- "canAutoMergeDependabot": true,
- "canAutoRepair": true,
- "shouldArchiveSessionsAfterMerge": true,
- "sentryOrg": "string",
- "linearKey": {
- "action": "SECRET_ACTION_UNSPECIFIED",
- "value": "string"
}, - "sentryKey": {
- "action": "SECRET_ACTION_UNSPECIFIED",
- "value": "string"
}, - "expectedUpdatedAt": "2023-01-15T01:30:15.01Z"
}{- "settings": {
- "id": "string",
- "displayName": "string",
- "setupScript": "string",
- "mergeStrategy": "MERGE_STRATEGY_UNSPECIFIED",
- "canAutoMerge": true,
- "canAutoMergeDependabot": true,
- "canAutoRepair": true,
- "shouldArchiveSessionsAfterMerge": true,
- "sentryOrg": "string",
- "hasLinearKey": true,
- "hasSentryKey": true,
- "updatedAt": "2023-01-15T01:30:15.01Z"
}
}ProxyUpdateSession updates a session's title/tracker (routes by session_id).
| Connect-Protocol-Version required | number (Connect-Protocol-Version) Value: 1 Define the version of the Connect protocol Value: 1 |
| Connect-Timeout-Ms | number (Connect-Timeout-Ms) Define the timeout, in ms |
| id | string (id) |
| title | string or null (title) |
| trackerUrl | string or null (tracker_url) |
| trackerId | string or null (tracker_id) |
{- "id": "string",
- "title": "string",
- "trackerUrl": "string",
- "trackerId": "string"
}{- "session": {
- "id": "string",
- "repoId": "string",
- "title": "string",
- "plan": "string",
- "worktreePath": "string",
- "branchName": "string",
- "baseBranch": "string",
- "state": "SESSION_STATE_UNSPECIFIED",
- "agentSessionId": "string",
- "prNumber": 0,
- "prUrl": "string",
- "lastCheckState": "CHECKS_OVERALL_UNSPECIFIED",
- "lastCheckStateObserved": "CHECKS_OVERALL_UNSPECIFIED",
- "lastCheckStateHeadSha": "string",
- "lastCheckStateAt": "2023-01-15T01:30:15.01Z",
- "stateEnteredAt": "2023-01-15T01:30:15.01Z",
- "effectiveModel": "string",
- "effectiveEffort": "string",
- "organizationId": "string",
- "ownerUserId": "string",
- "ownerDisplayName": "string",
- "isAutomationEnabled": true,
- "attemptCount": 0,
- "blockedReason": "string",
- "archivedAt": "2023-01-15T01:30:15.01Z",
- "createdAt": "2023-01-15T01:30:15.01Z",
- "updatedAt": "2023-01-15T01:30:15.01Z",
- "repoDisplayName": "string",
- "displayStatus": "DISPLAY_STATUS_UNSPECIFIED",
- "displayHasFailures": true,
- "displayHasChangesRequested": true,
- "attentionStatus": {
- "needsAttention": true,
- "reason": "ATTENTION_REASON_UNSPECIFIED",
- "summary": "string",
- "since": "2023-01-15T01:30:15.01Z"
}, - "displayIsRepairing": true,
- "workflowDisplayStatus": "WORKFLOW_STATUS_UNSPECIFIED",
- "workflowDisplayLeg": 0,
- "workflowDisplayMaxLegs": 0,
- "hasActiveChat": true,
- "trackerId": "string",
- "trackerUrl": "string",
- "tmuxSessionName": "string",
- "prDisplayHeadSha": "string",
- "displayLabel": "string",
- "displayIntent": "DISPLAY_INTENT_UNSPECIFIED",
- "displaySpinner": true,
- "transferringTo": "string",
- "transferringFrom": "string",
- "agentName": "string",
- "lastRepairStartedAt": "2023-01-15T01:30:15.01Z",
- "lastRepairRunnerError": "string",
- "lastRepairExitError": "string",
- "lastRepairAttemptCount": 0,
- "lastRepairHeadSha": "string",
- "lastRepairDisplayStatus": "DISPLAY_STATUS_UNSPECIFIED",
- "lastChatActivityAt": "2023-01-15T01:30:15.01Z",
- "repoOriginUrl": "string",
- "lastRepairReviewFingerprint": "string",
- "displaySettingUp": true,
- "repoCanAutoRepair": true,
- "setupError": "string",
- "lastRepairBlockedReason": "string",
- "lastRepairBlockedAt": "2023-01-15T01:30:15.01Z",
- "repairActive": true,
- "prMergeable": true,
- "mergeBlock": {
- "gate": "GATE_UNSPECIFIED",
- "detail": "string",
- "blockingReviewers": [
- "string"
], - "displayStatus": "DISPLAY_STATUS_UNSPECIFIED"
}, - "lastAgentActivityAt": "2023-01-15T01:30:15.01Z",
- "accountId": "string",
- "accountLabel": "string",
- "rotationEvents": [
- {
- "id": "string",
- "sessionId": "string",
- "chatId": "string",
- "provider": "string",
- "trigger": "ROTATION_TRIGGER_UNSPECIFIED",
- "fromAccount": "string",
- "toAccount": "string",
- "resetAt": "2023-01-15T01:30:15.01Z",
- "outcome": "ROTATION_OUTCOME_UNSPECIFIED",
- "detail": "string",
- "createdAt": "2023-01-15T01:30:15.01Z"
}
], - "displayMerging": true,
- "repoShouldArchiveSessionsAfterMerge": true,
- "archivePending": true,
- "httpEndpoints": [
- {
- "port": 0,
- "url": "string"
}
], - "repairStalledAt": "2023-01-15T01:30:15.01Z",
- "listRank": 0,
- "isWaitingDemoted": true,
- "hasBuildReceipt": true,
- "isReadyOverWaiting": true,
- "attention": {
- "kind": "ATTENTION_KIND_UNSPECIFIED",
- "sentence": "string",
- "actions": [
- "ATTENTION_ACTION_UNSPECIFIED"
], - "since": "2023-01-15T01:30:15.01Z",
- "progressLabel": "string",
- "parkCodes": [
- "string"
], - "alertKey": "string",
- "targetChatId": "string",
- "evidenceUrl": "string",
- "openItems": [
- "string"
], - "isUnverified": true,
- "shouldShowDisplayLabel": true
}, - "isWorkingOverWaiting": true,
- "lastRepairBaseSha": "string",
- "verifyParkCodes": [
- "string"
]
}
}Wakes a stopped chat's tmux+claude. Routes to the owning daemon via the reverse stream and waits for CommandResult{WakeChatResult}.
| Connect-Protocol-Version required | number (Connect-Protocol-Version) Value: 1 Define the version of the Connect protocol Value: 1 |
| Connect-Timeout-Ms | number (Connect-Timeout-Ms) Define the timeout, in ms |
| sessionId | string (session_id) |
| agentSessionId | string (agent_session_id) |
| forceFresh | boolean (force_fresh) If true, the daemon will skip --resume even when a transcript exists. |
{- "sessionId": "string",
- "agentSessionId": "string",
- "forceFresh": true
}{- "outcome": "OUTCOME_UNSPECIFIED",
- "tmuxSessionName": "string",
- "reason": "string"
}PublishDaemonSnapshot is a unary fallback for networks that proxy normal HTTPS but do not support Connect bidirectional streaming end-to-end. Daemons authenticate with their RegisterDaemon session token and publish the same snapshot shape used as the first DaemonStream event.
| Connect-Protocol-Version required | number (Connect-Protocol-Version) Value: 1 Define the version of the Connect protocol Value: 1 |
| Connect-Timeout-Ms | number (Connect-Timeout-Ms) Define the timeout, in ms |
object (bossanova.v1.DaemonSnapshot) DaemonSnapshot is the required first event on every stream connect. It carries slim metadata only (IDs, state, timestamps, preview strings) — full chat transcripts are fetched on demand via AttachSessionCommand (decision #5). | |||||||||||||||
| |||||||||||||||
{- "snapshot": {
- "daemonId": "string",
- "hostname": "string",
- "repoIds": [
- "string"
], - "sessions": [
- {
- "id": "string",
- "repoId": "string",
- "title": "string",
- "plan": "string",
- "worktreePath": "string",
- "branchName": "string",
- "baseBranch": "string",
- "state": "SESSION_STATE_UNSPECIFIED",
- "agentSessionId": "string",
- "prNumber": 0,
- "prUrl": "string",
- "lastCheckState": "CHECKS_OVERALL_UNSPECIFIED",
- "lastCheckStateObserved": "CHECKS_OVERALL_UNSPECIFIED",
- "lastCheckStateHeadSha": "string",
- "lastCheckStateAt": "2023-01-15T01:30:15.01Z",
- "stateEnteredAt": "2023-01-15T01:30:15.01Z",
- "effectiveModel": "string",
- "effectiveEffort": "string",
- "organizationId": "string",
- "ownerUserId": "string",
- "ownerDisplayName": "string",
- "isAutomationEnabled": true,
- "attemptCount": 0,
- "blockedReason": "string",
- "archivedAt": "2023-01-15T01:30:15.01Z",
- "createdAt": "2023-01-15T01:30:15.01Z",
- "updatedAt": "2023-01-15T01:30:15.01Z",
- "repoDisplayName": "string",
- "displayStatus": "DISPLAY_STATUS_UNSPECIFIED",
- "displayHasFailures": true,
- "displayHasChangesRequested": true,
- "attentionStatus": {
- "needsAttention": true,
- "reason": "ATTENTION_REASON_UNSPECIFIED",
- "summary": "string",
- "since": "2023-01-15T01:30:15.01Z"
}, - "displayIsRepairing": true,
- "workflowDisplayStatus": "WORKFLOW_STATUS_UNSPECIFIED",
- "workflowDisplayLeg": 0,
- "workflowDisplayMaxLegs": 0,
- "hasActiveChat": true,
- "trackerId": "string",
- "trackerUrl": "string",
- "tmuxSessionName": "string",
- "prDisplayHeadSha": "string",
- "displayLabel": "string",
- "displayIntent": "DISPLAY_INTENT_UNSPECIFIED",
- "displaySpinner": true,
- "transferringTo": "string",
- "transferringFrom": "string",
- "agentName": "string",
- "lastRepairStartedAt": "2023-01-15T01:30:15.01Z",
- "lastRepairRunnerError": "string",
- "lastRepairExitError": "string",
- "lastRepairAttemptCount": 0,
- "lastRepairHeadSha": "string",
- "lastRepairDisplayStatus": "DISPLAY_STATUS_UNSPECIFIED",
- "lastChatActivityAt": "2023-01-15T01:30:15.01Z",
- "repoOriginUrl": "string",
- "lastRepairReviewFingerprint": "string",
- "displaySettingUp": true,
- "repoCanAutoRepair": true,
- "setupError": "string",
- "lastRepairBlockedReason": "string",
- "lastRepairBlockedAt": "2023-01-15T01:30:15.01Z",
- "repairActive": true,
- "prMergeable": true,
- "mergeBlock": {
- "gate": "GATE_UNSPECIFIED",
- "detail": "string",
- "blockingReviewers": [
- "string"
], - "displayStatus": "DISPLAY_STATUS_UNSPECIFIED"
}, - "lastAgentActivityAt": "2023-01-15T01:30:15.01Z",
- "accountId": "string",
- "accountLabel": "string",
- "rotationEvents": [
- {
- "id": "string",
- "sessionId": "string",
- "chatId": "string",
- "provider": "string",
- "trigger": "ROTATION_TRIGGER_UNSPECIFIED",
- "fromAccount": "string",
- "toAccount": "string",
- "resetAt": "2023-01-15T01:30:15.01Z",
- "outcome": "ROTATION_OUTCOME_UNSPECIFIED",
- "detail": "string",
- "createdAt": "2023-01-15T01:30:15.01Z"
}
], - "displayMerging": true,
- "repoShouldArchiveSessionsAfterMerge": true,
- "archivePending": true,
- "httpEndpoints": [
- {
- "port": 0,
- "url": "string"
}
], - "repairStalledAt": "2023-01-15T01:30:15.01Z",
- "listRank": 0,
- "isWaitingDemoted": true,
- "hasBuildReceipt": true,
- "isReadyOverWaiting": true,
- "attention": {
- "kind": "ATTENTION_KIND_UNSPECIFIED",
- "sentence": "string",
- "actions": [
- "ATTENTION_ACTION_UNSPECIFIED"
], - "since": "2023-01-15T01:30:15.01Z",
- "progressLabel": "string",
- "parkCodes": [
- "string"
], - "alertKey": "string",
- "targetChatId": "string",
- "evidenceUrl": "string",
- "openItems": [
- "string"
], - "isUnverified": true,
- "shouldShowDisplayLabel": true
}, - "isWorkingOverWaiting": true,
- "lastRepairBaseSha": "string",
- "verifyParkCodes": [
- "string"
]
}
], - "chats": [
- {
- "id": "string",
- "sessionId": "string",
- "agentSessionId": "string",
- "title": "string",
- "daemonId": "string",
- "createdAt": "2023-01-15T01:30:15.01Z",
- "updatedAt": "2023-01-15T01:30:15.01Z",
- "lastMessagePreview": "string",
- "agentName": "string"
}
], - "statuses": [
- {
- "agentSessionId": "string",
- "status": "CHAT_STATUS_UNSPECIFIED",
- "lastOutputAt": "2023-01-15T01:30:15.01Z",
- "waitingReason": "string",
- "spinnerPresent": true,
- "lastSubstantiveOutputAt": "2023-01-15T01:30:15.01Z",
- "lastOutputSeeded": true,
- "phase": "string"
}
], - "callbackInterests": [
- {
- "repoOriginUrl": "string",
- "prNumber": 0
}
]
}
}{ }| Connect-Protocol-Version required | number (Connect-Protocol-Version) Value: 1 Define the version of the Connect protocol Value: 1 |
| Connect-Timeout-Ms | number (Connect-Timeout-Ms) Define the timeout, in ms |
{ }{- "status": {
- "state": "CLOUD_ACCESS_STATE_UNSPECIFIED",
- "accountId": "string",
- "workosOrgId": "string",
- "message": "string",
- "canRetry": true,
- "canCreateCheckout": true,
- "checkoutStarted": true,
- "denialReason": "string",
- "trialEligibility": "CLOUD_TRIAL_ELIGIBILITY_UNSPECIFIED"
}
}Daemon registry
| Connect-Protocol-Version required | number (Connect-Protocol-Version) Value: 1 Define the version of the Connect protocol Value: 1 |
| Connect-Timeout-Ms | number (Connect-Timeout-Ms) Define the timeout, in ms |
| daemonId | string (daemon_id) |
| hostname | string (hostname) |
| repoIds | Array of strings (repo_ids) Repos this daemon manages. |
| endpoint | string or null (endpoint) Optional endpoint URL where the daemon's DaemonService is reachable. Required for proxy RPC support. Daemons behind NAT may omit this. |
string (email) User email from the WorkOS device code response. Used for JIT user creation when the user doesn't exist in the DB yet. | |
| daemonPublicKey | string <byte> (daemon_public_key) Proof that the caller holds the machine key pinned to daemon_id (BOS-1580). All three are optional while older daemons still register without them; when daemon_public_key is set, possession_signature and signed_at_unix must be set too. The signature is Ed25519 over the bytes lib/bossalib/daemonproof.Message builds from daemon_id, the SHA-256 of the bearer token this request is sent with, and signed_at_unix. The 32-byte Ed25519 public key of the daemon's machine key. |
| possessionSignature | string <byte> (possession_signature) Ed25519 signature over daemonproof.Message(daemon_id, bearer, signed_at_unix). |
| signedAtUnix | integer or string <int64> (signed_at_unix) Unix seconds the signature was made at; must be within 5 minutes of the server's clock. |
{- "daemonId": "string",
- "hostname": "string",
- "repoIds": [
- "string"
], - "endpoint": "string",
- "email": "string",
- "daemonPublicKey": "string",
- "possessionSignature": "string",
- "signedAtUnix": 0
}{- "daemonId": "string",
- "sessionToken": "string"
}| Connect-Protocol-Version required | number (Connect-Protocol-Version) Value: 1 Define the version of the Connect protocol Value: 1 |
| Connect-Timeout-Ms | number (Connect-Timeout-Ms) Define the timeout, in ms |
| organizationId | string (organization_id) |
| userId | string (user_id) Exactly one member identifier or invitation_id must be set. invitation_id revokes a pending invitation instead of removing an active membership. |
| workosMembershipId | string (workos_membership_id) |
| invitationId | string (invitation_id) |
{- "organizationId": "string",
- "userId": "string",
- "workosMembershipId": "string",
- "invitationId": "string"
}{ }| Connect-Protocol-Version required | number (Connect-Protocol-Version) Value: 1 Define the version of the Connect protocol Value: 1 |
| Connect-Timeout-Ms | number (Connect-Timeout-Ms) Define the timeout, in ms |
| organizationId | string (organization_id) |
| name | string (name) |
{- "organizationId": "string",
- "name": "string"
}{- "organization": {
- "id": "string",
- "workosOrgId": "string",
- "name": "string",
- "callerRole": "MEMBER_ROLE_UNSPECIFIED",
- "isPersonal": true,
- "memberCount": 0,
- "createdAt": "2023-01-15T01:30:15.01Z",
- "isMemberSessionSharingEnabled": true
}
}Bug reporting (ctrl+g in TUI; ctrl+b is a deprecated alias). Unauthenticated; optionally resolves the caller's identity when a bearer token is present.
| Connect-Protocol-Version required | number (Connect-Protocol-Version) Value: 1 Define the version of the Connect protocol Value: 1 |
| Connect-Timeout-Ms | number (Connect-Timeout-Ms) Define the timeout, in ms |
| comment | string (comment) |
object (bossanova.v1.ReportContext) ReportContext bundles everything the TUI attaches to a bug report. All fields are optional; the server tolerates empty values. |
{- "comment": "string",
- "context": {
- "bossVersion": "string",
- "bossCommit": "string",
- "os": "string",
- "arch": "string",
- "terminal": "string",
- "currentSession": {
- "id": "string",
- "repoId": "string",
- "title": "string",
- "plan": "string",
- "worktreePath": "string",
- "branchName": "string",
- "baseBranch": "string",
- "state": "SESSION_STATE_UNSPECIFIED",
- "agentSessionId": "string",
- "prNumber": 0,
- "prUrl": "string",
- "lastCheckState": "CHECKS_OVERALL_UNSPECIFIED",
- "lastCheckStateObserved": "CHECKS_OVERALL_UNSPECIFIED",
- "lastCheckStateHeadSha": "string",
- "lastCheckStateAt": "2023-01-15T01:30:15.01Z",
- "stateEnteredAt": "2023-01-15T01:30:15.01Z",
- "effectiveModel": "string",
- "effectiveEffort": "string",
- "organizationId": "string",
- "ownerUserId": "string",
- "ownerDisplayName": "string",
- "isAutomationEnabled": true,
- "attemptCount": 0,
- "blockedReason": "string",
- "archivedAt": "2023-01-15T01:30:15.01Z",
- "createdAt": "2023-01-15T01:30:15.01Z",
- "updatedAt": "2023-01-15T01:30:15.01Z",
- "repoDisplayName": "string",
- "displayStatus": "DISPLAY_STATUS_UNSPECIFIED",
- "displayHasFailures": true,
- "displayHasChangesRequested": true,
- "attentionStatus": {
- "needsAttention": true,
- "reason": "ATTENTION_REASON_UNSPECIFIED",
- "summary": "string",
- "since": "2023-01-15T01:30:15.01Z"
}, - "displayIsRepairing": true,
- "workflowDisplayStatus": "WORKFLOW_STATUS_UNSPECIFIED",
- "workflowDisplayLeg": 0,
- "workflowDisplayMaxLegs": 0,
- "hasActiveChat": true,
- "trackerId": "string",
- "trackerUrl": "string",
- "tmuxSessionName": "string",
- "prDisplayHeadSha": "string",
- "displayLabel": "string",
- "displayIntent": "DISPLAY_INTENT_UNSPECIFIED",
- "displaySpinner": true,
- "transferringTo": "string",
- "transferringFrom": "string",
- "agentName": "string",
- "lastRepairStartedAt": "2023-01-15T01:30:15.01Z",
- "lastRepairRunnerError": "string",
- "lastRepairExitError": "string",
- "lastRepairAttemptCount": 0,
- "lastRepairHeadSha": "string",
- "lastRepairDisplayStatus": "DISPLAY_STATUS_UNSPECIFIED",
- "lastChatActivityAt": "2023-01-15T01:30:15.01Z",
- "repoOriginUrl": "string",
- "lastRepairReviewFingerprint": "string",
- "displaySettingUp": true,
- "repoCanAutoRepair": true,
- "setupError": "string",
- "lastRepairBlockedReason": "string",
- "lastRepairBlockedAt": "2023-01-15T01:30:15.01Z",
- "repairActive": true,
- "prMergeable": true,
- "mergeBlock": {
- "gate": "GATE_UNSPECIFIED",
- "detail": "string",
- "blockingReviewers": [
- "string"
], - "displayStatus": "DISPLAY_STATUS_UNSPECIFIED"
}, - "lastAgentActivityAt": "2023-01-15T01:30:15.01Z",
- "accountId": "string",
- "accountLabel": "string",
- "rotationEvents": [
- {
- "id": "string",
- "sessionId": "string",
- "chatId": "string",
- "provider": "string",
- "trigger": "ROTATION_TRIGGER_UNSPECIFIED",
- "fromAccount": "string",
- "toAccount": "string",
- "resetAt": "2023-01-15T01:30:15.01Z",
- "outcome": "ROTATION_OUTCOME_UNSPECIFIED",
- "detail": "string",
- "createdAt": "2023-01-15T01:30:15.01Z"
}
], - "displayMerging": true,
- "repoShouldArchiveSessionsAfterMerge": true,
- "archivePending": true,
- "httpEndpoints": [
- {
- "port": 0,
- "url": "string"
}
], - "repairStalledAt": "2023-01-15T01:30:15.01Z",
- "listRank": 0,
- "isWaitingDemoted": true,
- "hasBuildReceipt": true,
- "isReadyOverWaiting": true,
- "attention": {
- "kind": "ATTENTION_KIND_UNSPECIFIED",
- "sentence": "string",
- "actions": [
- "ATTENTION_ACTION_UNSPECIFIED"
], - "since": "2023-01-15T01:30:15.01Z",
- "progressLabel": "string",
- "parkCodes": [
- "string"
], - "alertKey": "string",
- "targetChatId": "string",
- "evidenceUrl": "string",
- "openItems": [
- "string"
], - "isUnverified": true,
- "shouldShowDisplayLabel": true
}, - "isWorkingOverWaiting": true,
- "lastRepairBaseSha": "string",
- "verifyParkCodes": [
- "string"
]
}, - "sessions": [
- {
- "id": "string",
- "repoId": "string",
- "title": "string",
- "state": "SESSION_STATE_UNSPECIFIED",
- "prNumber": 0,
- "prUrl": "string",
- "updatedAt": "2023-01-15T01:30:15.01Z"
}
], - "daemonStatuses": {
- "property1": "string",
- "property2": "string"
}, - "bossLogTail": "string",
- "bossdLogTail": "string",
- "recentTurns": [
- {
- "role": "string",
- "content": "string",
- "timestamp": "2023-01-15T01:30:15.01Z"
}
]
}
}{- "reportId": "string"
}RotateSessionWebhookSecret replaces the signing secret; undelivered events are signed with the new one. The new secret is returned ONLY here. While member session sharing is off: NOT_FOUND for another owner's endpoint, FAILED_PRECONDITION for an orphaned one.
| Connect-Protocol-Version required | number (Connect-Protocol-Version) Value: 1 Define the version of the Connect protocol Value: 1 |
| Connect-Timeout-Ms | number (Connect-Timeout-Ms) Define the timeout, in ms |
| organizationId | string (organization_id) |
| id | string (id) |
| secret | string or null (secret) New signing secret to use. Absent generates a random one. |
{- "organizationId": "string",
- "id": "string",
- "secret": "string"
}{- "webhook": {
- "id": "string",
- "organizationId": "string",
- "url": "string",
- "description": "string",
- "eventTypes": [
- "string"
], - "isEnabled": true,
- "createdByUserId": "string",
- "createdAt": "2023-01-15T01:30:15.01Z",
- "updatedAt": "2023-01-15T01:30:15.01Z",
- "secretRotatedAt": "2023-01-15T01:30:15.01Z",
- "format": "string",
- "managedBy": "string",
- "isRetireOnly": true
}, - "secret": "string"
}RotateTriggerSecret replaces the signing secret of an HTTP trigger the caller created, or, for an owner of its organization, a member's HTTP trigger; the old secret stops validating immediately. The new secret is returned ONLY in this response. FAILED_PRECONDITION for a trigger type with no secret.
| Connect-Protocol-Version required | number (Connect-Protocol-Version) Value: 1 Define the version of the Connect protocol Value: 1 |
| Connect-Timeout-Ms | number (Connect-Timeout-Ms) Define the timeout, in ms |
| id | string (id) |
{- "id": "string"
}{- "trigger": {
- "id": "string",
- "organizationId": "string",
- "creatorUserId": "string",
- "name": "string",
- "isEnabled": true,
- "triggerType": "string",
- "configVersion": 0,
- "repoOriginUrl": "string",
- "launch": {
- "promptTemplate": "string",
- "skillName": "string",
- "agentName": "string",
- "model": "string",
- "effort": "string",
- "baseBranch": "string",
- "shouldRunSetupCommand": true,
- "isZeroOutput": true
}, - "placement": {
- "mode": "TRIGGER_PLACEMENT_MODE_UNSPECIFIED",
- "daemonId": "string"
}, - "concurrencyPolicy": "TRIGGER_CONCURRENCY_POLICY_UNSPECIFIED",
- "cooldownSeconds": 0,
- "filters": [
- {
- "field": "string",
- "operator": "TRIGGER_FILTER_OPERATOR_UNSPECIFIED",
- "values": [
- "string"
]
}
], - "payloadFields": [
- "string"
], - "endpointPath": "string",
- "lastInvocation": {
- "status": "TRIGGER_INVOCATION_STATUS_UNSPECIFIED",
- "decisionReason": "string",
- "receivedAt": "2023-01-15T01:30:15.01Z",
- "sessionId": "string"
}, - "createdAt": "2023-01-15T01:30:15.01Z",
- "updatedAt": "2023-01-15T01:30:15.01Z",
- "gate": {
- "scriptPath": "string",
- "timeoutSeconds": 0
}, - "managedBy": "string",
- "github": {
- "eventTypes": [
- "string"
]
}
}, - "secret": "string"
}SendSessionWebhookTestEvent sends one test delivery of event_type to the endpoint synchronously and returns it with its single attempt, or cancelled without one when the endpoint is disabled or changed while the attempt is in flight. The endpoint need not be subscribed to event_type, and a disabled endpoint may still be tested. An absent payload_json sends the catalog sample; a supplied one must be a JSON object of at most 64 KiB (INVALID_ARGUMENT otherwise), and the server overwrites its id, type, organization_id and created_at and forces is_test to true. The body is then rendered through the endpoint's format, exactly as a live delivery is; a payload the format cannot render is INVALID_ARGUMENT. Test deliveries are never retried. RESOURCE_EXHAUSTED past 10 test sends per minute per organization. While member session sharing is off: NOT_FOUND for another owner's endpoint, FAILED_PRECONDITION for an orphaned one.
| Connect-Protocol-Version required | number (Connect-Protocol-Version) Value: 1 Define the version of the Connect protocol Value: 1 |
| Connect-Timeout-Ms | number (Connect-Timeout-Ms) Define the timeout, in ms |
| organizationId | string (organization_id) |
| webhookId | string (webhook_id) |
| eventType | string (event_type) A catalog event type; the endpoint need not be subscribed to it. |
| payloadJson | string or null (payload_json) The body to send, a JSON object of at most 64 KiB. Absent or empty sends the catalog sample for event_type. |
{- "organizationId": "string",
- "webhookId": "string",
- "eventType": "string",
- "payloadJson": "string"
}{- "delivery": {
- "id": "string",
- "webhookId": "string",
- "eventId": "string",
- "eventType": "string",
- "isTest": true,
- "status": "string",
- "attemptCount": 0,
- "lastResponseStatusCode": 0,
- "lastError": "string",
- "nextAttemptAt": "2023-01-15T01:30:15.01Z",
- "createdAt": "2023-01-15T01:30:15.01Z",
- "completedAt": "2023-01-15T01:30:15.01Z"
}, - "attempt": {
- "attemptNumber": 0,
- "startedAt": "2023-01-15T01:30:15.01Z",
- "durationMs": 0,
- "responseStatusCode": 0,
- "responseBodyExcerpt": "string",
- "errorMessage": "string",
- "isSuccess": true
}
}| Connect-Protocol-Version required | number (Connect-Protocol-Version) Value: 1 Define the version of the Connect protocol Value: 1 |
| Connect-Timeout-Ms | number (Connect-Timeout-Ms) Define the timeout, in ms |
| organizationId | string (organization_id) |
| userId | string (user_id) |
| workosMembershipId | string (workos_membership_id) |
| role | string (bossanova.v1.MemberRole) Enum: "MEMBER_ROLE_UNSPECIFIED" "MEMBER_ROLE_OWNER" "MEMBER_ROLE_USER" MemberRole is a member's role inside an organization. Owners can rename the organization and manage its members and billing; users cannot. |
{- "organizationId": "string",
- "userId": "string",
- "workosMembershipId": "string",
- "role": "MEMBER_ROLE_UNSPECIFIED"
}{- "member": {
- "userId": "string",
- "workosMembershipId": "string",
- "email": "string",
- "displayName": "string",
- "role": "MEMBER_ROLE_UNSPECIFIED",
- "isInvitePending": true,
- "joinedAt": "2023-01-15T01:30:15.01Z",
- "invitationId": "string",
- "isInviteAccepted": true
}
}Repo-to-organization ownership mapping, keyed by canonical repo origin URL. User-authenticated; the caller must be a member of the target organization.
| Connect-Protocol-Version required | number (Connect-Protocol-Version) Value: 1 Define the version of the Connect protocol Value: 1 |
| Connect-Timeout-Ms | number (Connect-Timeout-Ms) Define the timeout, in ms |
| repoOriginUrl | string (repo_origin_url) |
| organizationId | string (organization_id) |
{- "repoOriginUrl": "string",
- "organizationId": "string"
}{- "mapping": {
- "id": "string",
- "repoOriginUrl": "string",
- "organizationId": "string",
- "createdAt": "2023-01-15T01:30:15.01Z",
- "updatedAt": "2023-01-15T01:30:15.01Z"
}
}| Connect-Protocol-Version required | number (Connect-Protocol-Version) Value: 1 Define the version of the Connect protocol Value: 1 |
| Connect-Timeout-Ms | number (Connect-Timeout-Ms) Define the timeout, in ms |
| wordingVersion | string (wording_version) The wording version the user was shown. bosso rejects a version that is not current with INVALID_ARGUMENT so the client re-reads the status. |
| sourcePage | string (source_page) The app path the opt-in was shown on. Must start with "/"; any query or fragment is dropped, and it is at most 256 characters. |
{- "wordingVersion": "string",
- "sourcePage": "string"
}{- "consent": {
- "consentedAt": "2023-01-15T01:30:15.01Z",
- "source": "string",
- "sourcePage": "string",
- "wordingVersion": "string"
}
}Deprecated: use AuthKit switchToOrganization instead. This RPC is deprecated rather than deleted because buf breaking: use: FILE blocks deleting it from bossanova.v1; true removal requires bossanova.v2.
| Connect-Protocol-Version required | number (Connect-Protocol-Version) Value: 1 Define the version of the Connect protocol Value: 1 |
| Connect-Timeout-Ms | number (Connect-Timeout-Ms) Define the timeout, in ms |
| organizationId | string (organization_id) |
| returnUrl | string (return_url) |
{- "organizationId": "string",
- "returnUrl": "string"
}{- "organization": {
- "id": "string",
- "workosOrgId": "string",
- "name": "string",
- "callerRole": "MEMBER_ROLE_UNSPECIFIED",
- "isPersonal": true,
- "memberCount": 0,
- "createdAt": "2023-01-15T01:30:15.01Z",
- "isMemberSessionSharingEnabled": true
}, - "reauthorizeUrl": "string"
}SyncDaemonNotes mirrors a batch of a daemon's local notes into bosso. It authenticates the daemon session, the same principal as PublishDaemonSnapshot; a user token is Unauthenticated. The daemon owner is the author of every synced note, and each item is routed to an organization by its repo_origin_url. The mirror is one-way and daemon-authoritative: a newer source_version wins, and the cloud copy of a synced note cannot be edited through UpdateOrganizationNote. See SyncDaemonNotesRequest for the batch bounds and NoteSyncOutcome for the per-item results.
| Connect-Protocol-Version required | number (Connect-Protocol-Version) Value: 1 Define the version of the Connect protocol Value: 1 |
| Connect-Timeout-Ms | number (Connect-Timeout-Ms) Define the timeout, in ms |
Array of objects (items) | |||||||||||||||||||||
Array
| |||||||||||||||||||||
{- "items": [
- {
- "sourceNoteId": "string",
- "sourceVersion": 0,
- "repoOriginUrl": "string",
- "sessionId": "string",
- "chatId": "string",
- "body": "string",
- "tags": [
- "string"
], - "sourceCreatedAt": "2023-01-15T01:30:15.01Z",
- "sourceUpdatedAt": "2023-01-15T01:30:15.01Z",
- "isDeleted": true
}
]
}{- "results": [
- {
- "sourceNoteId": "string",
- "sourceVersion": 0,
- "outcome": "NOTE_SYNC_OUTCOME_UNSPECIFIED",
- "organizationId": "string",
- "organizationNoteId": "string",
- "reason": "string",
- "retryAt": "2023-01-15T01:30:15.01Z"
}
]
}TestTrigger runs a sample payload through a trigger the caller created, applying the same filters and policies as a real invocation, and records the result as a TriggerInvocation with source "test". It launches a session only when should_launch is set; otherwise the invocation stops at its decision. Only the creator may test a trigger; an owner of its organization gets PERMISSION_DENIED.
| Connect-Protocol-Version required | number (Connect-Protocol-Version) Value: 1 Define the version of the Connect protocol Value: 1 |
| Connect-Timeout-Ms | number (Connect-Timeout-Ms) Define the timeout, in ms |
| triggerId | string (trigger_id) |
| samplePayloadJson | string (sample_payload_json) Sample payload as a JSON object, evaluated as the request body (HTTP) or event payload (GitHub). |
| sampleEventType | string (sample_event_type) Catalog event id the sample is treated as; required for GitHub triggers, ignored for HTTP. |
| shouldLaunch | boolean (should_launch) Launch a real session when the sample passes every filter and policy. False evaluates and records the decision only. |
{- "triggerId": "string",
- "samplePayloadJson": "string",
- "sampleEventType": "string",
- "shouldLaunch": true
}{- "invocation": {
- "id": "string",
- "triggerId": "string",
- "source": "string",
- "eventType": "string",
- "status": "TRIGGER_INVOCATION_STATUS_UNSPECIFIED",
- "decisionReason": "string",
- "errorDetail": "string",
- "payloadExcerpt": "string",
- "daemonId": "string",
- "sessionId": "string",
- "attemptCount": 0,
- "receivedAt": "2023-01-15T01:30:15.01Z",
- "decidedAt": "2023-01-15T01:30:15.01Z",
- "launchedAt": "2023-01-15T01:30:15.01Z"
}
}Session transfer between daemons
| Connect-Protocol-Version required | number (Connect-Protocol-Version) Value: 1 Define the version of the Connect protocol Value: 1 |
| Connect-Timeout-Ms | number (Connect-Timeout-Ms) Define the timeout, in ms |
| sessionId | string (session_id) |
| sourceDaemonId | string (source_daemon_id) Daemon to transfer FROM. |
| targetDaemonId | string (target_daemon_id) Daemon to transfer TO. |
{- "sessionId": "string",
- "sourceDaemonId": "string",
- "targetDaemonId": "string"
}{- "session": {
- "id": "string",
- "repoId": "string",
- "title": "string",
- "plan": "string",
- "worktreePath": "string",
- "branchName": "string",
- "baseBranch": "string",
- "state": "SESSION_STATE_UNSPECIFIED",
- "agentSessionId": "string",
- "prNumber": 0,
- "prUrl": "string",
- "lastCheckState": "CHECKS_OVERALL_UNSPECIFIED",
- "lastCheckStateObserved": "CHECKS_OVERALL_UNSPECIFIED",
- "lastCheckStateHeadSha": "string",
- "lastCheckStateAt": "2023-01-15T01:30:15.01Z",
- "stateEnteredAt": "2023-01-15T01:30:15.01Z",
- "effectiveModel": "string",
- "effectiveEffort": "string",
- "organizationId": "string",
- "ownerUserId": "string",
- "ownerDisplayName": "string",
- "isAutomationEnabled": true,
- "attemptCount": 0,
- "blockedReason": "string",
- "archivedAt": "2023-01-15T01:30:15.01Z",
- "createdAt": "2023-01-15T01:30:15.01Z",
- "updatedAt": "2023-01-15T01:30:15.01Z",
- "repoDisplayName": "string",
- "displayStatus": "DISPLAY_STATUS_UNSPECIFIED",
- "displayHasFailures": true,
- "displayHasChangesRequested": true,
- "attentionStatus": {
- "needsAttention": true,
- "reason": "ATTENTION_REASON_UNSPECIFIED",
- "summary": "string",
- "since": "2023-01-15T01:30:15.01Z"
}, - "displayIsRepairing": true,
- "workflowDisplayStatus": "WORKFLOW_STATUS_UNSPECIFIED",
- "workflowDisplayLeg": 0,
- "workflowDisplayMaxLegs": 0,
- "hasActiveChat": true,
- "trackerId": "string",
- "trackerUrl": "string",
- "tmuxSessionName": "string",
- "prDisplayHeadSha": "string",
- "displayLabel": "string",
- "displayIntent": "DISPLAY_INTENT_UNSPECIFIED",
- "displaySpinner": true,
- "transferringTo": "string",
- "transferringFrom": "string",
- "agentName": "string",
- "lastRepairStartedAt": "2023-01-15T01:30:15.01Z",
- "lastRepairRunnerError": "string",
- "lastRepairExitError": "string",
- "lastRepairAttemptCount": 0,
- "lastRepairHeadSha": "string",
- "lastRepairDisplayStatus": "DISPLAY_STATUS_UNSPECIFIED",
- "lastChatActivityAt": "2023-01-15T01:30:15.01Z",
- "repoOriginUrl": "string",
- "lastRepairReviewFingerprint": "string",
- "displaySettingUp": true,
- "repoCanAutoRepair": true,
- "setupError": "string",
- "lastRepairBlockedReason": "string",
- "lastRepairBlockedAt": "2023-01-15T01:30:15.01Z",
- "repairActive": true,
- "prMergeable": true,
- "mergeBlock": {
- "gate": "GATE_UNSPECIFIED",
- "detail": "string",
- "blockingReviewers": [
- "string"
], - "displayStatus": "DISPLAY_STATUS_UNSPECIFIED"
}, - "lastAgentActivityAt": "2023-01-15T01:30:15.01Z",
- "accountId": "string",
- "accountLabel": "string",
- "rotationEvents": [
- {
- "id": "string",
- "sessionId": "string",
- "chatId": "string",
- "provider": "string",
- "trigger": "ROTATION_TRIGGER_UNSPECIFIED",
- "fromAccount": "string",
- "toAccount": "string",
- "resetAt": "2023-01-15T01:30:15.01Z",
- "outcome": "ROTATION_OUTCOME_UNSPECIFIED",
- "detail": "string",
- "createdAt": "2023-01-15T01:30:15.01Z"
}
], - "displayMerging": true,
- "repoShouldArchiveSessionsAfterMerge": true,
- "archivePending": true,
- "httpEndpoints": [
- {
- "port": 0,
- "url": "string"
}
], - "repairStalledAt": "2023-01-15T01:30:15.01Z",
- "listRank": 0,
- "isWaitingDemoted": true,
- "hasBuildReceipt": true,
- "isReadyOverWaiting": true,
- "attention": {
- "kind": "ATTENTION_KIND_UNSPECIFIED",
- "sentence": "string",
- "actions": [
- "ATTENTION_ACTION_UNSPECIFIED"
], - "since": "2023-01-15T01:30:15.01Z",
- "progressLabel": "string",
- "parkCodes": [
- "string"
], - "alertKey": "string",
- "targetChatId": "string",
- "evidenceUrl": "string",
- "openItems": [
- "string"
], - "isUnverified": true,
- "shouldShowDisplayLabel": true
}, - "isWorkingOverWaiting": true,
- "lastRepairBaseSha": "string",
- "verifyParkCodes": [
- "string"
]
}, - "targetDaemonId": "string"
}| Connect-Protocol-Version required | number (Connect-Protocol-Version) Value: 1 Define the version of the Connect protocol Value: 1 |
| Connect-Timeout-Ms | number (Connect-Timeout-Ms) Define the timeout, in ms |
| organizationId | string (organization_id) |
| id | string (id) |
| body | string or null (body) Unset = leave the body alone. |
NoteTagSet (object) or tags (null) (tags) Unset = leave the tags alone. SET = REPLACE the entire tag set with this list, including replacing it with nothing when the list is empty. |
{- "organizationId": "string",
- "id": "string",
- "body": "string",
- "tags": {
- "tags": [
- "string"
]
}
}{- "note": {
- "id": "string",
- "organizationId": "string",
- "authorUserId": "string",
- "origin": "ORGANIZATION_NOTE_ORIGIN_UNSPECIFIED",
- "sourceDaemonId": "string",
- "sourceNoteId": "string",
- "sourceVersion": 0,
- "repoOriginUrl": "string",
- "sessionId": "string",
- "chatId": "string",
- "body": "string",
- "tags": [
- "string"
], - "sourceCreatedAt": "2023-01-15T01:30:15.01Z",
- "sourceUpdatedAt": "2023-01-15T01:30:15.01Z",
- "createdAt": "2023-01-15T01:30:15.01Z",
- "updatedAt": "2023-01-15T01:30:15.01Z",
- "expiresAt": "2023-01-15T01:30:15.01Z"
}
}UpdateSessionWebhook changes only the fields that are present and returns the endpoint without its secret. Disabling an endpoint or changing its URL cancels its undelivered deliveries. Validation matches CreateSessionWebhook. While member session sharing is off: NOT_FOUND for another owner's endpoint, and FAILED_PRECONDITION for an orphaned one unless the update sets nothing but is_enabled=false.
| Connect-Protocol-Version required | number (Connect-Protocol-Version) Value: 1 Define the version of the Connect protocol Value: 1 |
| Connect-Timeout-Ms | number (Connect-Timeout-Ms) Define the timeout, in ms |
| organizationId | string (organization_id) |
| id | string (id) |
| url | string or null (url) |
| description | string or null (description) |
| eventTypes | Array of strings (event_types) |
| shouldReplaceEventTypes | boolean (should_replace_event_types) |
| isEnabled | boolean or null (is_enabled) |
| format | string or null (format) New payload format (SessionWebhookFormat.id); absent leaves it unchanged. Undelivered deliveries are sent in the new format. |
| managedBy | string or null (managed_by) Config-ownership marker. Omitted leaves it unchanged; "" clears it;
otherwise "boss-project: |
{- "organizationId": "string",
- "id": "string",
- "url": "string",
- "description": "string",
- "eventTypes": [
- "string"
], - "shouldReplaceEventTypes": true,
- "isEnabled": true,
- "format": "string",
- "managedBy": "string"
}{- "webhook": {
- "id": "string",
- "organizationId": "string",
- "url": "string",
- "description": "string",
- "eventTypes": [
- "string"
], - "isEnabled": true,
- "createdByUserId": "string",
- "createdAt": "2023-01-15T01:30:15.01Z",
- "updatedAt": "2023-01-15T01:30:15.01Z",
- "secretRotatedAt": "2023-01-15T01:30:15.01Z",
- "format": "string",
- "managedBy": "string",
- "isRetireOnly": true
}
}UpdateTrigger changes fields of a trigger the caller created; absent fields are left unchanged. trigger_type is immutable. Never returns or changes the secret. An owner of the trigger's organization may disable a member's trigger (is_enabled false and nothing else); enabling it or any other change is PERMISSION_DENIED for anyone but the creator.
| Connect-Protocol-Version required | number (Connect-Protocol-Version) Value: 1 Define the version of the Connect protocol Value: 1 |
| Connect-Timeout-Ms | number (Connect-Timeout-Ms) Define the timeout, in ms |
| id | string (id) |
| name | string or null (name) |
| isEnabled | boolean or null (is_enabled) Enable or disable the trigger. |
| repoOriginUrl | string or null (repo_origin_url) |
object (bossanova.v1.TriggerLaunchSettings) Replaces the launch settings when set, except that its optional should_run_setup_command and is_zero_output keep their stored values when absent. | |
object (bossanova.v1.TriggerPlacement) TriggerPlacement is where a trigger launches its session. | |
TriggerConcurrencyPolicy (string) or concurrency_policy (null) (concurrency_policy) | |
| cooldownSeconds | integer or null <int32> (cooldown_seconds) |
Array of objects (filters) | |
| shouldClearFilters | boolean (should_clear_filters) |
| payloadFields | Array of strings (payload_fields) |
| shouldClearPayloadFields | boolean (should_clear_payload_fields) |
object (bossanova.v1.TriggerGate) Replaces the whole gate when set; set with an empty script_path it removes the gate. Absent leaves the gate unchanged. | |
| managedBy | string or null (managed_by) Config-ownership marker. Omitted leaves it unchanged; "" clears it;
otherwise "boss-project: |
required | object (bossanova.v1.GithubTriggerConfig) GithubTriggerConfig is config version 1 for trigger_type "github". Events arrive through the Bossanova GitHub App installation on repo_origin_url. |
{- "id": "string",
- "name": "string",
- "isEnabled": true,
- "repoOriginUrl": "string",
- "launch": {
- "promptTemplate": "string",
- "skillName": "string",
- "agentName": "string",
- "model": "string",
- "effort": "string",
- "baseBranch": "string",
- "shouldRunSetupCommand": true,
- "isZeroOutput": true
}, - "placement": {
- "mode": "TRIGGER_PLACEMENT_MODE_UNSPECIFIED",
- "daemonId": "string"
}, - "concurrencyPolicy": "TRIGGER_CONCURRENCY_POLICY_UNSPECIFIED",
- "cooldownSeconds": 0,
- "filters": [
- {
- "field": "string",
- "operator": "TRIGGER_FILTER_OPERATOR_UNSPECIFIED",
- "values": [
- "string"
]
}
], - "shouldClearFilters": true,
- "payloadFields": [
- "string"
], - "shouldClearPayloadFields": true,
- "gate": {
- "scriptPath": "string",
- "timeoutSeconds": 0
}, - "managedBy": "string",
- "github": {
- "eventTypes": [
- "string"
]
}
}{- "trigger": {
- "id": "string",
- "organizationId": "string",
- "creatorUserId": "string",
- "name": "string",
- "isEnabled": true,
- "triggerType": "string",
- "configVersion": 0,
- "repoOriginUrl": "string",
- "launch": {
- "promptTemplate": "string",
- "skillName": "string",
- "agentName": "string",
- "model": "string",
- "effort": "string",
- "baseBranch": "string",
- "shouldRunSetupCommand": true,
- "isZeroOutput": true
}, - "placement": {
- "mode": "TRIGGER_PLACEMENT_MODE_UNSPECIFIED",
- "daemonId": "string"
}, - "concurrencyPolicy": "TRIGGER_CONCURRENCY_POLICY_UNSPECIFIED",
- "cooldownSeconds": 0,
- "filters": [
- {
- "field": "string",
- "operator": "TRIGGER_FILTER_OPERATOR_UNSPECIFIED",
- "values": [
- "string"
]
}
], - "payloadFields": [
- "string"
], - "endpointPath": "string",
- "lastInvocation": {
- "status": "TRIGGER_INVOCATION_STATUS_UNSPECIFIED",
- "decisionReason": "string",
- "receivedAt": "2023-01-15T01:30:15.01Z",
- "sessionId": "string"
}, - "createdAt": "2023-01-15T01:30:15.01Z",
- "updatedAt": "2023-01-15T01:30:15.01Z",
- "gate": {
- "scriptPath": "string",
- "timeoutSeconds": 0
}, - "managedBy": "string",
- "github": {
- "eventTypes": [
- "string"
]
}
}
}