{ "swagger": "2.0", "info": { "description": "This is the API for GOTH Stack - Go + HTMX + Tailwind", "title": "GOTH Stack API", "contact": {}, "version": "1.0" }, "host": "localhost:3000", "basePath": "/api", "paths": { "/ping": { "get": { "description": "Get a pong response", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "ping" ], "summary": "Ping the server", "responses": { "200": { "description": "Pong!", "schema": { "type": "string" } } } } }, "/post/copy": { "get": { "description": "Returns an SVG of a copy icon", "consumes": [ "application/json" ], "produces": [ "text/html" ], "tags": [ "post" ], "summary": "Get copy icon SVG", "responses": { "200": { "description": "SVG content", "schema": { "type": "string" } } } } }, "/sse": { "get": { "description": "Establishes a Server-Sent Events connection", "consumes": [ "application/json" ], "produces": [ "text/event-stream" ], "tags": [ "sse" ], "summary": "Server-Sent Events endpoint", "parameters": [ { "type": "string", "description": "Channel name", "name": "channel", "in": "query" } ], "responses": { "200": { "description": "Event stream", "schema": { "type": "string" } } } } }, "/tools/resize": { "post": { "description": "Resizes an uploaded image to specified dimensions", "consumes": [ "multipart/form-data" ], "produces": [ "image/png" ], "tags": [ "tools" ], "summary": "Resize an image", "parameters": [ { "type": "file", "description": "Image file to resize", "name": "image", "in": "formData", "required": true }, { "type": "integer", "description": "Target width", "name": "width", "in": "formData", "required": true }, { "type": "integer", "description": "Target height", "name": "height", "in": "formData", "required": true } ], "responses": { "200": { "description": "Resized image", "schema": { "type": "file" } }, "400": { "description": "Bad request", "schema": { "type": "string" } }, "500": { "description": "Internal server error", "schema": { "type": "string" } } } } }, "/tools/sendsse": { "post": { "description": "Sends a message to a specified SSE channel", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "sse", "tools" ], "summary": "Send SSE message", "parameters": [ { "type": "string", "description": "Channel name", "name": "channel", "in": "query" }, { "type": "string", "description": "Message to send", "name": "message", "in": "query" } ], "responses": { "200": { "description": "OK", "schema": { "type": "object", "additionalProperties": { "type": "string" } } }, "400": { "description": "Bad Request", "schema": { "type": "object", "additionalProperties": { "type": "string" } } } } } } } }