{
  "service": "rootly",
  "displayName": "Rootly",
  "categories": [
    "Developer Tools",
    "Productivity"
  ],
  "authTypes": [
    "api_key"
  ],
  "auth": [
    {
      "type": "api_key",
      "label": "API Key",
      "placeholder": "rootly_api_key",
      "description": "Rootly API key sent with the Authorization Bearer header. Generate it in Rootly API settings.",
      "extraFields": []
    }
  ],
  "homepageUrl": "https://rootly.com",
  "actions": [
    {
      "id": "rootly.get_current_user",
      "service": "rootly",
      "name": "get_current_user",
      "description": "Get the Rootly user associated with the API key.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false,
        "description": "This action does not require input."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "resource": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "minLength": 1,
                "description": "The Rootly resource ID."
              },
              "type": {
                "type": "string",
                "minLength": 1,
                "description": "The Rootly resource type."
              },
              "attributes": {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "The Rootly resource attributes."
              },
              "relationships": {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "The Rootly resource relationships."
              }
            },
            "additionalProperties": true,
            "description": "A Rootly JSON:API resource."
          },
          "included": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "One included Rootly JSON:API resource."
            },
            "description": "Included Rootly JSON:API resources."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw Rootly JSON:API response."
          }
        },
        "additionalProperties": false,
        "required": [
          "resource",
          "raw"
        ],
        "description": "A Rootly single-resource response."
      }
    },
    {
      "id": "rootly.get_incident",
      "service": "rootly",
      "name": "get_incident",
      "description": "Retrieve one Rootly incident by UUID or slug.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "description": "The Rootly resource UUID or slug."
          },
          "include": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "One Rootly include value."
            },
            "description": "Related Rootly resources to include in the JSON:API response.",
            "minItems": 1
          }
        },
        "additionalProperties": false,
        "required": [
          "id"
        ],
        "description": "Input for retrieving one Rootly resource."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "resource": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "minLength": 1,
                "description": "The Rootly resource ID."
              },
              "type": {
                "type": "string",
                "minLength": 1,
                "description": "The Rootly resource type."
              },
              "attributes": {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "The Rootly resource attributes."
              },
              "relationships": {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "The Rootly resource relationships."
              }
            },
            "additionalProperties": true,
            "description": "A Rootly JSON:API resource."
          },
          "included": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "One included Rootly JSON:API resource."
            },
            "description": "Included Rootly JSON:API resources."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw Rootly JSON:API response."
          }
        },
        "additionalProperties": false,
        "required": [
          "resource",
          "raw"
        ],
        "description": "A Rootly single-resource response."
      }
    },
    {
      "id": "rootly.list_incidents",
      "service": "rootly",
      "name": "list_incidents",
      "description": "List Rootly incidents with common filters and pagination.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "pageAfter": {
            "type": "string",
            "minLength": 1,
            "description": "The Rootly cursor from meta.next_cursor."
          },
          "pageNumber": {
            "type": "integer",
            "minimum": 1,
            "description": "The page number to request."
          },
          "pageSize": {
            "type": "integer",
            "minimum": 1,
            "description": "The number of records to request per page."
          },
          "search": {
            "type": "string",
            "minLength": 1,
            "description": "Search text for Rootly incident filtering."
          },
          "kind": {
            "type": "string",
            "minLength": 1,
            "description": "Rootly incident kind filter."
          },
          "status": {
            "type": "string",
            "minLength": 1,
            "description": "Rootly incident status filter."
          },
          "private": {
            "type": "boolean",
            "description": "Whether to filter private incidents."
          },
          "userId": {
            "type": "integer",
            "minimum": 1,
            "description": "Rootly user ID filter."
          },
          "severity": {
            "type": "string",
            "minLength": 1,
            "description": "Rootly severity name filter."
          },
          "severityId": {
            "type": "string",
            "minLength": 1,
            "description": "Rootly severity ID filter."
          },
          "labels": {
            "type": "string",
            "minLength": 1,
            "description": "Comma-separated Rootly label filter."
          },
          "serviceIds": {
            "type": "string",
            "minLength": 1,
            "description": "Comma-separated Rootly service ID filter."
          },
          "serviceNames": {
            "type": "string",
            "minLength": 1,
            "description": "Comma-separated Rootly service name filter."
          },
          "teamIds": {
            "type": "string",
            "minLength": 1,
            "description": "Comma-separated Rootly team ID filter."
          },
          "teamNames": {
            "type": "string",
            "minLength": 1,
            "description": "Comma-separated Rootly team name filter."
          },
          "createdAtGt": {
            "type": "string",
            "description": "The ISO 8601 timestamp for this filter.",
            "format": "date-time"
          },
          "createdAtGte": {
            "type": "string",
            "description": "The ISO 8601 timestamp for this filter.",
            "format": "date-time"
          },
          "createdAtLt": {
            "type": "string",
            "description": "The ISO 8601 timestamp for this filter.",
            "format": "date-time"
          },
          "createdAtLte": {
            "type": "string",
            "description": "The ISO 8601 timestamp for this filter.",
            "format": "date-time"
          },
          "sort": {
            "type": "string",
            "minLength": 1,
            "description": "The Rootly sort expression, such as name or -created_at."
          }
        },
        "additionalProperties": false,
        "description": "Input for listing Rootly incidents."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "resources": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "minLength": 1,
                  "description": "The Rootly resource ID."
                },
                "type": {
                  "type": "string",
                  "minLength": 1,
                  "description": "The Rootly resource type."
                },
                "attributes": {
                  "type": "object",
                  "properties": {},
                  "additionalProperties": true,
                  "description": "The Rootly resource attributes."
                },
                "relationships": {
                  "type": "object",
                  "properties": {},
                  "additionalProperties": true,
                  "description": "The Rootly resource relationships."
                }
              },
              "additionalProperties": true,
              "description": "A Rootly JSON:API resource."
            },
            "description": "Rootly JSON:API resources."
          },
          "included": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "One included Rootly JSON:API resource."
            },
            "description": "Included Rootly JSON:API resources."
          },
          "links": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Rootly pagination or resource links."
          },
          "meta": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Rootly response metadata."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw Rootly JSON:API response."
          }
        },
        "additionalProperties": false,
        "required": [
          "resources",
          "raw"
        ],
        "description": "A Rootly list response."
      }
    },
    {
      "id": "rootly.list_services",
      "service": "rootly",
      "name": "list_services",
      "description": "List Rootly services with common filters and pagination.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "include": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "One Rootly include value."
            },
            "description": "Related Rootly resources to include in the JSON:API response.",
            "minItems": 1
          },
          "pageNumber": {
            "type": "integer",
            "minimum": 1,
            "description": "The page number to request."
          },
          "pageSize": {
            "type": "integer",
            "minimum": 1,
            "description": "The number of records to request per page."
          },
          "search": {
            "type": "string",
            "minLength": 1,
            "description": "Search text for Rootly filtering."
          },
          "name": {
            "type": "string",
            "minLength": 1,
            "description": "Rootly name filter."
          },
          "slug": {
            "type": "string",
            "minLength": 1,
            "description": "Rootly slug filter."
          },
          "externalId": {
            "type": "string",
            "minLength": 1,
            "description": "Rootly external ID filter."
          },
          "alertBroadcastEnabled": {
            "type": "boolean",
            "description": "Whether alert broadcast is enabled."
          },
          "incidentBroadcastEnabled": {
            "type": "boolean",
            "description": "Whether incident broadcast is enabled."
          },
          "createdAtGt": {
            "type": "string",
            "description": "The ISO 8601 timestamp for this filter.",
            "format": "date-time"
          },
          "createdAtGte": {
            "type": "string",
            "description": "The ISO 8601 timestamp for this filter.",
            "format": "date-time"
          },
          "createdAtLt": {
            "type": "string",
            "description": "The ISO 8601 timestamp for this filter.",
            "format": "date-time"
          },
          "createdAtLte": {
            "type": "string",
            "description": "The ISO 8601 timestamp for this filter.",
            "format": "date-time"
          },
          "sort": {
            "type": "string",
            "minLength": 1,
            "description": "The Rootly sort expression, such as name or -created_at."
          }
        },
        "additionalProperties": false,
        "description": "Input for listing Rootly services."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "resources": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "minLength": 1,
                  "description": "The Rootly resource ID."
                },
                "type": {
                  "type": "string",
                  "minLength": 1,
                  "description": "The Rootly resource type."
                },
                "attributes": {
                  "type": "object",
                  "properties": {},
                  "additionalProperties": true,
                  "description": "The Rootly resource attributes."
                },
                "relationships": {
                  "type": "object",
                  "properties": {},
                  "additionalProperties": true,
                  "description": "The Rootly resource relationships."
                }
              },
              "additionalProperties": true,
              "description": "A Rootly JSON:API resource."
            },
            "description": "Rootly JSON:API resources."
          },
          "included": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "One included Rootly JSON:API resource."
            },
            "description": "Included Rootly JSON:API resources."
          },
          "links": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Rootly pagination or resource links."
          },
          "meta": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Rootly response metadata."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw Rootly JSON:API response."
          }
        },
        "additionalProperties": false,
        "required": [
          "resources",
          "raw"
        ],
        "description": "A Rootly list response."
      }
    },
    {
      "id": "rootly.list_teams",
      "service": "rootly",
      "name": "list_teams",
      "description": "List Rootly teams with common filters and pagination.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "include": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "One Rootly include value."
            },
            "description": "Related Rootly resources to include in the JSON:API response.",
            "minItems": 1
          },
          "pageNumber": {
            "type": "integer",
            "minimum": 1,
            "description": "The page number to request."
          },
          "pageSize": {
            "type": "integer",
            "minimum": 1,
            "description": "The number of records to request per page."
          },
          "search": {
            "type": "string",
            "minLength": 1,
            "description": "Search text for Rootly filtering."
          },
          "name": {
            "type": "string",
            "minLength": 1,
            "description": "Rootly name filter."
          },
          "slug": {
            "type": "string",
            "minLength": 1,
            "description": "Rootly slug filter."
          },
          "externalId": {
            "type": "string",
            "minLength": 1,
            "description": "Rootly external ID filter."
          },
          "alertBroadcastEnabled": {
            "type": "boolean",
            "description": "Whether alert broadcast is enabled."
          },
          "incidentBroadcastEnabled": {
            "type": "boolean",
            "description": "Whether incident broadcast is enabled."
          },
          "createdAtGt": {
            "type": "string",
            "description": "The ISO 8601 timestamp for this filter.",
            "format": "date-time"
          },
          "createdAtGte": {
            "type": "string",
            "description": "The ISO 8601 timestamp for this filter.",
            "format": "date-time"
          },
          "createdAtLt": {
            "type": "string",
            "description": "The ISO 8601 timestamp for this filter.",
            "format": "date-time"
          },
          "createdAtLte": {
            "type": "string",
            "description": "The ISO 8601 timestamp for this filter.",
            "format": "date-time"
          },
          "sort": {
            "type": "string",
            "minLength": 1,
            "description": "The Rootly sort expression, such as name or -created_at."
          },
          "color": {
            "type": "string",
            "minLength": 1,
            "description": "Rootly team color filter."
          }
        },
        "additionalProperties": false,
        "description": "Input for listing Rootly teams."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "resources": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "minLength": 1,
                  "description": "The Rootly resource ID."
                },
                "type": {
                  "type": "string",
                  "minLength": 1,
                  "description": "The Rootly resource type."
                },
                "attributes": {
                  "type": "object",
                  "properties": {},
                  "additionalProperties": true,
                  "description": "The Rootly resource attributes."
                },
                "relationships": {
                  "type": "object",
                  "properties": {},
                  "additionalProperties": true,
                  "description": "The Rootly resource relationships."
                }
              },
              "additionalProperties": true,
              "description": "A Rootly JSON:API resource."
            },
            "description": "Rootly JSON:API resources."
          },
          "included": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "One included Rootly JSON:API resource."
            },
            "description": "Included Rootly JSON:API resources."
          },
          "links": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Rootly pagination or resource links."
          },
          "meta": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Rootly response metadata."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw Rootly JSON:API response."
          }
        },
        "additionalProperties": false,
        "required": [
          "resources",
          "raw"
        ],
        "description": "A Rootly list response."
      }
    }
  ]
}
