Skip to content

openapi.json is incomplete: query parameter directory present, session missing #6686

@vlcinsky

Description

@vlcinsky

Description

http://127.0.0.1:4096/doc returns openapi.json

Here is (yaml version) snippet:

  /event:
    get:
      operationId: event.subscribe
      parameters:
        - in: query
          name: directory
          schema:
            type: string
      summary: Subscribe to events
      description: Get events
      responses:
        "200":
          description: Event stream
          content:
            text/event-stream:
              schema:
                $ref: '#/components/schemas/Event'

For event endpoint it declares query parameter directory, no more parameters specified. But it apparently works with session query parameter as follows:

http://127.0.0.1:4096/event?session=ses_480e6a355ffen1k9EXzZLX4Ofk

It would be great to have the openapi.json complete

OpenCode version

v1.0.220

Steps to reproduce

  1. check the openapi.json spec: http://127.0.0.1:4096/doc
  2. read the spec for event endpoint, see only directory is mentioned as query parameter
  3. list sessions http://127.0.0.1:4096/session , pick session id of one of them
  4. use the session id in http://127.0.0.1:4096/event?session=ses_480e6a355ffen1k9EXzZLX4Ofk
  5. do something in opencode terminal in given session
  6. you shall notice, the query to http://127.0.0.1:4096/event?session=ses_480e6a355ffen1k9EXzZLX4Ofk provides new event
$ http GET http://127.0.0.1:4096/doc | yq -P -oy '.paths["/event"].get'

operationId: event.subscribe
parameters:
  - in: query
    name: directory
    schema:
      type: string
summary: Subscribe to events
description: Get events
responses:
  "200":
    description: Event stream
    content:
      text/event-stream:
        schema:
          $ref: '#/components/schemas/Event'

$ http GET http://127.0.0.1:4096/session | jq '.'
[
  {
    "id": "ses_47faebea1ffebgG5b21vgx0Fw1",
    "version": "1.0.220",
    "projectID": "7f065c289c7ea2c062b0cc377bbb7c714d2e8e14",
    "directory": "/Users/javl/devel/ttr/gitlab/personal/honza/try-bmad-v6/sse",
    "parentID": "ses_47fc1b5c1ffeznq1dcr9fJHUY2",
    "title": "Research practical Neovim workflow examples (@explore subagent)",
    "time": {
      "created": 1767384367454,
      "updated": 1767384452040
    },
    "summary": {
      "additions": 0,
      "deletions": 0,
      "files": 0
    }
  },
  {
    "id": "ses_47fb1c28effeF3wIAMEiMuRF3B",
    "version": "1.0.220",
    "projectID": "7f065c289c7ea2c062b0cc377bbb7c714d2e8e14",
    "directory": "/Users/javl/devel/ttr/gitlab/personal/honza/try-bmad-v6/sse",
    "parentID": "ses_47fc1b5c1ffeznq1dcr9fJHUY2",
    "title": "Research workflow automation patterns (@explore subagent)",
    "time": {
      "created": 1767384169841,
      "updated": 1767384183703
    },
    "summary": {
      "additions": 0,
      "deletions": 0,
      "files": 0
    }
  },
  {
    "id": "ses_47fb1d036ffe7CH1EQvqftCn3Z",
    "version": "1.0.220",
    "projectID": "7f065c289c7ea2c062b0cc377bbb7c714d2e8e14",
    "directory": "/Users/javl/devel/ttr/gitlab/personal/honza/try-bmad-v6/sse",
    "parentID": "ses_47fc1b5c1ffeznq1dcr9fJHUY2",
    "title": "Research terminal UI architecture patterns (@explore subagent)",
    "time": {
      "created": 1767384166345,
      "updated": 1767384193412
    },
    "summary": {
      "additions": 0,
      "deletions": 0,
      "files": 0
    }
  },
  {
    "id": "ses_47fb63573ffeMMB1rt3ow1F8y7",
    "version": "1.0.220",
    "projectID": "7f065c289c7ea2c062b0cc377bbb7c714d2e8e14",
    "directory": "/Users/javl/devel/ttr/gitlab/personal/honza/try-bmad-v6/sse",
    "parentID": "ses_47fc1b5c1ffeznq1dcr9fJHUY2",
    "title": "Research Neovim RPC and automation patterns (@explore subagent)",
    "time": {
      "created": 1767383878284,
      "updated": 1767383900029
    },
    "summary": {
      "additions": 0,
      "deletions": 0,
      "files": 0
    }
  },
  {
    "id": "ses_47fb64448ffe00OM69KiqcDltt",
    "version": "1.0.220",
    "projectID": "7f065c289c7ea2c062b0cc377bbb7c714d2e8e14",
    "directory": "/Users/javl/devel/ttr/gitlab/personal/honza/try-bmad-v6/sse",
    "parentID": "ses_47fc1b5c1ffeznq1dcr9fJHUY2",
    "title": "Research file-based IPC patterns (@explore subagent)",
    "time": {
      "created": 1767383874487,
      "updated": 1767383970104
    },
    "summary": {
      "additions": 0,
      "deletions": 0,
      "files": 0
    }
  },
  {
    "id": "ses_47fb65083ffey9jup7R6Pezhk7",
    "version": "1.0.220",
    "projectID": "7f065c289c7ea2c062b0cc377bbb7c714d2e8e14",
    "directory": "/Users/javl/devel/ttr/gitlab/personal/honza/try-bmad-v6/sse",
    "parentID": "ses_47fc1b5c1ffeznq1dcr9fJHUY2",
    "title": "Research OpenCode API patterns (@explore subagent)",
    "time": {
      "created": 1767383871356,
      "updated": 1767383971786
    },
    "summary": {
      "additions": 0,
      "deletions": 0,
      "files": 0
    }
  },
  {
    "id": "ses_47fba14a2ffeFJ6pTr2UYbDXii",
    "version": "1.0.220",
    "projectID": "7f065c289c7ea2c062b0cc377bbb7c714d2e8e14",
    "directory": "/Users/javl/devel/ttr/gitlab/personal/honza/try-bmad-v6/sse",
    "parentID": "ses_47fc1b5c1ffeznq1dcr9fJHUY2",
    "title": "Research terminal multiplexers and file watchers (@explore subagent)",
    "time": {
      "created": 1767383624541,
      "updated": 1767383699911
    },
    "summary": {
      "additions": 0,
      "deletions": 0,
      "files": 0
    }
  },
  {
    "id": "ses_47fba1ffdffeuiVo77eeIK1zIZ",
    "version": "1.0.220",
    "projectID": "7f065c289c7ea2c062b0cc377bbb7c714d2e8e14",
    "directory": "/Users/javl/devel/ttr/gitlab/personal/honza/try-bmad-v6/sse",
    "parentID": "ses_47fc1b5c1ffeznq1dcr9fJHUY2",
    "title": "Research Neovim plugin ecosystem (@explore subagent)",
    "time": {
      "created": 1767383621634,
      "updated": 1767383691290
    },
    "summary": {
      "additions": 0,
      "deletions": 0,
      "files": 0
    }
  },
  {
    "id": "ses_47fc1b5c1ffeznq1dcr9fJHUY2",
    "version": "1.0.220",
    "projectID": "7f065c289c7ea2c062b0cc377bbb7c714d2e8e14",
    "directory": "/Users/javl/devel/ttr/gitlab/personal/honza/try-bmad-v6/sse",
    "title": "Research workflow setup guide",
    "time": {
      "created": 1767383124542,
      "updated": 1767385202245
    },
    "summary": {
      "additions": 2151,
      "deletions": 0,
      "files": 1
    }
  },
  {
    "id": "ses_480dc889effeOMPLge4iiKR3qL",
    "version": "1.0.220",
    "projectID": "7f065c289c7ea2c062b0cc377bbb7c714d2e8e14",
    "directory": "/Users/javl/devel/ttr/gitlab/personal/honza/try-bmad-v6/sse",
    "title": "Workflow-init setup",
    "time": {
      "created": 1767364589409,
      "updated": 1767365852250
    },
    "summary": {
      "additions": 0,
      "deletions": 0,
      "files": 0
    }
  },
  {
    "id": "ses_480e6a355ffen1k9EXzZLX4Ofk",
    "version": "1.0.220",
    "projectID": "7f065c289c7ea2c062b0cc377bbb7c714d2e8e14",
    "directory": "/Users/javl/devel/ttr/gitlab/personal/honza/try-bmad-v6/sse",
    "title": "OpenCode Server-Sent Events API",
    "time": {
      "created": 1767363927210,
      "updated": 1767382518526
    },
    "summary": {
      "additions": 0,
      "deletions": 0,
      "files": 0
    }
  }
]

$ http --stream GET 'http://127.0.0.1:4096/event?session=ses_480e6a355ffen1k9EXzZLX4Ofk'
HTTP/1.1 200 OK
Cache-Control: no-cache
Connection: keep-alive
Content-Type: text/event-stream
Date: Fri, 02 Jan 2026 20:44:15 GMT
Transfer-Encoding: chunked
Vary: Origin

data: {
    "properties": {},
    "type": "server.connected"
}

^C

$ http GET http://127.0.0.1:4096/doc | yq -P -oy '.paths["/event"].get.parameters'
- in: query
  name: directory
  schema:
    type: string

Screenshot and/or share link

No response

Operating System

macOS 25.1.0

Terminal

Ghostty

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions