{
  "openapi": "3.1.0",
  "info": {
    "title": "opencode",
    "description": "opencode api",
    "version": "1.0.0"
  },
  "paths": {
    "/session_create": {
      "post": {
        "responses": {
          "200": {
            "description": "Successfully created session",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Session.Info"
                }
              }
            }
          }
        },
        "operationId": "postSession_create",
        "parameters": [],
        "description": "Create a new session"
      }
    },
    "/session_share": {
      "post": {
        "responses": {
          "200": {
            "description": "Successfully shared session",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Session.Info"
                }
              }
            }
          }
        },
        "operationId": "postSession_share",
        "parameters": [],
        "description": "Share the session",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "sessionID": {
                    "type": "string"
                  }
                },
                "required": [
                  "sessionID"
                ]
              }
            }
          }
        }
      }
    },
    "/session_messages": {
      "post": {
        "responses": {
          "200": {
            "description": "Successfully created session",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          }
        },
        "operationId": "postSession_messages",
        "parameters": [],
        "description": "Get messages for a session",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "sessionID": {
                    "type": "string"
                  }
                },
                "required": [
                  "sessionID"
                ]
              }
            }
          }
        }
      }
    },
    "/session_chat": {
      "post": {
        "responses": {},
        "operationId": "postSession_chat",
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "sessionID": {
                    "type": "string"
                  },
                  "parts": {}
                },
                "required": [
                  "sessionID"
                ]
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "Session.Info": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^ses"
          },
          "shareID": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "tokens": {
            "type": "object",
            "properties": {
              "input": {
                "type": "number"
              },
              "output": {
                "type": "number"
              },
              "reasoning": {
                "type": "number"
              }
            },
            "required": [
              "input",
              "output",
              "reasoning"
            ]
          }
        },
        "required": [
          "id",
          "title",
          "tokens"
        ]
      }
    }
  }
}