{
  "service": "breathe",
  "displayName": "Breathe",
  "categories": [
    "Productivity"
  ],
  "authTypes": [
    "api_key"
  ],
  "auth": [
    {
      "type": "api_key",
      "label": "API Key",
      "placeholder": "breathe_api_key",
      "description": "Breathe API key sent with the X-API-KEY header. Find it in Breathe under Configure > Settings > API setup, also available at /account/api_setup after signing in."
    }
  ],
  "homepageUrl": "https://www.breathehr.com/",
  "actions": [
    {
      "id": "breathe.get_account",
      "service": "breathe",
      "name": "get_account",
      "description": "Fetch account details for the authenticated Breathe account.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false,
        "description": "No input is required to fetch the Breathe account."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "account": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Breathe account record."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Raw Breathe response payload."
          }
        },
        "additionalProperties": false,
        "description": "Breathe account detail response."
      }
    },
    {
      "id": "breathe.get_employee",
      "service": "breathe",
      "name": "get_employee",
      "description": "Fetch one employee from Breathe by employee ID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "employeeId": {
            "type": "integer",
            "minimum": 1,
            "description": "ID of the Breathe employee to fetch."
          }
        },
        "additionalProperties": false,
        "description": "Request parameters for fetching a Breathe employee."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "employee": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Breathe employee record."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Raw Breathe response payload."
          }
        },
        "additionalProperties": false,
        "description": "Breathe employee detail response."
      }
    },
    {
      "id": "breathe.list_departments",
      "service": "breathe",
      "name": "list_departments",
      "description": "List company departments from Breathe.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "page": {
            "type": "integer",
            "minimum": 1,
            "description": "Page of results to fetch."
          },
          "perPage": {
            "type": "integer",
            "minimum": 1,
            "description": "Number of results to return per page."
          }
        },
        "additionalProperties": false,
        "description": "Pagination parameters for Breathe list endpoints."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "departments": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "Breathe department record."
            },
            "description": "Breathe department record."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Raw Breathe response payload."
          }
        },
        "additionalProperties": false,
        "description": "Breathe departments list response."
      }
    },
    {
      "id": "breathe.list_employees",
      "service": "breathe",
      "name": "list_employees",
      "description": "List employees from Breathe with optional pagination and role filters.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "page": {
            "type": "integer",
            "minimum": 1,
            "description": "Page of results to fetch."
          },
          "perPage": {
            "type": "integer",
            "minimum": 1,
            "description": "Number of results to return per page."
          },
          "filter": {
            "type": "string",
            "enum": [
              "hr",
              "line_manager",
              "either",
              "neither"
            ],
            "description": "Type of employees to return."
          },
          "rotacloud": {
            "type": "boolean",
            "description": "Whether to return leave requests where rotacloud is not excluded from integration."
          }
        },
        "additionalProperties": false,
        "description": "Request parameters for listing Breathe employees."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "employees": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "Breathe employee record."
            },
            "description": "Breathe employee record."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Raw Breathe response payload."
          }
        },
        "additionalProperties": false,
        "description": "Breathe employees list response."
      }
    },
    {
      "id": "breathe.list_locations",
      "service": "breathe",
      "name": "list_locations",
      "description": "List company locations from Breathe.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false,
        "description": "No input is required to list Breathe locations."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "locations": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "Breathe location record."
            },
            "description": "Breathe location record."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Raw Breathe response payload."
          }
        },
        "additionalProperties": false,
        "description": "Breathe locations list response."
      }
    }
  ]
}
