{
  "service": "raygun",
  "displayName": "Raygun",
  "categories": [
    "Developer Tools",
    "Data"
  ],
  "authTypes": [
    "api_key"
  ],
  "auth": [
    {
      "type": "api_key",
      "label": "Personal Access Token",
      "placeholder": "RAYGUN_PAT",
      "description": "Raygun personal access token used as a Bearer token. Create it in Raygun under My settings > Personal Access Tokens.",
      "extraFields": []
    }
  ],
  "homepageUrl": "https://raygun.com",
  "actions": [
    {
      "id": "raygun.create_deployment",
      "service": "raygun",
      "name": "create_deployment",
      "description": "Create a deployment for a Raygun application.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "applicationIdentifier": {
            "type": "string",
            "minLength": 1,
            "description": "Raygun application identifier."
          },
          "version": {
            "type": "string",
            "minLength": 1,
            "maxLength": 128,
            "description": "Deployment version."
          },
          "ownerName": {
            "type": "string",
            "maxLength": 128,
            "description": "Deployment owner name."
          },
          "emailAddress": {
            "type": "string",
            "maxLength": 128,
            "description": "Deployment owner email address.",
            "format": "email"
          },
          "comment": {
            "type": "string",
            "description": "Deployment comment."
          },
          "scmIdentifier": {
            "type": "string",
            "maxLength": 256,
            "description": "Source control identifier for the deployment."
          },
          "scmType": {
            "type": "string",
            "enum": [
              "gitHub",
              "gitLab",
              "azureDevOps",
              "bitbucket"
            ],
            "description": "Source control system type."
          },
          "deployedAt": {
            "type": "string",
            "description": "Deployment timestamp.",
            "format": "date-time"
          }
        },
        "additionalProperties": false,
        "required": [
          "applicationIdentifier",
          "version"
        ],
        "description": "The request payload for creating a Raygun deployment."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "deployment": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw Raygun API object for advanced fields."
          }
        },
        "additionalProperties": false,
        "description": "A Raygun deployment result."
      }
    },
    {
      "id": "raygun.delete_deployment",
      "service": "raygun",
      "name": "delete_deployment",
      "description": "Delete a Raygun deployment.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "applicationIdentifier": {
            "type": "string",
            "minLength": 1,
            "description": "Raygun application identifier."
          },
          "deploymentIdentifier": {
            "type": "string",
            "minLength": 1,
            "description": "Raygun deployment identifier."
          }
        },
        "additionalProperties": false,
        "description": "The input for retrieving a Raygun deployment."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "applicationIdentifier": {
            "type": "string",
            "minLength": 1,
            "description": "Raygun application identifier."
          },
          "deploymentIdentifier": {
            "type": "string",
            "minLength": 1,
            "description": "Raygun deployment identifier."
          },
          "deleted": {
            "type": "boolean",
            "description": "Whether the deployment delete request completed successfully."
          }
        },
        "additionalProperties": false,
        "description": "The Raygun deployment delete result."
      }
    },
    {
      "id": "raygun.get_application",
      "service": "raygun",
      "name": "get_application",
      "description": "Retrieve a Raygun application by identifier.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "applicationIdentifier": {
            "type": "string",
            "minLength": 1,
            "description": "Raygun application identifier."
          }
        },
        "additionalProperties": false,
        "description": "The input for retrieving a Raygun application."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "application": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw Raygun API object for advanced fields."
          }
        },
        "additionalProperties": false,
        "description": "A Raygun application result."
      }
    },
    {
      "id": "raygun.get_deployment",
      "service": "raygun",
      "name": "get_deployment",
      "description": "Retrieve a Raygun deployment by identifier.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "applicationIdentifier": {
            "type": "string",
            "minLength": 1,
            "description": "Raygun application identifier."
          },
          "deploymentIdentifier": {
            "type": "string",
            "minLength": 1,
            "description": "Raygun deployment identifier."
          }
        },
        "additionalProperties": false,
        "description": "The input for retrieving a Raygun deployment."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "deployment": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw Raygun API object for advanced fields."
          }
        },
        "additionalProperties": false,
        "description": "A Raygun deployment result."
      }
    },
    {
      "id": "raygun.get_error_group",
      "service": "raygun",
      "name": "get_error_group",
      "description": "Retrieve a Raygun error group by identifier.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "applicationIdentifier": {
            "type": "string",
            "minLength": 1,
            "description": "Raygun application identifier."
          },
          "errorGroupIdentifier": {
            "type": "string",
            "minLength": 1,
            "description": "Raygun error group identifier."
          }
        },
        "additionalProperties": false,
        "description": "The input for retrieving a Raygun error group."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "errorGroup": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw Raygun API object for advanced fields."
          }
        },
        "additionalProperties": false,
        "description": "A Raygun error group result."
      }
    },
    {
      "id": "raygun.get_latest_deployment",
      "service": "raygun",
      "name": "get_latest_deployment",
      "description": "Retrieve the latest deployment for a Raygun application.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "applicationIdentifier": {
            "type": "string",
            "minLength": 1,
            "description": "Raygun application identifier."
          }
        },
        "additionalProperties": false,
        "description": "The input for retrieving the latest Raygun deployment."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "deployment": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw Raygun API object for advanced fields."
          }
        },
        "additionalProperties": false,
        "description": "A Raygun deployment result."
      }
    },
    {
      "id": "raygun.list_applications",
      "service": "raygun",
      "name": "list_applications",
      "description": "List Raygun applications available to the personal access token.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "count": {
            "type": "integer",
            "minimum": 1,
            "maximum": 500,
            "description": "Maximum number of items to return."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "maximum": 2147483647,
            "description": "Number of items to skip before returning results."
          },
          "orderBy": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "A Raygun orderBy entry such as `name desc`."
            },
            "description": "Fields and optional directions accepted by the Raygun endpoint.",
            "minItems": 1
          }
        },
        "additionalProperties": false,
        "description": "Pagination controls for a Raygun list request."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "applications": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "The raw Raygun API object for advanced fields."
            },
            "description": "Raygun applications returned by the API."
          },
          "pagination": {
            "type": "object",
            "properties": {
              "totalCount": {
                "type": "integer",
                "description": "Total number of items available when Raygun returns the header."
              },
              "count": {
                "type": "integer",
                "description": "Number of items in the current response."
              },
              "links": {
                "type": "object",
                "additionalProperties": {
                  "type": "string",
                  "description": "A pagination URL."
                },
                "description": "Parsed Raygun Link header URLs by relation."
              }
            },
            "additionalProperties": false,
            "required": [
              "count"
            ],
            "description": "Pagination metadata returned by Raygun list responses."
          }
        },
        "additionalProperties": false,
        "description": "A Raygun application list."
      }
    },
    {
      "id": "raygun.list_deployments",
      "service": "raygun",
      "name": "list_deployments",
      "description": "List deployments for a Raygun application.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "applicationIdentifier": {
            "type": "string",
            "minLength": 1,
            "description": "Raygun application identifier."
          },
          "count": {
            "type": "integer",
            "minimum": 1,
            "maximum": 500,
            "description": "Maximum number of items to return."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "maximum": 2147483647,
            "description": "Number of items to skip before returning results."
          },
          "orderBy": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "A Raygun deployment orderBy entry such as `deployedAt desc`."
            },
            "description": "Fields and optional directions accepted by the Raygun deployments endpoint.",
            "minItems": 1
          }
        },
        "additionalProperties": false,
        "required": [
          "applicationIdentifier"
        ],
        "description": "Filters and pagination controls for listing Raygun deployments."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "deployments": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "The raw Raygun API object for advanced fields."
            },
            "description": "Raygun deployments returned by the API."
          },
          "pagination": {
            "type": "object",
            "properties": {
              "totalCount": {
                "type": "integer",
                "description": "Total number of items available when Raygun returns the header."
              },
              "count": {
                "type": "integer",
                "description": "Number of items in the current response."
              },
              "links": {
                "type": "object",
                "additionalProperties": {
                  "type": "string",
                  "description": "A pagination URL."
                },
                "description": "Parsed Raygun Link header URLs by relation."
              }
            },
            "additionalProperties": false,
            "required": [
              "count"
            ],
            "description": "Pagination metadata returned by Raygun list responses."
          }
        },
        "additionalProperties": false,
        "description": "A Raygun deployment list."
      }
    },
    {
      "id": "raygun.list_error_groups",
      "service": "raygun",
      "name": "list_error_groups",
      "description": "List crash reporting error groups for a Raygun application.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "applicationIdentifier": {
            "type": "string",
            "minLength": 1,
            "description": "Raygun application identifier."
          },
          "count": {
            "type": "integer",
            "minimum": 1,
            "maximum": 500,
            "description": "Maximum number of items to return."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "maximum": 2147483647,
            "description": "Number of items to skip before returning results."
          },
          "orderBy": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "A Raygun error group orderBy entry such as `lastOccurredAt desc`."
            },
            "description": "Fields and optional directions accepted by the Raygun error groups endpoint.",
            "minItems": 1
          }
        },
        "additionalProperties": false,
        "required": [
          "applicationIdentifier"
        ],
        "description": "Filters and pagination controls for listing Raygun error groups."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "errorGroups": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "The raw Raygun API object for advanced fields."
            },
            "description": "Raygun error groups returned by the API."
          },
          "pagination": {
            "type": "object",
            "properties": {
              "totalCount": {
                "type": "integer",
                "description": "Total number of items available when Raygun returns the header."
              },
              "count": {
                "type": "integer",
                "description": "Number of items in the current response."
              },
              "links": {
                "type": "object",
                "additionalProperties": {
                  "type": "string",
                  "description": "A pagination URL."
                },
                "description": "Parsed Raygun Link header URLs by relation."
              }
            },
            "additionalProperties": false,
            "required": [
              "count"
            ],
            "description": "Pagination metadata returned by Raygun list responses."
          }
        },
        "additionalProperties": false,
        "description": "A Raygun error group list."
      }
    },
    {
      "id": "raygun.update_deployment",
      "service": "raygun",
      "name": "update_deployment",
      "description": "Update a Raygun deployment.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "applicationIdentifier": {
            "type": "string",
            "minLength": 1,
            "description": "Raygun application identifier."
          },
          "deploymentIdentifier": {
            "type": "string",
            "minLength": 1,
            "description": "Raygun deployment identifier."
          },
          "version": {
            "type": "string",
            "minLength": 1,
            "maxLength": 128,
            "description": "Deployment version."
          },
          "ownerName": {
            "type": "string",
            "maxLength": 128,
            "description": "Deployment owner name."
          },
          "emailAddress": {
            "type": "string",
            "maxLength": 128,
            "description": "Deployment owner email address.",
            "format": "email"
          },
          "comment": {
            "type": "string",
            "description": "Deployment comment."
          },
          "scmIdentifier": {
            "type": "string",
            "maxLength": 256,
            "description": "Source control identifier for the deployment."
          },
          "scmType": {
            "type": "string",
            "enum": [
              "gitHub",
              "gitLab",
              "azureDevOps",
              "bitbucket"
            ],
            "description": "Source control system type."
          },
          "deployedAt": {
            "type": "string",
            "description": "Deployment timestamp.",
            "format": "date-time"
          }
        },
        "additionalProperties": false,
        "required": [
          "applicationIdentifier",
          "deploymentIdentifier"
        ],
        "description": "The request payload for updating a Raygun deployment.",
        "anyOf": [
          {
            "required": [
              "version"
            ]
          },
          {
            "required": [
              "ownerName"
            ]
          },
          {
            "required": [
              "emailAddress"
            ]
          },
          {
            "required": [
              "comment"
            ]
          },
          {
            "required": [
              "scmIdentifier"
            ]
          },
          {
            "required": [
              "scmType"
            ]
          },
          {
            "required": [
              "deployedAt"
            ]
          }
        ]
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "deployment": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw Raygun API object for advanced fields."
          }
        },
        "additionalProperties": false,
        "description": "A Raygun deployment result."
      }
    }
  ]
}
