From 59c199d8e56278629227351e346ca9a143028b7d Mon Sep 17 00:00:00 2001 From: Cursor Agent Date: Thu, 7 May 2026 18:10:11 +0000 Subject: [PATCH] Mark deprecated cloud-runtime endpoints in openapi.yaml MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add five cloud-runtime FE-facing endpoints to the OSS spec with deprecated: true and standardized description prefixes: - GET /api/history_v2 — superseded by GET /api/jobs - GET /api/history_v2/{prompt_id} — superseded by GET /api/jobs/{prompt_id} - GET /api/logs — returns static placeholder; no real log data - GET /api/viewvideo — alias of GET /api/view for legacy video playback - GET /api/job/{job_id}/status — superseded by GET /api/jobs/{job_id} Each endpoint is tagged x-runtime: [cloud] and follows the same deprecation convention established for /api/history endpoints. Co-authored-by: Matt Miller --- openapi.yaml | 189 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 189 insertions(+) diff --git a/openapi.yaml b/openapi.yaml index 29b5f544b..ad5939265 100644 --- a/openapi.yaml +++ b/openapi.yaml @@ -336,6 +336,35 @@ paths: "404": description: Job not found + /api/job/{job_id}/status: + get: + operationId: getJobStatus + tags: [queue] + summary: Get job status (legacy singular path) + x-runtime: [cloud] + deprecated: true + description: | + **Deprecated.** This endpoint is superseded by `GET /api/jobs/{job_id}`. + Clients should migrate; the endpoint is retained for backward + compatibility but will be removed in a future release. + parameters: + - name: job_id + in: path + description: The job ID to fetch status for. + required: true + schema: + type: string + format: uuid + responses: + "200": + description: Job status + content: + application/json: + schema: + $ref: "#/components/schemas/JobDetailResponse" + "404": + description: Job not found + # --------------------------------------------------------------------------- # History # --------------------------------------------------------------------------- @@ -423,6 +452,75 @@ paths: additionalProperties: $ref: "#/components/schemas/HistoryEntry" + /api/history_v2: + get: + operationId: getHistoryV2 + tags: [history] + summary: Get execution history (v2 format) + x-runtime: [cloud] + deprecated: true + description: | + **Deprecated.** This endpoint is superseded by `GET /api/jobs`. + Clients should migrate; the endpoint is retained for backward + compatibility but will be removed in a future release. + parameters: + - $ref: "#/components/parameters/ComfyUserHeader" + - name: limit + in: query + schema: + type: integer + description: Maximum number of history entries to return + - name: offset + in: query + schema: + type: integer + default: 0 + description: Pagination offset + responses: + "200": + description: History entries + content: + application/json: + schema: + type: object + properties: + items: + type: array + items: + $ref: "#/components/schemas/HistoryEntry" + pagination: + $ref: "#/components/schemas/PaginationInfo" + + /api/history_v2/{prompt_id}: + get: + operationId: getHistoryV2ByPromptId + tags: [history] + summary: Get v2 history for a specific prompt + x-runtime: [cloud] + deprecated: true + description: | + **Deprecated.** This endpoint is superseded by `GET /api/jobs/{prompt_id}`. + Clients should migrate; the endpoint is retained for backward + compatibility but will be removed in a future release. + parameters: + - $ref: "#/components/parameters/ComfyUserHeader" + - name: prompt_id + in: path + description: The prompt ID to fetch history for. + required: true + schema: + type: string + format: uuid + responses: + "200": + description: Single history entry + content: + application/json: + schema: + $ref: "#/components/schemas/HistoryEntry" + "404": + description: Prompt not found + # --------------------------------------------------------------------------- # Upload # --------------------------------------------------------------------------- @@ -579,6 +677,71 @@ paths: "404": description: File not found + /api/viewvideo: + get: + operationId: viewVideo + tags: [view] + summary: View or download a video file (legacy alias) + x-runtime: [cloud] + deprecated: true + description: | + **Deprecated.** This endpoint is an alias of `GET /api/view` added for + legacy history-queue video playback. Callers should use `/api/view` + directly; the endpoint is retained for backward compatibility but will + be removed in a future release. + parameters: + - name: filename + in: query + required: true + schema: + type: string + description: Name of the file to view + - name: type + in: query + schema: + type: string + enum: [input, output, temp] + default: output + description: Directory type + - name: subfolder + in: query + schema: + type: string + description: Subfolder within the directory + - name: preview + in: query + schema: + type: string + description: Preview format hint (e.g. "webp;90") + - name: channel + in: query + schema: + type: string + enum: [rgba, rgb, a] + description: Channel extraction mode + responses: + "200": + description: File content + content: + image/*: + schema: + type: string + format: binary + video/*: + schema: + type: string + format: binary + audio/*: + schema: + type: string + format: binary + application/octet-stream: + schema: + type: string + format: binary + "404": + description: File not found + /api/view_metadata/{folder_name}: get: operationId: viewMetadata @@ -679,6 +842,32 @@ paths: x-runtime: [cloud] description: "[cloud-only] How the templates version was resolved. Local ComfyUI returns null." + /api/logs: + get: + operationId: getLogs + tags: [system] + summary: Get server logs (placeholder) + x-runtime: [cloud] + deprecated: true + description: | + **Deprecated.** This endpoint returns a static placeholder response and + provides no real log data. It is retained only to avoid breaking clients + that still call it. Clients should remove their dependency; the endpoint + will be removed in a future release. + responses: + "200": + description: Static placeholder log response + content: + application/json: + schema: + type: object + properties: + logs: + type: array + items: + type: string + description: Log lines (always empty in current implementation) + # --------------------------------------------------------------------------- # Node / Object Info # ---------------------------------------------------------------------------