{
  "service": "grafana_cloud",
  "displayName": "Grafana Cloud",
  "categories": [
    "Developer Tools",
    "Data"
  ],
  "authTypes": [
    "api_key"
  ],
  "auth": [
    {
      "type": "api_key",
      "label": "Cloud Access Policy Token",
      "placeholder": "GRAFANA_CLOUD_ACCESS_POLICY_TOKEN",
      "description": "Grafana Cloud Access Policy token sent as a Bearer token. Create or view tokens in Grafana Cloud Access Policies: https://grafana.com/docs/grafana-cloud/security-and-account-management/authentication-and-permissions/access-policies/",
      "extraFields": [
        {
          "key": "orgSlug",
          "label": "Organization Slug",
          "inputType": "text",
          "required": true,
          "secret": false,
          "placeholder": "grafanacom",
          "description": "Grafana Cloud organization slug used in /api/orgs/<ORG_SLUG> endpoints. Find it in your Grafana Cloud Portal organization URL or Cloud API examples."
        }
      ]
    }
  ],
  "homepageUrl": "https://grafana.com/products/cloud/",
  "actions": [
    {
      "id": "grafana_cloud.get_billed_usage",
      "service": "grafana_cloud",
      "name": "get_billed_usage",
      "description": "Get Grafana Cloud billed usage for the connected organization by month.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "month": {
            "type": "integer",
            "minimum": 1,
            "maximum": 12,
            "description": "The billing month to retrieve, from 1 to 12."
          },
          "year": {
            "type": "integer",
            "minimum": 2000,
            "description": "The billing year to retrieve."
          }
        },
        "additionalProperties": false,
        "description": "Input for retrieving Grafana Cloud billed usage."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "usage": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "anyOf": [
                    {
                      "type": "integer",
                      "description": "The Grafana Cloud billed usage item ID."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "dimensionId": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The billed usage dimension ID."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "dimensionName": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The billed usage dimension name."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "unit": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The usage unit."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "includedUsage": {
                  "anyOf": [
                    {
                      "type": "number",
                      "description": "The included usage quantity."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "totalUsage": {
                  "anyOf": [
                    {
                      "type": "number",
                      "description": "The total usage quantity."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "overage": {
                  "anyOf": [
                    {
                      "type": "number",
                      "description": "The overage quantity."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "amountDue": {
                  "anyOf": [
                    {
                      "type": "number",
                      "description": "The amount due for this usage item."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "raw": {
                  "type": "object",
                  "properties": {},
                  "additionalProperties": true,
                  "description": "The raw Grafana Cloud API object."
                }
              },
              "additionalProperties": false,
              "description": "A normalized Grafana Cloud billed usage item."
            },
            "description": "Billed usage items returned by Grafana Cloud."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw Grafana Cloud API object."
          }
        },
        "additionalProperties": false,
        "description": "Grafana Cloud billed usage response."
      }
    },
    {
      "id": "grafana_cloud.get_stack_connectivity",
      "service": "grafana_cloud",
      "name": "get_stack_connectivity",
      "description": "Get private connectivity information for a Grafana Cloud stack.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "stackSlug": {
            "type": "string",
            "minLength": 1,
            "description": "The Grafana Cloud stack slug."
          }
        },
        "additionalProperties": false,
        "description": "Input for retrieving Grafana Cloud stack connectivity."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "connectivity": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw Grafana Cloud API object."
          }
        },
        "additionalProperties": false,
        "description": "Grafana Cloud stack connectivity response."
      }
    },
    {
      "id": "grafana_cloud.list_regions",
      "service": "grafana_cloud",
      "name": "list_regions",
      "description": "List Grafana Cloud stack regions that can host Grafana Cloud stacks.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false,
        "description": "Input for listing Grafana Cloud stack regions."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "regions": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "anyOf": [
                    {
                      "type": "integer",
                      "description": "The Grafana Cloud region ID."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "slug": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The Grafana Cloud region slug."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "name": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The Grafana Cloud region name."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "status": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The Grafana Cloud region status."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "provider": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The infrastructure provider for the region."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "description": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The region description."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "raw": {
                  "type": "object",
                  "properties": {},
                  "additionalProperties": true,
                  "description": "The raw Grafana Cloud API object."
                }
              },
              "additionalProperties": false,
              "description": "A normalized Grafana Cloud stack region."
            },
            "description": "Regions returned by Grafana Cloud."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw Grafana Cloud API object."
          }
        },
        "additionalProperties": false,
        "description": "Grafana Cloud stack regions response."
      }
    },
    {
      "id": "grafana_cloud.list_stacks",
      "service": "grafana_cloud",
      "name": "list_stacks",
      "description": "List Grafana Cloud stacks in the connected organization.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "pageSize": {
            "type": "integer",
            "minimum": 1,
            "description": "The number of records to request from Grafana Cloud."
          },
          "pageCursor": {
            "type": "string",
            "minLength": 1,
            "description": "The Grafana Cloud pagination cursor from a previous response."
          }
        },
        "additionalProperties": false,
        "description": "Input for listing Grafana Cloud stacks."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "stacks": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "anyOf": [
                    {
                      "type": "integer",
                      "description": "The Grafana Cloud stack ID."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "slug": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The Grafana Cloud stack slug."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "name": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The Grafana Cloud stack name."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "url": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The Grafana Cloud stack URL."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "status": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The Grafana Cloud stack status."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "orgSlug": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The Grafana Cloud organization slug."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "orgName": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The Grafana Cloud organization name."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "regionSlug": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The Grafana Cloud region slug for the stack."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "planName": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The Grafana Cloud plan name for the stack."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "raw": {
                  "type": "object",
                  "properties": {},
                  "additionalProperties": true,
                  "description": "The raw Grafana Cloud API object."
                }
              },
              "additionalProperties": false,
              "description": "A normalized Grafana Cloud stack."
            },
            "description": "Stacks returned by Grafana Cloud."
          },
          "nextPageCursor": {
            "anyOf": [
              {
                "type": "string",
                "description": "The cursor to pass as pageCursor for the next Grafana Cloud stacks request."
              },
              {
                "type": "null"
              }
            ]
          },
          "nextPage": {
            "anyOf": [
              {
                "type": "string",
                "description": "The next page URL returned by Grafana Cloud, if present."
              },
              {
                "type": "null"
              }
            ]
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw Grafana Cloud API object."
          }
        },
        "additionalProperties": false,
        "description": "Grafana Cloud stacks response."
      }
    }
  ]
}
