{
  "service": "quickchart",
  "displayName": "QuickChart",
  "categories": [
    "Developer Tools",
    "Design & Media"
  ],
  "authTypes": [
    "no_auth"
  ],
  "auth": [
    {
      "type": "no_auth"
    }
  ],
  "homepageUrl": "https://quickchart.io",
  "actions": [
    {
      "id": "quickchart.build_chart_url",
      "service": "quickchart",
      "name": "build_chart_url",
      "description": "Build a QuickChart image URL from a Chart.js configuration without downloading the rendered image.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "chart": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The Chart.js configuration object to render with QuickChart."
          },
          "width": {
            "type": "integer",
            "minimum": 1,
            "maximum": 4000,
            "description": "The chart image width in pixels."
          },
          "height": {
            "type": "integer",
            "minimum": 1,
            "maximum": 4000,
            "description": "The chart image height in pixels."
          },
          "devicePixelRatio": {
            "type": "integer",
            "minimum": 1,
            "maximum": 2,
            "description": "The output device pixel ratio. QuickChart accepts 1 or 2."
          },
          "backgroundColor": {
            "type": "string",
            "minLength": 1,
            "description": "The chart canvas background color as a CSS color, such as transparent, white, or #ffffff."
          },
          "version": {
            "type": "string",
            "minLength": 1,
            "description": "The Chart.js version to use, such as 2, 3, 4, or a valid Chart.js version string."
          },
          "format": {
            "type": "string",
            "enum": [
              "png",
              "webp",
              "jpg",
              "svg",
              "pdf"
            ],
            "description": "The image format QuickChart should render."
          }
        },
        "additionalProperties": false,
        "required": [
          "chart"
        ],
        "description": "Input parameters for building a QuickChart chart image URL."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "description": "The QuickChart URL that renders the chart image.",
            "format": "uri"
          }
        },
        "additionalProperties": false,
        "description": "The generated QuickChart chart URL."
      }
    },
    {
      "id": "quickchart.build_qr_url",
      "service": "quickchart",
      "name": "build_qr_url",
      "description": "Build a QuickChart QR code image URL for text, URLs, or other compact QR payloads.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "text": {
            "type": "string",
            "minLength": 1,
            "description": "The text or URL to encode in the QR code."
          },
          "size": {
            "type": "integer",
            "minimum": 1,
            "maximum": 4000,
            "description": "The QR code width and height in pixels."
          },
          "margin": {
            "type": "integer",
            "minimum": 0,
            "maximum": 100,
            "description": "The QR code margin in modules."
          },
          "dark": {
            "type": "string",
            "minLength": 1,
            "description": "The dark module color as a CSS color or hex color."
          },
          "light": {
            "type": "string",
            "minLength": 1,
            "description": "The light module color as a CSS color or hex color."
          },
          "ecLevel": {
            "type": "string",
            "enum": [
              "L",
              "M",
              "Q",
              "H"
            ],
            "description": "The QR code error correction level."
          },
          "format": {
            "type": "string",
            "enum": [
              "png",
              "svg"
            ],
            "description": "The QR code image format."
          }
        },
        "additionalProperties": false,
        "required": [
          "text"
        ],
        "description": "Input parameters for building a QuickChart QR code URL."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "description": "The QuickChart URL that renders the QR code image.",
            "format": "uri"
          }
        },
        "additionalProperties": false,
        "description": "The generated QuickChart QR code URL."
      }
    },
    {
      "id": "quickchart.create_chart_short_url",
      "service": "quickchart",
      "name": "create_chart_short_url",
      "description": "Create a QuickChart short URL for a Chart.js configuration and return the URL plus creation metadata.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "chart": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The Chart.js configuration object to render with QuickChart."
          },
          "width": {
            "type": "integer",
            "minimum": 1,
            "maximum": 4000,
            "description": "The chart image width in pixels."
          },
          "height": {
            "type": "integer",
            "minimum": 1,
            "maximum": 4000,
            "description": "The chart image height in pixels."
          },
          "devicePixelRatio": {
            "type": "integer",
            "minimum": 1,
            "maximum": 2,
            "description": "The output device pixel ratio. QuickChart accepts 1 or 2."
          },
          "backgroundColor": {
            "type": "string",
            "minLength": 1,
            "description": "The chart canvas background color as a CSS color, such as transparent, white, or #ffffff."
          },
          "version": {
            "type": "string",
            "minLength": 1,
            "description": "The Chart.js version to use, such as 2, 3, 4, or a valid Chart.js version string."
          },
          "format": {
            "type": "string",
            "enum": [
              "png",
              "webp",
              "jpg",
              "svg",
              "pdf"
            ],
            "description": "The image format QuickChart should render."
          },
          "key": {
            "type": "string",
            "minLength": 1,
            "description": "An optional QuickChart API key for paid-account short URL retention."
          }
        },
        "additionalProperties": false,
        "required": [
          "chart"
        ],
        "description": "Input parameters for creating a QuickChart chart short URL."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Whether QuickChart reported the short URL creation as successful."
          },
          "url": {
            "anyOf": [
              {
                "type": "string",
                "description": "The generated short URL for rendering the chart.",
                "format": "uri"
              },
              {
                "type": "null"
              }
            ]
          },
          "raw": {
            "description": "The raw JSON payload returned by QuickChart."
          }
        },
        "additionalProperties": false,
        "description": "The QuickChart short URL creation response."
      }
    }
  ]
}
