{
  "service": "airbrake",
  "displayName": "Airbrake",
  "categories": [
    "Developer Tools",
    "Data"
  ],
  "authTypes": [
    "api_key"
  ],
  "auth": [
    {
      "type": "api_key",
      "label": "User API Key",
      "placeholder": "AIRBRAKE_USER_API_KEY",
      "description": "Airbrake User API key sent as the key query parameter. Airbrake documents User API keys for accessing project data: https://docs.airbrake.io/docs/devops-tools/api/#authentication",
      "extraFields": []
    }
  ],
  "homepageUrl": "https://airbrake.io",
  "actions": [
    {
      "id": "airbrake.get_deploy",
      "service": "airbrake",
      "name": "get_deploy",
      "description": "Get details for one Airbrake deploy.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "projectId": {
            "type": "integer",
            "minimum": 1,
            "description": "The Airbrake project integer identifier."
          },
          "deployId": {
            "type": "integer",
            "minimum": 1,
            "description": "The Airbrake deploy integer identifier."
          }
        },
        "additionalProperties": false,
        "required": [
          "projectId",
          "deployId"
        ],
        "description": "Input parameters for an Airbrake deploy."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "deploy": {
            "type": "object",
            "properties": {
              "id": {
                "anyOf": [
                  {
                    "type": "integer",
                    "description": "The Airbrake deploy identifier."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "environment": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The deploy environment when returned by Airbrake."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "username": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The deploy username when returned by Airbrake."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "revision": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The deploy revision when returned by Airbrake."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "version": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The deploy version when returned by Airbrake."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "raw": {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "The raw Airbrake deploy object."
              }
            },
            "additionalProperties": false,
            "description": "A normalized Airbrake deploy."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw Airbrake deploy response."
          }
        },
        "additionalProperties": false,
        "required": [
          "deploy",
          "raw"
        ],
        "description": "The Airbrake deploy response."
      }
    },
    {
      "id": "airbrake.get_group",
      "service": "airbrake",
      "name": "get_group",
      "description": "Get details for one Airbrake error group.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "projectId": {
            "type": "integer",
            "minimum": 1,
            "description": "The Airbrake project integer identifier."
          },
          "groupId": {
            "type": "integer",
            "minimum": 1,
            "description": "The Airbrake group integer identifier."
          }
        },
        "additionalProperties": false,
        "required": [
          "projectId",
          "groupId"
        ],
        "description": "Input parameters for an Airbrake group."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "group": {
            "type": "object",
            "properties": {
              "id": {
                "anyOf": [
                  {
                    "type": "integer",
                    "description": "The Airbrake group identifier."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "errorClass": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The error class returned by Airbrake."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "errorMessage": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The error message returned by Airbrake."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "noticeCount": {
                "anyOf": [
                  {
                    "type": "integer",
                    "description": "The number of notices in the group."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "lastNoticeAt": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The last notice timestamp returned by Airbrake."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "raw": {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "The raw Airbrake group object."
              }
            },
            "additionalProperties": false,
            "description": "A normalized Airbrake error group."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw Airbrake group response."
          }
        },
        "additionalProperties": false,
        "required": [
          "group",
          "raw"
        ],
        "description": "The Airbrake group response."
      }
    },
    {
      "id": "airbrake.get_notice_status",
      "service": "airbrake",
      "name": "get_notice_status",
      "description": "Get Airbrake processing status for a notice UUID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "projectId": {
            "type": "integer",
            "minimum": 1,
            "description": "The Airbrake project integer identifier."
          },
          "noticeUuid": {
            "type": "string",
            "minLength": 1,
            "description": "The Airbrake notice UUID returned by notice creation."
          }
        },
        "additionalProperties": false,
        "required": [
          "projectId",
          "noticeUuid"
        ],
        "description": "Input parameters for an Airbrake notice status."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "status": {
            "anyOf": [
              {
                "type": "string",
                "description": "The Airbrake notice processing status."
              },
              {
                "type": "null"
              }
            ]
          },
          "groupId": {
            "anyOf": [
              {
                "type": "integer",
                "description": "The Airbrake group identifier when the notice was grouped."
              },
              {
                "type": "null"
              }
            ]
          },
          "message": {
            "anyOf": [
              {
                "type": "string",
                "description": "The Airbrake notice status message when present."
              },
              {
                "type": "null"
              }
            ]
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw Airbrake notice status object."
          }
        },
        "additionalProperties": false,
        "required": [
          "status",
          "groupId",
          "message",
          "raw"
        ],
        "description": "The Airbrake notice status response."
      }
    },
    {
      "id": "airbrake.get_project",
      "service": "airbrake",
      "name": "get_project",
      "description": "Get details for one Airbrake project.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "projectId": {
            "type": "integer",
            "minimum": 1,
            "description": "The Airbrake project integer identifier."
          }
        },
        "additionalProperties": false,
        "required": [
          "projectId"
        ],
        "description": "Input parameters for an Airbrake project."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "project": {
            "type": "object",
            "properties": {
              "id": {
                "anyOf": [
                  {
                    "type": "integer",
                    "description": "The Airbrake project identifier."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "name": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The Airbrake project name."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "raw": {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "The raw Airbrake project object."
              }
            },
            "additionalProperties": false,
            "description": "A normalized Airbrake project."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw Airbrake project response."
          }
        },
        "additionalProperties": false,
        "required": [
          "project",
          "raw"
        ],
        "description": "The Airbrake project response."
      }
    },
    {
      "id": "airbrake.list_deploys",
      "service": "airbrake",
      "name": "list_deploys",
      "description": "List deploys for one Airbrake project.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "projectId": {
            "type": "integer",
            "minimum": 1,
            "description": "The Airbrake project integer identifier."
          },
          "page": {
            "type": "integer",
            "minimum": 1,
            "description": "The one-based Airbrake page number to fetch."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "description": "The maximum number of records to return."
          }
        },
        "additionalProperties": false,
        "required": [
          "projectId"
        ],
        "description": "Input parameters for listing Airbrake deploys."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "deploys": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "anyOf": [
                    {
                      "type": "integer",
                      "description": "The Airbrake deploy identifier."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "environment": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The deploy environment when returned by Airbrake."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "username": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The deploy username when returned by Airbrake."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "revision": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The deploy revision when returned by Airbrake."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "version": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The deploy version when returned by Airbrake."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "raw": {
                  "type": "object",
                  "properties": {},
                  "additionalProperties": true,
                  "description": "The raw Airbrake deploy object."
                }
              },
              "additionalProperties": false,
              "description": "A normalized Airbrake deploy."
            },
            "description": "The deploys returned by Airbrake."
          },
          "count": {
            "anyOf": [
              {
                "type": "integer",
                "description": "The total number of records reported by Airbrake."
              },
              {
                "type": "null"
              }
            ]
          },
          "page": {
            "anyOf": [
              {
                "type": "integer",
                "description": "The page number reported by Airbrake."
              },
              {
                "type": "null"
              }
            ]
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw Airbrake deploys response."
          }
        },
        "additionalProperties": false,
        "required": [
          "deploys",
          "count",
          "page",
          "raw"
        ],
        "description": "The Airbrake deploys list response."
      }
    },
    {
      "id": "airbrake.list_groups",
      "service": "airbrake",
      "name": "list_groups",
      "description": "List error groups for one Airbrake project with optional filters.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "projectId": {
            "type": "integer",
            "minimum": 1,
            "description": "The Airbrake project integer identifier."
          },
          "page": {
            "type": "integer",
            "minimum": 1,
            "description": "The one-based Airbrake page number to fetch."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "description": "The maximum number of records to return."
          },
          "deployId": {
            "type": "integer",
            "minimum": 1,
            "description": "The Airbrake deploy integer identifier."
          },
          "archived": {
            "type": "boolean",
            "description": "Whether to return archived Airbrake groups."
          },
          "muted": {
            "type": "boolean",
            "description": "Whether to return muted Airbrake groups."
          },
          "startTime": {
            "type": "string",
            "minLength": 1,
            "description": "Return groups created after this Airbrake start_time value."
          },
          "endTime": {
            "type": "string",
            "minLength": 1,
            "description": "Return groups created before this Airbrake end_time value."
          },
          "order": {
            "type": "string",
            "enum": [
              "last_notice",
              "notice_count",
              "weight",
              "created"
            ],
            "description": "The Airbrake group sort order."
          }
        },
        "additionalProperties": false,
        "required": [
          "projectId"
        ],
        "description": "Input parameters for listing Airbrake groups."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "groups": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "anyOf": [
                    {
                      "type": "integer",
                      "description": "The Airbrake group identifier."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "errorClass": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The error class returned by Airbrake."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "errorMessage": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The error message returned by Airbrake."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "noticeCount": {
                  "anyOf": [
                    {
                      "type": "integer",
                      "description": "The number of notices in the group."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "lastNoticeAt": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The last notice timestamp returned by Airbrake."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "raw": {
                  "type": "object",
                  "properties": {},
                  "additionalProperties": true,
                  "description": "The raw Airbrake group object."
                }
              },
              "additionalProperties": false,
              "description": "A normalized Airbrake error group."
            },
            "description": "The groups returned by Airbrake."
          },
          "count": {
            "anyOf": [
              {
                "type": "integer",
                "description": "The total number of records reported by Airbrake."
              },
              {
                "type": "null"
              }
            ]
          },
          "page": {
            "anyOf": [
              {
                "type": "integer",
                "description": "The page number reported by Airbrake."
              },
              {
                "type": "null"
              }
            ]
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw Airbrake groups response."
          }
        },
        "additionalProperties": false,
        "required": [
          "groups",
          "count",
          "page",
          "raw"
        ],
        "description": "The Airbrake groups list response."
      }
    },
    {
      "id": "airbrake.list_notices",
      "service": "airbrake",
      "name": "list_notices",
      "description": "List notices for one Airbrake error group.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "projectId": {
            "type": "integer",
            "minimum": 1,
            "description": "The Airbrake project integer identifier."
          },
          "groupId": {
            "type": "integer",
            "minimum": 1,
            "description": "The Airbrake group integer identifier."
          },
          "page": {
            "type": "integer",
            "minimum": 1,
            "description": "The one-based Airbrake page number to fetch."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "description": "The maximum number of records to return."
          },
          "version": {
            "type": "string",
            "minLength": 1,
            "description": "Filter notices by Airbrake app version."
          }
        },
        "additionalProperties": false,
        "required": [
          "projectId",
          "groupId"
        ],
        "description": "Input parameters for listing Airbrake notices."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "notices": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The Airbrake notice identifier."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "message": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The notice message returned by Airbrake."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "createdAt": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The notice creation timestamp returned by Airbrake."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "raw": {
                  "type": "object",
                  "properties": {},
                  "additionalProperties": true,
                  "description": "The raw Airbrake notice object."
                }
              },
              "additionalProperties": false,
              "description": "A normalized Airbrake notice."
            },
            "description": "The notices returned by Airbrake."
          },
          "count": {
            "anyOf": [
              {
                "type": "integer",
                "description": "The total number of records reported by Airbrake."
              },
              {
                "type": "null"
              }
            ]
          },
          "page": {
            "anyOf": [
              {
                "type": "integer",
                "description": "The page number reported by Airbrake."
              },
              {
                "type": "null"
              }
            ]
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw Airbrake notices response."
          }
        },
        "additionalProperties": false,
        "required": [
          "notices",
          "count",
          "page",
          "raw"
        ],
        "description": "The Airbrake notices list response."
      }
    },
    {
      "id": "airbrake.list_projects",
      "service": "airbrake",
      "name": "list_projects",
      "description": "List Airbrake projects visible to the User API key.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "page": {
            "type": "integer",
            "minimum": 1,
            "description": "The one-based Airbrake page number to fetch."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "description": "The maximum number of records to return."
          }
        },
        "additionalProperties": false,
        "description": "Input parameters for listing Airbrake projects."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "projects": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "anyOf": [
                    {
                      "type": "integer",
                      "description": "The Airbrake project identifier."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "name": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The Airbrake project name."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "raw": {
                  "type": "object",
                  "properties": {},
                  "additionalProperties": true,
                  "description": "The raw Airbrake project object."
                }
              },
              "additionalProperties": false,
              "description": "A normalized Airbrake project."
            },
            "description": "The projects returned by Airbrake."
          },
          "count": {
            "anyOf": [
              {
                "type": "integer",
                "description": "The total number of records reported by Airbrake."
              },
              {
                "type": "null"
              }
            ]
          },
          "page": {
            "anyOf": [
              {
                "type": "integer",
                "description": "The page number reported by Airbrake."
              },
              {
                "type": "null"
              }
            ]
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw Airbrake projects response."
          }
        },
        "additionalProperties": false,
        "required": [
          "projects",
          "count",
          "page",
          "raw"
        ],
        "description": "The Airbrake projects list response."
      }
    }
  ]
}
