Back GitHub

Neoism Agent API reference

The versioned HTTP API for Neoism's local agent runtime. This website is a reference, not a hosted agent service. The default local address is http://127.0.0.1:4096.

Authenticated requests use Authorization: Bearer <token>. Loopback servers may run in trusted mode; configured authentication still applies. Management endpoints require a local operator token. Plugin capabilities can be optional at runtime; discover what your server supports.

This static reference is derived from the bundled versioned OpenAPI contract (v2.json). Interactive browsing is an optional enhancement. Read the product guides for setup and runtime behavior.

Contract information

{
  "description": "Canonical, versioned Neoism Agent contract. Unknown event and part payloads are intentionally open.",
  "title": "Neoism Agent API",
  "version": "2.0.0"
}

Endpoints

GET /v2/agents

Operation: v2.agents.list

Parameters

[
  {
    "in": "query",
    "name": "directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "scope",
    "required": false,
    "schema": {
      "description": "Installation selects global definitions/configuration. Omission preserves workspace behavior; directory is not a storage-scope selector.",
      "enum": [
        "installation",
        "workspace"
      ],
      "type": "string"
    }
  },
  {
    "in": "header",
    "name": "X-Neoism-Directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  }
]

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/AgentList"
        }
      }
    },
    "description": "Catalog result"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

GET /v2/agents/{name}

Operation: v2.agents.get

Parameters

[
  {
    "in": "path",
    "name": "name",
    "required": true,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "header",
    "name": "X-Neoism-Directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  }
]

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/Agent"
        }
      }
    },
    "description": "Agent"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

GET /v2/artifacts

Operation: v2.artifacts.list

Parameters

[
  {
    "in": "query",
    "name": "sessionId",
    "required": false,
    "schema": {
      "type": "string"
    }
  }
]

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "items": {
            "$ref": "#/components/schemas/Artifact"
          },
          "type": "array"
        }
      }
    },
    "description": "Artifacts"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

POST /v2/artifacts

Operation: v2.artifacts.create

Parameters

[
  {
    "in": "header",
    "name": "Content-Type",
    "required": false,
    "schema": {
      "default": "application/octet-stream",
      "type": "string"
    }
  },
  {
    "in": "header",
    "name": "X-Neoism-Filename",
    "required": false,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "header",
    "name": "X-Neoism-Session-Id",
    "required": false,
    "schema": {
      "type": "string"
    }
  }
]

Request body

{
  "content": {
    "application/octet-stream": {
      "schema": {
        "format": "binary",
        "maxLength": 26214400,
        "type": "string"
      }
    }
  },
  "required": true
}

Responses

{
  "201": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/Artifact"
        }
      }
    },
    "description": "Created artifact"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

DELETE /v2/artifacts/{artifact_id}

Operation: v2.artifacts.delete

Parameters

[
  {
    "in": "path",
    "name": "artifact_id",
    "required": true,
    "schema": {
      "type": "string"
    }
  }
]

Responses

{
  "204": {
    "description": "Artifact deleted"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

GET /v2/artifacts/{artifact_id}

Operation: v2.artifacts.get

Parameters

[
  {
    "in": "path",
    "name": "artifact_id",
    "required": true,
    "schema": {
      "type": "string"
    }
  }
]

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/Artifact"
        }
      }
    },
    "description": "Artifact metadata"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

GET /v2/artifacts/{artifact_id}/content

Operation: v2.artifacts.content

Parameters

[
  {
    "in": "path",
    "name": "artifact_id",
    "required": true,
    "schema": {
      "type": "string"
    }
  }
]

Responses

{
  "200": {
    "content": {
      "application/octet-stream": {
        "schema": {
          "format": "binary",
          "type": "string"
        }
      }
    },
    "description": "Artifact bytes",
    "headers": {
      "Content-Disposition": {
        "schema": {
          "type": "string"
        }
      },
      "Content-Type": {
        "schema": {
          "type": "string"
        }
      },
      "ETag": {
        "schema": {
          "type": "string"
        }
      }
    }
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

GET /v2/audit

Operation: v2.audit.list

Parameters

[
  {
    "in": "query",
    "name": "limit",
    "required": false,
    "schema": {
      "default": 100,
      "maximum": 1000,
      "minimum": 1,
      "type": "integer"
    }
  }
]

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "items": {
            "$ref": "#/components/schemas/AuditEntry"
          },
          "type": "array"
        }
      }
    },
    "description": "Audit entries"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

GET /v2/capabilities

Operation: v2.capabilities.list

Parameters

[
  {
    "in": "query",
    "name": "directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "scope",
    "required": false,
    "schema": {
      "description": "Installation selects global definitions/configuration. Omission preserves workspace behavior; directory is not a storage-scope selector.",
      "enum": [
        "installation",
        "workspace"
      ],
      "type": "string"
    }
  },
  {
    "in": "header",
    "name": "X-Neoism-Directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  }
]

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "items": {
            "$ref": "#/components/schemas/Capability"
          },
          "type": "array"
        }
      }
    },
    "description": "Capabilities"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

GET /v2/commands

Operation: v2.commands.list

Parameters

[
  {
    "in": "query",
    "name": "directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "header",
    "name": "X-Neoism-Directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  }
]

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/CommandList"
        }
      }
    },
    "description": "Catalog result"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

GET /v2/config

Operation: v2.config.get

Parameters

[
  {
    "in": "query",
    "name": "directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "header",
    "name": "X-Neoism-Directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  }
]

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/ConfigDocument"
        }
      }
    },
    "description": "Effective agent configuration"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

PATCH /v2/config

Operation: v2.config.update

Parameters

[
  {
    "in": "query",
    "name": "directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "header",
    "name": "X-Neoism-Directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  }
]

Request body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/ConfigDocument"
      }
    }
  },
  "required": true
}

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/ConfigDocument"
        }
      }
    },
    "description": "Updated configuration"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

GET /v2/config/defaults

Operation: v2.config.defaults

Parameters

[
  {
    "in": "query",
    "name": "directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "header",
    "name": "X-Neoism-Directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  }
]

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/ConfigDefaults"
        }
      }
    },
    "description": "Safe effective agent selections"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

GET /v2/config/validate

Operation: v2.config.validate

Parameters

[
  {
    "in": "query",
    "name": "directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "header",
    "name": "X-Neoism-Directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  }
]

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/ConfigValidation"
        }
      }
    },
    "description": "Configuration validation"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

GET /v2/directories

Operation: v2.directories.list

Parameters

[
  {
    "in": "query",
    "name": "path",
    "required": false,
    "schema": {
      "description": "Server path, supporting ~ expansion. Omit for caller root or server working directory.",
      "type": "string"
    }
  }
]

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "properties": {
            "entries": {
              "items": {
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "path": {
                    "type": "string"
                  }
                },
                "required": [
                  "name",
                  "path"
                ],
                "type": "object"
              },
              "type": "array"
            },
            "parent": {
              "type": [
                "string",
                "null"
              ]
            },
            "path": {
              "type": "string"
            }
          },
          "required": [
            "path",
            "parent",
            "entries"
          ],
          "type": "object"
        }
      }
    },
    "description": "Canonical folder and authorized child directories"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

GET /v2/events

Operation: v2.events.subscribe

Parameters

[
  {
    "in": "header",
    "name": "Last-Event-ID",
    "required": false,
    "schema": {
      "minimum": 0,
      "type": "integer"
    }
  },
  {
    "in": "query",
    "name": "since",
    "required": false,
    "schema": {
      "minimum": 0,
      "type": "integer"
    }
  },
  {
    "in": "query",
    "name": "tail",
    "required": false,
    "schema": {
      "default": false,
      "type": "boolean"
    }
  },
  {
    "in": "query",
    "name": "limit",
    "required": false,
    "schema": {
      "default": 1000,
      "maximum": 5000,
      "minimum": 1,
      "type": "integer"
    }
  },
  {
    "in": "query",
    "name": "sessionId",
    "required": false,
    "schema": {
      "type": "string"
    }
  }
]

Responses

{
  "200": {
    "content": {
      "text/event-stream": {
        "schema": {
          "description": "SSE records whose data field is an Event (the typed, type-discriminated union in components/schemas/Event)",
          "type": "string"
        }
      }
    },
    "description": "Resumable durable event stream"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

GET /v2/execution-activity

Operation: v2.executionActivity.list

Parameters

[]

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "items": {
            "additionalProperties": false,
            "properties": {
              "executionId": {
                "type": "string"
              },
              "finished": {
                "type": "boolean"
              },
              "revision": {
                "minimum": 0,
                "type": "integer"
              },
              "rootSessionId": {
                "type": "string"
              }
            },
            "required": [
              "rootSessionId",
              "executionId",
              "revision",
              "finished"
            ],
            "type": "object"
          },
          "type": "array"
        }
      }
    },
    "description": "Execution summaries"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

GET /v2/execution-activity/events

Operation: v2.executionActivity.events

Parameters

[]

Responses

{
  "200": {
    "content": {
      "text/event-stream": {
        "schema": {
          "type": "string"
        }
      }
    },
    "description": "Execution snapshot SSE stream"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

GET /v2/external/options/preview

Operation: v2.external.options.preview

Parameters

[
  {
    "in": "query",
    "name": "provider",
    "required": true,
    "schema": {
      "enum": [
        "opencode",
        "claude",
        "codex"
      ],
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "header",
    "name": "X-Neoism-Directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  }
]

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "properties": {
            "availableCommands": {
              "items": {
                "additionalProperties": true,
                "type": "object"
              },
              "type": "array"
            },
            "catalogStale": {
              "description": "Present and true when an expired last-good snapshot is returned during background refresh.",
              "type": "boolean"
            },
            "configOptions": {
              "items": {
                "additionalProperties": true,
                "type": "object"
              },
              "type": "array"
            },
            "externalSessionId": {
              "description": "Preview sessions are ephemeral and their IDs are never returned.",
              "type": "null"
            },
            "modeFallback": {
              "type": "boolean"
            },
            "provider": {
              "enum": [
                "opencode",
                "claude",
                "codex"
              ],
              "type": "string"
            },
            "selectedOptions": {
              "additionalProperties": {
                "type": "string"
              },
              "type": "object"
            }
          },
          "required": [
            "provider",
            "configOptions",
            "modeFallback",
            "selectedOptions",
            "externalSessionId",
            "availableCommands"
          ],
          "type": "object"
        }
      }
    },
    "description": "Cached or freshly confirmed ACP options"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

POST /v2/external/options/preview

Operation: v2.external.options.previewSelected

Parameters

[
  {
    "in": "query",
    "name": "provider",
    "required": true,
    "schema": {
      "enum": [
        "opencode",
        "claude",
        "codex"
      ],
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "header",
    "name": "X-Neoism-Directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  }
]

Request body

{
  "content": {
    "application/json": {
      "schema": {
        "additionalProperties": false,
        "properties": {
          "selectedOptions": {
            "additionalProperties": {
              "type": "string"
            },
            "type": "object"
          }
        },
        "required": [
          "selectedOptions"
        ],
        "type": "object"
      }
    }
  },
  "required": true
}

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "properties": {
            "availableCommands": {
              "items": {
                "additionalProperties": true,
                "type": "object"
              },
              "type": "array"
            },
            "catalogStale": {
              "description": "Present and true when an expired last-good snapshot is returned during background refresh.",
              "type": "boolean"
            },
            "configOptions": {
              "items": {
                "additionalProperties": true,
                "type": "object"
              },
              "type": "array"
            },
            "externalSessionId": {
              "description": "Preview sessions are ephemeral and their IDs are never returned.",
              "type": "null"
            },
            "modeFallback": {
              "type": "boolean"
            },
            "provider": {
              "enum": [
                "opencode",
                "claude",
                "codex"
              ],
              "type": "string"
            },
            "selectedOptions": {
              "additionalProperties": {
                "type": "string"
              },
              "type": "object"
            }
          },
          "required": [
            "provider",
            "configOptions",
            "modeFallback",
            "selectedOptions",
            "externalSessionId",
            "availableCommands"
          ],
          "type": "object"
        }
      }
    },
    "description": "ACP options after applying selected values"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

GET /v2/health

Operation: v2.health

Parameters

[]

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/HealthResponse"
        }
      }
    },
    "description": "Health"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

Security

[]

GET /v2/identity

Server process-owner identity, not the authenticated caller. Unavailable in hosted multi-tenant mode. Advertised by neoism.identity.

Operation: v2.identity.get

Parameters

[]

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "properties": {
            "configuredName": {
              "type": [
                "string",
                "null"
              ]
            },
            "systemName": {
              "type": [
                "string",
                "null"
              ]
            }
          },
          "required": [
            "configuredName",
            "systemName"
          ],
          "type": "object"
        }
      }
    },
    "description": "Process-owner identity"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

GET /v2/interactions/permissions

Operation: v2.interactions.permissions.list

Parameters

[
  {
    "in": "query",
    "name": "sessionId",
    "required": false,
    "schema": {
      "type": "string"
    }
  }
]

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "items": {
            "$ref": "#/components/schemas/PermissionRequest"
          },
          "type": "array"
        }
      }
    },
    "description": "Pending permissions"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

POST /v2/interactions/permissions/{request_id}/reply

Operation: v2.interactions.permissions.reply

Parameters

[
  {
    "in": "path",
    "name": "request_id",
    "required": true,
    "schema": {
      "type": "string"
    }
  }
]

Request body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/PermissionReply"
      }
    }
  },
  "required": true
}

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "type": "boolean"
        }
      }
    },
    "description": "Reply accepted"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

GET /v2/interactions/questions

Operation: v2.interactions.questions.list

Parameters

[
  {
    "in": "query",
    "name": "sessionId",
    "required": false,
    "schema": {
      "type": "string"
    }
  }
]

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "items": {
            "$ref": "#/components/schemas/QuestionRequest"
          },
          "type": "array"
        }
      }
    },
    "description": "Pending questions"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

POST /v2/interactions/questions/{request_id}/reject

Operation: v2.interactions.questions.reject

Parameters

[
  {
    "in": "path",
    "name": "request_id",
    "required": true,
    "schema": {
      "type": "string"
    }
  }
]

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "type": "boolean"
        }
      }
    },
    "description": "Rejection accepted"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

POST /v2/interactions/questions/{request_id}/reply

Operation: v2.interactions.questions.reply

Parameters

[
  {
    "in": "path",
    "name": "request_id",
    "required": true,
    "schema": {
      "type": "string"
    }
  }
]

Request body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/QuestionReply"
      }
    }
  },
  "required": true
}

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "type": "boolean"
        }
      }
    },
    "description": "Reply accepted"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

GET /v2/management/agents

Operation: v2.management.agents.list

Parameters

[
  {
    "in": "query",
    "name": "directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "scope",
    "required": false,
    "schema": {
      "enum": [
        "installation",
        "workspace"
      ],
      "type": "string"
    }
  },
  {
    "in": "header",
    "name": "X-Neoism-Directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  }
]

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "items": {
            "$ref": "#/components/schemas/ManagedResource"
          },
          "type": "array"
        }
      }
    },
    "description": "Managed resource catalog"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

DELETE /v2/management/agents/{id}

Operation: v2.management.agents.delete

Parameters

[
  {
    "in": "path",
    "name": "id",
    "required": true,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "scope",
    "required": false,
    "schema": {
      "enum": [
        "installation",
        "workspace"
      ],
      "type": "string"
    }
  },
  {
    "in": "header",
    "name": "If-Match",
    "required": false,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "header",
    "name": "X-Neoism-Directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  }
]

Responses

{
  "204": {
    "description": "Managed resource deleted"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

GET /v2/management/agents/{id}

Operation: v2.management.agents.get

Parameters

[
  {
    "in": "path",
    "name": "id",
    "required": true,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "scope",
    "required": false,
    "schema": {
      "enum": [
        "installation",
        "workspace"
      ],
      "type": "string"
    }
  },
  {
    "in": "header",
    "name": "If-Match",
    "required": false,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "header",
    "name": "X-Neoism-Directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  }
]

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/ManagedResource"
        }
      }
    },
    "description": "Managed resource"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

POST /v2/management/agents/{id}

Operation: v2.management.agents.create

Parameters

[
  {
    "in": "path",
    "name": "id",
    "required": true,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "scope",
    "required": false,
    "schema": {
      "enum": [
        "installation",
        "workspace"
      ],
      "type": "string"
    }
  },
  {
    "in": "header",
    "name": "If-Match",
    "required": false,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "header",
    "name": "X-Neoism-Directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  }
]

Request body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/MarkdownWriteRequest"
      }
    }
  },
  "required": true
}

Responses

{
  "201": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/ManagedResource"
        }
      }
    },
    "description": "Created managed resource"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

PUT /v2/management/agents/{id}

Operation: v2.management.agents.update

Parameters

[
  {
    "in": "path",
    "name": "id",
    "required": true,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "scope",
    "required": false,
    "schema": {
      "enum": [
        "installation",
        "workspace"
      ],
      "type": "string"
    }
  },
  {
    "in": "header",
    "name": "If-Match",
    "required": false,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "header",
    "name": "X-Neoism-Directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  }
]

Request body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/MarkdownWriteRequest"
      }
    }
  },
  "required": true
}

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/ManagedResource"
        }
      }
    },
    "description": "Updated managed resource"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

GET /v2/management/commands

Operation: v2.management.commands.list

Parameters

[
  {
    "in": "query",
    "name": "directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "scope",
    "required": false,
    "schema": {
      "enum": [
        "installation",
        "workspace"
      ],
      "type": "string"
    }
  },
  {
    "in": "header",
    "name": "X-Neoism-Directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  }
]

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "items": {
            "$ref": "#/components/schemas/ManagedResource"
          },
          "type": "array"
        }
      }
    },
    "description": "Managed resource catalog"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

DELETE /v2/management/commands/{id}

Operation: v2.management.commands.delete

Parameters

[
  {
    "in": "path",
    "name": "id",
    "required": true,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "scope",
    "required": false,
    "schema": {
      "enum": [
        "installation",
        "workspace"
      ],
      "type": "string"
    }
  },
  {
    "in": "header",
    "name": "If-Match",
    "required": false,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "header",
    "name": "X-Neoism-Directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  }
]

Responses

{
  "204": {
    "description": "Managed resource deleted"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

GET /v2/management/commands/{id}

Operation: v2.management.commands.get

Parameters

[
  {
    "in": "path",
    "name": "id",
    "required": true,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "scope",
    "required": false,
    "schema": {
      "enum": [
        "installation",
        "workspace"
      ],
      "type": "string"
    }
  },
  {
    "in": "header",
    "name": "If-Match",
    "required": false,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "header",
    "name": "X-Neoism-Directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  }
]

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/ManagedResource"
        }
      }
    },
    "description": "Managed resource"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

POST /v2/management/commands/{id}

Operation: v2.management.commands.create

Parameters

[
  {
    "in": "path",
    "name": "id",
    "required": true,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "scope",
    "required": false,
    "schema": {
      "enum": [
        "installation",
        "workspace"
      ],
      "type": "string"
    }
  },
  {
    "in": "header",
    "name": "If-Match",
    "required": false,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "header",
    "name": "X-Neoism-Directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  }
]

Request body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/MarkdownWriteRequest"
      }
    }
  },
  "required": true
}

Responses

{
  "201": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/ManagedResource"
        }
      }
    },
    "description": "Created managed resource"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

PUT /v2/management/commands/{id}

Operation: v2.management.commands.update

Parameters

[
  {
    "in": "path",
    "name": "id",
    "required": true,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "scope",
    "required": false,
    "schema": {
      "enum": [
        "installation",
        "workspace"
      ],
      "type": "string"
    }
  },
  {
    "in": "header",
    "name": "If-Match",
    "required": false,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "header",
    "name": "X-Neoism-Directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  }
]

Request body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/MarkdownWriteRequest"
      }
    }
  },
  "required": true
}

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/ManagedResource"
        }
      }
    },
    "description": "Updated managed resource"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

GET /v2/management/repositories

Operation: v2.management.repositories.list

Parameters

[]

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "items": {
            "$ref": "#/components/schemas/ManagedRepository"
          },
          "type": "array"
        }
      }
    },
    "description": "Managed repositories"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

POST /v2/management/repositories

Operation: v2.management.repositories.create

Parameters

[]

Request body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/RepositoryCreateRequest"
      }
    }
  },
  "required": true
}

Responses

{
  "201": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/ManagedRepository"
        }
      }
    },
    "description": "Registered or cloned repository"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

DELETE /v2/management/repositories/{id}

Operation: v2.management.repositories.delete

Parameters

[
  {
    "in": "path",
    "name": "id",
    "required": true,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "expectedRevision",
    "required": false,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "header",
    "name": "If-Match",
    "required": false,
    "schema": {
      "type": "string"
    }
  }
]

Responses

{
  "204": {
    "description": "Repository unregistered; working tree is retained"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

GET /v2/management/repositories/{id}

Operation: v2.management.repositories.get

Parameters

[
  {
    "in": "path",
    "name": "id",
    "required": true,
    "schema": {
      "type": "string"
    }
  }
]

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/ManagedRepository"
        }
      }
    },
    "description": "Managed repository"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

PUT /v2/management/repositories/{id}

Operation: v2.management.repositories.update

Parameters

[
  {
    "in": "path",
    "name": "id",
    "required": true,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "header",
    "name": "If-Match",
    "required": false,
    "schema": {
      "type": "string"
    }
  }
]

Request body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/RepositoryUpdateRequest"
      }
    }
  },
  "required": true
}

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/ManagedRepository"
        }
      }
    },
    "description": "Updated repository registration"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

GET /v2/management/skills

Operation: v2.management.skills.list

Parameters

[
  {
    "in": "query",
    "name": "directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "scope",
    "required": false,
    "schema": {
      "enum": [
        "installation",
        "workspace"
      ],
      "type": "string"
    }
  },
  {
    "in": "header",
    "name": "X-Neoism-Directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  }
]

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "items": {
            "$ref": "#/components/schemas/ManagedResource"
          },
          "type": "array"
        }
      }
    },
    "description": "Managed resource catalog"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

POST /v2/management/skills/install

Operation: v2.management.skills.install

Parameters

[
  {
    "in": "query",
    "name": "directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "header",
    "name": "If-Match",
    "required": false,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "header",
    "name": "X-Neoism-Directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  }
]

Request body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/SkillInstallRequest"
      }
    }
  },
  "required": true
}

Responses

{
  "201": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/ManagedResource"
        }
      }
    },
    "description": "Installed skill bundle"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

DELETE /v2/management/skills/{id}

Operation: v2.management.skills.delete

Parameters

[
  {
    "in": "path",
    "name": "id",
    "required": true,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "scope",
    "required": false,
    "schema": {
      "enum": [
        "installation",
        "workspace"
      ],
      "type": "string"
    }
  },
  {
    "in": "header",
    "name": "If-Match",
    "required": false,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "header",
    "name": "X-Neoism-Directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  }
]

Responses

{
  "204": {
    "description": "Managed resource deleted"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

GET /v2/management/skills/{id}

Operation: v2.management.skills.get

Parameters

[
  {
    "in": "path",
    "name": "id",
    "required": true,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "scope",
    "required": false,
    "schema": {
      "enum": [
        "installation",
        "workspace"
      ],
      "type": "string"
    }
  },
  {
    "in": "header",
    "name": "If-Match",
    "required": false,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "header",
    "name": "X-Neoism-Directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  }
]

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/ManagedResource"
        }
      }
    },
    "description": "Managed resource"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

POST /v2/management/skills/{id}

Operation: v2.management.skills.create

Parameters

[
  {
    "in": "path",
    "name": "id",
    "required": true,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "scope",
    "required": false,
    "schema": {
      "enum": [
        "installation",
        "workspace"
      ],
      "type": "string"
    }
  },
  {
    "in": "header",
    "name": "If-Match",
    "required": false,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "header",
    "name": "X-Neoism-Directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  }
]

Request body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/SkillWriteRequest"
      }
    }
  },
  "required": true
}

Responses

{
  "201": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/ManagedResource"
        }
      }
    },
    "description": "Created managed resource"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

PUT /v2/management/skills/{id}

Operation: v2.management.skills.update

Parameters

[
  {
    "in": "path",
    "name": "id",
    "required": true,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "scope",
    "required": false,
    "schema": {
      "enum": [
        "installation",
        "workspace"
      ],
      "type": "string"
    }
  },
  {
    "in": "header",
    "name": "If-Match",
    "required": false,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "header",
    "name": "X-Neoism-Directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  }
]

Request body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/SkillWriteRequest"
      }
    }
  },
  "required": true
}

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/ManagedResource"
        }
      }
    },
    "description": "Updated managed resource"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

GET /v2/management/skills/{id}/versions

Operation: v2.management.skills.versions.list

Parameters

[
  {
    "in": "path",
    "name": "id",
    "required": true,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "scope",
    "required": false,
    "schema": {
      "description": "Installation selects global definitions/configuration. Omission preserves workspace behavior; directory is not a storage-scope selector.",
      "enum": [
        "installation",
        "workspace"
      ],
      "type": "string"
    }
  },
  {
    "in": "header",
    "name": "X-Neoism-Directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  }
]

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "items": {
            "$ref": "#/components/schemas/SkillVersion"
          },
          "type": "array"
        }
      }
    },
    "description": "Immutable skill versions"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

GET /v2/management/skills/{id}/versions/{version}

Operation: v2.management.skills.versions.get

Parameters

[
  {
    "in": "path",
    "name": "id",
    "required": true,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "path",
    "name": "version",
    "required": true,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "scope",
    "required": false,
    "schema": {
      "description": "Installation selects global definitions/configuration. Omission preserves workspace behavior; directory is not a storage-scope selector.",
      "enum": [
        "installation",
        "workspace"
      ],
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "header",
    "name": "X-Neoism-Directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  }
]

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/SkillVersion"
        }
      }
    },
    "description": "Immutable skill version"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

POST /v2/management/skills/{id}/versions/{version}/restore

Operation: v2.management.skills.versions.restore

Parameters

[
  {
    "in": "path",
    "name": "id",
    "required": true,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "path",
    "name": "version",
    "required": true,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "expectedRevision",
    "required": false,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "header",
    "name": "If-Match",
    "required": false,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "scope",
    "required": false,
    "schema": {
      "description": "Installation selects global definitions/configuration. Omission preserves workspace behavior; directory is not a storage-scope selector.",
      "enum": [
        "installation",
        "workspace"
      ],
      "type": "string"
    }
  },
  {
    "in": "header",
    "name": "X-Neoism-Directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  }
]

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/ManagedResource"
        }
      }
    },
    "description": "Restored skill"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

GET /v2/management/workspaces

Operation: v2.management.workspaces.list

Parameters

[]

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "items": {
            "$ref": "#/components/schemas/ManagedWorkspace"
          },
          "type": "array"
        }
      }
    },
    "description": "Managed workspaces"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

POST /v2/management/workspaces

Operation: v2.management.workspaces.create

Parameters

[]

Request body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/WorkspaceCreateRequest"
      }
    }
  },
  "required": true
}

Responses

{
  "201": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/ManagedWorkspace"
        }
      }
    },
    "description": "Registered workspace"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

DELETE /v2/management/workspaces/{id}

Operation: v2.management.workspaces.delete

Parameters

[
  {
    "in": "path",
    "name": "id",
    "required": true,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "expectedRevision",
    "required": false,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "header",
    "name": "If-Match",
    "required": false,
    "schema": {
      "type": "string"
    }
  }
]

Responses

{
  "204": {
    "description": "Workspace unregistered; files are retained"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

GET /v2/management/workspaces/{id}

Operation: v2.management.workspaces.get

Parameters

[
  {
    "in": "path",
    "name": "id",
    "required": true,
    "schema": {
      "type": "string"
    }
  }
]

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/ManagedWorkspace"
        }
      }
    },
    "description": "Managed workspace"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

PUT /v2/management/workspaces/{id}

Operation: v2.management.workspaces.update

Parameters

[
  {
    "in": "path",
    "name": "id",
    "required": true,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "header",
    "name": "If-Match",
    "required": false,
    "schema": {
      "type": "string"
    }
  }
]

Request body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/WorkspaceUpdateRequest"
      }
    }
  },
  "required": true
}

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/ManagedWorkspace"
        }
      }
    },
    "description": "Updated workspace"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

GET /v2/meta

Operation: v2.meta.get

Parameters

[]

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/ApiMeta"
        }
      }
    },
    "description": "Protocol metadata"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

GET /v2/openapi.json

Operation: v2.openapi.get

Parameters

[]

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/OpenApiDocument"
        }
      }
    },
    "description": "OpenAPI 3.1 document"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

GET /v2/plugins

Operation: v2.plugins.list

Parameters

[
  {
    "in": "query",
    "name": "directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "header",
    "name": "X-Neoism-Directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  }
]

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "items": {
            "$ref": "#/components/schemas/PluginManifest"
          },
          "type": "array"
        }
      }
    },
    "description": "Plugin manifests"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

DELETE /v2/plugins/dev.neoism.goals/{session_id}

Operation: v2.plugins.goals.clear

Parameters

[
  {
    "in": "path",
    "name": "session_id",
    "required": true,
    "schema": {
      "type": "string"
    }
  }
]

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/GoalResponse"
        }
      }
    },
    "description": "Goal state"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

GET /v2/plugins/dev.neoism.goals/{session_id}

Operation: v2.plugins.goals.get

Parameters

[
  {
    "in": "path",
    "name": "session_id",
    "required": true,
    "schema": {
      "type": "string"
    }
  }
]

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/GoalResponse"
        }
      }
    },
    "description": "Goal state"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

POST /v2/plugins/dev.neoism.goals/{session_id}

Operation: v2.plugins.goals.set

Parameters

[
  {
    "in": "path",
    "name": "session_id",
    "required": true,
    "schema": {
      "type": "string"
    }
  }
]

Request body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/SetGoalRequest"
      }
    }
  },
  "required": false
}

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/GoalResponse"
        }
      }
    },
    "description": "Goal state"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

POST /v2/plugins/dev.neoism.goals/{session_id}/research

Operation: v2.plugins.goals.research

Parameters

[
  {
    "in": "path",
    "name": "session_id",
    "required": true,
    "schema": {
      "type": "string"
    }
  }
]

Request body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/GoalResearchRequest"
      }
    }
  },
  "required": true
}

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/GoalResponse"
        }
      }
    },
    "description": "Goal state"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

GET /v2/plugins/dev.neoism.lsp

Operation: v2.plugins.lsp.status

Parameters

[
  {
    "in": "query",
    "name": "directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "header",
    "name": "X-Neoism-Directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  }
]

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "items": {
            "$ref": "#/components/schemas/LspStatus"
          },
          "type": "array"
        }
      }
    },
    "description": "LSP status"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

GET /v2/plugins/dev.neoism.lsp/code-actions

Operation: v2.plugins.lsp.codeActions

Parameters

[
  {
    "in": "query",
    "name": "directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "file",
    "required": true,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "line",
    "required": true,
    "schema": {
      "minimum": 0,
      "type": "integer"
    }
  },
  {
    "in": "query",
    "name": "character",
    "required": true,
    "schema": {
      "minimum": 0,
      "type": "integer"
    }
  },
  {
    "in": "header",
    "name": "X-Neoism-Directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  }
]

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "items": {
            "$ref": "#/components/schemas/UnknownValue"
          },
          "type": "array"
        }
      }
    },
    "description": "LSP result"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

GET /v2/plugins/dev.neoism.lsp/definition

Operation: v2.plugins.lsp.definition

Parameters

[
  {
    "in": "query",
    "name": "directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "file",
    "required": true,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "line",
    "required": true,
    "schema": {
      "minimum": 0,
      "type": "integer"
    }
  },
  {
    "in": "query",
    "name": "character",
    "required": true,
    "schema": {
      "minimum": 0,
      "type": "integer"
    }
  },
  {
    "in": "header",
    "name": "X-Neoism-Directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  }
]

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "items": {
            "$ref": "#/components/schemas/LspLocation"
          },
          "type": "array"
        }
      }
    },
    "description": "LSP result"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

GET /v2/plugins/dev.neoism.lsp/diagnostics

Operation: v2.plugins.lsp.diagnostics

Parameters

[
  {
    "in": "query",
    "name": "directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "file",
    "required": true,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "header",
    "name": "X-Neoism-Directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  }
]

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "items": {
            "$ref": "#/components/schemas/LspDiagnostic"
          },
          "type": "array"
        }
      }
    },
    "description": "LSP result"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

GET /v2/plugins/dev.neoism.lsp/document-highlights

Operation: v2.plugins.lsp.documentHighlights

Parameters

[
  {
    "in": "query",
    "name": "directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "file",
    "required": true,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "line",
    "required": true,
    "schema": {
      "minimum": 0,
      "type": "integer"
    }
  },
  {
    "in": "query",
    "name": "character",
    "required": true,
    "schema": {
      "minimum": 0,
      "type": "integer"
    }
  },
  {
    "in": "header",
    "name": "X-Neoism-Directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  }
]

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "items": {
            "$ref": "#/components/schemas/LspDocumentHighlight"
          },
          "type": "array"
        }
      }
    },
    "description": "LSP result"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

GET /v2/plugins/dev.neoism.lsp/document-symbols

Operation: v2.plugins.lsp.documentSymbols

Parameters

[
  {
    "in": "query",
    "name": "directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "file",
    "required": true,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "header",
    "name": "X-Neoism-Directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  }
]

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "items": {
            "$ref": "#/components/schemas/LspDocumentSymbol"
          },
          "type": "array"
        }
      }
    },
    "description": "LSP result"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

GET /v2/plugins/dev.neoism.lsp/formatting

Operation: v2.plugins.lsp.formatting

Parameters

[
  {
    "in": "query",
    "name": "directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "file",
    "required": true,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "header",
    "name": "X-Neoism-Directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  }
]

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "items": {
            "$ref": "#/components/schemas/UnknownValue"
          },
          "type": "array"
        }
      }
    },
    "description": "LSP result"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

GET /v2/plugins/dev.neoism.lsp/hover

Operation: v2.plugins.lsp.hover

Parameters

[
  {
    "in": "query",
    "name": "directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "file",
    "required": true,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "line",
    "required": true,
    "schema": {
      "minimum": 0,
      "type": "integer"
    }
  },
  {
    "in": "query",
    "name": "character",
    "required": true,
    "schema": {
      "minimum": 0,
      "type": "integer"
    }
  },
  {
    "in": "header",
    "name": "X-Neoism-Directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  }
]

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "items": {
            "$ref": "#/components/schemas/LspHover"
          },
          "type": "array"
        }
      }
    },
    "description": "LSP result"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

GET /v2/plugins/dev.neoism.lsp/implementation

Operation: v2.plugins.lsp.implementation

Parameters

[
  {
    "in": "query",
    "name": "directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "file",
    "required": true,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "line",
    "required": true,
    "schema": {
      "minimum": 0,
      "type": "integer"
    }
  },
  {
    "in": "query",
    "name": "character",
    "required": true,
    "schema": {
      "minimum": 0,
      "type": "integer"
    }
  },
  {
    "in": "header",
    "name": "X-Neoism-Directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  }
]

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "items": {
            "$ref": "#/components/schemas/LspLocation"
          },
          "type": "array"
        }
      }
    },
    "description": "LSP result"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

GET /v2/plugins/dev.neoism.lsp/incoming-calls

Operation: v2.plugins.lsp.incomingCalls

Parameters

[
  {
    "in": "query",
    "name": "directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "file",
    "required": true,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "line",
    "required": true,
    "schema": {
      "minimum": 0,
      "type": "integer"
    }
  },
  {
    "in": "query",
    "name": "character",
    "required": true,
    "schema": {
      "minimum": 0,
      "type": "integer"
    }
  },
  {
    "in": "header",
    "name": "X-Neoism-Directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  }
]

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "items": {
            "$ref": "#/components/schemas/LspCallHierarchyCall"
          },
          "type": "array"
        }
      }
    },
    "description": "LSP result"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

GET /v2/plugins/dev.neoism.lsp/inlay-hints

Operation: v2.plugins.lsp.inlayHints

Parameters

[
  {
    "in": "query",
    "name": "directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "file",
    "required": true,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "start_line",
    "required": true,
    "schema": {
      "minimum": 0,
      "type": "integer"
    }
  },
  {
    "in": "query",
    "name": "end_line",
    "required": true,
    "schema": {
      "minimum": 0,
      "type": "integer"
    }
  },
  {
    "in": "header",
    "name": "X-Neoism-Directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  }
]

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "items": {
            "$ref": "#/components/schemas/LspInlayHint"
          },
          "type": "array"
        }
      }
    },
    "description": "Inlay hints"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

GET /v2/plugins/dev.neoism.lsp/outgoing-calls

Operation: v2.plugins.lsp.outgoingCalls

Parameters

[
  {
    "in": "query",
    "name": "directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "file",
    "required": true,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "line",
    "required": true,
    "schema": {
      "minimum": 0,
      "type": "integer"
    }
  },
  {
    "in": "query",
    "name": "character",
    "required": true,
    "schema": {
      "minimum": 0,
      "type": "integer"
    }
  },
  {
    "in": "header",
    "name": "X-Neoism-Directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  }
]

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "items": {
            "$ref": "#/components/schemas/LspCallHierarchyCall"
          },
          "type": "array"
        }
      }
    },
    "description": "LSP result"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

GET /v2/plugins/dev.neoism.lsp/prepare-call-hierarchy

Operation: v2.plugins.lsp.prepareCallHierarchy

Parameters

[
  {
    "in": "query",
    "name": "directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "file",
    "required": true,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "line",
    "required": true,
    "schema": {
      "minimum": 0,
      "type": "integer"
    }
  },
  {
    "in": "query",
    "name": "character",
    "required": true,
    "schema": {
      "minimum": 0,
      "type": "integer"
    }
  },
  {
    "in": "header",
    "name": "X-Neoism-Directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  }
]

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "items": {
            "$ref": "#/components/schemas/LspCallHierarchyItem"
          },
          "type": "array"
        }
      }
    },
    "description": "LSP result"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

GET /v2/plugins/dev.neoism.lsp/references

Operation: v2.plugins.lsp.references

Parameters

[
  {
    "in": "query",
    "name": "directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "file",
    "required": true,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "line",
    "required": true,
    "schema": {
      "minimum": 0,
      "type": "integer"
    }
  },
  {
    "in": "query",
    "name": "character",
    "required": true,
    "schema": {
      "minimum": 0,
      "type": "integer"
    }
  },
  {
    "in": "header",
    "name": "X-Neoism-Directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  }
]

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "items": {
            "$ref": "#/components/schemas/LspLocation"
          },
          "type": "array"
        }
      }
    },
    "description": "LSP result"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

POST /v2/plugins/dev.neoism.lsp/shutdown

Operation: v2.plugins.lsp.shutdown

Parameters

[]

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/LspShutdownResponse"
        }
      }
    },
    "description": "LSP shutdown result"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

GET /v2/plugins/dev.neoism.lsp/signature-help

Operation: v2.plugins.lsp.signatureHelp

Parameters

[
  {
    "in": "query",
    "name": "directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "file",
    "required": true,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "line",
    "required": true,
    "schema": {
      "minimum": 0,
      "type": "integer"
    }
  },
  {
    "in": "query",
    "name": "character",
    "required": true,
    "schema": {
      "minimum": 0,
      "type": "integer"
    }
  },
  {
    "in": "header",
    "name": "X-Neoism-Directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  }
]

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "items": {
            "$ref": "#/components/schemas/LspSignatureHelp"
          },
          "type": "array"
        }
      }
    },
    "description": "LSP result"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

POST /v2/plugins/dev.neoism.lsp/touch

Operation: v2.plugins.lsp.touch

Parameters

[]

Request body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/LspTouchRequest"
      }
    }
  },
  "required": true
}

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "items": {
            "$ref": "#/components/schemas/UnknownValue"
          },
          "type": "array"
        }
      }
    },
    "description": "Published LSP notifications"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

GET /v2/plugins/dev.neoism.mcp

Operation: v2.plugins.mcp.status

Parameters

[
  {
    "in": "query",
    "name": "directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "header",
    "name": "X-Neoism-Directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  }
]

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/McpStatusMap"
        }
      }
    },
    "description": "MCP status"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

POST /v2/plugins/dev.neoism.mcp

Operation: v2.plugins.mcp.add

Parameters

[]

Request body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/McpAddRequest"
      }
    }
  },
  "required": true
}

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/McpStatusMap"
        }
      }
    },
    "description": "MCP status"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

GET /v2/plugins/dev.neoism.mcp/catalog

Operation: v2.plugins.mcp.catalog

Parameters

[
  {
    "in": "query",
    "name": "directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "header",
    "name": "X-Neoism-Directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  }
]

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/McpCatalog"
        }
      }
    },
    "description": "MCP catalog"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

DELETE /v2/plugins/dev.neoism.mcp/{name}/auth

Operation: v2.plugins.mcp.auth.remove

Parameters

[
  {
    "in": "path",
    "name": "name",
    "required": true,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "header",
    "name": "X-Neoism-Directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  }
]

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/McpAuthRemoveResponse"
        }
      }
    },
    "description": "MCP credentials removed"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

POST /v2/plugins/dev.neoism.mcp/{name}/auth

Operation: v2.plugins.mcp.auth.start

Parameters

[
  {
    "in": "path",
    "name": "name",
    "required": true,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "header",
    "name": "X-Neoism-Directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  }
]

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/McpAuthStartResponse"
        }
      }
    },
    "description": "MCP authorization"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

POST /v2/plugins/dev.neoism.mcp/{name}/auth/authenticate

Operation: v2.plugins.mcp.auth.authenticate

Parameters

[
  {
    "in": "path",
    "name": "name",
    "required": true,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "header",
    "name": "X-Neoism-Directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  }
]

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/McpStatus"
        }
      }
    },
    "description": "MCP status"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

GET /v2/plugins/dev.neoism.mcp/{name}/auth/callback

Operation: v2.plugins.mcp.auth.callback.get

Parameters

[
  {
    "in": "path",
    "name": "name",
    "required": true,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "code",
    "required": true,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "state",
    "required": false,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "header",
    "name": "X-Neoism-Directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  }
]

Responses

{
  "200": {
    "content": {
      "text/html": {
        "schema": {
          "type": "string"
        }
      }
    },
    "description": "OAuth completion page"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

POST /v2/plugins/dev.neoism.mcp/{name}/auth/callback

Operation: v2.plugins.mcp.auth.callback.post

Parameters

[
  {
    "in": "path",
    "name": "name",
    "required": true,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "header",
    "name": "X-Neoism-Directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  }
]

Request body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/CodeRequest"
      }
    }
  },
  "required": true
}

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/McpStatus"
        }
      }
    },
    "description": "MCP status"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

PATCH /v2/plugins/dev.neoism.mcp/{name}/config

Operation: v2.plugins.mcp.config

Parameters

[
  {
    "in": "path",
    "name": "name",
    "required": true,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "header",
    "name": "X-Neoism-Directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  }
]

Request body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/McpConfigPatch"
      }
    }
  },
  "required": true
}

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/McpCatalogEntry"
        }
      }
    },
    "description": "MCP catalog entry"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

POST /v2/plugins/dev.neoism.mcp/{name}/connect

Operation: v2.plugins.mcp.connect

Parameters

[
  {
    "in": "path",
    "name": "name",
    "required": true,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "header",
    "name": "X-Neoism-Directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  }
]

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "type": "boolean"
        }
      }
    },
    "description": "Connection changed"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

POST /v2/plugins/dev.neoism.mcp/{name}/disconnect

Operation: v2.plugins.mcp.disconnect

Parameters

[
  {
    "in": "path",
    "name": "name",
    "required": true,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "header",
    "name": "X-Neoism-Directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  }
]

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "type": "boolean"
        }
      }
    },
    "description": "Connection changed"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

GET /v2/plugins/dev.neoism.mcp/{name}/prompts

Operation: v2.plugins.mcp.prompts

Parameters

[
  {
    "in": "path",
    "name": "name",
    "required": true,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "header",
    "name": "X-Neoism-Directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  }
]

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "items": {
            "$ref": "#/components/schemas/McpPrompt"
          },
          "type": "array"
        }
      }
    },
    "description": "MCP prompts"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

GET /v2/plugins/dev.neoism.mcp/{name}/resources

Operation: v2.plugins.mcp.resources

Parameters

[
  {
    "in": "path",
    "name": "name",
    "required": true,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "header",
    "name": "X-Neoism-Directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  }
]

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "items": {
            "$ref": "#/components/schemas/McpResource"
          },
          "type": "array"
        }
      }
    },
    "description": "MCP resources"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

GET /v2/plugins/dev.neoism.mcp/{name}/tools

Operation: v2.plugins.mcp.tools

Parameters

[
  {
    "in": "path",
    "name": "name",
    "required": true,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "header",
    "name": "X-Neoism-Directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  }
]

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "items": {
            "$ref": "#/components/schemas/McpTool"
          },
          "type": "array"
        }
      }
    },
    "description": "MCP tools"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

POST /v2/plugins/dev.neoism.mcp/{name}/tools/{tool_name}

Operation: v2.plugins.mcp.tools.call

Parameters

[
  {
    "in": "path",
    "name": "name",
    "required": true,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "path",
    "name": "tool_name",
    "required": true,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "header",
    "name": "X-Neoism-Directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  }
]

Request body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/UnknownValue"
      }
    }
  },
  "required": true
}

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/McpToolCallResult"
        }
      }
    },
    "description": "MCP tool result"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

GET /v2/plugins/dev.neoism.pty

Operation: v2.plugins.pty.list

Parameters

[]

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "items": {
            "$ref": "#/components/schemas/Pty"
          },
          "type": "array"
        }
      }
    },
    "description": "PTY sessions"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

POST /v2/plugins/dev.neoism.pty

Operation: v2.plugins.pty.create

Parameters

[
  {
    "in": "query",
    "name": "directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "header",
    "name": "X-Neoism-Directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  }
]

Request body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/PtyCreateRequest"
      }
    }
  },
  "required": true
}

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/Pty"
        }
      }
    },
    "description": "Created PTY"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

GET /v2/plugins/dev.neoism.pty/shells

Operation: v2.plugins.pty.shells

Parameters

[]

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "items": {
            "$ref": "#/components/schemas/Shell"
          },
          "type": "array"
        }
      }
    },
    "description": "Available shells"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

DELETE /v2/plugins/dev.neoism.pty/{pty_id}

Operation: v2.plugins.pty.remove

Parameters

[
  {
    "in": "path",
    "name": "pty_id",
    "required": true,
    "schema": {
      "type": "string"
    }
  }
]

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "type": "boolean"
        }
      }
    },
    "description": "PTY removed"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

GET /v2/plugins/dev.neoism.pty/{pty_id}

Operation: v2.plugins.pty.get

Parameters

[
  {
    "in": "path",
    "name": "pty_id",
    "required": true,
    "schema": {
      "type": "string"
    }
  }
]

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/Pty"
        }
      }
    },
    "description": "PTY"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

PUT /v2/plugins/dev.neoism.pty/{pty_id}

Operation: v2.plugins.pty.update

Parameters

[
  {
    "in": "path",
    "name": "pty_id",
    "required": true,
    "schema": {
      "type": "string"
    }
  }
]

Request body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/PtyUpdateRequest"
      }
    }
  },
  "required": true
}

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/Pty"
        }
      }
    },
    "description": "Updated PTY"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

GET /v2/plugins/dev.neoism.pty/{pty_id}/connect

Operation: v2.plugins.pty.connect

Parameters

[
  {
    "in": "path",
    "name": "pty_id",
    "required": true,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "ticket",
    "required": true,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "cursor",
    "required": false,
    "schema": {
      "type": "integer"
    }
  }
]

Responses

{
  "101": {
    "description": "WebSocket terminal byte stream"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

POST /v2/plugins/dev.neoism.pty/{pty_id}/connect-token

Operation: v2.plugins.pty.connectToken

Parameters

[
  {
    "in": "path",
    "name": "pty_id",
    "required": true,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "header",
    "name": "X-OpenCode-Ticket",
    "required": true,
    "schema": {
      "const": "1",
      "type": "string"
    }
  }
]

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/PtyConnectToken"
        }
      }
    },
    "description": "Single-use connect ticket"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

POST /v2/plugins/dev.neoism.subagents/sessions/{session_id}/stop

Operation: v2.subagents.tasks.stop

Parameters

[
  {
    "in": "path",
    "name": "session_id",
    "required": true,
    "schema": {
      "type": "string"
    }
  }
]

Request body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/StopSubagentsRequest"
      }
    }
  },
  "required": true
}

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/StopSubagentsResult"
        }
      }
    },
    "description": "Stopped subagents"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

GET /v2/plugins/dev.neoism.subagents/sessions/{session_id}/tasks

Operation: v2.subagents.tasks.list

Parameters

[
  {
    "in": "path",
    "name": "session_id",
    "required": true,
    "schema": {
      "type": "string"
    }
  }
]

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "items": {
            "$ref": "#/components/schemas/SubagentTask"
          },
          "type": "array"
        }
      }
    },
    "description": "Subagent tasks"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

GET /v2/plugins/dev.neoism.vcs

Operation: v2.plugins.vcs.get

Parameters

[
  {
    "in": "query",
    "name": "directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "header",
    "name": "X-Neoism-Directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  }
]

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/VcsInfo"
        }
      }
    },
    "description": "VCS result"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

POST /v2/plugins/dev.neoism.vcs/apply

Operation: v2.plugins.vcs.apply

Parameters

[]

Request body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/VcsApplyRequest"
      }
    }
  },
  "required": true
}

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/VcsApplyResult"
        }
      }
    },
    "description": "Patch result"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

GET /v2/plugins/dev.neoism.vcs/diff

Operation: v2.plugins.vcs.diff

Parameters

[
  {
    "in": "query",
    "name": "directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "header",
    "name": "X-Neoism-Directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  }
]

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/VcsDiffList"
        }
      }
    },
    "description": "VCS result"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

GET /v2/plugins/dev.neoism.vcs/diff/raw

Operation: v2.plugins.vcs.diff.raw

Parameters

[
  {
    "in": "query",
    "name": "directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "header",
    "name": "X-Neoism-Directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  }
]

Responses

{
  "200": {
    "content": {
      "text/x-diff": {
        "schema": {
          "type": "string"
        }
      }
    },
    "description": "Unified diff"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

GET /v2/plugins/dev.neoism.vcs/status

Operation: v2.plugins.vcs.status

Parameters

[
  {
    "in": "query",
    "name": "directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "header",
    "name": "X-Neoism-Directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  }
]

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/VcsStatusList"
        }
      }
    },
    "description": "VCS result"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

GET /v2/plugins/dev.neoism.workflows

Operation: v2.plugins.workflows.list

Parameters

[
  {
    "in": "query",
    "name": "directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "scope",
    "required": false,
    "schema": {
      "description": "Installation selects global definitions/configuration. Omission preserves workspace behavior; directory is not a storage-scope selector.",
      "enum": [
        "installation",
        "workspace"
      ],
      "type": "string"
    }
  },
  {
    "in": "header",
    "name": "X-Neoism-Directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  }
]

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/WorkflowCatalog"
        }
      }
    },
    "description": "Workflow catalog"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

POST /v2/plugins/dev.neoism.workflows

Operation: v2.plugins.workflows.create

Parameters

[
  {
    "in": "query",
    "name": "directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "scope",
    "required": false,
    "schema": {
      "description": "Installation selects global definitions/configuration. Omission preserves workspace behavior; directory is not a storage-scope selector.",
      "enum": [
        "installation",
        "workspace"
      ],
      "type": "string"
    }
  },
  {
    "in": "header",
    "name": "X-Neoism-Directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  }
]

Request body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/WorkflowDefinition"
      }
    }
  },
  "required": true
}

Responses

{
  "201": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/WorkflowView"
        }
      }
    },
    "description": "Created workflow definition"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

DELETE /v2/plugins/dev.neoism.workflows/{workflow_id}

Operation: v2.plugins.workflows.delete

Parameters

[
  {
    "in": "path",
    "name": "workflow_id",
    "required": true,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "expectedRevision",
    "required": false,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "header",
    "name": "If-Match",
    "required": false,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "scope",
    "required": false,
    "schema": {
      "description": "Installation selects global definitions/configuration. Omission preserves workspace behavior; directory is not a storage-scope selector.",
      "enum": [
        "installation",
        "workspace"
      ],
      "type": "string"
    }
  },
  {
    "in": "header",
    "name": "X-Neoism-Directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  }
]

Responses

{
  "204": {
    "description": "Workflow definition deleted"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

GET /v2/plugins/dev.neoism.workflows/{workflow_id}

Operation: v2.plugins.workflows.get

Parameters

[
  {
    "in": "path",
    "name": "workflow_id",
    "required": true,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "scope",
    "required": false,
    "schema": {
      "description": "Installation selects global definitions/configuration. Omission preserves workspace behavior; directory is not a storage-scope selector.",
      "enum": [
        "installation",
        "workspace"
      ],
      "type": "string"
    }
  },
  {
    "in": "header",
    "name": "X-Neoism-Directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  }
]

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/WorkflowView"
        }
      }
    },
    "description": "Workflow"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

PATCH /v2/plugins/dev.neoism.workflows/{workflow_id}

Operation: v2.plugins.workflows.patch

Parameters

[
  {
    "in": "path",
    "name": "workflow_id",
    "required": true,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "header",
    "name": "If-Match",
    "required": false,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "scope",
    "required": false,
    "schema": {
      "description": "Installation selects global definitions/configuration. Omission preserves workspace behavior; directory is not a storage-scope selector.",
      "enum": [
        "installation",
        "workspace"
      ],
      "type": "string"
    }
  },
  {
    "in": "header",
    "name": "X-Neoism-Directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  }
]

Request body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/WorkflowDefinitionPatch"
      }
    }
  },
  "required": true
}

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/WorkflowView"
        }
      }
    },
    "description": "Patched workflow definition"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

PUT /v2/plugins/dev.neoism.workflows/{workflow_id}

Operation: v2.plugins.workflows.update

Parameters

[
  {
    "in": "path",
    "name": "workflow_id",
    "required": true,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "header",
    "name": "If-Match",
    "required": false,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "scope",
    "required": false,
    "schema": {
      "description": "Installation selects global definitions/configuration. Omission preserves workspace behavior; directory is not a storage-scope selector.",
      "enum": [
        "installation",
        "workspace"
      ],
      "type": "string"
    }
  },
  {
    "in": "header",
    "name": "X-Neoism-Directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  }
]

Request body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/WorkflowDefinition"
      }
    }
  },
  "required": true
}

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/WorkflowView"
        }
      }
    },
    "description": "Updated workflow definition"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

POST /v2/plugins/dev.neoism.workflows/{workflow_id}/activate

Operation: v2.plugins.workflows.activate

Parameters

[
  {
    "in": "path",
    "name": "workflow_id",
    "required": true,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "scope",
    "required": false,
    "schema": {
      "description": "Installation selects global definitions/configuration. Omission preserves workspace behavior; directory is not a storage-scope selector.",
      "enum": [
        "installation",
        "workspace"
      ],
      "type": "string"
    }
  },
  {
    "in": "header",
    "name": "X-Neoism-Directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  }
]

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/WorkflowProjection"
        }
      }
    },
    "description": "Workflow result"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

POST /v2/plugins/dev.neoism.workflows/{workflow_id}/pause

Operation: v2.plugins.workflows.pause

Parameters

[
  {
    "in": "path",
    "name": "workflow_id",
    "required": true,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "scope",
    "required": false,
    "schema": {
      "description": "Installation selects global definitions/configuration. Omission preserves workspace behavior; directory is not a storage-scope selector.",
      "enum": [
        "installation",
        "workspace"
      ],
      "type": "string"
    }
  },
  {
    "in": "header",
    "name": "X-Neoism-Directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  }
]

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/WorkflowProjection"
        }
      }
    },
    "description": "Workflow result"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

GET /v2/plugins/dev.neoism.workflows/{workflow_id}/preview

Operation: v2.plugins.workflows.preview

Parameters

[
  {
    "in": "path",
    "name": "workflow_id",
    "required": true,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "scope",
    "required": false,
    "schema": {
      "description": "Installation selects global definitions/configuration. Omission preserves workspace behavior; directory is not a storage-scope selector.",
      "enum": [
        "installation",
        "workspace"
      ],
      "type": "string"
    }
  },
  {
    "in": "header",
    "name": "X-Neoism-Directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  }
]

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/WorkflowPreview"
        }
      }
    },
    "description": "Workflow preview"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

POST /v2/plugins/dev.neoism.workflows/{workflow_id}/run

Operation: v2.plugins.workflows.run

Parameters

[
  {
    "in": "path",
    "name": "workflow_id",
    "required": true,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "scope",
    "required": false,
    "schema": {
      "description": "Installation selects global definitions/configuration. Omission preserves workspace behavior; directory is not a storage-scope selector.",
      "enum": [
        "installation",
        "workspace"
      ],
      "type": "string"
    }
  },
  {
    "in": "header",
    "name": "X-Neoism-Directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  }
]

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/WorkflowRun"
        }
      }
    },
    "description": "Workflow result"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

GET /v2/plugins/dev.neoism.workflows/{workflow_id}/runs

Operation: v2.plugins.workflows.history

Parameters

[
  {
    "in": "path",
    "name": "workflow_id",
    "required": true,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "limit",
    "required": false,
    "schema": {
      "minimum": 1,
      "type": "integer"
    }
  },
  {
    "in": "query",
    "name": "scope",
    "required": false,
    "schema": {
      "description": "Installation selects global definitions/configuration. Omission preserves workspace behavior; directory is not a storage-scope selector.",
      "enum": [
        "installation",
        "workspace"
      ],
      "type": "string"
    }
  },
  {
    "in": "header",
    "name": "X-Neoism-Directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  }
]

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/WorkflowHistory"
        }
      }
    },
    "description": "Workflow runs"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

GET /v2/plugins/dev.neoism.workflows/{workflow_id}/runs/{run_id}

Operation: v2.plugins.workflows.runs.get

Parameters

[
  {
    "in": "path",
    "name": "workflow_id",
    "required": true,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "path",
    "name": "run_id",
    "required": true,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "scope",
    "required": false,
    "schema": {
      "description": "Installation selects global definitions/configuration. Omission preserves workspace behavior; directory is not a storage-scope selector.",
      "enum": [
        "installation",
        "workspace"
      ],
      "type": "string"
    }
  },
  {
    "in": "header",
    "name": "X-Neoism-Directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  }
]

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/WorkflowRun"
        }
      }
    },
    "description": "Workflow run"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

POST /v2/plugins/dev.neoism.workflows/{workflow_id}/runs/{run_id}/retry

Operation: v2.plugins.workflows.runs.retry

Parameters

[
  {
    "in": "path",
    "name": "workflow_id",
    "required": true,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "path",
    "name": "run_id",
    "required": true,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "scope",
    "required": false,
    "schema": {
      "description": "Installation selects global definitions/configuration. Omission preserves workspace behavior; directory is not a storage-scope selector.",
      "enum": [
        "installation",
        "workspace"
      ],
      "type": "string"
    }
  },
  {
    "in": "header",
    "name": "X-Neoism-Directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  }
]

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/WorkflowRun"
        }
      }
    },
    "description": "Retried workflow run"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

GET /v2/plugins/lifecycle

Operation: v2.plugins.lifecycle

Parameters

[
  {
    "in": "query",
    "name": "directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "header",
    "name": "X-Neoism-Directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  }
]

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "items": {
            "$ref": "#/components/schemas/PackageLifecycleInfo"
          },
          "type": "array"
        }
      }
    },
    "description": "Plugin package activation and permissions"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

GET /v2/plugins/{plugin_id}/manifest

Operation: v2.plugins.get

Parameters

[
  {
    "in": "path",
    "name": "plugin_id",
    "required": true,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "header",
    "name": "X-Neoism-Directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  }
]

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/PluginManifest"
        }
      }
    },
    "description": "Plugin manifest"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

GET /v2/providers

Operation: v2.providers.list

Parameters

[
  {
    "in": "query",
    "name": "directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "header",
    "name": "X-Neoism-Directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  }
]

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/ProviderListResult"
        }
      }
    },
    "description": "Catalog result"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

GET /v2/providers/auth-methods

Operation: v2.providers.authMethods

Parameters

[
  {
    "in": "query",
    "name": "directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "header",
    "name": "X-Neoism-Directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  }
]

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/ProviderAuthMethods"
        }
      }
    },
    "description": "Catalog result"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

GET /v2/providers/configured

Operation: v2.providers.configured

Parameters

[
  {
    "in": "query",
    "name": "directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "scope",
    "required": false,
    "schema": {
      "description": "Installation selects global definitions/configuration. Omission preserves workspace behavior; directory is not a storage-scope selector.",
      "enum": [
        "installation",
        "workspace"
      ],
      "type": "string"
    }
  },
  {
    "in": "header",
    "name": "X-Neoism-Directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  }
]

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/ConfigProvidersResult"
        }
      }
    },
    "description": "Catalog result"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

GET /v2/providers/openai/usage

Operation: v2.providers.openai.usage

Parameters

[
  {
    "in": "query",
    "name": "workspaceId",
    "required": false,
    "schema": {
      "type": "string"
    }
  }
]

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/OpenAiUsage"
        }
      }
    },
    "description": "Scoped OpenAI account usage with per-account errors"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

DELETE /v2/providers/{provider_id}/auth

Operation: v2.providers.auth.delete

Parameters

[
  {
    "in": "path",
    "name": "provider_id",
    "required": true,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "workspaceId",
    "required": false,
    "schema": {
      "type": "string"
    }
  }
]

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "type": "boolean"
        }
      }
    },
    "description": "Authentication removed"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

GET /v2/providers/{provider_id}/auth

Operation: v2.providers.auth.get

Parameters

[
  {
    "in": "path",
    "name": "provider_id",
    "required": true,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "workspaceId",
    "required": false,
    "schema": {
      "type": "string"
    }
  }
]

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "type": "boolean"
        }
      }
    },
    "description": "Whether a scoped connection is available"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

PUT /v2/providers/{provider_id}/auth

Operation: v2.providers.auth.set

Parameters

[
  {
    "in": "path",
    "name": "provider_id",
    "required": true,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "workspaceId",
    "required": false,
    "schema": {
      "type": "string"
    }
  }
]

Request body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/AuthInfo"
      }
    }
  },
  "required": true
}

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "type": "boolean"
        }
      }
    },
    "description": "Authentication updated"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

GET /v2/providers/{provider_id}/connections

Operation: v2.providers.connections.list

Parameters

[
  {
    "in": "path",
    "name": "provider_id",
    "required": true,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "workspaceId",
    "required": false,
    "schema": {
      "type": "string"
    }
  }
]

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "items": {
            "$ref": "#/components/schemas/ProviderConnectionSummary"
          },
          "type": "array"
        }
      }
    },
    "description": "Secret-free provider connections"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

POST /v2/providers/{provider_id}/connections

Operation: v2.providers.connections.create

Parameters

[
  {
    "in": "path",
    "name": "provider_id",
    "required": true,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "workspaceId",
    "required": false,
    "schema": {
      "type": "string"
    }
  }
]

Request body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/ProviderConnectionCreateRequest"
      }
    }
  },
  "required": true
}

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/ProviderConnectionSummary"
        }
      }
    },
    "description": "Created provider connection"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

DELETE /v2/providers/{provider_id}/connections/{connection_id}

Operation: v2.providers.connections.delete

Parameters

[
  {
    "in": "path",
    "name": "provider_id",
    "required": true,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "path",
    "name": "connection_id",
    "required": true,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "workspaceId",
    "required": false,
    "schema": {
      "type": "string"
    }
  }
]

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "type": "boolean"
        }
      }
    },
    "description": "Provider connection deleted"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

PATCH /v2/providers/{provider_id}/connections/{connection_id}

Operation: v2.providers.connections.rename

Parameters

[
  {
    "in": "path",
    "name": "provider_id",
    "required": true,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "path",
    "name": "connection_id",
    "required": true,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "workspaceId",
    "required": false,
    "schema": {
      "type": "string"
    }
  }
]

Request body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/ProviderConnectionRenameRequest"
      }
    }
  },
  "required": true
}

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/ProviderConnectionSummary"
        }
      }
    },
    "description": "Renamed provider connection"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

POST /v2/providers/{provider_id}/connections/{connection_id}/default

Operation: v2.providers.connections.setDefault

Parameters

[
  {
    "in": "path",
    "name": "provider_id",
    "required": true,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "path",
    "name": "connection_id",
    "required": true,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "workspaceId",
    "required": false,
    "schema": {
      "type": "string"
    }
  }
]

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/ProviderConnectionSummary"
        }
      }
    },
    "description": "Scoped default provider connection"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

POST /v2/providers/{provider_id}/oauth/authorize

Operation: v2.providers.oauth.authorize

Parameters

[
  {
    "in": "path",
    "name": "provider_id",
    "required": true,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "workspaceId",
    "required": false,
    "schema": {
      "type": "string"
    }
  }
]

Request body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/ProviderAuthorizeRequest"
      }
    }
  },
  "required": true
}

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "anyOf": [
            {
              "$ref": "#/components/schemas/ProviderAuthAuthorization"
            },
            {
              "type": "null"
            }
          ]
        }
      }
    },
    "description": "OAuth authorization"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

POST /v2/providers/{provider_id}/oauth/callback

Operation: v2.providers.oauth.callback

Parameters

[
  {
    "in": "path",
    "name": "provider_id",
    "required": true,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "workspaceId",
    "required": false,
    "schema": {
      "type": "string"
    }
  }
]

Request body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/ProviderCallbackRequest"
      }
    }
  },
  "required": true
}

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "type": "boolean"
        }
      }
    },
    "description": "OAuth callback accepted"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

GET /v2/runtime

Operation: v2.runtime.get

Parameters

[]

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/RuntimeInfo"
        }
      }
    },
    "description": "Deployment and workspace worker identity"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

GET /v2/session-catalog/events

Operation: v2.sessionCatalog.subscribe

Parameters

[
  {
    "in": "query",
    "name": "directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "header",
    "name": "X-Neoism-Directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  }
]

Responses

{
  "200": {
    "content": {
      "text/event-stream": {
        "schema": {
          "type": "string"
        }
      }
    },
    "description": "Authorized root metadata and session.catalog.activity projections; initial/reconnect activity baseline follows subscription, runtime edges re-read authority, and lag/credential expiry closes the stream"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

GET /v2/sessions

Operation: v2.sessions.list

Parameters

[
  {
    "in": "query",
    "name": "directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "path",
    "required": false,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "roots",
    "required": false,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "start",
    "required": false,
    "schema": {
      "minimum": 0,
      "type": "integer"
    }
  },
  {
    "in": "query",
    "name": "search",
    "required": false,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "limit",
    "required": false,
    "schema": {
      "maximum": 200,
      "minimum": 1,
      "type": "integer"
    }
  },
  {
    "in": "query",
    "name": "cursor",
    "required": false,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "header",
    "name": "X-Neoism-Directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  }
]

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/SessionPage"
        }
      }
    },
    "description": "Session page"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

POST /v2/sessions

Operation: v2.sessions.create

Parameters

[
  {
    "in": "query",
    "name": "directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "header",
    "name": "X-Neoism-Directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  }
]

Request body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/CreateSessionRequest"
      }
    }
  },
  "required": false
}

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/Session"
        }
      }
    },
    "description": "Created session"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

POST /v2/sessions/export

Operation: v2.sessions.export

Parameters

[]

Request body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/ExportSessionsRequest"
      }
    }
  },
  "required": true
}

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/ExportSessionsResponse"
        }
      }
    },
    "description": "Exported sessions"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

GET /v2/sessions/external/catalog

Operation: v2.sessions.external.catalog

Parameters

[
  {
    "in": "query",
    "name": "provider",
    "required": true,
    "schema": {
      "enum": [
        "opencode",
        "claude",
        "codex"
      ],
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "header",
    "name": "X-Neoism-Directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  }
]

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "properties": {
            "cwd": {
              "type": "string"
            },
            "importSupported": {
              "type": "boolean"
            },
            "importUnavailableReason": {
              "type": "string"
            },
            "provider": {
              "type": "string"
            },
            "sessions": {
              "items": {
                "additionalProperties": true,
                "type": "object"
              },
              "type": "array"
            }
          },
          "required": [
            "provider",
            "cwd",
            "sessions",
            "importSupported"
          ],
          "type": "object"
        }
      }
    },
    "description": "Provider-native session catalog preview"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

POST /v2/sessions/external/import

Operation: v2.sessions.external.import

Parameters

[
  {
    "in": "query",
    "name": "directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "header",
    "name": "X-Neoism-Directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  }
]

Request body

{
  "content": {
    "application/json": {
      "schema": {
        "additionalProperties": false,
        "properties": {
          "externalSessionId": {
            "type": "string"
          },
          "provider": {
            "enum": [
              "opencode",
              "claude",
              "codex"
            ],
            "type": "string"
          }
        },
        "required": [
          "provider",
          "externalSessionId"
        ],
        "type": "object"
      }
    }
  },
  "required": true
}

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/Session"
        }
      }
    },
    "description": "Imported external session"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

POST /v2/sessions/import

Operation: v2.sessions.import

Parameters

[]

Request body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/ImportSessionRequest"
      }
    }
  },
  "required": true
}

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/ImportSessionResponse"
        }
      }
    },
    "description": "Imported session"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

GET /v2/sessions/status

Operation: v2.sessions.status

Parameters

[]

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/SessionStatusMap"
        }
      }
    },
    "description": "Session status map"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

DELETE /v2/sessions/{session_id}

Operation: v2.sessions.delete

Parameters

[
  {
    "in": "path",
    "name": "session_id",
    "required": true,
    "schema": {
      "type": "string"
    }
  }
]

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "type": "boolean"
        }
      }
    },
    "description": "Session deleted"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

GET /v2/sessions/{session_id}

Operation: v2.sessions.get

Parameters

[
  {
    "in": "path",
    "name": "session_id",
    "required": true,
    "schema": {
      "type": "string"
    }
  }
]

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/Session"
        }
      }
    },
    "description": "Session"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

PATCH /v2/sessions/{session_id}

Operation: v2.sessions.update

Parameters

[
  {
    "in": "path",
    "name": "session_id",
    "required": true,
    "schema": {
      "type": "string"
    }
  }
]

Request body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/UpdateSessionRequest"
      }
    }
  },
  "required": true
}

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/Session"
        }
      }
    },
    "description": "Updated session"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

POST /v2/sessions/{session_id}/abort

Operation: v2.sessions.abort

Parameters

[
  {
    "in": "path",
    "name": "session_id",
    "required": true,
    "schema": {
      "type": "string"
    }
  }
]

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "type": "boolean"
        }
      }
    },
    "description": "Whether a run was aborted"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

GET /v2/sessions/{session_id}/children

Operation: v2.sessions.children

Parameters

[
  {
    "in": "path",
    "name": "session_id",
    "required": true,
    "schema": {
      "type": "string"
    }
  }
]

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/SessionPage"
        }
      }
    },
    "description": "Child sessions"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

POST /v2/sessions/{session_id}/commands

Operation: v2.sessions.commands.execute

Parameters

[
  {
    "in": "path",
    "name": "session_id",
    "required": true,
    "schema": {
      "type": "string"
    }
  }
]

Request body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/SessionCommandRequest"
      }
    }
  },
  "required": true
}

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/Message"
        }
      }
    },
    "description": "Command message"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

POST /v2/sessions/{session_id}/compact

Operation: v2.sessions.compact

Parameters

[
  {
    "in": "path",
    "name": "session_id",
    "required": true,
    "schema": {
      "type": "string"
    }
  }
]

Responses

{
  "204": {
    "description": "Context compacted"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

GET /v2/sessions/{session_id}/context

Operation: v2.sessions.context

Parameters

[
  {
    "in": "path",
    "name": "session_id",
    "required": true,
    "schema": {
      "type": "string"
    }
  }
]

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/MessageList"
        }
      }
    },
    "description": "Context messages"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

DELETE /v2/sessions/{session_id}/control

Operation: v2.sessions.control.release

Parameters

[
  {
    "in": "path",
    "name": "session_id",
    "required": true,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "expectedRevision",
    "required": false,
    "schema": {
      "minimum": 0,
      "type": "integer"
    }
  }
]

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "type": "boolean"
        }
      }
    },
    "description": "Session control released"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

GET /v2/sessions/{session_id}/control

Operation: v2.sessions.control.get

Parameters

[
  {
    "in": "path",
    "name": "session_id",
    "required": true,
    "schema": {
      "type": "string"
    }
  }
]

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "anyOf": [
            {
              "$ref": "#/components/schemas/SessionControl"
            },
            {
              "type": "null"
            }
          ]
        }
      }
    },
    "description": "Current session control lease"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

POST /v2/sessions/{session_id}/control

Operation: v2.sessions.control.claim

Parameters

[
  {
    "in": "path",
    "name": "session_id",
    "required": true,
    "schema": {
      "type": "string"
    }
  }
]

Request body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/ClaimSessionControlRequest"
      }
    }
  },
  "required": true
}

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/SessionControl"
        }
      }
    },
    "description": "Claimed session control lease"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

GET /v2/sessions/{session_id}/diff

Operation: v2.sessions.diff

Parameters

[
  {
    "in": "path",
    "name": "session_id",
    "required": true,
    "schema": {
      "type": "string"
    }
  }
]

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "items": {
            "$ref": "#/components/schemas/VcsFileDiff"
          },
          "type": "array"
        }
      }
    },
    "description": "Session diff"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

GET /v2/sessions/{session_id}/directory-options

Operation: v2.sessions.directoryOptions

Parameters

[
  {
    "in": "path",
    "name": "session_id",
    "required": true,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "query",
    "required": false,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "limit",
    "required": false,
    "schema": {
      "maximum": 1000,
      "minimum": 1,
      "type": "integer"
    }
  }
]

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      }
    },
    "description": "Directory options"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

GET /v2/sessions/{session_id}/external/options

Operation: v2.sessions.external.options.get

Parameters

[
  {
    "in": "path",
    "name": "session_id",
    "required": true,
    "schema": {
      "type": "string"
    }
  }
]

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "properties": {
            "availableCommands": {
              "items": {
                "additionalProperties": true,
                "type": "object"
              },
              "type": "array"
            },
            "configOptions": {
              "items": {
                "additionalProperties": true,
                "type": "object"
              },
              "type": "array"
            },
            "externalSessionId": {
              "type": [
                "string",
                "null"
              ]
            },
            "modeFallback": {
              "type": "boolean"
            },
            "provider": {
              "type": "string"
            },
            "replayError": {
              "type": "string"
            },
            "selectedOptions": {
              "additionalProperties": {
                "type": "string"
              },
              "type": "object"
            }
          },
          "required": [
            "provider",
            "configOptions",
            "modeFallback",
            "selectedOptions",
            "externalSessionId",
            "availableCommands"
          ],
          "type": "object"
        }
      }
    },
    "description": "Active ACP session options"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

POST /v2/sessions/{session_id}/external/options

Operation: v2.sessions.external.options.set

Parameters

[
  {
    "in": "path",
    "name": "session_id",
    "required": true,
    "schema": {
      "type": "string"
    }
  }
]

Request body

{
  "content": {
    "application/json": {
      "schema": {
        "additionalProperties": false,
        "properties": {
          "configId": {
            "type": "string"
          },
          "value": {
            "type": "string"
          }
        },
        "required": [
          "configId",
          "value"
        ],
        "type": "object"
      }
    }
  },
  "required": true
}

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "additionalProperties": true,
          "description": "Current ACP configOptions and selectedOptions, with the active externalSessionId.",
          "type": "object"
        }
      }
    },
    "description": "Updated ACP session options"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

POST /v2/sessions/{session_id}/fork

Operation: v2.sessions.fork

Parameters

[
  {
    "in": "path",
    "name": "session_id",
    "required": true,
    "schema": {
      "type": "string"
    }
  }
]

Request body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/ForkSessionRequest"
      }
    }
  },
  "required": false
}

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/Session"
        }
      }
    },
    "description": "Forked session"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

DELETE /v2/sessions/{session_id}/jobs/{job_id}

Operation: v2.sessions.jobs.cancel

Parameters

[
  {
    "in": "path",
    "name": "session_id",
    "required": true,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "path",
    "name": "job_id",
    "required": true,
    "schema": {
      "type": "string"
    }
  }
]

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/BackgroundJobStopResponse"
        }
      }
    },
    "description": "Job stopping"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

GET /v2/sessions/{session_id}/messages

Operation: v2.sessions.messages

Parameters

[
  {
    "in": "path",
    "name": "session_id",
    "required": true,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "limit",
    "required": false,
    "schema": {
      "minimum": 1,
      "type": "integer"
    }
  },
  {
    "in": "query",
    "name": "order",
    "required": false,
    "schema": {
      "enum": [
        "asc",
        "desc"
      ],
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "slim",
    "required": false,
    "schema": {
      "type": "boolean"
    }
  },
  {
    "in": "query",
    "name": "cursor",
    "required": false,
    "schema": {
      "type": "string"
    }
  }
]

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/MessagePage"
        }
      }
    },
    "description": "Message page"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

DELETE /v2/sessions/{session_id}/messages/{message_id}

Operation: v2.sessions.messages.delete

Parameters

[
  {
    "in": "path",
    "name": "session_id",
    "required": true,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "path",
    "name": "message_id",
    "required": true,
    "schema": {
      "type": "string"
    }
  }
]

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "type": "boolean"
        }
      }
    },
    "description": "Message deleted"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

GET /v2/sessions/{session_id}/messages/{message_id}

Operation: v2.sessions.messages.get

Parameters

[
  {
    "in": "path",
    "name": "session_id",
    "required": true,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "path",
    "name": "message_id",
    "required": true,
    "schema": {
      "type": "string"
    }
  }
]

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/Message"
        }
      }
    },
    "description": "Message"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

DELETE /v2/sessions/{session_id}/messages/{message_id}/parts/{part_id}

Operation: v2.sessions.parts.delete

Parameters

[
  {
    "in": "path",
    "name": "session_id",
    "required": true,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "path",
    "name": "message_id",
    "required": true,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "path",
    "name": "part_id",
    "required": true,
    "schema": {
      "type": "string"
    }
  }
]

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "type": "boolean"
        }
      }
    },
    "description": "Part deleted"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

PATCH /v2/sessions/{session_id}/messages/{message_id}/parts/{part_id}

Operation: v2.sessions.parts.update

Parameters

[
  {
    "in": "path",
    "name": "session_id",
    "required": true,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "path",
    "name": "message_id",
    "required": true,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "path",
    "name": "part_id",
    "required": true,
    "schema": {
      "type": "string"
    }
  }
]

Request body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/Part"
      }
    }
  },
  "required": true
}

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/Part"
        }
      }
    },
    "description": "Updated part"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

GET /v2/sessions/{session_id}/participants

Operation: v2.sessions.participants.list

Parameters

[
  {
    "in": "path",
    "name": "session_id",
    "required": true,
    "schema": {
      "type": "string"
    }
  }
]

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "items": {
            "$ref": "#/components/schemas/SessionParticipant"
          },
          "type": "array"
        }
      }
    },
    "description": "Session participants"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

POST /v2/sessions/{session_id}/pin

Operation: v2.sessions.pin

Parameters

[
  {
    "in": "path",
    "name": "session_id",
    "required": true,
    "schema": {
      "type": "string"
    }
  }
]

Request body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/SetPinRequest"
      }
    }
  },
  "required": false
}

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/Session"
        }
      }
    },
    "description": "Updated session"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

POST /v2/sessions/{session_id}/prompt

Operation: v2.sessions.prompt

Parameters

[
  {
    "in": "path",
    "name": "session_id",
    "required": true,
    "schema": {
      "type": "string"
    }
  }
]

Request body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/PromptRequest"
      }
    }
  },
  "required": true
}

Responses

{
  "204": {
    "description": "Prompt accepted"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

POST /v2/sessions/{session_id}/prompt-async

Operation: v2.sessions.promptAsync

Parameters

[
  {
    "in": "path",
    "name": "session_id",
    "required": true,
    "schema": {
      "type": "string"
    }
  }
]

Request body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/PromptRequest"
      }
    }
  },
  "required": true
}

Responses

{
  "204": {
    "description": "Prompt accepted"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

DELETE /v2/sessions/{session_id}/queue

Operation: v2.sessions.queue.clear

Parameters

[
  {
    "in": "path",
    "name": "session_id",
    "required": true,
    "schema": {
      "type": "string"
    }
  }
]

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/SessionQueueMutation"
        }
      }
    },
    "description": "Queue mutation"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

GET /v2/sessions/{session_id}/queue

Operation: v2.sessions.queue.list

Parameters

[
  {
    "in": "path",
    "name": "session_id",
    "required": true,
    "schema": {
      "type": "string"
    }
  }
]

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/SessionQueueInfo"
        }
      }
    },
    "description": "Prompt queue"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

POST /v2/sessions/{session_id}/queue/pop

Operation: v2.sessions.queue.pop

Parameters

[
  {
    "in": "path",
    "name": "session_id",
    "required": true,
    "schema": {
      "type": "string"
    }
  }
]

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/SessionQueueMutation"
        }
      }
    },
    "description": "Queue mutation"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

POST /v2/sessions/{session_id}/redo

Operation: v2.sessions.redo

Parameters

[
  {
    "in": "path",
    "name": "session_id",
    "required": true,
    "schema": {
      "type": "string"
    }
  }
]

Request body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/RevertRequest"
      }
    }
  },
  "required": false
}

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/Session"
        }
      }
    },
    "description": "Updated session"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

POST /v2/sessions/{session_id}/revert

Operation: v2.sessions.revert

Parameters

[
  {
    "in": "path",
    "name": "session_id",
    "required": true,
    "schema": {
      "type": "string"
    }
  }
]

Request body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/RevertRequest"
      }
    }
  },
  "required": true
}

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/Session"
        }
      }
    },
    "description": "Reverted session"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

GET /v2/sessions/{session_id}/runtime

Operation: v2.sessions.runtime

Parameters

[
  {
    "in": "path",
    "name": "session_id",
    "required": true,
    "schema": {
      "type": "string"
    }
  }
]

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/SessionRuntimeSnapshot"
        }
      }
    },
    "description": "Authoritative family runtime lifecycle and execution activity"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

POST /v2/sessions/{session_id}/shell

Operation: v2.sessions.shell

Parameters

[
  {
    "in": "path",
    "name": "session_id",
    "required": true,
    "schema": {
      "type": "string"
    }
  }
]

Request body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/SessionShellRequest"
      }
    }
  },
  "required": true
}

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/Message"
        }
      }
    },
    "description": "Shell message"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

POST /v2/sessions/{session_id}/summarize

Operation: v2.sessions.summarize

Parameters

[
  {
    "in": "path",
    "name": "session_id",
    "required": true,
    "schema": {
      "type": "string"
    }
  }
]

Request body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/EmptyObject"
      }
    }
  },
  "required": true
}

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "type": "boolean"
        }
      }
    },
    "description": "Session summarized"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

GET /v2/sessions/{session_id}/todos

Operation: v2.sessions.todos

Parameters

[
  {
    "in": "path",
    "name": "session_id",
    "required": true,
    "schema": {
      "type": "string"
    }
  }
]

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "items": {
            "$ref": "#/components/schemas/Todo"
          },
          "type": "array"
        }
      }
    },
    "description": "Session todos"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

POST /v2/sessions/{session_id}/undo

Operation: v2.sessions.undo

Parameters

[
  {
    "in": "path",
    "name": "session_id",
    "required": true,
    "schema": {
      "type": "string"
    }
  }
]

Request body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/RevertRequest"
      }
    }
  },
  "required": false
}

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/Session"
        }
      }
    },
    "description": "Updated session"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

GET /v2/sessions/{session_id}/undo-tree

Operation: v2.sessions.undoTree

Parameters

[
  {
    "in": "path",
    "name": "session_id",
    "required": true,
    "schema": {
      "type": "string"
    }
  }
]

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/SessionUndoTree"
        }
      }
    },
    "description": "Undo tree"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

POST /v2/sessions/{session_id}/unrevert

Operation: v2.sessions.unrevert

Parameters

[
  {
    "in": "path",
    "name": "session_id",
    "required": true,
    "schema": {
      "type": "string"
    }
  }
]

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/Session"
        }
      }
    },
    "description": "Restored session"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

POST /v2/sessions/{session_id}/wait

Operation: v2.sessions.wait

Parameters

[
  {
    "in": "path",
    "name": "session_id",
    "required": true,
    "schema": {
      "type": "string"
    }
  }
]

Responses

{
  "204": {
    "description": "Session exists"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

GET /v2/skills

Operation: v2.skills.list

Parameters

[
  {
    "in": "query",
    "name": "directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "scope",
    "required": false,
    "schema": {
      "description": "Installation selects global definitions/configuration. Omission preserves workspace behavior; directory is not a storage-scope selector.",
      "enum": [
        "installation",
        "workspace"
      ],
      "type": "string"
    }
  },
  {
    "in": "header",
    "name": "X-Neoism-Directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  }
]

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/SkillList"
        }
      }
    },
    "description": "Catalog result"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

GET /v2/tools

Operation: v2.tools.list

Parameters

[
  {
    "in": "query",
    "name": "directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  },
  {
    "in": "header",
    "name": "X-Neoism-Directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  }
]

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/ToolList"
        }
      }
    },
    "description": "Catalog result"
  },
  "400": {
    "$ref": "#/components/responses/BadRequest"
  },
  "401": {
    "$ref": "#/components/responses/Unauthorized"
  },
  "403": {
    "$ref": "#/components/responses/Forbidden"
  },
  "404": {
    "$ref": "#/components/responses/NotFound"
  },
  "409": {
    "$ref": "#/components/responses/Conflict"
  },
  "415": {
    "$ref": "#/components/responses/UnsupportedMediaType"
  },
  "422": {
    "$ref": "#/components/responses/UnprocessableEntity"
  },
  "429": {
    "$ref": "#/components/responses/TooManyRequests"
  },
  "500": {
    "$ref": "#/components/responses/InternalError"
  },
  "501": {
    "$ref": "#/components/responses/NotImplemented"
  }
}

Shared parameters, responses, schemas, and security schemes

parameters
{
  "ArtifactId": {
    "in": "path",
    "name": "artifact_id",
    "required": true,
    "schema": {
      "type": "string"
    }
  },
  "Directory": {
    "in": "query",
    "name": "directory",
    "required": false,
    "schema": {
      "type": "string"
    }
  },
  "PluginId": {
    "in": "path",
    "name": "plugin_id",
    "required": true,
    "schema": {
      "type": "string"
    }
  },
  "RequestId": {
    "in": "path",
    "name": "request_id",
    "required": true,
    "schema": {
      "type": "string"
    }
  },
  "SessionId": {
    "in": "path",
    "name": "session_id",
    "required": true,
    "schema": {
      "type": "string"
    }
  }
}
responses
{
  "BadRequest": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/ApiError"
        }
      }
    },
    "description": "Invalid request"
  },
  "Conflict": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/ApiError"
        }
      }
    },
    "description": "Resource state conflict"
  },
  "Forbidden": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/ApiError"
        }
      }
    },
    "description": "The caller is not authorized for the resource"
  },
  "InternalError": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/ApiError"
        }
      }
    },
    "description": "Internal server error"
  },
  "NotFound": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/ApiError"
        }
      }
    },
    "description": "Resource not found"
  },
  "NotImplemented": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/ApiError"
        }
      }
    },
    "description": "Feature is not implemented"
  },
  "TooManyRequests": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/ApiError"
        }
      }
    },
    "description": "Caller quota exceeded"
  },
  "Unauthorized": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/ApiError"
        }
      }
    },
    "description": "Authentication required or invalid"
  },
  "UnprocessableEntity": {
    "content": {
      "text/plain": {
        "schema": {
          "type": "string"
        }
      }
    },
    "description": "Request extraction failed"
  },
  "UnsupportedMediaType": {
    "content": {
      "text/plain": {
        "schema": {
          "type": "string"
        }
      }
    },
    "description": "Unsupported or missing request media type"
  }
}
schemas
{
  "Agent": {
    "additionalProperties": false,
    "properties": {
      "color": {
        "type": "string"
      },
      "description": {
        "type": "string"
      },
      "hidden": {
        "type": "boolean"
      },
      "mode": {
        "type": "string"
      },
      "model": {
        "$ref": "#/components/schemas/ModelRef"
      },
      "name": {
        "type": "string"
      },
      "native": {
        "type": "boolean"
      },
      "options": {
        "additionalProperties": true,
        "type": "object"
      },
      "permission": {
        "additionalProperties": true,
        "type": "object"
      },
      "prompt": {
        "type": "string"
      },
      "steps": {
        "minimum": 0,
        "type": "integer"
      },
      "temperature": {
        "type": "number"
      },
      "topP": {
        "type": "number"
      },
      "variant": {
        "type": "string"
      }
    },
    "required": [
      "name",
      "mode",
      "native",
      "hidden",
      "permission",
      "options"
    ],
    "type": "object"
  },
  "AgentList": {
    "items": {
      "$ref": "#/components/schemas/Agent"
    },
    "type": "array"
  },
  "AgentPart": {
    "additionalProperties": true,
    "properties": {
      "id": {
        "type": "string"
      },
      "messageId": {
        "type": "string"
      },
      "name": {
        "type": "string"
      },
      "sessionId": {
        "type": "string"
      },
      "source": {},
      "type": {
        "const": "agent",
        "type": "string"
      }
    },
    "required": [
      "type",
      "id",
      "sessionId",
      "messageId",
      "name"
    ],
    "type": "object"
  },
  "ApiError": {
    "additionalProperties": false,
    "properties": {
      "code": {
        "type": "string"
      },
      "details": {
        "additionalProperties": true,
        "type": "object"
      },
      "message": {
        "type": "string"
      },
      "requestId": {
        "type": "string"
      },
      "retryable": {
        "type": "boolean"
      }
    },
    "required": [
      "code",
      "message",
      "retryable",
      "details"
    ],
    "type": "object"
  },
  "ApiMeta": {
    "additionalProperties": false,
    "properties": {
      "apiVersion": {
        "type": "string"
      },
      "eventSchemaVersion": {
        "type": "string"
      },
      "generation": {
        "minimum": 0,
        "type": "integer"
      },
      "partSchemaVersion": {
        "type": "string"
      },
      "pluginApiVersion": {
        "type": "string"
      },
      "serverVersion": {
        "type": "string"
      }
    },
    "required": [
      "apiVersion",
      "serverVersion",
      "pluginApiVersion",
      "eventSchemaVersion",
      "partSchemaVersion",
      "generation"
    ],
    "type": "object"
  },
  "Artifact": {
    "additionalProperties": false,
    "properties": {
      "created": {
        "minimum": 0,
        "type": "integer"
      },
      "downloadUrl": {
        "type": "string"
      },
      "filename": {
        "type": "string"
      },
      "id": {
        "type": "string"
      },
      "mediaType": {
        "type": "string"
      },
      "sessionId": {
        "type": "string"
      },
      "sha256": {
        "pattern": "^[0-9a-f]{64}$",
        "type": "string"
      },
      "size": {
        "minimum": 0,
        "type": "integer"
      }
    },
    "required": [
      "id",
      "filename",
      "mediaType",
      "size",
      "sha256",
      "created",
      "downloadUrl"
    ],
    "type": "object"
  },
  "AuditEntry": {
    "additionalProperties": false,
    "properties": {
      "created": {
        "type": "integer"
      },
      "id": {
        "type": "string"
      },
      "method": {
        "type": "string"
      },
      "path": {
        "type": "string"
      },
      "status": {
        "type": "integer"
      },
      "tenantId": {
        "type": "string"
      }
    },
    "required": [
      "id",
      "tenantId",
      "method",
      "path",
      "status",
      "created"
    ],
    "type": "object"
  },
  "AuthInfo": {
    "oneOf": [
      {
        "additionalProperties": false,
        "properties": {
          "key": {
            "type": "string"
          },
          "metadata": {},
          "type": {
            "const": "api"
          }
        },
        "required": [
          "type",
          "key"
        ],
        "type": "object"
      },
      {
        "additionalProperties": false,
        "properties": {
          "access": {
            "type": "string"
          },
          "accountId": {
            "type": "string"
          },
          "enterpriseUrl": {
            "type": "string"
          },
          "expires": {
            "minimum": 0,
            "type": "integer"
          },
          "refresh": {
            "type": "string"
          },
          "type": {
            "const": "oauth"
          }
        },
        "required": [
          "type",
          "refresh",
          "access",
          "expires"
        ],
        "type": "object"
      },
      {
        "additionalProperties": false,
        "properties": {
          "key": {
            "type": "string"
          },
          "token": {
            "type": "string"
          },
          "type": {
            "const": "wellknown"
          }
        },
        "required": [
          "type",
          "key",
          "token"
        ],
        "type": "object"
      }
    ]
  },
  "BackgroundJobStopResponse": {
    "additionalProperties": false,
    "properties": {
      "jobId": {
        "type": "string"
      },
      "status": {
        "const": "stopping",
        "type": "string"
      }
    },
    "required": [
      "jobId",
      "status"
    ],
    "type": "object"
  },
  "CacheUsage": {
    "additionalProperties": false,
    "properties": {
      "read": {
        "minimum": 0,
        "type": "integer"
      },
      "write": {
        "minimum": 0,
        "type": "integer"
      }
    },
    "required": [
      "read",
      "write"
    ],
    "type": "object"
  },
  "Capability": {
    "additionalProperties": false,
    "properties": {
      "apiPrefix": {
        "type": "string"
      },
      "disableable": {
        "type": "boolean"
      },
      "enabled": {
        "type": "boolean"
      },
      "id": {
        "type": "string"
      },
      "pluginId": {
        "type": "string"
      },
      "reason": {
        "type": "string"
      },
      "source": {
        "type": "string"
      },
      "version": {
        "type": "string"
      }
    },
    "required": [
      "id",
      "version",
      "enabled",
      "disableable",
      "source"
    ],
    "type": "object"
  },
  "CatalogActivity": {
    "description": "Transient family activity: permission > running > background > idle; never persisted.",
    "enum": [
      "idle",
      "running",
      "background",
      "permission"
    ],
    "type": "string"
  },
  "ClaimSessionControlRequest": {
    "additionalProperties": false,
    "properties": {
      "expectedRevision": {
        "minimum": 0,
        "type": "integer"
      },
      "leaseSeconds": {
        "default": 60,
        "maximum": 300,
        "minimum": 15,
        "type": "integer"
      }
    },
    "type": "object"
  },
  "CodeRequest": {
    "additionalProperties": false,
    "properties": {
      "code": {
        "type": "string"
      }
    },
    "required": [
      "code"
    ],
    "type": "object"
  },
  "Command": {
    "additionalProperties": false,
    "properties": {
      "agent": {
        "type": "string"
      },
      "description": {
        "type": "string"
      },
      "model": {
        "type": "string"
      },
      "name": {
        "type": "string"
      },
      "subtask": {
        "type": "boolean"
      },
      "template": {
        "type": "string"
      }
    },
    "required": [
      "name"
    ],
    "type": "object"
  },
  "CommandList": {
    "items": {
      "$ref": "#/components/schemas/Command"
    },
    "type": "array"
  },
  "CompactionConfig": {
    "description": "Automatic compaction policy. Also accepted on provider models and agent profiles; agent fields override model fields, then global fields.",
    "properties": {
      "auto": {
        "default": true,
        "description": "Enable proactive compaction and bounded context-overflow recovery. Manual compaction remains available when false.",
        "type": "boolean"
      },
      "buffer": {
        "default": 20000,
        "minimum": 0,
        "type": "integer"
      },
      "keep": {
        "properties": {
          "tokens": {
            "default": 8000,
            "minimum": 0,
            "type": "integer"
          }
        },
        "type": "object"
      },
      "prune": {
        "default": true,
        "description": "Prune older tool output independently of automatic summarization.",
        "type": "boolean"
      },
      "threshold-percent": {
        "default": 65,
        "maximum": 100,
        "minimum": 1,
        "type": "number"
      }
    },
    "type": "object"
  },
  "CompactionPart": {
    "additionalProperties": true,
    "properties": {
      "id": {
        "type": "string"
      },
      "messageId": {
        "type": "string"
      },
      "reason": {
        "type": "string"
      },
      "sessionId": {
        "type": "string"
      },
      "summary": {
        "type": "boolean"
      },
      "tailStartMessageId": {
        "type": "string"
      },
      "type": {
        "const": "compaction",
        "type": "string"
      }
    },
    "required": [
      "type",
      "id",
      "sessionId",
      "messageId",
      "reason",
      "summary"
    ],
    "type": "object"
  },
  "ConfigDefaults": {
    "additionalProperties": false,
    "properties": {
      "defaultAgent": {
        "type": [
          "string",
          "null"
        ]
      },
      "model": {
        "type": [
          "string",
          "null"
        ]
      },
      "variant": {
        "type": [
          "string",
          "null"
        ]
      }
    },
    "required": [
      "defaultAgent",
      "model",
      "variant"
    ],
    "type": "object"
  },
  "ConfigDiagnostic": {
    "additionalProperties": false,
    "properties": {
      "level": {
        "enum": [
          "error",
          "warning"
        ],
        "type": "string"
      },
      "message": {
        "type": "string"
      },
      "path": {
        "type": "string"
      }
    },
    "required": [
      "level",
      "path",
      "message"
    ],
    "type": "object"
  },
  "ConfigDocument": {
    "additionalProperties": true,
    "description": "Canonical agent configuration; extension/plugin keys are preserved.",
    "properties": {
      "compaction": {
        "$ref": "#/components/schemas/CompactionConfig"
      }
    },
    "type": "object"
  },
  "ConfigProvidersResult": {
    "additionalProperties": false,
    "properties": {
      "default": {
        "additionalProperties": {
          "type": "string"
        },
        "type": "object"
      },
      "providers": {
        "items": {
          "$ref": "#/components/schemas/Provider"
        },
        "type": "array"
      }
    },
    "required": [
      "providers",
      "default"
    ],
    "type": "object"
  },
  "ConfigValidation": {
    "additionalProperties": false,
    "properties": {
      "diagnostics": {
        "items": {
          "$ref": "#/components/schemas/ConfigDiagnostic"
        },
        "type": "array"
      },
      "ok": {
        "type": "boolean"
      }
    },
    "required": [
      "ok",
      "diagnostics"
    ],
    "type": "object"
  },
  "CreateSessionRequest": {
    "additionalProperties": false,
    "properties": {
      "agent": {
        "type": "string"
      },
      "externalOptions": {
        "additionalProperties": {
          "type": "string"
        },
        "type": "object"
      },
      "externalProvider": {
        "enum": [
          "opencode",
          "claude",
          "codex"
        ],
        "type": "string"
      },
      "model": {
        "$ref": "#/components/schemas/ModelRef"
      },
      "parentId": {
        "type": "string"
      },
      "permission": {
        "items": {
          "$ref": "#/components/schemas/PermissionRule"
        },
        "type": "array"
      },
      "title": {
        "type": "string"
      },
      "workspaceId": {
        "type": "string"
      }
    },
    "type": "object"
  },
  "CredentialScope": {
    "additionalProperties": false,
    "properties": {
      "tenantId": {
        "type": "string"
      },
      "workspaceId": {
        "type": "string"
      }
    },
    "required": [
      "tenantId"
    ],
    "type": "object"
  },
  "EmptyObject": {
    "additionalProperties": false,
    "type": "object"
  },
  "Event": {
    "description": "Every SSE record's data field, discriminated by `type`.",
    "discriminator": {
      "propertyName": "type"
    },
    "oneOf": [
      {
        "$ref": "#/components/schemas/EventMessagePartUpdated"
      },
      {
        "$ref": "#/components/schemas/EventMessagePartRemoved"
      },
      {
        "$ref": "#/components/schemas/EventMessagePartDelta"
      },
      {
        "$ref": "#/components/schemas/EventMessageUpdated"
      },
      {
        "$ref": "#/components/schemas/EventMessageRemoved"
      },
      {
        "$ref": "#/components/schemas/EventMcpToolsChanged"
      },
      {
        "$ref": "#/components/schemas/EventLspUpdated"
      },
      {
        "$ref": "#/components/schemas/EventPermissionAsked"
      },
      {
        "$ref": "#/components/schemas/EventPermissionReplied"
      },
      {
        "$ref": "#/components/schemas/EventQuestionAsked"
      },
      {
        "$ref": "#/components/schemas/EventQuestionRejected"
      },
      {
        "$ref": "#/components/schemas/EventQuestionReplied"
      },
      {
        "$ref": "#/components/schemas/EventPtyCreated"
      },
      {
        "$ref": "#/components/schemas/EventPtyUpdated"
      },
      {
        "$ref": "#/components/schemas/EventPtyDeleted"
      },
      {
        "$ref": "#/components/schemas/EventPtyExited"
      },
      {
        "$ref": "#/components/schemas/EventSessionNextCompactionStarted"
      },
      {
        "$ref": "#/components/schemas/EventSessionNextCompactionDelta"
      },
      {
        "$ref": "#/components/schemas/EventSessionNextCompactionEnded"
      },
      {
        "$ref": "#/components/schemas/EventSessionCompacted"
      },
      {
        "$ref": "#/components/schemas/EventSessionContextUpdated"
      },
      {
        "$ref": "#/components/schemas/EventSessionCreated"
      },
      {
        "$ref": "#/components/schemas/EventSessionDeleted"
      },
      {
        "$ref": "#/components/schemas/EventSessionError"
      },
      {
        "$ref": "#/components/schemas/EventSessionCatalogActivity"
      },
      {
        "$ref": "#/components/schemas/EventSessionExecutionUpdated"
      },
      {
        "$ref": "#/components/schemas/EventSessionBackgroundTasksUpdated"
      },
      {
        "$ref": "#/components/schemas/EventSessionBackgroundTaskCompleted"
      },
      {
        "$ref": "#/components/schemas/EventSessionQueueUpdated"
      },
      {
        "$ref": "#/components/schemas/EventSessionPromptAdmitted"
      },
      {
        "$ref": "#/components/schemas/EventSessionMoved"
      },
      {
        "$ref": "#/components/schemas/EventSessionStatus"
      },
      {
        "$ref": "#/components/schemas/EventSessionSubtaskCompleted"
      },
      {
        "$ref": "#/components/schemas/EventSessionUpdated"
      },
      {
        "$ref": "#/components/schemas/EventTodoUpdated"
      },
      {
        "$ref": "#/components/schemas/EventWorkflowUpdated"
      },
      {
        "$ref": "#/components/schemas/EventWorkflowRunUpdated"
      }
    ]
  },
  "EventEnvelope": {
    "additionalProperties": false,
    "properties": {
      "data": {},
      "id": {
        "type": "string"
      },
      "schemaVersion": {
        "type": "string"
      },
      "sequence": {
        "minimum": 0,
        "type": "integer"
      },
      "source": {
        "type": "string"
      },
      "subject": {
        "$ref": "#/components/schemas/EventSubject"
      },
      "timestamp": {
        "type": "integer"
      },
      "type": {
        "type": "string"
      }
    },
    "required": [
      "id",
      "sequence",
      "type",
      "source",
      "schemaVersion",
      "timestamp",
      "data"
    ],
    "type": "object"
  },
  "EventLspUpdated": {
    "additionalProperties": false,
    "properties": {
      "data": {
        "additionalProperties": false,
        "type": "object"
      },
      "id": {
        "type": "string"
      },
      "schemaVersion": {
        "type": "string"
      },
      "sequence": {
        "minimum": 0,
        "type": "integer"
      },
      "source": {
        "type": "string"
      },
      "subject": {
        "$ref": "#/components/schemas/EventSubject"
      },
      "timestamp": {
        "type": "integer"
      },
      "type": {
        "const": "lsp.updated"
      }
    },
    "required": [
      "id",
      "sequence",
      "type",
      "source",
      "schemaVersion",
      "timestamp",
      "data"
    ],
    "type": "object"
  },
  "EventMcpToolsChanged": {
    "additionalProperties": false,
    "properties": {
      "data": {
        "additionalProperties": false,
        "properties": {
          "directory": {
            "type": "string"
          },
          "server": {
            "type": "string"
          }
        },
        "required": [
          "server",
          "directory"
        ],
        "type": "object"
      },
      "id": {
        "type": "string"
      },
      "schemaVersion": {
        "type": "string"
      },
      "sequence": {
        "minimum": 0,
        "type": "integer"
      },
      "source": {
        "type": "string"
      },
      "subject": {
        "$ref": "#/components/schemas/EventSubject"
      },
      "timestamp": {
        "type": "integer"
      },
      "type": {
        "const": "mcp.tools.changed"
      }
    },
    "required": [
      "id",
      "sequence",
      "type",
      "source",
      "schemaVersion",
      "timestamp",
      "data"
    ],
    "type": "object"
  },
  "EventMessagePartDelta": {
    "additionalProperties": false,
    "properties": {
      "data": {
        "additionalProperties": false,
        "properties": {
          "delta": {
            "type": "string"
          },
          "field": {
            "type": "string"
          },
          "messageID": {
            "type": "string"
          },
          "partID": {
            "type": "string"
          },
          "partType": {
            "type": "string"
          },
          "sessionID": {
            "type": "string"
          }
        },
        "required": [
          "sessionID",
          "messageID",
          "partID",
          "partType",
          "field",
          "delta"
        ],
        "type": "object"
      },
      "id": {
        "type": "string"
      },
      "schemaVersion": {
        "type": "string"
      },
      "sequence": {
        "minimum": 0,
        "type": "integer"
      },
      "source": {
        "type": "string"
      },
      "subject": {
        "$ref": "#/components/schemas/EventSubject"
      },
      "timestamp": {
        "type": "integer"
      },
      "type": {
        "const": "message.part.delta"
      }
    },
    "required": [
      "id",
      "sequence",
      "type",
      "source",
      "schemaVersion",
      "timestamp",
      "data"
    ],
    "type": "object"
  },
  "EventMessagePartRemoved": {
    "additionalProperties": false,
    "properties": {
      "data": {
        "additionalProperties": false,
        "properties": {
          "messageID": {
            "type": "string"
          },
          "partID": {
            "type": "string"
          },
          "sessionID": {
            "type": "string"
          }
        },
        "required": [
          "sessionID",
          "messageID",
          "partID"
        ],
        "type": "object"
      },
      "id": {
        "type": "string"
      },
      "schemaVersion": {
        "type": "string"
      },
      "sequence": {
        "minimum": 0,
        "type": "integer"
      },
      "source": {
        "type": "string"
      },
      "subject": {
        "$ref": "#/components/schemas/EventSubject"
      },
      "timestamp": {
        "type": "integer"
      },
      "type": {
        "const": "message.part.removed"
      }
    },
    "required": [
      "id",
      "sequence",
      "type",
      "source",
      "schemaVersion",
      "timestamp",
      "data"
    ],
    "type": "object"
  },
  "EventMessagePartUpdated": {
    "additionalProperties": false,
    "properties": {
      "data": {
        "additionalProperties": false,
        "properties": {
          "part": {
            "$ref": "#/components/schemas/Part"
          },
          "sessionID": {
            "type": "string"
          },
          "time": {
            "type": "integer"
          }
        },
        "required": [
          "sessionID",
          "part",
          "time"
        ],
        "type": "object"
      },
      "id": {
        "type": "string"
      },
      "schemaVersion": {
        "type": "string"
      },
      "sequence": {
        "minimum": 0,
        "type": "integer"
      },
      "source": {
        "type": "string"
      },
      "subject": {
        "$ref": "#/components/schemas/EventSubject"
      },
      "timestamp": {
        "type": "integer"
      },
      "type": {
        "const": "message.part.updated"
      }
    },
    "required": [
      "id",
      "sequence",
      "type",
      "source",
      "schemaVersion",
      "timestamp",
      "data"
    ],
    "type": "object"
  },
  "EventMessageRemoved": {
    "additionalProperties": false,
    "properties": {
      "data": {
        "additionalProperties": false,
        "properties": {
          "messageID": {
            "type": "string"
          },
          "sessionID": {
            "type": "string"
          }
        },
        "required": [
          "sessionID",
          "messageID"
        ],
        "type": "object"
      },
      "id": {
        "type": "string"
      },
      "schemaVersion": {
        "type": "string"
      },
      "sequence": {
        "minimum": 0,
        "type": "integer"
      },
      "source": {
        "type": "string"
      },
      "subject": {
        "$ref": "#/components/schemas/EventSubject"
      },
      "timestamp": {
        "type": "integer"
      },
      "type": {
        "const": "message.removed"
      }
    },
    "required": [
      "id",
      "sequence",
      "type",
      "source",
      "schemaVersion",
      "timestamp",
      "data"
    ],
    "type": "object"
  },
  "EventMessageUpdated": {
    "additionalProperties": false,
    "properties": {
      "data": {
        "additionalProperties": false,
        "properties": {
          "info": {
            "additionalProperties": true,
            "properties": {
              "id": {
                "type": "string"
              },
              "role": {
                "type": "string"
              },
              "sessionId": {
                "type": "string"
              }
            },
            "required": [
              "role",
              "id",
              "sessionId"
            ],
            "type": "object"
          },
          "sessionID": {
            "type": "string"
          }
        },
        "required": [
          "sessionID",
          "info"
        ],
        "type": "object"
      },
      "id": {
        "type": "string"
      },
      "schemaVersion": {
        "type": "string"
      },
      "sequence": {
        "minimum": 0,
        "type": "integer"
      },
      "source": {
        "type": "string"
      },
      "subject": {
        "$ref": "#/components/schemas/EventSubject"
      },
      "timestamp": {
        "type": "integer"
      },
      "type": {
        "const": "message.updated"
      }
    },
    "required": [
      "id",
      "sequence",
      "type",
      "source",
      "schemaVersion",
      "timestamp",
      "data"
    ],
    "type": "object"
  },
  "EventPermissionAsked": {
    "additionalProperties": false,
    "properties": {
      "data": {
        "additionalProperties": true,
        "properties": {
          "always": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "id": {
            "type": "string"
          },
          "messageId": {
            "type": "string"
          },
          "metadata": {
            "oneOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ]
          },
          "parentSessionID": {
            "type": "string"
          },
          "patterns": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "permission": {
            "type": "string"
          },
          "sessionId": {
            "type": "string"
          },
          "sourceAgent": {
            "type": "string"
          },
          "sourceSessionID": {
            "type": "string"
          },
          "sourceTitle": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "tool": {
            "additionalProperties": true,
            "type": "object"
          }
        },
        "required": [
          "id",
          "sessionId",
          "messageId",
          "title",
          "permission",
          "patterns",
          "always"
        ],
        "type": "object"
      },
      "id": {
        "type": "string"
      },
      "schemaVersion": {
        "type": "string"
      },
      "sequence": {
        "minimum": 0,
        "type": "integer"
      },
      "source": {
        "type": "string"
      },
      "subject": {
        "$ref": "#/components/schemas/EventSubject"
      },
      "timestamp": {
        "type": "integer"
      },
      "type": {
        "const": "permission.asked"
      }
    },
    "required": [
      "id",
      "sequence",
      "type",
      "source",
      "schemaVersion",
      "timestamp",
      "data"
    ],
    "type": "object"
  },
  "EventPermissionReplied": {
    "additionalProperties": false,
    "properties": {
      "data": {
        "additionalProperties": true,
        "properties": {
          "info": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/PermissionRequest"
              },
              {
                "type": "null"
              }
            ]
          },
          "reply": {
            "type": "string"
          },
          "requestID": {
            "type": "string"
          }
        },
        "required": [
          "requestID",
          "reply"
        ],
        "type": "object"
      },
      "id": {
        "type": "string"
      },
      "schemaVersion": {
        "type": "string"
      },
      "sequence": {
        "minimum": 0,
        "type": "integer"
      },
      "source": {
        "type": "string"
      },
      "subject": {
        "$ref": "#/components/schemas/EventSubject"
      },
      "timestamp": {
        "type": "integer"
      },
      "type": {
        "const": "permission.replied"
      }
    },
    "required": [
      "id",
      "sequence",
      "type",
      "source",
      "schemaVersion",
      "timestamp",
      "data"
    ],
    "type": "object"
  },
  "EventPtyCreated": {
    "additionalProperties": false,
    "properties": {
      "data": {
        "additionalProperties": false,
        "properties": {
          "id": {
            "type": "string"
          },
          "info": {
            "$ref": "#/components/schemas/Pty"
          },
          "ptyID": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "ptyID",
          "info"
        ],
        "type": "object"
      },
      "id": {
        "type": "string"
      },
      "schemaVersion": {
        "type": "string"
      },
      "sequence": {
        "minimum": 0,
        "type": "integer"
      },
      "source": {
        "type": "string"
      },
      "subject": {
        "$ref": "#/components/schemas/EventSubject"
      },
      "timestamp": {
        "type": "integer"
      },
      "type": {
        "const": "pty.created"
      }
    },
    "required": [
      "id",
      "sequence",
      "type",
      "source",
      "schemaVersion",
      "timestamp",
      "data"
    ],
    "type": "object"
  },
  "EventPtyDeleted": {
    "additionalProperties": false,
    "properties": {
      "data": {
        "additionalProperties": false,
        "properties": {
          "id": {
            "type": "string"
          },
          "info": {
            "$ref": "#/components/schemas/Pty"
          },
          "ptyID": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "ptyID",
          "info"
        ],
        "type": "object"
      },
      "id": {
        "type": "string"
      },
      "schemaVersion": {
        "type": "string"
      },
      "sequence": {
        "minimum": 0,
        "type": "integer"
      },
      "source": {
        "type": "string"
      },
      "subject": {
        "$ref": "#/components/schemas/EventSubject"
      },
      "timestamp": {
        "type": "integer"
      },
      "type": {
        "const": "pty.deleted"
      }
    },
    "required": [
      "id",
      "sequence",
      "type",
      "source",
      "schemaVersion",
      "timestamp",
      "data"
    ],
    "type": "object"
  },
  "EventPtyExited": {
    "additionalProperties": false,
    "properties": {
      "data": {
        "additionalProperties": false,
        "properties": {
          "exitStatus": {
            "oneOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ]
          },
          "id": {
            "type": "string"
          },
          "ptyID": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "ptyID",
          "exitStatus"
        ],
        "type": "object"
      },
      "id": {
        "type": "string"
      },
      "schemaVersion": {
        "type": "string"
      },
      "sequence": {
        "minimum": 0,
        "type": "integer"
      },
      "source": {
        "type": "string"
      },
      "subject": {
        "$ref": "#/components/schemas/EventSubject"
      },
      "timestamp": {
        "type": "integer"
      },
      "type": {
        "const": "pty.exited"
      }
    },
    "required": [
      "id",
      "sequence",
      "type",
      "source",
      "schemaVersion",
      "timestamp",
      "data"
    ],
    "type": "object"
  },
  "EventPtyUpdated": {
    "additionalProperties": false,
    "properties": {
      "data": {
        "additionalProperties": false,
        "properties": {
          "id": {
            "type": "string"
          },
          "info": {
            "$ref": "#/components/schemas/Pty"
          },
          "ptyID": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "ptyID",
          "info"
        ],
        "type": "object"
      },
      "id": {
        "type": "string"
      },
      "schemaVersion": {
        "type": "string"
      },
      "sequence": {
        "minimum": 0,
        "type": "integer"
      },
      "source": {
        "type": "string"
      },
      "subject": {
        "$ref": "#/components/schemas/EventSubject"
      },
      "timestamp": {
        "type": "integer"
      },
      "type": {
        "const": "pty.updated"
      }
    },
    "required": [
      "id",
      "sequence",
      "type",
      "source",
      "schemaVersion",
      "timestamp",
      "data"
    ],
    "type": "object"
  },
  "EventQuestionAsked": {
    "additionalProperties": false,
    "properties": {
      "data": {
        "$ref": "#/components/schemas/QuestionRequest"
      },
      "id": {
        "type": "string"
      },
      "schemaVersion": {
        "type": "string"
      },
      "sequence": {
        "minimum": 0,
        "type": "integer"
      },
      "source": {
        "type": "string"
      },
      "subject": {
        "$ref": "#/components/schemas/EventSubject"
      },
      "timestamp": {
        "type": "integer"
      },
      "type": {
        "const": "question.asked"
      }
    },
    "required": [
      "id",
      "sequence",
      "type",
      "source",
      "schemaVersion",
      "timestamp",
      "data"
    ],
    "type": "object"
  },
  "EventQuestionRejected": {
    "additionalProperties": false,
    "properties": {
      "data": {
        "additionalProperties": false,
        "properties": {
          "info": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/QuestionRequest"
              },
              {
                "type": "null"
              }
            ]
          },
          "reason": {
            "type": "string"
          },
          "requestID": {
            "type": "string"
          }
        },
        "required": [
          "requestID"
        ],
        "type": "object"
      },
      "id": {
        "type": "string"
      },
      "schemaVersion": {
        "type": "string"
      },
      "sequence": {
        "minimum": 0,
        "type": "integer"
      },
      "source": {
        "type": "string"
      },
      "subject": {
        "$ref": "#/components/schemas/EventSubject"
      },
      "timestamp": {
        "type": "integer"
      },
      "type": {
        "const": "question.rejected"
      }
    },
    "required": [
      "id",
      "sequence",
      "type",
      "source",
      "schemaVersion",
      "timestamp",
      "data"
    ],
    "type": "object"
  },
  "EventQuestionReplied": {
    "additionalProperties": false,
    "properties": {
      "data": {
        "additionalProperties": false,
        "properties": {
          "info": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/QuestionRequest"
              },
              {
                "type": "null"
              }
            ]
          },
          "reply": {
            "additionalProperties": false,
            "properties": {
              "answers": {
                "items": {
                  "items": {
                    "type": "string"
                  },
                  "type": "array"
                },
                "type": "array"
              }
            },
            "required": [
              "answers"
            ],
            "type": "object"
          },
          "requestID": {
            "type": "string"
          }
        },
        "required": [
          "requestID",
          "reply"
        ],
        "type": "object"
      },
      "id": {
        "type": "string"
      },
      "schemaVersion": {
        "type": "string"
      },
      "sequence": {
        "minimum": 0,
        "type": "integer"
      },
      "source": {
        "type": "string"
      },
      "subject": {
        "$ref": "#/components/schemas/EventSubject"
      },
      "timestamp": {
        "type": "integer"
      },
      "type": {
        "const": "question.replied"
      }
    },
    "required": [
      "id",
      "sequence",
      "type",
      "source",
      "schemaVersion",
      "timestamp",
      "data"
    ],
    "type": "object"
  },
  "EventSessionBackgroundTaskCompleted": {
    "additionalProperties": false,
    "properties": {
      "data": {
        "additionalProperties": false,
        "properties": {
          "command": {
            "type": "string"
          },
          "cwd": {
            "type": "string"
          },
          "exitCode": {
            "oneOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ]
          },
          "jobID": {
            "type": "string"
          },
          "parentSessionID": {
            "type": "string"
          },
          "result": {
            "type": "string"
          },
          "sessionID": {
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "taskID": {
            "type": "string"
          },
          "title": {
            "type": "string"
          }
        },
        "required": [
          "sessionID",
          "parentSessionID",
          "jobID",
          "taskID",
          "status",
          "title",
          "command",
          "cwd",
          "exitCode",
          "result"
        ],
        "type": "object"
      },
      "id": {
        "type": "string"
      },
      "schemaVersion": {
        "type": "string"
      },
      "sequence": {
        "minimum": 0,
        "type": "integer"
      },
      "source": {
        "type": "string"
      },
      "subject": {
        "$ref": "#/components/schemas/EventSubject"
      },
      "timestamp": {
        "type": "integer"
      },
      "type": {
        "const": "session.background_task.completed"
      }
    },
    "required": [
      "id",
      "sequence",
      "type",
      "source",
      "schemaVersion",
      "timestamp",
      "data"
    ],
    "type": "object"
  },
  "EventSessionBackgroundTasksUpdated": {
    "additionalProperties": false,
    "properties": {
      "data": {
        "additionalProperties": false,
        "properties": {
          "backgroundJobsEpoch": {
            "type": "string"
          },
          "backgroundJobsRevision": {
            "minimum": 0,
            "type": "integer"
          },
          "runningBackgroundTasks": {
            "items": {
              "additionalProperties": false,
              "properties": {
                "jobID": {
                  "type": "string"
                },
                "sessionID": {
                  "type": "string"
                },
                "startedAt": {
                  "minimum": 0,
                  "type": "integer"
                }
              },
              "required": [
                "jobID",
                "sessionID",
                "startedAt"
              ],
              "type": "object"
            },
            "type": "array"
          },
          "sessionID": {
            "type": "string"
          }
        },
        "required": [
          "sessionID",
          "backgroundJobsEpoch",
          "backgroundJobsRevision",
          "runningBackgroundTasks"
        ],
        "type": "object"
      },
      "id": {
        "type": "string"
      },
      "schemaVersion": {
        "type": "string"
      },
      "sequence": {
        "minimum": 0,
        "type": "integer"
      },
      "source": {
        "type": "string"
      },
      "subject": {
        "$ref": "#/components/schemas/EventSubject"
      },
      "timestamp": {
        "type": "integer"
      },
      "type": {
        "const": "session.background_tasks.updated"
      }
    },
    "required": [
      "id",
      "sequence",
      "type",
      "source",
      "schemaVersion",
      "timestamp",
      "data"
    ],
    "type": "object"
  },
  "EventSessionCatalogActivity": {
    "additionalProperties": false,
    "properties": {
      "data": {
        "additionalProperties": false,
        "properties": {
          "activity": {
            "$ref": "#/components/schemas/CatalogActivity"
          },
          "sessionID": {
            "type": "string"
          }
        },
        "required": [
          "sessionID",
          "activity"
        ],
        "type": "object"
      },
      "id": {
        "type": "string"
      },
      "schemaVersion": {
        "type": "string"
      },
      "sequence": {
        "minimum": 0,
        "type": "integer"
      },
      "source": {
        "type": "string"
      },
      "subject": {
        "$ref": "#/components/schemas/EventSubject"
      },
      "timestamp": {
        "type": "integer"
      },
      "type": {
        "const": "session.catalog.activity"
      }
    },
    "required": [
      "id",
      "sequence",
      "type",
      "source",
      "schemaVersion",
      "timestamp",
      "data"
    ],
    "type": "object"
  },
  "EventSessionCompacted": {
    "additionalProperties": false,
    "properties": {
      "data": {
        "additionalProperties": false,
        "properties": {
          "info": {
            "$ref": "#/components/schemas/Session"
          },
          "sessionID": {
            "type": "string"
          },
          "summary": {
            "additionalProperties": false,
            "properties": {
              "kind": {
                "type": "string"
              },
              "messageID": {
                "type": "string"
              },
              "text": {
                "type": "string"
              },
              "throughMessageID": {
                "type": "string"
              },
              "updated": {
                "type": "integer"
              }
            },
            "required": [
              "text",
              "messageID",
              "throughMessageID",
              "updated",
              "kind"
            ],
            "type": "object"
          }
        },
        "required": [
          "sessionID",
          "info",
          "summary"
        ],
        "type": "object"
      },
      "id": {
        "type": "string"
      },
      "schemaVersion": {
        "type": "string"
      },
      "sequence": {
        "minimum": 0,
        "type": "integer"
      },
      "source": {
        "type": "string"
      },
      "subject": {
        "$ref": "#/components/schemas/EventSubject"
      },
      "timestamp": {
        "type": "integer"
      },
      "type": {
        "const": "session.compacted"
      }
    },
    "required": [
      "id",
      "sequence",
      "type",
      "source",
      "schemaVersion",
      "timestamp",
      "data"
    ],
    "type": "object"
  },
  "EventSessionContextUpdated": {
    "additionalProperties": false,
    "properties": {
      "data": {
        "additionalProperties": false,
        "properties": {
          "epoch": {
            "additionalProperties": true,
            "type": "object"
          },
          "sessionID": {
            "type": "string"
          }
        },
        "required": [
          "sessionID",
          "epoch"
        ],
        "type": "object"
      },
      "id": {
        "type": "string"
      },
      "schemaVersion": {
        "type": "string"
      },
      "sequence": {
        "minimum": 0,
        "type": "integer"
      },
      "source": {
        "type": "string"
      },
      "subject": {
        "$ref": "#/components/schemas/EventSubject"
      },
      "timestamp": {
        "type": "integer"
      },
      "type": {
        "const": "session.context.updated"
      }
    },
    "required": [
      "id",
      "sequence",
      "type",
      "source",
      "schemaVersion",
      "timestamp",
      "data"
    ],
    "type": "object"
  },
  "EventSessionCreated": {
    "additionalProperties": false,
    "properties": {
      "data": {
        "additionalProperties": false,
        "properties": {
          "info": {
            "$ref": "#/components/schemas/Session"
          },
          "sessionID": {
            "type": "string"
          }
        },
        "required": [
          "sessionID",
          "info"
        ],
        "type": "object"
      },
      "id": {
        "type": "string"
      },
      "schemaVersion": {
        "type": "string"
      },
      "sequence": {
        "minimum": 0,
        "type": "integer"
      },
      "source": {
        "type": "string"
      },
      "subject": {
        "$ref": "#/components/schemas/EventSubject"
      },
      "timestamp": {
        "type": "integer"
      },
      "type": {
        "const": "session.created"
      }
    },
    "required": [
      "id",
      "sequence",
      "type",
      "source",
      "schemaVersion",
      "timestamp",
      "data"
    ],
    "type": "object"
  },
  "EventSessionDeleted": {
    "additionalProperties": false,
    "properties": {
      "data": {
        "additionalProperties": false,
        "properties": {
          "info": {
            "$ref": "#/components/schemas/Session"
          },
          "sessionID": {
            "type": "string"
          },
          "tenantID": {
            "type": "string"
          }
        },
        "required": [
          "sessionID",
          "info",
          "tenantID"
        ],
        "type": "object"
      },
      "id": {
        "type": "string"
      },
      "schemaVersion": {
        "type": "string"
      },
      "sequence": {
        "minimum": 0,
        "type": "integer"
      },
      "source": {
        "type": "string"
      },
      "subject": {
        "$ref": "#/components/schemas/EventSubject"
      },
      "timestamp": {
        "type": "integer"
      },
      "type": {
        "const": "session.deleted"
      }
    },
    "required": [
      "id",
      "sequence",
      "type",
      "source",
      "schemaVersion",
      "timestamp",
      "data"
    ],
    "type": "object"
  },
  "EventSessionError": {
    "additionalProperties": false,
    "properties": {
      "data": {
        "additionalProperties": false,
        "properties": {
          "error": {
            "$ref": "#/components/schemas/ApiError"
          },
          "sessionID": {
            "type": "string"
          }
        },
        "required": [
          "sessionID",
          "error"
        ],
        "type": "object"
      },
      "id": {
        "type": "string"
      },
      "schemaVersion": {
        "type": "string"
      },
      "sequence": {
        "minimum": 0,
        "type": "integer"
      },
      "source": {
        "type": "string"
      },
      "subject": {
        "$ref": "#/components/schemas/EventSubject"
      },
      "timestamp": {
        "type": "integer"
      },
      "type": {
        "const": "session.error"
      }
    },
    "required": [
      "id",
      "sequence",
      "type",
      "source",
      "schemaVersion",
      "timestamp",
      "data"
    ],
    "type": "object"
  },
  "EventSessionExecutionUpdated": {
    "additionalProperties": false,
    "properties": {
      "data": {
        "additionalProperties": false,
        "properties": {
          "runtime": {
            "$ref": "#/components/schemas/SessionRuntimeSnapshot"
          },
          "sessionID": {
            "type": "string"
          },
          "snapshot": {
            "$ref": "#/components/schemas/ExecutionActivitySnapshot"
          }
        },
        "required": [
          "sessionID",
          "snapshot",
          "runtime"
        ],
        "type": "object"
      },
      "id": {
        "type": "string"
      },
      "schemaVersion": {
        "type": "string"
      },
      "sequence": {
        "minimum": 0,
        "type": "integer"
      },
      "source": {
        "type": "string"
      },
      "subject": {
        "$ref": "#/components/schemas/EventSubject"
      },
      "timestamp": {
        "type": "integer"
      },
      "type": {
        "const": "session.execution.updated"
      }
    },
    "required": [
      "id",
      "sequence",
      "type",
      "source",
      "schemaVersion",
      "timestamp",
      "data"
    ],
    "type": "object"
  },
  "EventSessionMoved": {
    "additionalProperties": false,
    "properties": {
      "data": {
        "additionalProperties": false,
        "properties": {
          "directory": {
            "type": "string"
          },
          "info": {
            "$ref": "#/components/schemas/Session"
          },
          "previousDirectory": {
            "type": "string"
          },
          "sessionID": {
            "type": "string"
          },
          "switchWorkspace": {
            "type": "boolean"
          }
        },
        "required": [
          "sessionID",
          "info",
          "previousDirectory",
          "directory",
          "switchWorkspace"
        ],
        "type": "object"
      },
      "id": {
        "type": "string"
      },
      "schemaVersion": {
        "type": "string"
      },
      "sequence": {
        "minimum": 0,
        "type": "integer"
      },
      "source": {
        "type": "string"
      },
      "subject": {
        "$ref": "#/components/schemas/EventSubject"
      },
      "timestamp": {
        "type": "integer"
      },
      "type": {
        "const": "session.moved"
      }
    },
    "required": [
      "id",
      "sequence",
      "type",
      "source",
      "schemaVersion",
      "timestamp",
      "data"
    ],
    "type": "object"
  },
  "EventSessionNextCompactionDelta": {
    "additionalProperties": false,
    "properties": {
      "data": {
        "additionalProperties": false,
        "properties": {
          "sessionID": {
            "type": "string"
          },
          "text": {
            "type": "string"
          }
        },
        "required": [
          "sessionID",
          "text"
        ],
        "type": "object"
      },
      "id": {
        "type": "string"
      },
      "schemaVersion": {
        "type": "string"
      },
      "sequence": {
        "minimum": 0,
        "type": "integer"
      },
      "source": {
        "type": "string"
      },
      "subject": {
        "$ref": "#/components/schemas/EventSubject"
      },
      "timestamp": {
        "type": "integer"
      },
      "type": {
        "const": "session.next.compaction.delta"
      }
    },
    "required": [
      "id",
      "sequence",
      "type",
      "source",
      "schemaVersion",
      "timestamp",
      "data"
    ],
    "type": "object"
  },
  "EventSessionNextCompactionEnded": {
    "additionalProperties": false,
    "properties": {
      "data": {
        "additionalProperties": true,
        "properties": {
          "error": {
            "additionalProperties": true,
            "type": "object"
          },
          "kind": {
            "type": "string"
          },
          "messageID": {
            "type": "string"
          },
          "sessionID": {
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "summary": {
            "additionalProperties": true,
            "type": "object"
          },
          "text": {
            "type": "string"
          },
          "timestamp": {
            "type": "integer"
          }
        },
        "required": [
          "sessionID"
        ],
        "type": "object"
      },
      "id": {
        "type": "string"
      },
      "schemaVersion": {
        "type": "string"
      },
      "sequence": {
        "minimum": 0,
        "type": "integer"
      },
      "source": {
        "type": "string"
      },
      "subject": {
        "$ref": "#/components/schemas/EventSubject"
      },
      "timestamp": {
        "type": "integer"
      },
      "type": {
        "const": "session.next.compaction.ended"
      }
    },
    "required": [
      "id",
      "sequence",
      "type",
      "source",
      "schemaVersion",
      "timestamp",
      "data"
    ],
    "type": "object"
  },
  "EventSessionNextCompactionStarted": {
    "additionalProperties": false,
    "properties": {
      "data": {
        "additionalProperties": false,
        "properties": {
          "messageID": {
            "type": "string"
          },
          "reason": {
            "type": "string"
          },
          "sessionID": {
            "type": "string"
          },
          "timestamp": {
            "type": "integer"
          }
        },
        "required": [
          "sessionID",
          "messageID",
          "timestamp",
          "reason"
        ],
        "type": "object"
      },
      "id": {
        "type": "string"
      },
      "schemaVersion": {
        "type": "string"
      },
      "sequence": {
        "minimum": 0,
        "type": "integer"
      },
      "source": {
        "type": "string"
      },
      "subject": {
        "$ref": "#/components/schemas/EventSubject"
      },
      "timestamp": {
        "type": "integer"
      },
      "type": {
        "const": "session.next.compaction.started"
      }
    },
    "required": [
      "id",
      "sequence",
      "type",
      "source",
      "schemaVersion",
      "timestamp",
      "data"
    ],
    "type": "object"
  },
  "EventSessionPromptAdmitted": {
    "additionalProperties": false,
    "properties": {
      "data": {
        "additionalProperties": false,
        "properties": {
          "delivery": {
            "type": "string"
          },
          "request": {
            "$ref": "#/components/schemas/PromptRequest"
          },
          "sessionID": {
            "type": "string"
          }
        },
        "required": [
          "sessionID",
          "delivery",
          "request"
        ],
        "type": "object"
      },
      "id": {
        "type": "string"
      },
      "schemaVersion": {
        "type": "string"
      },
      "sequence": {
        "minimum": 0,
        "type": "integer"
      },
      "source": {
        "type": "string"
      },
      "subject": {
        "$ref": "#/components/schemas/EventSubject"
      },
      "timestamp": {
        "type": "integer"
      },
      "type": {
        "const": "session.prompt.admitted"
      }
    },
    "required": [
      "id",
      "sequence",
      "type",
      "source",
      "schemaVersion",
      "timestamp",
      "data"
    ],
    "type": "object"
  },
  "EventSessionQueueUpdated": {
    "additionalProperties": false,
    "properties": {
      "data": {
        "additionalProperties": false,
        "properties": {
          "action": {
            "type": "string"
          },
          "delivery": {
            "type": "string"
          },
          "messageID": {
            "type": "string"
          },
          "queue": {
            "$ref": "#/components/schemas/SessionQueueInfo"
          },
          "removed": {
            "type": "integer"
          },
          "request": {
            "$ref": "#/components/schemas/PromptRequest"
          },
          "sessionID": {
            "type": "string"
          }
        },
        "required": [
          "sessionID",
          "action",
          "removed",
          "queue"
        ],
        "type": "object"
      },
      "id": {
        "type": "string"
      },
      "schemaVersion": {
        "type": "string"
      },
      "sequence": {
        "minimum": 0,
        "type": "integer"
      },
      "source": {
        "type": "string"
      },
      "subject": {
        "$ref": "#/components/schemas/EventSubject"
      },
      "timestamp": {
        "type": "integer"
      },
      "type": {
        "const": "session.queue.updated"
      }
    },
    "required": [
      "id",
      "sequence",
      "type",
      "source",
      "schemaVersion",
      "timestamp",
      "data"
    ],
    "type": "object"
  },
  "EventSessionStatus": {
    "additionalProperties": false,
    "properties": {
      "data": {
        "additionalProperties": false,
        "properties": {
          "parentSessionID": {
            "type": "string"
          },
          "queue": {
            "type": "integer"
          },
          "runID": {
            "type": "string"
          },
          "sessionID": {
            "type": "string"
          },
          "sourceAgent": {
            "type": "string"
          },
          "sourceSessionID": {
            "type": "string"
          },
          "sourceTitle": {
            "type": "string"
          },
          "startedAt": {
            "type": "integer"
          },
          "status": {
            "$ref": "#/components/schemas/SessionStatus"
          }
        },
        "required": [
          "sessionID",
          "status"
        ],
        "type": "object"
      },
      "id": {
        "type": "string"
      },
      "schemaVersion": {
        "type": "string"
      },
      "sequence": {
        "minimum": 0,
        "type": "integer"
      },
      "source": {
        "type": "string"
      },
      "subject": {
        "$ref": "#/components/schemas/EventSubject"
      },
      "timestamp": {
        "type": "integer"
      },
      "type": {
        "const": "session.status"
      }
    },
    "required": [
      "id",
      "sequence",
      "type",
      "source",
      "schemaVersion",
      "timestamp",
      "data"
    ],
    "type": "object"
  },
  "EventSessionSubtaskCompleted": {
    "additionalProperties": false,
    "properties": {
      "data": {
        "additionalProperties": false,
        "properties": {
          "agent": {
            "type": "string"
          },
          "childSessionID": {
            "type": "string"
          },
          "executionID": {
            "type": "string"
          },
          "familyRevision": {
            "type": "integer"
          },
          "parentSessionID": {
            "type": "string"
          },
          "result": {
            "type": "string"
          },
          "rootSessionID": {
            "type": "string"
          },
          "sessionID": {
            "type": "string"
          },
          "sourceAgent": {
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "taskID": {
            "type": "string"
          },
          "title": {
            "type": "string"
          }
        },
        "required": [
          "sessionID",
          "parentSessionID",
          "childSessionID",
          "taskID",
          "status",
          "title",
          "result"
        ],
        "type": "object"
      },
      "id": {
        "type": "string"
      },
      "schemaVersion": {
        "type": "string"
      },
      "sequence": {
        "minimum": 0,
        "type": "integer"
      },
      "source": {
        "type": "string"
      },
      "subject": {
        "$ref": "#/components/schemas/EventSubject"
      },
      "timestamp": {
        "type": "integer"
      },
      "type": {
        "const": "session.subtask.completed"
      }
    },
    "required": [
      "id",
      "sequence",
      "type",
      "source",
      "schemaVersion",
      "timestamp",
      "data"
    ],
    "type": "object"
  },
  "EventSessionUpdated": {
    "additionalProperties": false,
    "properties": {
      "data": {
        "additionalProperties": false,
        "properties": {
          "info": {
            "$ref": "#/components/schemas/Session"
          },
          "sessionID": {
            "type": "string"
          }
        },
        "required": [
          "sessionID",
          "info"
        ],
        "type": "object"
      },
      "id": {
        "type": "string"
      },
      "schemaVersion": {
        "type": "string"
      },
      "sequence": {
        "minimum": 0,
        "type": "integer"
      },
      "source": {
        "type": "string"
      },
      "subject": {
        "$ref": "#/components/schemas/EventSubject"
      },
      "timestamp": {
        "type": "integer"
      },
      "type": {
        "const": "session.updated"
      }
    },
    "required": [
      "id",
      "sequence",
      "type",
      "source",
      "schemaVersion",
      "timestamp",
      "data"
    ],
    "type": "object"
  },
  "EventSubject": {
    "additionalProperties": false,
    "properties": {
      "id": {
        "type": "string"
      },
      "kind": {
        "type": "string"
      }
    },
    "required": [
      "kind",
      "id"
    ],
    "type": "object"
  },
  "EventTodoUpdated": {
    "additionalProperties": false,
    "properties": {
      "data": {
        "additionalProperties": false,
        "properties": {
          "sessionID": {
            "type": "string"
          },
          "todos": {
            "items": {
              "$ref": "#/components/schemas/Todo"
            },
            "type": "array"
          }
        },
        "required": [
          "sessionID",
          "todos"
        ],
        "type": "object"
      },
      "id": {
        "type": "string"
      },
      "schemaVersion": {
        "type": "string"
      },
      "sequence": {
        "minimum": 0,
        "type": "integer"
      },
      "source": {
        "type": "string"
      },
      "subject": {
        "$ref": "#/components/schemas/EventSubject"
      },
      "timestamp": {
        "type": "integer"
      },
      "type": {
        "const": "todo.updated"
      }
    },
    "required": [
      "id",
      "sequence",
      "type",
      "source",
      "schemaVersion",
      "timestamp",
      "data"
    ],
    "type": "object"
  },
  "EventWorkflowRunUpdated": {
    "additionalProperties": false,
    "properties": {
      "data": {
        "additionalProperties": false,
        "properties": {
          "aggregateID": {
            "type": "string"
          },
          "run": {
            "$ref": "#/components/schemas/WorkflowRun"
          }
        },
        "required": [
          "aggregateID",
          "run"
        ],
        "type": "object"
      },
      "id": {
        "type": "string"
      },
      "schemaVersion": {
        "type": "string"
      },
      "sequence": {
        "minimum": 0,
        "type": "integer"
      },
      "source": {
        "type": "string"
      },
      "subject": {
        "$ref": "#/components/schemas/EventSubject"
      },
      "timestamp": {
        "type": "integer"
      },
      "type": {
        "const": "workflow.run.updated"
      }
    },
    "required": [
      "id",
      "sequence",
      "type",
      "source",
      "schemaVersion",
      "timestamp",
      "data"
    ],
    "type": "object"
  },
  "EventWorkflowUpdated": {
    "additionalProperties": false,
    "properties": {
      "data": {
        "additionalProperties": false,
        "properties": {
          "active": {
            "type": "boolean"
          },
          "aggregateID": {
            "type": "string"
          },
          "error": {
            "type": "string"
          },
          "workflow": {
            "$ref": "#/components/schemas/WorkflowProjection"
          },
          "workflowID": {
            "type": "string"
          }
        },
        "required": [
          "aggregateID"
        ],
        "type": "object"
      },
      "id": {
        "type": "string"
      },
      "schemaVersion": {
        "type": "string"
      },
      "sequence": {
        "minimum": 0,
        "type": "integer"
      },
      "source": {
        "type": "string"
      },
      "subject": {
        "$ref": "#/components/schemas/EventSubject"
      },
      "timestamp": {
        "type": "integer"
      },
      "type": {
        "const": "workflow.updated"
      }
    },
    "required": [
      "id",
      "sequence",
      "type",
      "source",
      "schemaVersion",
      "timestamp",
      "data"
    ],
    "type": "object"
  },
  "ExecutionActivitySnapshot": {
    "additionalProperties": false,
    "properties": {
      "activeSegments": {
        "additionalProperties": {
          "minimum": 0,
          "type": "integer"
        },
        "type": "object"
      },
      "completedMs": {
        "minimum": 0,
        "type": "integer"
      },
      "executionId": {
        "type": "string"
      },
      "finished": {
        "type": "boolean"
      },
      "revision": {
        "minimum": 0,
        "type": "integer"
      },
      "rootMessageId": {
        "type": "string"
      },
      "rootSessionId": {
        "type": "string"
      }
    },
    "required": [
      "executionId",
      "rootSessionId",
      "rootMessageId",
      "completedMs",
      "activeSegments",
      "revision",
      "finished"
    ],
    "type": "object"
  },
  "ExportSessionsRequest": {
    "additionalProperties": false,
    "properties": {
      "workspaceRoot": {
        "type": "string"
      }
    },
    "required": [
      "workspaceRoot"
    ],
    "type": "object"
  },
  "ExportSessionsResponse": {
    "additionalProperties": false,
    "properties": {
      "bundles": {
        "items": {
          "$ref": "#/components/schemas/SessionBundle"
        },
        "type": "array"
      }
    },
    "required": [
      "bundles"
    ],
    "type": "object"
  },
  "FilePart": {
    "additionalProperties": true,
    "properties": {
      "filename": {
        "type": "string"
      },
      "id": {
        "type": "string"
      },
      "messageId": {
        "type": "string"
      },
      "mime": {
        "type": "string"
      },
      "sessionId": {
        "type": "string"
      },
      "type": {
        "const": "file",
        "type": "string"
      },
      "url": {
        "type": "string"
      }
    },
    "required": [
      "type",
      "id",
      "sessionId",
      "messageId",
      "mime",
      "url"
    ],
    "type": "object"
  },
  "ForkSessionRequest": {
    "additionalProperties": false,
    "properties": {
      "messageId": {
        "type": "string"
      }
    },
    "type": "object"
  },
  "GoalResearchNote": {
    "additionalProperties": false,
    "properties": {
      "captured": {
        "minimum": 0,
        "type": "integer"
      },
      "content": {
        "type": "string"
      },
      "source": {
        "type": "string"
      }
    },
    "required": [
      "source",
      "content",
      "captured"
    ],
    "type": "object"
  },
  "GoalResearchRequest": {
    "additionalProperties": false,
    "properties": {
      "url": {
        "type": "string"
      }
    },
    "required": [
      "url"
    ],
    "type": "object"
  },
  "GoalResponse": {
    "additionalProperties": false,
    "properties": {
      "goal": {
        "anyOf": [
          {
            "$ref": "#/components/schemas/SessionGoal"
          },
          {
            "type": "null"
          }
        ]
      },
      "researchEnabled": {
        "type": "boolean"
      }
    },
    "required": [
      "goal",
      "researchEnabled"
    ],
    "type": "object"
  },
  "HealthResponse": {
    "additionalProperties": false,
    "properties": {
      "artifactStore": {
        "type": "string"
      },
      "artifactStoreShared": {
        "type": "boolean"
      },
      "deployment": {
        "enum": [
          "local",
          "shared-control-plane",
          "workspace-worker"
        ],
        "type": "string"
      },
      "executablePath": {
        "type": "string"
      },
      "executionAvailable": {
        "type": "boolean"
      },
      "healthy": {
        "type": "boolean"
      },
      "hostedControlPlane": {
        "type": "boolean"
      },
      "providerCredentialStore": {
        "type": "string"
      },
      "tenantResolver": {
        "type": "string"
      },
      "version": {
        "type": "string"
      }
    },
    "required": [
      "healthy",
      "version",
      "providerCredentialStore",
      "tenantResolver",
      "deployment",
      "executionAvailable",
      "artifactStore",
      "artifactStoreShared",
      "hostedControlPlane"
    ],
    "type": "object"
  },
  "HostCapability": {
    "enum": [
      "config-read",
      "config-write",
      "workspace-read",
      "workspace-write",
      "event-publish",
      "network",
      "process-spawn",
      "task-spawn",
      "secret-use",
      "secret-read",
      "prompt-read",
      "message-read",
      "response-transform",
      "provider-access",
      "policy-invoke"
    ],
    "type": "string"
  },
  "ImportSessionRequest": {
    "additionalProperties": false,
    "properties": {
      "bundle": {
        "$ref": "#/components/schemas/SessionBundle"
      },
      "targetWorkspaceRoot": {
        "type": "string"
      }
    },
    "required": [
      "bundle",
      "targetWorkspaceRoot"
    ],
    "type": "object"
  },
  "ImportSessionResponse": {
    "additionalProperties": false,
    "properties": {
      "sessionId": {
        "type": "string"
      }
    },
    "required": [
      "sessionId"
    ],
    "type": "object"
  },
  "LspCallHierarchyCall": {
    "additionalProperties": false,
    "properties": {
      "direction": {
        "type": "string"
      },
      "item": {
        "$ref": "#/components/schemas/LspCallHierarchyItem"
      },
      "language": {
        "type": [
          "string",
          "null"
        ]
      },
      "ranges": {
        "items": {
          "$ref": "#/components/schemas/LspRange"
        },
        "type": "array"
      }
    },
    "required": [
      "item",
      "ranges",
      "direction"
    ],
    "type": "object"
  },
  "LspCallHierarchyItem": {
    "additionalProperties": true,
    "properties": {
      "kind": {
        "type": "string"
      },
      "name": {
        "type": "string"
      },
      "path": {
        "type": "string"
      }
    },
    "required": [
      "name",
      "kind",
      "path"
    ],
    "type": "object"
  },
  "LspDiagnostic": {
    "additionalProperties": false,
    "properties": {
      "code": {
        "type": [
          "string",
          "null"
        ]
      },
      "data": {},
      "language": {
        "type": [
          "string",
          "null"
        ]
      },
      "message": {
        "type": "string"
      },
      "path": {
        "type": "string"
      },
      "range": {
        "anyOf": [
          {
            "$ref": "#/components/schemas/LspRange"
          },
          {
            "type": "null"
          }
        ]
      },
      "related_information": {
        "items": {
          "additionalProperties": true,
          "type": "object"
        },
        "type": "array"
      },
      "severity": {
        "type": "string"
      },
      "tags": {
        "items": {
          "type": "string"
        },
        "type": "array"
      }
    },
    "required": [
      "path",
      "severity",
      "message",
      "tags",
      "related_information"
    ],
    "type": "object"
  },
  "LspDocumentHighlight": {
    "additionalProperties": false,
    "properties": {
      "kind": {
        "type": [
          "string",
          "null"
        ]
      },
      "language": {
        "type": [
          "string",
          "null"
        ]
      },
      "path": {
        "type": "string"
      },
      "range": {
        "anyOf": [
          {
            "$ref": "#/components/schemas/LspRange"
          },
          {
            "type": "null"
          }
        ]
      }
    },
    "required": [
      "path"
    ],
    "type": "object"
  },
  "LspDocumentSymbol": {
    "additionalProperties": true,
    "properties": {
      "children": {
        "items": {
          "$ref": "#/components/schemas/LspDocumentSymbol"
        },
        "type": "array"
      },
      "kind": {
        "type": "string"
      },
      "name": {
        "type": "string"
      },
      "path": {
        "type": "string"
      }
    },
    "required": [
      "name",
      "kind",
      "path",
      "children"
    ],
    "type": "object"
  },
  "LspHover": {
    "additionalProperties": false,
    "properties": {
      "contents": {
        "type": "string"
      },
      "kind": {
        "type": [
          "string",
          "null"
        ]
      },
      "language": {
        "type": [
          "string",
          "null"
        ]
      },
      "path": {
        "type": "string"
      },
      "range": {
        "anyOf": [
          {
            "$ref": "#/components/schemas/LspRange"
          },
          {
            "type": "null"
          }
        ]
      }
    },
    "required": [
      "path",
      "contents"
    ],
    "type": "object"
  },
  "LspInlayHint": {
    "additionalProperties": false,
    "properties": {
      "character": {
        "type": "integer"
      },
      "kind": {
        "type": [
          "string",
          "null"
        ]
      },
      "label": {
        "type": "string"
      },
      "language": {
        "type": [
          "string",
          "null"
        ]
      },
      "line": {
        "type": "integer"
      },
      "padding_left": {
        "type": "boolean"
      },
      "padding_right": {
        "type": "boolean"
      },
      "path": {
        "type": "string"
      }
    },
    "required": [
      "path",
      "line",
      "character",
      "label",
      "padding_left",
      "padding_right"
    ],
    "type": "object"
  },
  "LspLocation": {
    "additionalProperties": false,
    "properties": {
      "language": {
        "type": [
          "string",
          "null"
        ]
      },
      "path": {
        "type": "string"
      },
      "range": {
        "anyOf": [
          {
            "$ref": "#/components/schemas/LspRange"
          },
          {
            "type": "null"
          }
        ]
      }
    },
    "required": [
      "path"
    ],
    "type": "object"
  },
  "LspPosition": {
    "additionalProperties": false,
    "properties": {
      "character": {
        "type": "integer"
      },
      "line": {
        "type": "integer"
      }
    },
    "required": [
      "line",
      "character"
    ],
    "type": "object"
  },
  "LspRange": {
    "additionalProperties": false,
    "properties": {
      "end": {
        "$ref": "#/components/schemas/LspPosition"
      },
      "start": {
        "$ref": "#/components/schemas/LspPosition"
      }
    },
    "required": [
      "start",
      "end"
    ],
    "type": "object"
  },
  "LspRuntimeInfo": {
    "additionalProperties": false,
    "properties": {
      "path": {
        "type": [
          "string",
          "null"
        ]
      },
      "source": {
        "enum": [
          "yarn_sdk",
          "configured",
          "language_server_default",
          "missing_yarn_sdk"
        ],
        "type": "string"
      },
      "version": {
        "type": [
          "string",
          "null"
        ]
      }
    },
    "required": [
      "source",
      "path",
      "version"
    ],
    "type": "object"
  },
  "LspShutdownResponse": {
    "additionalProperties": false,
    "properties": {
      "shutdown": {
        "const": true,
        "type": "boolean"
      }
    },
    "required": [
      "shutdown"
    ],
    "type": "object"
  },
  "LspSignatureHelp": {
    "additionalProperties": true,
    "properties": {
      "path": {
        "type": "string"
      },
      "signatures": {
        "items": {
          "additionalProperties": true,
          "type": "object"
        },
        "type": "array"
      }
    },
    "required": [
      "path",
      "signatures"
    ],
    "type": "object"
  },
  "LspStatus": {
    "additionalProperties": true,
    "properties": {
      "command": {
        "items": {
          "type": "string"
        },
        "type": "array"
      },
      "command_source": {
        "type": "string"
      },
      "id": {
        "type": "string"
      },
      "language": {
        "type": "string"
      },
      "name": {
        "type": "string"
      },
      "runtime": {
        "anyOf": [
          {
            "$ref": "#/components/schemas/LspRuntimeInfo"
          },
          {
            "type": "null"
          }
        ]
      },
      "status": {
        "enum": [
          "available",
          "connected",
          "error"
        ],
        "type": "string"
      }
    },
    "required": [
      "id",
      "name",
      "status",
      "language",
      "command",
      "command_source",
      "workspace",
      "capabilities",
      "detected"
    ],
    "type": "object"
  },
  "LspTouchRequest": {
    "additionalProperties": false,
    "properties": {
      "directory": {
        "type": "string"
      },
      "file": {
        "type": "string"
      },
      "text": {
        "type": [
          "string",
          "null"
        ]
      }
    },
    "required": [
      "file"
    ],
    "type": "object"
  },
  "ManagedRepository": {
    "additionalProperties": false,
    "properties": {
      "createdAt": {
        "minimum": 0,
        "type": "integer"
      },
      "gitRef": {
        "type": "string"
      },
      "id": {
        "type": "string"
      },
      "name": {
        "type": "string"
      },
      "path": {
        "type": "string"
      },
      "remoteUrl": {
        "type": "string"
      },
      "revision": {
        "type": "string"
      },
      "updatedAt": {
        "minimum": 0,
        "type": "integer"
      },
      "workspaceId": {
        "type": "string"
      }
    },
    "required": [
      "id",
      "workspaceId",
      "name",
      "path",
      "revision",
      "createdAt",
      "updatedAt"
    ],
    "type": "object"
  },
  "ManagedRepositoryMetadata": {
    "additionalProperties": false,
    "properties": {
      "gitRef": {
        "type": "string"
      },
      "remoteUrl": {
        "type": "string"
      }
    },
    "type": "object"
  },
  "ManagedResource": {
    "additionalProperties": false,
    "properties": {
      "createdAt": {
        "minimum": 0,
        "type": [
          "integer",
          "null"
        ]
      },
      "definition": {},
      "id": {
        "type": "string"
      },
      "managed": {
        "type": "boolean"
      },
      "origin": {
        "enum": [
          "builtIn",
          "discovered",
          "managed"
        ],
        "type": "string"
      },
      "provenance": {
        "type": "string"
      },
      "revision": {
        "type": [
          "string",
          "null"
        ]
      },
      "scope": {
        "anyOf": [
          {
            "$ref": "#/components/schemas/ResourceScope"
          },
          {
            "type": "null"
          }
        ]
      },
      "updatedAt": {
        "minimum": 0,
        "type": [
          "integer",
          "null"
        ]
      },
      "writable": {
        "type": "boolean"
      }
    },
    "required": [
      "id",
      "scope",
      "origin",
      "provenance",
      "writable",
      "managed",
      "revision",
      "createdAt",
      "updatedAt",
      "definition"
    ],
    "type": "object"
  },
  "ManagedWorkspace": {
    "additionalProperties": false,
    "properties": {
      "createdAt": {
        "minimum": 0,
        "type": "integer"
      },
      "id": {
        "type": "string"
      },
      "name": {
        "type": "string"
      },
      "repository": {
        "$ref": "#/components/schemas/ManagedRepositoryMetadata"
      },
      "revision": {
        "type": "string"
      },
      "root": {
        "type": "string"
      },
      "updatedAt": {
        "minimum": 0,
        "type": "integer"
      }
    },
    "required": [
      "id",
      "name",
      "root",
      "revision",
      "createdAt",
      "updatedAt"
    ],
    "type": "object"
  },
  "MarkdownWriteRequest": {
    "additionalProperties": false,
    "properties": {
      "content": {
        "maxLength": 524288,
        "type": "string"
      },
      "expectedRevision": {
        "type": "string"
      },
      "frontmatter": {
        "additionalProperties": true,
        "type": "object"
      },
      "scope": {
        "$ref": "#/components/schemas/ResourceScope"
      }
    },
    "required": [
      "content"
    ],
    "type": "object"
  },
  "McpAddRequest": {
    "additionalProperties": false,
    "properties": {
      "config": {
        "$ref": "#/components/schemas/McpConfig"
      },
      "name": {
        "type": "string"
      }
    },
    "required": [
      "name",
      "config"
    ],
    "type": "object"
  },
  "McpAuthRemoveResponse": {
    "additionalProperties": false,
    "properties": {
      "success": {
        "type": "boolean"
      }
    },
    "required": [
      "success"
    ],
    "type": "object"
  },
  "McpAuthStartResponse": {
    "additionalProperties": false,
    "properties": {
      "authorizationUrl": {
        "type": "string"
      },
      "oauthState": {
        "type": "string"
      }
    },
    "required": [
      "authorizationUrl",
      "oauthState"
    ],
    "type": "object"
  },
  "McpCatalog": {
    "additionalProperties": {
      "$ref": "#/components/schemas/McpCatalogEntry"
    },
    "type": "object"
  },
  "McpCatalogEntry": {
    "additionalProperties": false,
    "properties": {
      "configScope": {
        "anyOf": [
          {
            "$ref": "#/components/schemas/McpConfigScope"
          },
          {
            "type": "null"
          }
        ]
      },
      "configWritable": {
        "type": "boolean"
      },
      "enabled": {
        "type": "boolean"
      },
      "hasCredentials": {
        "type": "boolean"
      },
      "oauthCapable": {
        "type": "boolean"
      },
      "runtimeConnected": {
        "type": "boolean"
      },
      "status": {
        "$ref": "#/components/schemas/McpStatus"
      }
    },
    "required": [
      "status",
      "enabled",
      "runtimeConnected",
      "oauthCapable",
      "hasCredentials",
      "configWritable",
      "configScope"
    ],
    "type": "object"
  },
  "McpConfig": {
    "additionalProperties": true,
    "properties": {
      "type": {
        "enum": [
          "local",
          "remote"
        ],
        "type": "string"
      }
    },
    "required": [
      "type"
    ],
    "type": "object"
  },
  "McpConfigPatch": {
    "additionalProperties": false,
    "properties": {
      "enabled": {
        "type": "boolean"
      }
    },
    "required": [
      "enabled"
    ],
    "type": "object"
  },
  "McpConfigScope": {
    "enum": [
      "global",
      "workspace"
    ],
    "type": "string"
  },
  "McpPrompt": {
    "additionalProperties": false,
    "properties": {
      "arguments": {
        "items": {
          "additionalProperties": false,
          "properties": {
            "description": {
              "type": "string"
            },
            "name": {
              "type": "string"
            },
            "required": {
              "type": "boolean"
            }
          },
          "required": [
            "name",
            "required"
          ],
          "type": "object"
        },
        "type": "array"
      },
      "client": {
        "type": "string"
      },
      "description": {
        "type": "string"
      },
      "name": {
        "type": "string"
      }
    },
    "required": [
      "name",
      "arguments",
      "client"
    ],
    "type": "object"
  },
  "McpResource": {
    "additionalProperties": false,
    "properties": {
      "client": {
        "type": "string"
      },
      "description": {
        "type": "string"
      },
      "mimeType": {
        "type": "string"
      },
      "name": {
        "type": "string"
      },
      "uri": {
        "type": "string"
      }
    },
    "required": [
      "name",
      "uri",
      "client"
    ],
    "type": "object"
  },
  "McpStatus": {
    "oneOf": [
      {
        "additionalProperties": false,
        "properties": {
          "status": {
            "enum": [
              "connected",
              "disabled",
              "needs_auth"
            ]
          }
        },
        "required": [
          "status"
        ],
        "type": "object"
      },
      {
        "additionalProperties": false,
        "properties": {
          "error": {
            "type": "string"
          },
          "status": {
            "enum": [
              "failed",
              "needs_client_registration"
            ]
          }
        },
        "required": [
          "status",
          "error"
        ],
        "type": "object"
      }
    ]
  },
  "McpStatusMap": {
    "additionalProperties": {
      "$ref": "#/components/schemas/McpStatus"
    },
    "type": "object"
  },
  "McpTool": {
    "additionalProperties": false,
    "properties": {
      "annotations": {},
      "client": {
        "type": "string"
      },
      "description": {
        "type": "string"
      },
      "inputSchema": {},
      "name": {
        "type": "string"
      }
    },
    "required": [
      "name",
      "inputSchema",
      "client"
    ],
    "type": "object"
  },
  "McpToolCallResult": {
    "additionalProperties": false,
    "properties": {
      "content": {
        "items": {
          "additionalProperties": true,
          "properties": {
            "type": {
              "type": "string"
            }
          },
          "required": [
            "type"
          ],
          "type": "object"
        },
        "type": "array"
      },
      "isError": {
        "type": "boolean"
      }
    },
    "required": [
      "content"
    ],
    "type": "object"
  },
  "Message": {
    "additionalProperties": false,
    "properties": {
      "info": {
        "$ref": "#/components/schemas/MessageInfo"
      },
      "parts": {
        "items": {
          "$ref": "#/components/schemas/Part"
        },
        "type": "array"
      }
    },
    "required": [
      "info",
      "parts"
    ],
    "type": "object"
  },
  "MessageInfo": {
    "additionalProperties": true,
    "properties": {
      "id": {
        "type": "string"
      },
      "role": {
        "enum": [
          "user",
          "assistant"
        ],
        "type": "string"
      },
      "sessionId": {
        "type": "string"
      },
      "time": {
        "additionalProperties": true,
        "type": "object"
      }
    },
    "required": [
      "role",
      "id",
      "sessionId",
      "time"
    ],
    "type": "object"
  },
  "MessageList": {
    "items": {
      "$ref": "#/components/schemas/Message"
    },
    "type": "array"
  },
  "MessagePage": {
    "additionalProperties": false,
    "properties": {
      "cursor": {
        "$ref": "#/components/schemas/PageCursor"
      },
      "items": {
        "items": {
          "$ref": "#/components/schemas/Message"
        },
        "type": "array"
      }
    },
    "required": [
      "items",
      "cursor"
    ],
    "type": "object"
  },
  "ModelRef": {
    "additionalProperties": false,
    "properties": {
      "connectionId": {
        "type": "string"
      },
      "id": {
        "type": "string"
      },
      "providerId": {
        "type": "string"
      },
      "variant": {
        "type": "string"
      }
    },
    "required": [
      "id",
      "providerId"
    ],
    "type": "object"
  },
  "OpenAiAccountUsage": {
    "additionalProperties": false,
    "properties": {
      "auth_type": {
        "enum": [
          "api",
          "oauth",
          "wellknown"
        ],
        "type": "string"
      },
      "connection_id": {
        "type": "string"
      },
      "error": {
        "type": [
          "string",
          "null"
        ]
      },
      "is_default": {
        "type": "boolean"
      },
      "label": {
        "type": "string"
      },
      "plan_type": {
        "type": [
          "string",
          "null"
        ]
      },
      "windows": {
        "items": {
          "$ref": "#/components/schemas/OpenAiUsageWindow"
        },
        "type": "array"
      }
    },
    "required": [
      "connection_id",
      "label",
      "is_default",
      "auth_type",
      "plan_type",
      "windows",
      "error"
    ],
    "type": "object"
  },
  "OpenAiUsage": {
    "additionalProperties": false,
    "properties": {
      "accounts": {
        "items": {
          "$ref": "#/components/schemas/OpenAiAccountUsage"
        },
        "type": "array"
      }
    },
    "required": [
      "accounts"
    ],
    "type": "object"
  },
  "OpenAiUsageWindow": {
    "additionalProperties": false,
    "properties": {
      "label": {
        "type": "string"
      },
      "limit_window_seconds": {
        "minimum": 1,
        "type": [
          "integer",
          "null"
        ]
      },
      "reset_at": {
        "description": "Upstream Unix timestamp in seconds, not a renewal date",
        "minimum": 0,
        "type": [
          "integer",
          "null"
        ]
      },
      "used_percent": {
        "maximum": 100,
        "minimum": 0,
        "type": "number"
      }
    },
    "required": [
      "label",
      "used_percent",
      "reset_at",
      "limit_window_seconds"
    ],
    "type": "object"
  },
  "OpenApiDocument": {
    "additionalProperties": true,
    "properties": {
      "info": {
        "additionalProperties": true,
        "type": "object"
      },
      "openapi": {
        "type": "string"
      },
      "paths": {
        "additionalProperties": true,
        "type": "object"
      }
    },
    "required": [
      "openapi",
      "info",
      "paths"
    ],
    "type": "object"
  },
  "PackageDiagnostic": {
    "additionalProperties": false,
    "properties": {
      "action": {
        "type": "string"
      },
      "code": {
        "type": "string"
      },
      "message": {
        "type": "string"
      }
    },
    "required": [
      "code",
      "message"
    ],
    "type": "object"
  },
  "PackageLifecycleInfo": {
    "additionalProperties": false,
    "properties": {
      "diagnostics": {
        "items": {
          "$ref": "#/components/schemas/PackageDiagnostic"
        },
        "type": "array"
      },
      "grantedCapabilities": {
        "items": {
          "$ref": "#/components/schemas/HostCapability"
        },
        "type": "array"
      },
      "leaseActive": {
        "type": "boolean"
      },
      "packageId": {
        "type": "string"
      },
      "requestedCapabilities": {
        "items": {
          "$ref": "#/components/schemas/HostCapability"
        },
        "type": "array"
      },
      "retainedRevision": {
        "type": "string"
      },
      "revision": {
        "type": "string"
      },
      "scope": {
        "enum": [
          "global",
          "user",
          "workspace",
          "session"
        ],
        "type": "string"
      },
      "scopeId": {
        "type": "string"
      },
      "source": {
        "enum": [
          "user",
          "workspace"
        ],
        "type": "string"
      },
      "state": {
        "enum": [
          "discovered",
          "incompatible",
          "permission-required",
          "trusted",
          "enabled",
          "loading",
          "active",
          "degraded",
          "failed",
          "disabled",
          "update-available",
          "restoring"
        ],
        "type": "string"
      }
    },
    "required": [
      "packageId",
      "state",
      "source",
      "revision",
      "scope",
      "requestedCapabilities",
      "grantedCapabilities",
      "leaseActive",
      "diagnostics"
    ],
    "type": "object"
  },
  "PageCursor": {
    "additionalProperties": false,
    "properties": {
      "next": {
        "type": "string"
      },
      "previous": {
        "type": "string"
      }
    },
    "type": "object"
  },
  "Part": {
    "description": "One message part, discriminated by `type`. Every part the server emits today is a declared variant; variants tolerate additive fields.",
    "discriminator": {
      "propertyName": "type"
    },
    "oneOf": [
      {
        "$ref": "#/components/schemas/TextPart"
      },
      {
        "$ref": "#/components/schemas/CompactionPart"
      },
      {
        "$ref": "#/components/schemas/AgentPart"
      },
      {
        "$ref": "#/components/schemas/SubtaskPart"
      },
      {
        "$ref": "#/components/schemas/ReasoningPart"
      },
      {
        "$ref": "#/components/schemas/ToolPart"
      },
      {
        "$ref": "#/components/schemas/StepStartPart"
      },
      {
        "$ref": "#/components/schemas/StepFinishPart"
      },
      {
        "$ref": "#/components/schemas/FilePart"
      }
    ]
  },
  "PartEnvelope": {
    "additionalProperties": false,
    "properties": {
      "data": {},
      "id": {
        "type": "string"
      },
      "kind": {
        "type": "string"
      },
      "schemaVersion": {
        "type": "string"
      }
    },
    "required": [
      "id",
      "kind",
      "schemaVersion",
      "data"
    ],
    "type": "object"
  },
  "PartTime": {
    "additionalProperties": false,
    "properties": {
      "end": {
        "minimum": 0,
        "type": "integer"
      },
      "start": {
        "minimum": 0,
        "type": "integer"
      }
    },
    "required": [
      "start"
    ],
    "type": "object"
  },
  "PermissionReply": {
    "additionalProperties": false,
    "properties": {
      "message": {
        "type": "string"
      },
      "reply": {
        "enum": [
          "once",
          "always",
          "reject"
        ],
        "type": "string"
      },
      "response": {
        "type": "string"
      }
    },
    "type": "object"
  },
  "PermissionRequest": {
    "additionalProperties": false,
    "properties": {
      "always": {
        "items": {
          "type": "string"
        },
        "type": "array"
      },
      "id": {
        "type": "string"
      },
      "messageId": {
        "type": "string"
      },
      "metadata": {},
      "patterns": {
        "items": {
          "type": "string"
        },
        "type": "array"
      },
      "permission": {
        "type": "string"
      },
      "sessionId": {
        "type": "string"
      },
      "title": {
        "type": "string"
      },
      "tool": {}
    },
    "required": [
      "id",
      "sessionId",
      "messageId",
      "title",
      "permission",
      "patterns",
      "always"
    ],
    "type": "object"
  },
  "PermissionRule": {
    "additionalProperties": false,
    "properties": {
      "action": {
        "type": "string"
      },
      "pattern": {
        "type": "string"
      },
      "permission": {
        "type": "string"
      }
    },
    "required": [
      "permission",
      "pattern",
      "action"
    ],
    "type": "object"
  },
  "PluginManifest": {
    "additionalProperties": false,
    "properties": {
      "active": {
        "type": "boolean"
      },
      "apiPrefix": {
        "type": "string"
      },
      "capabilities": {
        "items": {
          "type": "string"
        },
        "type": "array"
      },
      "config": {
        "additionalProperties": true,
        "type": "object"
      },
      "disableable": {
        "type": "boolean"
      },
      "enabled": {
        "type": "boolean"
      },
      "eventNamespaces": {
        "items": {
          "type": "string"
        },
        "type": "array"
      },
      "id": {
        "type": "string"
      },
      "internal": {
        "type": "boolean"
      },
      "name": {
        "type": "string"
      },
      "pluginApi": {
        "type": "string"
      },
      "reason": {
        "type": "string"
      },
      "requires": {
        "items": {
          "type": "string"
        },
        "type": "array"
      },
      "version": {
        "type": "string"
      }
    },
    "required": [
      "id",
      "name",
      "version",
      "pluginApi",
      "internal",
      "enabled",
      "active",
      "disableable",
      "capabilities",
      "requires",
      "eventNamespaces"
    ],
    "type": "object"
  },
  "PromptPart": {
    "oneOf": [
      {
        "additionalProperties": false,
        "properties": {
          "text": {
            "type": "string"
          },
          "type": {
            "const": "text"
          }
        },
        "required": [
          "type",
          "text"
        ],
        "type": "object"
      },
      {
        "additionalProperties": false,
        "properties": {
          "name": {
            "type": "string"
          },
          "source": {},
          "type": {
            "const": "agent"
          }
        },
        "required": [
          "type",
          "name"
        ],
        "type": "object"
      },
      {
        "additionalProperties": false,
        "properties": {
          "filename": {
            "type": "string"
          },
          "mime": {
            "type": "string"
          },
          "type": {
            "const": "file"
          },
          "url": {
            "type": "string"
          }
        },
        "required": [
          "type",
          "url",
          "filename",
          "mime"
        ],
        "type": "object"
      },
      {
        "additionalProperties": false,
        "properties": {
          "agent": {
            "type": "string"
          },
          "command": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "model": {
            "$ref": "#/components/schemas/UserModel"
          },
          "prompt": {
            "type": "string"
          },
          "type": {
            "const": "subtask"
          }
        },
        "required": [
          "type",
          "prompt",
          "description",
          "agent"
        ],
        "type": "object"
      }
    ]
  },
  "PromptRequest": {
    "additionalProperties": false,
    "anyOf": [
      {
        "properties": {
          "prompt": {
            "type": "string"
          }
        },
        "required": [
          "prompt"
        ],
        "type": "object"
      },
      {
        "properties": {
          "parts": {
            "items": {
              "$ref": "#/components/schemas/PromptPart"
            },
            "minItems": 1,
            "type": "array"
          }
        },
        "required": [
          "parts"
        ],
        "type": "object"
      }
    ],
    "properties": {
      "agent": {
        "type": "string"
      },
      "author": {
        "type": "string"
      },
      "delivery": {
        "default": "steer",
        "enum": [
          "steer",
          "queue"
        ],
        "type": "string"
      },
      "messageId": {
        "type": "string"
      },
      "model": {
        "$ref": "#/components/schemas/UserModel"
      },
      "noReply": {
        "default": false,
        "type": "boolean"
      },
      "parts": {
        "items": {
          "$ref": "#/components/schemas/PromptPart"
        },
        "minItems": 1,
        "type": "array"
      },
      "prompt": {
        "type": "string"
      },
      "system": {
        "type": "string"
      },
      "tools": {
        "additionalProperties": {
          "type": "boolean"
        },
        "type": "object"
      },
      "variant": {
        "type": "string"
      }
    },
    "type": "object"
  },
  "Provider": {
    "additionalProperties": false,
    "properties": {
      "env": {
        "items": {
          "type": "string"
        },
        "type": "array"
      },
      "id": {
        "type": "string"
      },
      "key": {
        "type": "string"
      },
      "models": {
        "additionalProperties": {
          "$ref": "#/components/schemas/ProviderModel"
        },
        "type": "object"
      },
      "name": {
        "type": "string"
      },
      "options": {
        "additionalProperties": true,
        "type": "object"
      },
      "source": {
        "enum": [
          "env",
          "config",
          "custom",
          "api",
          "builtin"
        ],
        "type": "string"
      }
    },
    "required": [
      "id",
      "name",
      "source",
      "env",
      "options",
      "models"
    ],
    "type": "object"
  },
  "ProviderAuthAuthorization": {
    "additionalProperties": false,
    "properties": {
      "attemptId": {
        "type": "string"
      },
      "expiresAt": {
        "minimum": 0,
        "type": "integer"
      },
      "instructions": {
        "type": "string"
      },
      "method": {
        "enum": [
          "auto",
          "code"
        ],
        "type": "string"
      },
      "url": {
        "type": "string"
      }
    },
    "required": [
      "url",
      "method",
      "instructions"
    ],
    "type": "object"
  },
  "ProviderAuthMethod": {
    "additionalProperties": false,
    "properties": {
      "label": {
        "type": "string"
      },
      "prompts": {
        "items": {
          "$ref": "#/components/schemas/ProviderAuthPrompt"
        },
        "type": "array"
      },
      "type": {
        "enum": [
          "api",
          "oauth"
        ],
        "type": "string"
      }
    },
    "required": [
      "type",
      "label"
    ],
    "type": "object"
  },
  "ProviderAuthMethods": {
    "additionalProperties": {
      "items": {
        "$ref": "#/components/schemas/ProviderAuthMethod"
      },
      "type": "array"
    },
    "type": "object"
  },
  "ProviderAuthPrompt": {
    "additionalProperties": true,
    "properties": {
      "key": {
        "type": "string"
      },
      "message": {
        "type": "string"
      },
      "type": {
        "enum": [
          "text",
          "select"
        ],
        "type": "string"
      }
    },
    "required": [
      "type",
      "key",
      "message"
    ],
    "type": "object"
  },
  "ProviderAuthorizeRequest": {
    "additionalProperties": false,
    "properties": {
      "connectionId": {
        "type": "string"
      },
      "inputs": {
        "additionalProperties": {
          "type": "string"
        },
        "type": "object"
      },
      "label": {
        "type": "string"
      },
      "method": {}
    },
    "required": [
      "method"
    ],
    "type": "object"
  },
  "ProviderCallbackRequest": {
    "additionalProperties": false,
    "properties": {
      "attemptId": {
        "type": "string"
      },
      "code": {
        "type": [
          "string",
          "null"
        ]
      },
      "method": {}
    },
    "required": [
      "method"
    ],
    "type": "object"
  },
  "ProviderConnectionCreateRequest": {
    "additionalProperties": false,
    "properties": {
      "credential": {
        "$ref": "#/components/schemas/AuthInfo"
      },
      "label": {
        "type": "string"
      },
      "setDefault": {
        "default": false,
        "type": "boolean"
      }
    },
    "required": [
      "label",
      "credential"
    ],
    "type": "object"
  },
  "ProviderConnectionRenameRequest": {
    "additionalProperties": false,
    "properties": {
      "label": {
        "type": "string"
      }
    },
    "required": [
      "label"
    ],
    "type": "object"
  },
  "ProviderConnectionSummary": {
    "additionalProperties": false,
    "properties": {
      "authType": {
        "enum": [
          "api",
          "oauth",
          "wellknown"
        ],
        "type": "string"
      },
      "connectionId": {
        "type": "string"
      },
      "isDefault": {
        "type": "boolean"
      },
      "label": {
        "type": "string"
      },
      "providerId": {
        "type": "string"
      },
      "scope": {
        "$ref": "#/components/schemas/CredentialScope"
      }
    },
    "required": [
      "providerId",
      "connectionId",
      "label",
      "scope",
      "authType",
      "isDefault"
    ],
    "type": "object"
  },
  "ProviderList": {
    "items": {
      "additionalProperties": true,
      "type": "object"
    },
    "type": "array"
  },
  "ProviderListResult": {
    "additionalProperties": false,
    "properties": {
      "all": {
        "items": {
          "$ref": "#/components/schemas/Provider"
        },
        "type": "array"
      },
      "connected": {
        "items": {
          "type": "string"
        },
        "type": "array"
      },
      "default": {
        "additionalProperties": {
          "type": "string"
        },
        "type": "object"
      }
    },
    "required": [
      "all",
      "default",
      "connected"
    ],
    "type": "object"
  },
  "ProviderModel": {
    "additionalProperties": true,
    "properties": {
      "api": {
        "additionalProperties": true,
        "type": "object"
      },
      "id": {
        "type": "string"
      },
      "name": {
        "type": "string"
      },
      "providerId": {
        "type": "string"
      },
      "releaseDate": {
        "type": "string"
      },
      "status": {
        "enum": [
          "alpha",
          "beta",
          "deprecated",
          "active"
        ],
        "type": "string"
      }
    },
    "required": [
      "id",
      "providerId",
      "name",
      "api",
      "capabilities",
      "cost",
      "limit",
      "status",
      "options",
      "headers",
      "releaseDate"
    ],
    "type": "object"
  },
  "Pty": {
    "additionalProperties": false,
    "properties": {
      "command": {
        "items": {
          "type": "string"
        },
        "type": "array"
      },
      "cwd": {
        "type": "string"
      },
      "id": {
        "type": "string"
      },
      "time": {
        "minimum": 0,
        "type": "integer"
      },
      "title": {
        "type": "string"
      }
    },
    "required": [
      "id",
      "command",
      "cwd",
      "title",
      "time"
    ],
    "type": "object"
  },
  "PtyConnectToken": {
    "additionalProperties": false,
    "properties": {
      "expires_in": {
        "minimum": 0,
        "type": "integer"
      },
      "ticket": {
        "type": "string"
      }
    },
    "required": [
      "ticket",
      "expires_in"
    ],
    "type": "object"
  },
  "PtyCreateRequest": {
    "additionalProperties": false,
    "properties": {
      "command": {
        "items": {
          "type": "string"
        },
        "type": "array"
      },
      "cwd": {
        "type": "string"
      },
      "title": {
        "type": "string"
      }
    },
    "type": "object"
  },
  "PtyUpdateRequest": {
    "additionalProperties": false,
    "properties": {
      "cwd": {
        "type": "string"
      },
      "size": {
        "additionalProperties": false,
        "properties": {
          "cols": {
            "minimum": 1,
            "type": "integer"
          },
          "rows": {
            "minimum": 1,
            "type": "integer"
          }
        },
        "required": [
          "cols",
          "rows"
        ],
        "type": "object"
      },
      "title": {
        "type": "string"
      }
    },
    "type": "object"
  },
  "QuestionReply": {
    "additionalProperties": false,
    "properties": {
      "answers": {
        "items": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "type": "array"
      }
    },
    "required": [
      "answers"
    ],
    "type": "object"
  },
  "QuestionRequest": {
    "additionalProperties": false,
    "properties": {
      "id": {
        "type": "string"
      },
      "messageId": {
        "type": "string"
      },
      "questions": {
        "items": {},
        "type": "array"
      },
      "sessionId": {
        "type": "string"
      }
    },
    "required": [
      "id",
      "sessionId",
      "messageId",
      "questions"
    ],
    "type": "object"
  },
  "QueuedPrompt": {
    "additionalProperties": false,
    "properties": {
      "agent": {
        "type": "string"
      },
      "author": {
        "type": "string"
      },
      "messageId": {
        "type": "string"
      },
      "model": {
        "$ref": "#/components/schemas/UserModel"
      },
      "noReply": {
        "type": "boolean"
      },
      "parts": {
        "items": {
          "$ref": "#/components/schemas/PromptPart"
        },
        "type": "array"
      },
      "system": {
        "type": "string"
      },
      "tools": {
        "additionalProperties": {
          "type": "boolean"
        },
        "type": "object"
      }
    },
    "required": [
      "parts",
      "noReply"
    ],
    "type": "object"
  },
  "QueuedPromptBundleItem": {
    "additionalProperties": false,
    "properties": {
      "delivery": {
        "type": "string"
      },
      "request": {
        "$ref": "#/components/schemas/QueuedPrompt"
      }
    },
    "required": [
      "request",
      "delivery"
    ],
    "type": "object"
  },
  "ReasoningPart": {
    "additionalProperties": true,
    "properties": {
      "id": {
        "type": "string"
      },
      "messageId": {
        "type": "string"
      },
      "metadata": {},
      "sessionId": {
        "type": "string"
      },
      "text": {
        "type": "string"
      },
      "time": {
        "$ref": "#/components/schemas/PartTime"
      },
      "type": {
        "const": "reasoning",
        "type": "string"
      }
    },
    "required": [
      "type",
      "id",
      "sessionId",
      "messageId",
      "text",
      "time"
    ],
    "type": "object"
  },
  "RepositoryCloneRequest": {
    "additionalProperties": false,
    "properties": {
      "depth": {
        "maximum": 10000,
        "minimum": 1,
        "type": "integer"
      },
      "id": {
        "type": "string"
      },
      "kind": {
        "const": "clone"
      },
      "name": {
        "maxLength": 160,
        "type": "string"
      },
      "ref": {
        "maxLength": 256,
        "type": "string"
      },
      "remoteUrl": {
        "maxLength": 4096,
        "type": "string"
      }
    },
    "required": [
      "kind",
      "remoteUrl"
    ],
    "type": "object"
  },
  "RepositoryCreateRequest": {
    "discriminator": {
      "propertyName": "kind"
    },
    "oneOf": [
      {
        "$ref": "#/components/schemas/RepositoryExistingRequest"
      },
      {
        "$ref": "#/components/schemas/RepositoryCloneRequest"
      }
    ]
  },
  "RepositoryExistingRequest": {
    "additionalProperties": false,
    "properties": {
      "id": {
        "type": "string"
      },
      "kind": {
        "const": "existing"
      },
      "name": {
        "maxLength": 160,
        "type": "string"
      },
      "path": {
        "type": "string"
      }
    },
    "required": [
      "kind",
      "path"
    ],
    "type": "object"
  },
  "RepositoryUpdateRequest": {
    "additionalProperties": false,
    "properties": {
      "expectedRevision": {
        "type": "string"
      },
      "name": {
        "maxLength": 160,
        "type": "string"
      }
    },
    "type": "object"
  },
  "ResourceScope": {
    "enum": [
      "installation",
      "workspace"
    ],
    "type": "string"
  },
  "RevertRequest": {
    "additionalProperties": false,
    "properties": {
      "messageId": {
        "type": "string"
      },
      "partId": {
        "type": "string"
      }
    },
    "type": "object"
  },
  "RuntimeInfo": {
    "additionalProperties": false,
    "properties": {
      "deployment": {
        "enum": [
          "local",
          "shared-control-plane",
          "workspace-worker"
        ],
        "type": "string"
      },
      "executionAvailable": {
        "type": "boolean"
      },
      "worker": {
        "$ref": "#/components/schemas/WorkspaceWorkerInfo"
      }
    },
    "required": [
      "deployment",
      "executionAvailable"
    ],
    "type": "object"
  },
  "SemanticSearchHit": {
    "additionalProperties": false,
    "properties": {
      "created": {
        "minimum": 0,
        "type": "integer"
      },
      "distance": {
        "type": "number"
      },
      "excerpt": {
        "type": "string"
      },
      "messageId": {
        "type": "string"
      },
      "role": {
        "type": "string"
      },
      "sessionId": {
        "type": "string"
      }
    },
    "required": [
      "sessionId",
      "messageId",
      "role",
      "created",
      "excerpt",
      "distance"
    ],
    "type": "object"
  },
  "SemanticSearchResponse": {
    "additionalProperties": false,
    "properties": {
      "available": {
        "type": "boolean"
      },
      "hits": {
        "items": {
          "$ref": "#/components/schemas/SemanticSearchHit"
        },
        "type": "array"
      }
    },
    "required": [
      "available",
      "hits"
    ],
    "type": "object"
  },
  "Session": {
    "additionalProperties": true,
    "properties": {
      "agent": {
        "type": "string"
      },
      "catalogActivity": {
        "$ref": "#/components/schemas/CatalogActivity",
        "readOnly": true
      },
      "directory": {
        "type": "string"
      },
      "id": {
        "type": "string"
      },
      "model": {
        "$ref": "#/components/schemas/ModelRef"
      },
      "parentId": {
        "type": "string"
      },
      "path": {
        "type": "string"
      },
      "permission": {
        "items": {
          "$ref": "#/components/schemas/PermissionRule"
        },
        "type": "array"
      },
      "projectId": {
        "type": "string"
      },
      "slug": {
        "type": "string"
      },
      "time": {
        "$ref": "#/components/schemas/SessionTime"
      },
      "title": {
        "type": "string"
      },
      "version": {
        "type": "string"
      },
      "workspaceId": {
        "type": "string"
      }
    },
    "required": [
      "id",
      "slug",
      "projectId",
      "directory",
      "title",
      "version",
      "time"
    ],
    "type": "object"
  },
  "SessionBundle": {
    "additionalProperties": false,
    "properties": {
      "messages": {
        "items": {
          "$ref": "#/components/schemas/Message"
        },
        "type": "array"
      },
      "queuedPrompts": {
        "items": {
          "$ref": "#/components/schemas/QueuedPromptBundleItem"
        },
        "type": "array"
      },
      "session": {
        "$ref": "#/components/schemas/Session"
      },
      "version": {
        "minimum": 1,
        "type": "integer"
      },
      "workspaceRoot": {
        "type": "string"
      }
    },
    "required": [
      "version",
      "session",
      "messages",
      "queuedPrompts"
    ],
    "type": "object"
  },
  "SessionCommandRequest": {
    "additionalProperties": false,
    "properties": {
      "agent": {
        "type": "string"
      },
      "arguments": {
        "default": "",
        "type": "string"
      },
      "command": {
        "type": "string"
      },
      "messageId": {
        "type": "string"
      },
      "model": {
        "$ref": "#/components/schemas/UserModel"
      }
    },
    "required": [
      "command"
    ],
    "type": "object"
  },
  "SessionControl": {
    "additionalProperties": false,
    "properties": {
      "actorType": {
        "enum": [
          "human",
          "service-account"
        ],
        "type": "string"
      },
      "controllerSubject": {
        "type": "string"
      },
      "leaseExpiresAt": {
        "minimum": 0,
        "type": "integer"
      },
      "revision": {
        "minimum": 1,
        "type": "integer"
      },
      "sessionId": {
        "type": "string"
      },
      "updated": {
        "minimum": 0,
        "type": "integer"
      }
    },
    "required": [
      "sessionId",
      "controllerSubject",
      "actorType",
      "leaseExpiresAt",
      "revision",
      "updated"
    ],
    "type": "object"
  },
  "SessionGoal": {
    "additionalProperties": false,
    "properties": {
      "created": {
        "minimum": 0,
        "type": "integer"
      },
      "paused": {
        "type": "boolean"
      },
      "research": {
        "items": {
          "$ref": "#/components/schemas/GoalResearchNote"
        },
        "type": "array"
      },
      "status": {
        "enum": [
          "active",
          "complete",
          "blocked"
        ],
        "type": "string"
      },
      "summary": {
        "type": "string"
      },
      "text": {
        "type": "string"
      },
      "updated": {
        "minimum": 0,
        "type": "integer"
      }
    },
    "required": [
      "text",
      "created",
      "updated",
      "paused",
      "status",
      "summary",
      "research"
    ],
    "type": "object"
  },
  "SessionPage": {
    "additionalProperties": false,
    "properties": {
      "cursor": {
        "$ref": "#/components/schemas/PageCursor"
      },
      "items": {
        "items": {
          "$ref": "#/components/schemas/Session"
        },
        "type": "array"
      }
    },
    "required": [
      "items",
      "cursor"
    ],
    "type": "object"
  },
  "SessionParticipant": {
    "additionalProperties": false,
    "properties": {
      "actorType": {
        "enum": [
          "human",
          "service-account"
        ],
        "type": "string"
      },
      "firstSeenAt": {
        "minimum": 0,
        "type": "integer"
      },
      "lastSeenAt": {
        "minimum": 0,
        "type": "integer"
      },
      "subject": {
        "type": "string"
      }
    },
    "required": [
      "subject",
      "actorType",
      "firstSeenAt",
      "lastSeenAt"
    ],
    "type": "object"
  },
  "SessionQueueInfo": {
    "additionalProperties": false,
    "properties": {
      "count": {
        "minimum": 0,
        "type": "integer"
      },
      "items": {
        "items": {
          "$ref": "#/components/schemas/SessionQueueItem"
        },
        "type": "array"
      },
      "running": {
        "type": "boolean"
      },
      "sessionId": {
        "type": "string"
      },
      "worker": {
        "type": "boolean"
      }
    },
    "required": [
      "sessionId",
      "count",
      "running",
      "worker",
      "items"
    ],
    "type": "object"
  },
  "SessionQueueItem": {
    "additionalProperties": false,
    "properties": {
      "agent": {
        "type": [
          "string",
          "null"
        ]
      },
      "index": {
        "minimum": 0,
        "type": "integer"
      },
      "model": {
        "anyOf": [
          {
            "$ref": "#/components/schemas/UserModel"
          },
          {
            "type": "null"
          }
        ]
      },
      "noReply": {
        "type": "boolean"
      },
      "partCount": {
        "minimum": 0,
        "type": "integer"
      },
      "text": {
        "type": [
          "string",
          "null"
        ]
      }
    },
    "required": [
      "index",
      "noReply",
      "partCount"
    ],
    "type": "object"
  },
  "SessionQueueMutation": {
    "additionalProperties": false,
    "properties": {
      "queue": {
        "$ref": "#/components/schemas/SessionQueueInfo"
      },
      "removed": {
        "minimum": 0,
        "type": "integer"
      },
      "sessionId": {
        "type": "string"
      }
    },
    "required": [
      "sessionId",
      "removed",
      "queue"
    ],
    "type": "object"
  },
  "SessionRuntimeSnapshot": {
    "additionalProperties": false,
    "properties": {
      "backgroundJobsEpoch": {
        "type": "string"
      },
      "backgroundJobsRevision": {
        "minimum": 0,
        "type": "integer"
      },
      "branches": {
        "items": {
          "$ref": "#/components/schemas/SubtaskLifecycleSnapshot"
        },
        "type": "array"
      },
      "execution": {
        "anyOf": [
          {
            "$ref": "#/components/schemas/ExecutionActivitySnapshot"
          },
          {
            "type": "null"
          }
        ]
      },
      "revision": {
        "minimum": 0,
        "type": "integer"
      },
      "rootSessionId": {
        "type": "string"
      },
      "runningBackgroundTasks": {
        "items": {
          "properties": {
            "jobId": {
              "type": "string"
            },
            "sessionId": {
              "type": "string"
            },
            "startedAt": {
              "minimum": 0,
              "type": "integer"
            }
          },
          "required": [
            "jobId",
            "sessionId",
            "startedAt"
          ],
          "type": "object"
        },
        "type": "array"
      }
    },
    "required": [
      "rootSessionId",
      "revision",
      "branches"
    ],
    "type": "object"
  },
  "SessionShellRequest": {
    "additionalProperties": false,
    "properties": {
      "agent": {
        "type": "string"
      },
      "command": {
        "type": "string"
      },
      "messageId": {
        "type": "string"
      },
      "model": {
        "$ref": "#/components/schemas/UserModel"
      }
    },
    "required": [
      "command"
    ],
    "type": "object"
  },
  "SessionStatus": {
    "additionalProperties": true,
    "properties": {
      "type": {
        "enum": [
          "idle",
          "busy",
          "retry"
        ],
        "type": "string"
      }
    },
    "required": [
      "type"
    ],
    "type": "object"
  },
  "SessionStatusMap": {
    "additionalProperties": {
      "$ref": "#/components/schemas/SessionStatus"
    },
    "type": "object"
  },
  "SessionTime": {
    "additionalProperties": false,
    "properties": {
      "archived": {
        "type": "integer"
      },
      "compacting": {
        "minimum": 0,
        "type": "integer"
      },
      "created": {
        "minimum": 0,
        "type": "integer"
      },
      "updated": {
        "minimum": 0,
        "type": "integer"
      }
    },
    "required": [
      "created",
      "updated"
    ],
    "type": "object"
  },
  "SessionUndoTree": {
    "additionalProperties": true,
    "properties": {
      "nodes": {
        "items": {
          "additionalProperties": true,
          "type": "object"
        },
        "type": "array"
      },
      "sessionID": {
        "type": "string"
      }
    },
    "required": [
      "sessionID",
      "nodes"
    ],
    "type": "object"
  },
  "SetGoalRequest": {
    "additionalProperties": false,
    "properties": {
      "paused": {
        "default": false,
        "type": "boolean"
      },
      "researchUrls": {
        "default": [],
        "items": {
          "type": "string"
        },
        "type": "array"
      },
      "text": {
        "default": "",
        "type": "string"
      }
    },
    "type": "object"
  },
  "SetPinRequest": {
    "additionalProperties": false,
    "properties": {
      "pinned": {
        "type": "boolean"
      }
    },
    "type": "object"
  },
  "Shell": {
    "additionalProperties": false,
    "properties": {
      "acceptable": {
        "type": "boolean"
      },
      "name": {
        "type": "string"
      },
      "path": {
        "type": "string"
      }
    },
    "required": [
      "path",
      "name",
      "acceptable"
    ],
    "type": "object"
  },
  "Skill": {
    "additionalProperties": false,
    "properties": {
      "description": {
        "type": [
          "string",
          "null"
        ]
      },
      "name": {
        "type": "string"
      },
      "path": {
        "type": "string"
      }
    },
    "required": [
      "name"
    ],
    "type": "object"
  },
  "SkillInstallRequest": {
    "allOf": [
      {
        "$ref": "#/components/schemas/SkillWriteRequest"
      },
      {
        "properties": {
          "id": {
            "type": "string"
          }
        },
        "required": [
          "id"
        ],
        "type": "object"
      }
    ]
  },
  "SkillList": {
    "items": {
      "$ref": "#/components/schemas/Skill"
    },
    "type": "array"
  },
  "SkillVersion": {
    "additionalProperties": false,
    "properties": {
      "bundle": {
        "$ref": "#/components/schemas/SkillWriteRequest"
      },
      "createdAt": {
        "minimum": 0,
        "type": "integer"
      },
      "id": {
        "type": "string"
      },
      "revision": {
        "type": "string"
      },
      "scope": {
        "$ref": "#/components/schemas/ResourceScope"
      },
      "skillId": {
        "type": "string"
      }
    },
    "required": [
      "id",
      "skillId",
      "scope",
      "revision",
      "createdAt",
      "bundle"
    ],
    "type": "object"
  },
  "SkillWriteRequest": {
    "additionalProperties": false,
    "properties": {
      "compatibility": {},
      "content": {
        "maxLength": 524288,
        "type": "string"
      },
      "description": {
        "type": "string"
      },
      "expectedRevision": {
        "type": "string"
      },
      "files": {
        "additionalProperties": {
          "maxLength": 262144,
          "type": "string"
        },
        "maxProperties": 32,
        "type": "object"
      },
      "license": {
        "type": "string"
      },
      "metadata": {
        "additionalProperties": true,
        "type": "object"
      },
      "name": {
        "type": "string"
      },
      "scope": {
        "$ref": "#/components/schemas/ResourceScope"
      },
      "version": {
        "type": "string"
      }
    },
    "required": [
      "content"
    ],
    "type": "object"
  },
  "StepFinishPart": {
    "additionalProperties": true,
    "properties": {
      "cost": {
        "type": "number"
      },
      "id": {
        "type": "string"
      },
      "messageId": {
        "type": "string"
      },
      "reason": {
        "type": "string"
      },
      "sessionId": {
        "type": "string"
      },
      "snapshot": {
        "type": "string"
      },
      "tokens": {
        "$ref": "#/components/schemas/TokenUsage"
      },
      "type": {
        "const": "step-finish",
        "type": "string"
      }
    },
    "required": [
      "type",
      "id",
      "sessionId",
      "messageId",
      "reason",
      "tokens",
      "cost"
    ],
    "type": "object"
  },
  "StepStartPart": {
    "additionalProperties": true,
    "properties": {
      "id": {
        "type": "string"
      },
      "messageId": {
        "type": "string"
      },
      "sessionId": {
        "type": "string"
      },
      "snapshot": {
        "type": "string"
      },
      "type": {
        "const": "step-start",
        "type": "string"
      }
    },
    "required": [
      "type",
      "id",
      "sessionId",
      "messageId"
    ],
    "type": "object"
  },
  "StopSubagentsRequest": {
    "additionalProperties": false,
    "properties": {
      "taskId": {
        "type": "string"
      }
    },
    "type": "object"
  },
  "StopSubagentsResult": {
    "additionalProperties": false,
    "properties": {
      "clearedPrompts": {
        "minimum": 0,
        "type": "integer"
      },
      "stopped": {
        "items": {
          "type": "string"
        },
        "type": "array"
      }
    },
    "required": [
      "stopped",
      "clearedPrompts"
    ],
    "type": "object"
  },
  "SubagentTask": {
    "additionalProperties": false,
    "properties": {
      "agent": {
        "type": "string"
      },
      "childSessionId": {
        "type": "string"
      },
      "description": {
        "type": "string"
      },
      "id": {
        "type": "string"
      },
      "nested": {
        "type": "boolean"
      },
      "result": {
        "type": "string"
      },
      "sessionId": {
        "type": "string"
      },
      "status": {
        "type": "string"
      }
    },
    "required": [
      "id",
      "sessionId",
      "childSessionId",
      "agent",
      "status",
      "description",
      "nested"
    ],
    "type": "object"
  },
  "SubtaskLifecycleSnapshot": {
    "additionalProperties": false,
    "properties": {
      "parentSessionId": {
        "type": "string"
      },
      "sessionId": {
        "type": "string"
      },
      "startedAt": {
        "minimum": 0,
        "type": [
          "integer",
          "null"
        ]
      },
      "status": {
        "enum": [
          "outstanding",
          "completed",
          "failed"
        ],
        "type": "string"
      }
    },
    "required": [
      "sessionId",
      "parentSessionId",
      "status"
    ],
    "type": "object"
  },
  "SubtaskPart": {
    "additionalProperties": true,
    "properties": {
      "agent": {
        "type": "string"
      },
      "command": {
        "type": "string"
      },
      "description": {
        "type": "string"
      },
      "id": {
        "type": "string"
      },
      "messageId": {
        "type": "string"
      },
      "model": {
        "$ref": "#/components/schemas/UserModelRef"
      },
      "prompt": {
        "type": "string"
      },
      "sessionId": {
        "type": "string"
      },
      "type": {
        "const": "subtask",
        "type": "string"
      }
    },
    "required": [
      "type",
      "id",
      "sessionId",
      "messageId",
      "prompt",
      "description",
      "agent"
    ],
    "type": "object"
  },
  "TextPart": {
    "additionalProperties": true,
    "properties": {
      "id": {
        "type": "string"
      },
      "messageId": {
        "type": "string"
      },
      "sessionId": {
        "type": "string"
      },
      "synthetic": {
        "type": "boolean"
      },
      "text": {
        "type": "string"
      },
      "time": {
        "$ref": "#/components/schemas/PartTime"
      },
      "type": {
        "const": "text",
        "type": "string"
      }
    },
    "required": [
      "type",
      "id",
      "sessionId",
      "messageId",
      "text"
    ],
    "type": "object"
  },
  "Todo": {
    "additionalProperties": false,
    "properties": {
      "content": {
        "type": "string"
      },
      "priority": {
        "type": "string"
      },
      "status": {
        "type": "string"
      }
    },
    "required": [
      "content",
      "status",
      "priority"
    ],
    "type": "object"
  },
  "TokenUsage": {
    "additionalProperties": false,
    "properties": {
      "cache": {
        "$ref": "#/components/schemas/CacheUsage"
      },
      "input": {
        "minimum": 0,
        "type": "integer"
      },
      "output": {
        "minimum": 0,
        "type": "integer"
      },
      "reasoning": {
        "minimum": 0,
        "type": "integer"
      },
      "total": {
        "minimum": 0,
        "type": "integer"
      }
    },
    "required": [
      "input",
      "output",
      "reasoning",
      "cache"
    ],
    "type": "object"
  },
  "Tool": {
    "additionalProperties": true,
    "properties": {
      "description": {
        "type": "string"
      },
      "id": {
        "type": "string"
      },
      "outputSchema": {},
      "parameters": {}
    },
    "required": [
      "id",
      "description",
      "parameters"
    ],
    "type": "object"
  },
  "ToolList": {
    "items": {
      "$ref": "#/components/schemas/Tool"
    },
    "type": "array"
  },
  "ToolPart": {
    "additionalProperties": true,
    "properties": {
      "callId": {
        "type": "string"
      },
      "id": {
        "type": "string"
      },
      "messageId": {
        "type": "string"
      },
      "metadata": {},
      "sessionId": {
        "type": "string"
      },
      "state": {
        "$ref": "#/components/schemas/ToolState"
      },
      "tool": {
        "type": "string"
      },
      "type": {
        "const": "tool",
        "type": "string"
      }
    },
    "required": [
      "type",
      "id",
      "sessionId",
      "messageId",
      "tool",
      "callId",
      "state"
    ],
    "type": "object"
  },
  "ToolState": {
    "description": "Tool call lifecycle, discriminated by `status`.",
    "discriminator": {
      "propertyName": "status"
    },
    "oneOf": [
      {
        "$ref": "#/components/schemas/ToolStatePending"
      },
      {
        "$ref": "#/components/schemas/ToolStateRunning"
      },
      {
        "$ref": "#/components/schemas/ToolStateCompleted"
      },
      {
        "$ref": "#/components/schemas/ToolStateError"
      }
    ]
  },
  "ToolStateCompleted": {
    "additionalProperties": true,
    "properties": {
      "input": {},
      "metadata": {},
      "output": {
        "type": "string"
      },
      "status": {
        "const": "completed",
        "type": "string"
      },
      "time": {
        "$ref": "#/components/schemas/PartTime"
      },
      "title": {
        "type": "string"
      }
    },
    "required": [
      "status",
      "input",
      "output",
      "metadata",
      "title",
      "time"
    ],
    "type": "object"
  },
  "ToolStateError": {
    "additionalProperties": true,
    "properties": {
      "error": {
        "type": "string"
      },
      "input": {},
      "status": {
        "const": "error",
        "type": "string"
      },
      "time": {
        "$ref": "#/components/schemas/PartTime"
      }
    },
    "required": [
      "status",
      "input",
      "error",
      "time"
    ],
    "type": "object"
  },
  "ToolStatePending": {
    "additionalProperties": true,
    "properties": {
      "input": {},
      "raw": {
        "type": "string"
      },
      "status": {
        "const": "pending",
        "type": "string"
      }
    },
    "required": [
      "status",
      "input",
      "raw"
    ],
    "type": "object"
  },
  "ToolStateRunning": {
    "additionalProperties": true,
    "properties": {
      "input": {},
      "status": {
        "const": "running",
        "type": "string"
      },
      "time": {
        "$ref": "#/components/schemas/PartTime"
      }
    },
    "required": [
      "status",
      "input",
      "time"
    ],
    "type": "object"
  },
  "UnknownObject": {
    "additionalProperties": true,
    "type": "object"
  },
  "UnknownValue": {},
  "UpdateSessionRequest": {
    "additionalProperties": false,
    "properties": {
      "agent": {
        "type": "string"
      },
      "directory": {
        "type": "string"
      },
      "model": {
        "$ref": "#/components/schemas/ModelRef"
      },
      "permission": {
        "items": {
          "$ref": "#/components/schemas/PermissionRule"
        },
        "type": "array"
      },
      "time": {
        "properties": {
          "archived": {
            "type": "integer"
          }
        },
        "type": "object"
      },
      "title": {
        "type": "string"
      }
    },
    "type": "object"
  },
  "UserModel": {
    "additionalProperties": false,
    "properties": {
      "connectionId": {
        "type": "string"
      },
      "modelId": {
        "type": "string"
      },
      "providerId": {
        "type": "string"
      },
      "variant": {
        "type": "string"
      }
    },
    "required": [
      "providerId",
      "modelId"
    ],
    "type": "object"
  },
  "UserModelRef": {
    "additionalProperties": false,
    "properties": {
      "connectionId": {
        "type": "string"
      },
      "modelId": {
        "type": "string"
      },
      "providerId": {
        "type": "string"
      },
      "variant": {
        "type": "string"
      }
    },
    "required": [
      "providerId",
      "modelId"
    ],
    "type": "object"
  },
  "VcsApplyRequest": {
    "additionalProperties": true,
    "properties": {
      "directory": {
        "type": "string"
      },
      "patch": {
        "type": "string"
      }
    },
    "required": [
      "patch"
    ],
    "type": "object"
  },
  "VcsApplyResult": {
    "additionalProperties": false,
    "properties": {
      "error": {
        "type": [
          "string",
          "null"
        ]
      },
      "success": {
        "type": "boolean"
      }
    },
    "required": [
      "success"
    ],
    "type": "object"
  },
  "VcsDiffList": {
    "items": {
      "$ref": "#/components/schemas/VcsFileDiff"
    },
    "type": "array"
  },
  "VcsFileDiff": {
    "additionalProperties": false,
    "properties": {
      "added": {
        "minimum": 0,
        "type": "integer"
      },
      "additions": {
        "minimum": 0,
        "type": "integer"
      },
      "deletions": {
        "minimum": 0,
        "type": "integer"
      },
      "file": {
        "type": "string"
      },
      "hunks": {
        "items": {},
        "type": "array"
      },
      "patch": {
        "type": "string"
      },
      "path": {
        "type": "string"
      },
      "removed": {
        "minimum": 0,
        "type": "integer"
      },
      "status": {
        "type": "string"
      }
    },
    "required": [
      "path",
      "file",
      "status",
      "added",
      "removed",
      "additions",
      "deletions",
      "patch",
      "hunks"
    ],
    "type": "object"
  },
  "VcsFileStatus": {
    "additionalProperties": false,
    "properties": {
      "additions": {
        "type": "integer"
      },
      "deletions": {
        "type": "integer"
      },
      "file": {
        "type": "string"
      },
      "path": {
        "type": "string"
      },
      "status": {
        "type": "string"
      }
    },
    "required": [
      "path",
      "file",
      "status",
      "additions",
      "deletions"
    ],
    "type": "object"
  },
  "VcsInfo": {
    "additionalProperties": false,
    "properties": {
      "branch": {
        "type": [
          "string",
          "null"
        ]
      },
      "default_branch": {
        "type": [
          "string",
          "null"
        ]
      }
    },
    "type": "object"
  },
  "VcsStatusList": {
    "items": {
      "$ref": "#/components/schemas/VcsFileStatus"
    },
    "type": "array"
  },
  "WorkflowCatalog": {
    "additionalProperties": false,
    "properties": {
      "diagnostics": {
        "items": {
          "$ref": "#/components/schemas/WorkflowDiagnostic"
        },
        "type": "array"
      },
      "workflows": {
        "items": {
          "$ref": "#/components/schemas/WorkflowView"
        },
        "type": "array"
      }
    },
    "required": [
      "workflows",
      "diagnostics"
    ],
    "type": "object"
  },
  "WorkflowConcurrencyPolicy": {
    "additionalProperties": false,
    "properties": {
      "maxRunning": {
        "default": 1,
        "minimum": 1,
        "type": "integer"
      },
      "mode": {
        "default": "forbid",
        "enum": [
          "forbid",
          "replace",
          "allow"
        ],
        "type": "string"
      }
    },
    "type": "object"
  },
  "WorkflowDefinition": {
    "additionalProperties": false,
    "properties": {
      "active": {
        "type": "boolean"
      },
      "agent": {
        "type": "string"
      },
      "concurrency": {
        "$ref": "#/components/schemas/WorkflowConcurrencyPolicy"
      },
      "directory": {
        "type": "string"
      },
      "id": {
        "type": "string"
      },
      "model": {
        "$ref": "#/components/schemas/ModelRef"
      },
      "name": {
        "type": "string"
      },
      "permissions": {
        "additionalProperties": true,
        "type": "object"
      },
      "prompt": {
        "type": "string"
      },
      "retry": {
        "$ref": "#/components/schemas/WorkflowRetryPolicy"
      },
      "schedule": {
        "$ref": "#/components/schemas/WorkflowSchedule"
      },
      "skill": {
        "type": "string"
      }
    },
    "required": [
      "id",
      "name",
      "active",
      "schedule",
      "prompt"
    ],
    "type": "object"
  },
  "WorkflowDefinitionPatch": {
    "additionalProperties": false,
    "properties": {
      "active": {
        "type": "boolean"
      },
      "agent": {
        "type": [
          "string",
          "null"
        ]
      },
      "concurrency": {
        "$ref": "#/components/schemas/WorkflowConcurrencyPolicy"
      },
      "directory": {
        "type": [
          "string",
          "null"
        ]
      },
      "id": {
        "type": "string"
      },
      "model": {
        "anyOf": [
          {
            "$ref": "#/components/schemas/ModelRef"
          },
          {
            "type": "null"
          }
        ]
      },
      "name": {
        "type": "string"
      },
      "permissions": {
        "additionalProperties": true,
        "type": [
          "object",
          "null"
        ]
      },
      "prompt": {
        "type": "string"
      },
      "retry": {
        "$ref": "#/components/schemas/WorkflowRetryPolicy"
      },
      "schedule": {
        "$ref": "#/components/schemas/WorkflowSchedule"
      },
      "skill": {
        "type": [
          "string",
          "null"
        ]
      }
    },
    "type": "object"
  },
  "WorkflowDiagnostic": {
    "additionalProperties": false,
    "properties": {
      "message": {
        "type": "string"
      },
      "sourcePath": {
        "type": "string"
      }
    },
    "required": [
      "sourcePath",
      "message"
    ],
    "type": "object"
  },
  "WorkflowHistory": {
    "additionalProperties": false,
    "properties": {
      "runs": {
        "items": {
          "$ref": "#/components/schemas/WorkflowRun"
        },
        "type": "array"
      }
    },
    "required": [
      "runs"
    ],
    "type": "object"
  },
  "WorkflowPreview": {
    "additionalProperties": false,
    "properties": {
      "definition": {
        "$ref": "#/components/schemas/WorkflowDefinition"
      },
      "sourcePath": {
        "type": "string"
      },
      "upcoming": {
        "items": {
          "additionalProperties": false,
          "properties": {
            "local": {
              "type": "string"
            },
            "scheduledAt": {
              "type": "integer"
            }
          },
          "required": [
            "scheduledAt",
            "local"
          ],
          "type": "object"
        },
        "type": "array"
      }
    },
    "required": [
      "definition",
      "sourcePath",
      "upcoming"
    ],
    "type": "object"
  },
  "WorkflowProjection": {
    "additionalProperties": false,
    "properties": {
      "activatedAt": {
        "type": "integer"
      },
      "activationId": {
        "type": "string"
      },
      "active": {
        "type": "boolean"
      },
      "definition": {
        "$ref": "#/components/schemas/WorkflowDefinition"
      },
      "lastScheduledAt": {
        "type": [
          "integer",
          "null"
        ]
      },
      "sourceHash": {
        "type": "string"
      },
      "sourcePath": {
        "type": "string"
      },
      "updated": {
        "type": "integer"
      },
      "workflowId": {
        "type": "string"
      },
      "workspaceRoot": {
        "type": "string"
      }
    },
    "required": [
      "activationId",
      "workflowId",
      "workspaceRoot",
      "sourcePath",
      "sourceHash",
      "definition",
      "active",
      "activatedAt",
      "updated"
    ],
    "type": "object"
  },
  "WorkflowRetryPolicy": {
    "additionalProperties": false,
    "properties": {
      "backoff": {
        "default": "fixed",
        "enum": [
          "fixed",
          "exponential"
        ],
        "type": "string"
      },
      "initialDelayMs": {
        "default": 0,
        "minimum": 0,
        "type": "integer"
      },
      "maxAttempts": {
        "default": 1,
        "minimum": 1,
        "type": "integer"
      },
      "maxDelayMs": {
        "default": 0,
        "minimum": 0,
        "type": "integer"
      },
      "retryableErrors": {
        "default": [],
        "items": {
          "type": "string"
        },
        "type": "array"
      }
    },
    "type": "object"
  },
  "WorkflowRun": {
    "additionalProperties": false,
    "properties": {
      "activationId": {
        "type": "string"
      },
      "attempt": {
        "minimum": 1,
        "type": "integer"
      },
      "created": {
        "type": "integer"
      },
      "error": {
        "type": [
          "string",
          "null"
        ]
      },
      "finishedAt": {
        "type": [
          "integer",
          "null"
        ]
      },
      "id": {
        "type": "string"
      },
      "leaseExpiresAt": {
        "type": [
          "integer",
          "null"
        ]
      },
      "leaseOwner": {
        "type": [
          "string",
          "null"
        ]
      },
      "nextAttemptAt": {
        "type": [
          "integer",
          "null"
        ]
      },
      "retryOf": {
        "type": [
          "string",
          "null"
        ]
      },
      "rootRunId": {
        "type": "string"
      },
      "scheduledAt": {
        "type": "integer"
      },
      "sessionId": {
        "type": [
          "string",
          "null"
        ]
      },
      "startedAt": {
        "type": [
          "integer",
          "null"
        ]
      },
      "status": {
        "type": "string"
      },
      "trigger": {
        "type": "string"
      },
      "workflowId": {
        "type": "string"
      }
    },
    "required": [
      "id",
      "activationId",
      "workflowId",
      "scheduledAt",
      "status",
      "trigger",
      "created",
      "attempt",
      "rootRunId"
    ],
    "type": "object"
  },
  "WorkflowSchedule": {
    "additionalProperties": false,
    "properties": {
      "at": {
        "type": "string"
      },
      "date": {
        "type": "string"
      },
      "frequency": {
        "type": "string"
      },
      "interval": {
        "minimum": 1,
        "type": "integer"
      },
      "minute": {
        "type": "integer"
      },
      "monthDay": {
        "type": "integer"
      },
      "time": {
        "type": "string"
      },
      "timezone": {
        "type": "string"
      },
      "weekdays": {
        "items": {
          "type": "string"
        },
        "type": "array"
      }
    },
    "required": [
      "frequency",
      "interval",
      "timezone"
    ],
    "type": "object"
  },
  "WorkflowView": {
    "additionalProperties": false,
    "properties": {
      "activationID": {
        "type": [
          "string",
          "null"
        ]
      },
      "active": {
        "type": "boolean"
      },
      "definition": {
        "$ref": "#/components/schemas/WorkflowDefinition"
      },
      "lastScheduledAt": {
        "type": [
          "integer",
          "null"
        ]
      },
      "revision": {
        "type": "string"
      },
      "sourceHash": {
        "type": "string"
      },
      "sourcePath": {
        "type": "string"
      },
      "writable": {
        "type": "boolean"
      }
    },
    "required": [
      "definition",
      "sourcePath",
      "sourceHash",
      "active"
    ],
    "type": "object"
  },
  "WorkspaceCreateRequest": {
    "additionalProperties": false,
    "properties": {
      "createDirectory": {
        "default": false,
        "type": "boolean"
      },
      "id": {
        "type": "string"
      },
      "name": {
        "maxLength": 160,
        "type": "string"
      },
      "root": {
        "type": "string"
      }
    },
    "required": [
      "root"
    ],
    "type": "object"
  },
  "WorkspaceUpdateRequest": {
    "additionalProperties": false,
    "properties": {
      "expectedRevision": {
        "type": "string"
      },
      "name": {
        "maxLength": 160,
        "type": "string"
      },
      "root": {
        "type": "string"
      }
    },
    "type": "object"
  },
  "WorkspaceWorkerInfo": {
    "additionalProperties": false,
    "properties": {
      "expiresAt": {
        "type": "integer"
      },
      "root": {
        "type": "string"
      },
      "runtimeGeneration": {
        "minimum": 1,
        "type": "integer"
      },
      "runtimeId": {
        "type": "string"
      },
      "tenantId": {
        "type": "string"
      },
      "version": {
        "const": 1,
        "type": "integer"
      },
      "workspaceId": {
        "type": "string"
      }
    },
    "required": [
      "version",
      "tenantId",
      "workspaceId",
      "runtimeId",
      "runtimeGeneration",
      "root",
      "expiresAt"
    ],
    "type": "object"
  }
}
securitySchemes
{
  "BearerAuth": {
    "bearerFormat": "Neoism caller token",
    "scheme": "bearer",
    "type": "http"
  }
}