{ "openapi": "3.0.0", "info": { "title": "QuickChart API", "version": "1.0.0", "description": "An API to generate charts and QR codes using QuickChart services." }, "servers": [ { "url": "https://quickchart.io" } ], "paths": { "/chart": { "get": { "summary": "Generate a chart (GET)", "description": "Generate a chart based on the provided parameters.", "parameters": [ { "in": "query", "name": "chart", "schema": { "type": "string" }, "description": "The chart configuration in Chart.js format (JSON or Javascript)." }, { "in": "query", "name": "width", "schema": { "type": "integer" }, "description": "The width of the chart in pixels." }, { "in": "query", "name": "height", "schema": { "type": "integer" }, "description": "The height of the chart in pixels." }, { "in": "query", "name": "format", "schema": { "type": "string" }, "description": "The output format of the chart, e.g., 'png', 'jpg', 'svg', or 'webp'." }, { "in": "query", "name": "backgroundColor", "schema": { "type": "string" }, "description": "The background color of the chart." } ], "responses": { "200": { "description": "A generated chart image.", "content": { "image/png": { "schema": { "type": "string", "format": "binary" } }, "image/jpeg": { "schema": { "type": "string", "format": "binary" } }, "image/svg+xml": { "schema": { "type": "string", "format": "binary" } }, "image/webp": { "schema": { "type": "string", "format": "binary" } } } } } }, "post": { "summary": "Generate a chart (POST)", "description": "Generate a chart based on the provided configuration in the request body.", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "chart": { "type": "object", "description": "The chart configuration in JSON format." }, "width": { "type": "integer", "description": "The width of the chart in pixels." }, "height": { "type": "integer", "description": "The height of the chart in pixels." }, "format": { "type": "string", "description": "The output format of the chart, e.g., 'png', 'jpg', 'svg', or 'webp'." }, "backgroundColor": { "type": "string", "description": "The background color of the chart." } } } } } }, "responses": { "200": { "description": "A generated chart image.", "content": { "image/png": { "schema": { "type": "string", "format": "binary" } }, "image/jpeg": { "schema": { "type": "string", "format": "binary" } }, "image/svg+xml": { "schema": { "type": "string", "format": "binary" } }, "image/webp": { "schema": { "type": "string", "format": "binary" } } } } } } }, "/qr": { "get": { "summary": "Generate a QR code (GET)", "description": "Generate a QR code based on the provided parameters.", "parameters": [ { "in": "query", "name": "text", "schema": { "type": "string" }, "description": "The text to be encoded in the QR code." }, { "in": "query", "name": "width", "schema": { "type": "integer" }, "description": "The width of the QR code in pixels." }, { "in": "query", "name": "height", "schema": { "type": "integer" }, "description": "The height of the QR code in pixels." }, { "in": "query", "name": "format", "schema": { "type": "string" }, "description": "The output format of the QR code, e.g., 'png' or 'svg'." }, { "in": "query", "name": "margin", "schema": { "type": "integer" }, "description": "The margin around the QR code in pixels." } ], "responses": { "200": { "description": "A generated QR code image.", "content": { "image/png": { "schema": { "type": "string", "format": "binary" } }, "image/svg+xml": { "schema": { "type": "string", "format": "binary" } } } } } }, "post": { "summary": "Generate a QR code (POST)", "description": "Generate a QR code based on the provided configuration in the request body.", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "text": { "type": "string", "description": "The text to be encoded in the QR code." }, "width": { "type": "integer", "description": "The width of the QR code in pixels." }, "height": { "type": "integer", "description": "The height of the QR code in pixels." }, "format": { "type": "string", "description": "The output format of the QR code, e.g., 'png' or 'svg'." }, "margin": { "type": "integer", "description": "The margin around the QR code in pixels." } } } } } }, "responses": { "200": { "description": "A generated QR code image.", "content": { "image/png": { "schema": { "type": "string", "format": "binary" } }, "image/svg+xml": { "schema": { "type": "string", "format": "binary" } } } } } } } } }