{
  "service": "carbone",
  "displayName": "Carbone",
  "categories": [
    "Productivity",
    "Developer Tools"
  ],
  "authTypes": [
    "api_key"
  ],
  "auth": [
    {
      "type": "api_key",
      "label": "API Key",
      "placeholder": "CARBONE_API_KEY",
      "description": "Carbone API key used as an Authorization Bearer token. Copy the production or test key from your Carbone account home page.",
      "extraFields": []
    }
  ],
  "homepageUrl": "https://carbone.io",
  "actions": [
    {
      "id": "carbone.delete_template",
      "service": "carbone",
      "name": "delete_template",
      "description": "Delete a Carbone template or a specific template version.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "templateIdOrVersionId": {
            "type": "string",
            "minLength": 1,
            "description": "The Carbone template ID or version ID.",
            "pattern": "\\S"
          },
          "carboneVersion": {
            "type": "integer",
            "minimum": 4,
            "maximum": 5,
            "description": "The Carbone API version header value."
          }
        },
        "additionalProperties": false,
        "required": [
          "templateIdOrVersionId"
        ],
        "description": "The input payload for deleting a Carbone template."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Whether the delete request succeeded."
          },
          "raw": {
            "type": "object",
            "properties": {
              "success": {
                "anyOf": [
                  {
                    "type": "boolean",
                    "description": "Whether Carbone reported a successful operation."
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "additionalProperties": true,
            "description": "The raw Carbone response wrapper."
          }
        },
        "additionalProperties": false,
        "description": "The response returned after deleting a Carbone template."
      }
    },
    {
      "id": "carbone.list_template_categories",
      "service": "carbone",
      "name": "list_template_categories",
      "description": "List categories used by deployed Carbone templates.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "carboneVersion": {
            "type": "integer",
            "minimum": 4,
            "maximum": 5,
            "description": "The Carbone API version header value."
          }
        },
        "additionalProperties": false,
        "description": "The input payload for listing Carbone template categories."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "categories": {
            "type": "array",
            "items": {
              "type": "string",
              "description": "One category."
            },
            "description": "The template categories returned by Carbone."
          },
          "raw": {
            "type": "object",
            "properties": {
              "success": {
                "anyOf": [
                  {
                    "type": "boolean",
                    "description": "Whether Carbone reported a successful operation."
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "additionalProperties": true,
            "description": "The raw Carbone response wrapper."
          }
        },
        "additionalProperties": false,
        "description": "The response returned when listing Carbone template categories."
      }
    },
    {
      "id": "carbone.list_template_tags",
      "service": "carbone",
      "name": "list_template_tags",
      "description": "List tags used by deployed Carbone templates.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "carboneVersion": {
            "type": "integer",
            "minimum": 4,
            "maximum": 5,
            "description": "The Carbone API version header value."
          }
        },
        "additionalProperties": false,
        "description": "The input payload for listing Carbone template tags."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "tags": {
            "type": "array",
            "items": {
              "type": "string",
              "description": "One tag."
            },
            "description": "The template tags returned by Carbone."
          },
          "raw": {
            "type": "object",
            "properties": {
              "success": {
                "anyOf": [
                  {
                    "type": "boolean",
                    "description": "Whether Carbone reported a successful operation."
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "additionalProperties": true,
            "description": "The raw Carbone response wrapper."
          }
        },
        "additionalProperties": false,
        "description": "The response returned when listing Carbone template tags."
      }
    },
    {
      "id": "carbone.list_templates",
      "service": "carbone",
      "name": "list_templates",
      "description": "List Carbone templates with optional filtering and cursor pagination.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "description": "Filter templates by template ID.",
            "pattern": "\\S"
          },
          "versionId": {
            "type": "string",
            "minLength": 1,
            "description": "Filter templates by version ID.",
            "pattern": "\\S"
          },
          "category": {
            "type": "string",
            "minLength": 1,
            "description": "Filter templates by category.",
            "pattern": "\\S"
          },
          "search": {
            "type": "string",
            "minLength": 1,
            "description": "Search templates by name or ID.",
            "pattern": "\\S"
          },
          "includeVersions": {
            "type": "boolean",
            "description": "Whether to include every template version in the result."
          },
          "cursor": {
            "type": "string",
            "minLength": 1,
            "description": "The cursor returned by a previous list_templates call.",
            "pattern": "\\S"
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "description": "The maximum number of templates to return."
          },
          "carboneVersion": {
            "type": "integer",
            "minimum": 4,
            "maximum": 5,
            "description": "The Carbone API version header value."
          }
        },
        "additionalProperties": false,
        "description": "The input payload for listing Carbone templates."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "templates": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The template ID when returned by Carbone."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "versionId": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The template version ID when returned by Carbone."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "name": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The template name when returned by Carbone."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "category": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The template category when returned by Carbone."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "tags": {
                  "anyOf": [
                    {
                      "type": "array",
                      "items": {
                        "type": "string",
                        "minLength": 1,
                        "description": "One template tag.",
                        "pattern": "\\S"
                      },
                      "description": "The tags attached to the template."
                    },
                    {
                      "type": "null"
                    }
                  ]
                }
              },
              "additionalProperties": true,
              "description": "A Carbone template object returned by the API."
            },
            "description": "The templates returned by Carbone."
          },
          "pagination": {
            "type": "object",
            "properties": {
              "cursor": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The current cursor returned by Carbone."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "nextCursor": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The next cursor returned by Carbone."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "limit": {
                "anyOf": [
                  {
                    "type": "integer",
                    "description": "The page size returned by Carbone."
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "additionalProperties": true,
            "description": "The pagination metadata returned by Carbone."
          },
          "raw": {
            "type": "object",
            "properties": {
              "success": {
                "anyOf": [
                  {
                    "type": "boolean",
                    "description": "Whether Carbone reported a successful operation."
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "additionalProperties": true,
            "description": "The raw Carbone response wrapper."
          }
        },
        "additionalProperties": false,
        "description": "The response returned when listing Carbone templates."
      }
    },
    {
      "id": "carbone.update_template_metadata",
      "service": "carbone",
      "name": "update_template_metadata",
      "description": "Update metadata on an existing Carbone template or template version.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "templateIdOrVersionId": {
            "type": "string",
            "minLength": 1,
            "description": "The Carbone template ID or version ID.",
            "pattern": "\\S"
          },
          "metadata": {
            "type": "object",
            "properties": {
              "name": {
                "type": "string",
                "minLength": 1,
                "description": "The template name.",
                "pattern": "\\S"
              },
              "comment": {
                "type": "string",
                "minLength": 1,
                "description": "The template comment.",
                "pattern": "\\S"
              },
              "category": {
                "type": "string",
                "minLength": 1,
                "description": "The template category.",
                "pattern": "\\S"
              },
              "tags": {
                "type": "array",
                "items": {
                  "type": "string",
                  "minLength": 1,
                  "description": "One template tag.",
                  "pattern": "\\S"
                },
                "description": "The tags attached to the template."
              },
              "expireAt": {
                "type": "integer",
                "description": "The UTC Unix timestamp used by Carbone."
              },
              "deployedAt": {
                "type": "integer",
                "description": "The UTC Unix timestamp used by Carbone."
              },
              "versioning": {
                "type": "boolean",
                "description": "Whether template versioning should be enabled."
              }
            },
            "additionalProperties": false,
            "description": "The metadata fields used to update a Carbone template."
          },
          "carboneVersion": {
            "type": "integer",
            "minimum": 4,
            "maximum": 5,
            "description": "The Carbone API version header value."
          }
        },
        "additionalProperties": false,
        "required": [
          "templateIdOrVersionId",
          "metadata"
        ],
        "description": "The input payload for updating Carbone template metadata."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Whether the update request succeeded."
          },
          "template": {
            "anyOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "anyOf": [
                      {
                        "type": "string",
                        "description": "The template ID when returned by Carbone."
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "versionId": {
                    "anyOf": [
                      {
                        "type": "string",
                        "description": "The template version ID when returned by Carbone."
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "name": {
                    "anyOf": [
                      {
                        "type": "string",
                        "description": "The template name when returned by Carbone."
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "category": {
                    "anyOf": [
                      {
                        "type": "string",
                        "description": "The template category when returned by Carbone."
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "tags": {
                    "anyOf": [
                      {
                        "type": "array",
                        "items": {
                          "type": "string",
                          "minLength": 1,
                          "description": "One template tag.",
                          "pattern": "\\S"
                        },
                        "description": "The tags attached to the template."
                      },
                      {
                        "type": "null"
                      }
                    ]
                  }
                },
                "additionalProperties": true,
                "description": "A Carbone template object returned by the API."
              },
              {
                "type": "null"
              }
            ]
          },
          "raw": {
            "type": "object",
            "properties": {
              "success": {
                "anyOf": [
                  {
                    "type": "boolean",
                    "description": "Whether Carbone reported a successful operation."
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "additionalProperties": true,
            "description": "The raw Carbone response wrapper."
          }
        },
        "additionalProperties": false,
        "description": "The response returned after updating Carbone template metadata."
      }
    }
  ]
}
