opencode/packages/sdk/js/example/effect-sdk/openapi.json
2026-06-03 14:34:44 +00:00

174 lines
4 KiB
JSON

{
"openapi": "3.1.0",
"info": {
"title": "Example Effect SDK",
"version": "1.0.0"
},
"paths": {
"/projects/{projectId}/tasks": {
"get": {
"operationId": "listProjectTasks",
"tags": ["Tasks"],
"description": "List tasks for a project.",
"parameters": [
{
"name": "projectId",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "status",
"in": "query",
"required": false,
"schema": {
"type": "string",
"enum": ["open", "closed"]
}
}
],
"responses": {
"200": {
"description": "Task list.",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Task"
}
}
}
}
},
"404": {
"description": "Project not found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiError"
}
}
}
}
}
},
"post": {
"operationId": "createProjectTask",
"tags": ["Tasks"],
"description": "Create a task in a project.",
"parameters": [
{
"name": "projectId",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreateTaskRequest"
}
}
}
},
"responses": {
"201": {
"description": "Created task.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Task"
}
}
}
},
"400": {
"description": "Invalid task.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiError"
}
}
}
}
}
}
},
"/projects/{projectId}/events": {
"get": {
"operationId": "streamProjectEvents",
"tags": ["Events"],
"description": "Stream project events as server-sent events.",
"parameters": [
{
"name": "projectId",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Event stream.",
"content": {
"text/event-stream": {
"schema": {
"type": "string"
}
}
}
}
}
}
}
},
"components": {
"schemas": {
"ApiError": {
"type": "object",
"required": ["message"],
"properties": {
"message": {
"type": "string"
}
}
},
"CreateTaskRequest": {
"type": "object",
"required": ["title"],
"properties": {
"title": {
"type": "string"
}
}
},
"Task": {
"type": "object",
"required": ["id", "title", "status"],
"properties": {
"id": {
"type": "string"
},
"title": {
"type": "string"
},
"status": {
"type": "string",
"enum": ["open", "closed"]
}
}
}
}
}
}