{
  "service": "honeybadger",
  "displayName": "Honeybadger",
  "categories": [
    "Developer Tools",
    "Security"
  ],
  "authTypes": [
    "api_key"
  ],
  "auth": [
    {
      "type": "api_key",
      "label": "Project API Key",
      "placeholder": "hb_project_xxx",
      "description": "Honeybadger project API key used by the Reporting API. Find or rotate it in your project API keys settings.",
      "extraFields": [
        {
          "key": "apiBaseUrl",
          "label": "API Base URL",
          "inputType": "text",
          "required": false,
          "secret": false,
          "placeholder": "https://api.honeybadger.io",
          "description": "Optional Honeybadger API endpoint override. Use https://eu-api.honeybadger.io for EU region accounts."
        }
      ]
    }
  ],
  "homepageUrl": "https://www.honeybadger.io",
  "actions": [
    {
      "id": "honeybadger.report_check_in",
      "service": "honeybadger",
      "name": "report_check_in",
      "description": "Report a Honeybadger check-in by id or slug.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "description": "The Honeybadger check-in id or capability token."
          },
          "slug": {
            "type": "string",
            "minLength": 1,
            "description": "The Honeybadger check-in slug to report by project API key."
          }
        },
        "additionalProperties": false,
        "description": "The input payload for reporting a Honeybadger check-in. Provide either id or slug, but not both."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "checkIn": {
            "type": "object",
            "properties": {
              "success": {
                "type": "boolean",
                "description": "Whether Honeybadger accepted the check-in request."
              }
            },
            "additionalProperties": false,
            "description": "The Honeybadger check-in acknowledgement."
          }
        },
        "additionalProperties": false,
        "required": [
          "checkIn"
        ],
        "description": "The output payload for a Honeybadger check-in request."
      }
    },
    {
      "id": "honeybadger.report_check_in_with_payload",
      "service": "honeybadger",
      "name": "report_check_in_with_payload",
      "description": "Report a Honeybadger check-in with payload data.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "checkInId": {
            "type": "string",
            "minLength": 1,
            "description": "The Honeybadger check-in id or capability token used in the request path."
          },
          "checkIn": {
            "type": "object",
            "properties": {
              "status": {
                "type": "string",
                "enum": [
                  "success",
                  "error"
                ],
                "description": "The execution status associated with the check-in payload."
              },
              "duration": {
                "type": "integer",
                "minimum": 0,
                "description": "The execution duration in milliseconds."
              },
              "stdout": {
                "type": "string",
                "description": "Captured standard output attached to the check-in payload."
              },
              "stderr": {
                "type": "string",
                "description": "Captured standard error attached to the check-in payload."
              },
              "exitCode": {
                "type": "integer",
                "description": "The process exit code attached to the check-in payload."
              }
            },
            "additionalProperties": false,
            "description": "The payload body sent to a Honeybadger check-in endpoint."
          }
        },
        "additionalProperties": false,
        "required": [
          "checkInId",
          "checkIn"
        ],
        "description": "The input payload for reporting a Honeybadger check-in with payload data."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "checkIn": {
            "type": "object",
            "properties": {
              "success": {
                "type": "boolean",
                "description": "Whether Honeybadger accepted the check-in request."
              }
            },
            "additionalProperties": false,
            "description": "The Honeybadger check-in acknowledgement."
          }
        },
        "additionalProperties": false,
        "required": [
          "checkIn"
        ],
        "description": "The output payload for a Honeybadger check-in request."
      }
    },
    {
      "id": "honeybadger.report_deployment",
      "service": "honeybadger",
      "name": "report_deployment",
      "description": "Report a deployment to Honeybadger.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "deploy": {
            "type": "object",
            "properties": {
              "environment": {
                "type": "string",
                "minLength": 1,
                "description": "The deployment environment, such as production."
              },
              "revision": {
                "type": "string",
                "minLength": 1,
                "description": "The revision, Git SHA, or version identifier that was deployed."
              },
              "repository": {
                "type": "string",
                "minLength": 1,
                "description": "The repository URL associated with the deployment."
              },
              "local_username": {
                "type": "string",
                "minLength": 1,
                "description": "The local username or automation actor that performed the deployment."
              }
            },
            "additionalProperties": false,
            "description": "The deployment payload sent to Honeybadger."
          }
        },
        "additionalProperties": false,
        "required": [
          "deploy"
        ],
        "description": "The input payload for reporting a deployment to Honeybadger."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "deployment": {
            "type": "object",
            "properties": {
              "status": {
                "type": "string",
                "minLength": 1,
                "description": "The deployment acknowledgement returned by Honeybadger."
              }
            },
            "additionalProperties": false,
            "description": "The Honeybadger deployment acknowledgement."
          }
        },
        "additionalProperties": false,
        "required": [
          "deployment"
        ],
        "description": "The output payload for a Honeybadger deployment report request."
      }
    },
    {
      "id": "honeybadger.report_event",
      "service": "honeybadger",
      "name": "report_event",
      "description": "Report one or more Honeybadger Insights events.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "events": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "An arbitrary JSON object accepted by Honeybadger."
            },
            "description": "The event objects to serialize into the Honeybadger NDJSON event stream.",
            "minItems": 1
          }
        },
        "additionalProperties": false,
        "required": [
          "events"
        ],
        "description": "The input payload for reporting Honeybadger Insights events."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "batch": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "minLength": 1,
                "description": "The Honeybadger batch identifier."
              },
              "errors": {
                "type": "boolean",
                "description": "Whether Honeybadger reported event-level errors in the batch response."
              },
              "events": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "minLength": 1,
                      "description": "The Honeybadger event identifier."
                    },
                    "status": {
                      "type": "integer",
                      "description": "The per-event HTTP status returned by Honeybadger."
                    }
                  },
                  "additionalProperties": false,
                  "description": "The status metadata for one reported Honeybadger event."
                },
                "description": "The per-event statuses returned by Honeybadger."
              }
            },
            "additionalProperties": false,
            "description": "The Honeybadger event batch response."
          }
        },
        "additionalProperties": false,
        "required": [
          "batch"
        ],
        "description": "The output payload for a Honeybadger event reporting request."
      }
    },
    {
      "id": "honeybadger.report_exception",
      "service": "honeybadger",
      "name": "report_exception",
      "description": "Report an exception notice to Honeybadger.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "error": {
            "type": "object",
            "properties": {
              "class": {
                "type": "string",
                "minLength": 1,
                "description": "The exception class name, such as RuntimeError."
              },
              "message": {
                "type": "string",
                "minLength": 1,
                "description": "The exception message."
              },
              "backtrace": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "number": {
                      "type": "integer",
                      "minimum": 0,
                      "description": "The zero-based frame number within the backtrace."
                    },
                    "file": {
                      "type": "string",
                      "minLength": 1,
                      "description": "The source filename for the stack frame."
                    },
                    "method": {
                      "type": "string",
                      "minLength": 1,
                      "description": "The method or function name for the stack frame."
                    },
                    "source": {
                      "type": "object",
                      "additionalProperties": {
                        "type": "string",
                        "description": "A source line captured around the stack frame."
                      },
                      "description": "Source context lines keyed by line number."
                    }
                  },
                  "additionalProperties": false,
                  "description": "A Honeybadger exception backtrace frame."
                },
                "description": "The stack frames used by Honeybadger to group the exception.",
                "minItems": 1
              },
              "tags": {
                "type": "array",
                "items": {
                  "type": "string",
                  "minLength": 1
                },
                "description": "Optional tags used to annotate the exception notice."
              },
              "causes": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "class": {
                      "type": "string",
                      "minLength": 1,
                      "description": "The exception class name for the nested cause."
                    },
                    "message": {
                      "type": "string",
                      "minLength": 1,
                      "description": "The exception message for the nested cause."
                    },
                    "backtrace": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "number": {
                            "type": "integer",
                            "minimum": 0,
                            "description": "The zero-based frame number within the backtrace."
                          },
                          "file": {
                            "type": "string",
                            "minLength": 1,
                            "description": "The source filename for the stack frame."
                          },
                          "method": {
                            "type": "string",
                            "minLength": 1,
                            "description": "The method or function name for the stack frame."
                          },
                          "source": {
                            "type": "object",
                            "additionalProperties": {
                              "type": "string",
                              "description": "A source line captured around the stack frame."
                            },
                            "description": "Source context lines keyed by line number."
                          }
                        },
                        "additionalProperties": false,
                        "description": "A Honeybadger exception backtrace frame."
                      },
                      "description": "The stack frames attached to the nested cause.",
                      "minItems": 1
                    },
                    "causes": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {},
                        "additionalProperties": true,
                        "description": "A nested cause."
                      },
                      "description": "Additional nested causes attached to this cause."
                    }
                  },
                  "additionalProperties": true,
                  "required": [
                    "class",
                    "message",
                    "backtrace"
                  ],
                  "description": "A nested Honeybadger exception cause."
                },
                "description": "Optional nested causes associated with the exception."
              },
              "fingerprint": {
                "type": "string",
                "minLength": 1,
                "description": "An optional fingerprint used to override Honeybadger grouping."
              }
            },
            "additionalProperties": false,
            "description": "The exception payload sent to the Honeybadger notices endpoint."
          },
          "server": {
            "type": "object",
            "properties": {
              "project_root": {
                "type": "string",
                "minLength": 1,
                "description": "The application project root on the server."
              },
              "environment_name": {
                "type": "string",
                "minLength": 1,
                "description": "The runtime environment name, such as production."
              },
              "hostname": {
                "type": "string",
                "minLength": 1,
                "description": "The hostname where the exception occurred."
              },
              "pid": {
                "type": "integer",
                "description": "The process id where the exception occurred."
              },
              "revision": {
                "type": "string",
                "minLength": 1,
                "description": "The deployed revision identifier, such as a Git SHA."
              }
            },
            "additionalProperties": false,
            "description": "Server metadata attached to a Honeybadger notice."
          },
          "request": {
            "type": "object",
            "properties": {
              "component": {
                "type": "string",
                "minLength": 1,
                "description": "The controller or component handling the request."
              },
              "action": {
                "type": "string",
                "minLength": 1,
                "description": "The action or method handling the request."
              },
              "url": {
                "type": "string",
                "minLength": 1,
                "description": "The request URL where the exception occurred."
              },
              "params": {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "An arbitrary JSON object accepted by Honeybadger."
              },
              "cgi_data": {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "An arbitrary JSON object accepted by Honeybadger."
              },
              "session": {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "An arbitrary JSON object accepted by Honeybadger."
              },
              "context": {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "An arbitrary JSON object accepted by Honeybadger."
              }
            },
            "additionalProperties": false,
            "description": "Request metadata attached to a Honeybadger notice."
          }
        },
        "additionalProperties": false,
        "required": [
          "error"
        ],
        "description": "The input payload for reporting an exception notice to Honeybadger."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "notice": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "minLength": 1,
                "description": "The UUID returned by Honeybadger for the created notice."
              }
            },
            "additionalProperties": false,
            "description": "The created Honeybadger notice summary."
          }
        },
        "additionalProperties": false,
        "required": [
          "notice"
        ],
        "description": "The output payload for a Honeybadger exception notice request."
      }
    }
  ]
}
