{
  "service": "pushover",
  "displayName": "Pushover",
  "categories": [
    "Communication"
  ],
  "authTypes": [
    "api_key"
  ],
  "auth": [
    {
      "type": "api_key",
      "label": "Application API Token",
      "placeholder": "a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p",
      "description": "Pushover application API token sent as the token parameter for application, message, group, and glance requests.",
      "extraFields": [
        {
          "key": "teamToken",
          "label": "Team API Token",
          "inputType": "password",
          "required": false,
          "secret": true,
          "placeholder": "team_api_token",
          "description": "Optional Team API token used for Teams and licensing actions when the action input does not override token."
        }
      ]
    }
  ],
  "homepageUrl": "https://pushover.net",
  "actions": [
    {
      "id": "pushover.ack_delete_messages_up_to_id",
      "service": "pushover",
      "name": "ack_delete_messages_up_to_id",
      "description": "Acknowledge and delete Pushover Open Client messages up to an ID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": true,
        "description": "Input parameters accepted by this Pushover action."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "status": {
            "type": "integer",
            "description": "Pushover status code. Successful requests return 1."
          },
          "request": {
            "type": "string",
            "description": "Unique request identifier returned by Pushover."
          },
          "errors": {
            "type": "array",
            "items": {
              "type": "string",
              "description": "One error message."
            },
            "description": "Error messages returned by Pushover when the request fails."
          }
        },
        "additionalProperties": true,
        "description": "Common envelope returned by Pushover write operations."
      }
    },
    {
      "id": "pushover.add_group_user",
      "service": "pushover",
      "name": "add_group_user",
      "description": "Add one user to a Pushover delivery group.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": true,
        "description": "Input parameters accepted by this Pushover action."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "status": {
            "type": "integer",
            "description": "Pushover status code. Successful requests return 1."
          },
          "request": {
            "type": "string",
            "description": "Unique request identifier returned by Pushover."
          },
          "errors": {
            "type": "array",
            "items": {
              "type": "string",
              "description": "One error message."
            },
            "description": "Error messages returned by Pushover when the request fails."
          }
        },
        "additionalProperties": true,
        "description": "Common envelope returned by Pushover write operations."
      }
    },
    {
      "id": "pushover.add_team_user",
      "service": "pushover",
      "name": "add_team_user",
      "description": "Add a user to a Pushover Team.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": true,
        "description": "Input parameters accepted by this Pushover action."
      },
      "outputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": true,
        "description": "Pushover API object returned for this request with upstream fields preserved."
      }
    },
    {
      "id": "pushover.assign_license",
      "service": "pushover",
      "name": "assign_license",
      "description": "Assign a Pushover license through the Team API.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": true,
        "description": "Input parameters accepted by this Pushover action."
      },
      "outputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": true,
        "description": "Pushover API object returned for this request with upstream fields preserved."
      }
    },
    {
      "id": "pushover.cancel_receipt_retries",
      "service": "pushover",
      "name": "cancel_receipt_retries",
      "description": "Cancel retries for one emergency notification receipt.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": true,
        "description": "Input parameters accepted by this Pushover action."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "status": {
            "type": "integer",
            "description": "Pushover status code. Successful requests return 1."
          },
          "request": {
            "type": "string",
            "description": "Unique request identifier returned by Pushover."
          },
          "errors": {
            "type": "array",
            "items": {
              "type": "string",
              "description": "One error message."
            },
            "description": "Error messages returned by Pushover when the request fails."
          }
        },
        "additionalProperties": true,
        "description": "Common envelope returned by Pushover write operations."
      }
    },
    {
      "id": "pushover.cancel_retries_by_tag",
      "service": "pushover",
      "name": "cancel_retries_by_tag",
      "description": "Cancel emergency notification retries by tag.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": true,
        "description": "Input parameters accepted by this Pushover action."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "status": {
            "type": "integer",
            "description": "Pushover status code. Successful requests return 1."
          },
          "request": {
            "type": "string",
            "description": "Unique request identifier returned by Pushover."
          },
          "errors": {
            "type": "array",
            "items": {
              "type": "string",
              "description": "One error message."
            },
            "description": "Error messages returned by Pushover when the request fails."
          }
        },
        "additionalProperties": true,
        "description": "Common envelope returned by Pushover write operations."
      }
    },
    {
      "id": "pushover.check_license_credits",
      "service": "pushover",
      "name": "check_license_credits",
      "description": "Check available Pushover Team license credits.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": true,
        "description": "Input parameters accepted by this Pushover action."
      },
      "outputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": true,
        "description": "Pushover API object returned for this request with upstream fields preserved."
      }
    },
    {
      "id": "pushover.client_login",
      "service": "pushover",
      "name": "client_login",
      "description": "Log in to the Pushover Open Client API.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": true,
        "description": "Input parameters accepted by this Pushover action."
      },
      "outputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": true,
        "description": "Pushover API object returned for this request with upstream fields preserved."
      }
    },
    {
      "id": "pushover.create_group",
      "service": "pushover",
      "name": "create_group",
      "description": "Create a Pushover delivery group.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": true,
        "description": "Input parameters accepted by this Pushover action."
      },
      "outputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": true,
        "description": "Pushover API object returned for this request with upstream fields preserved."
      }
    },
    {
      "id": "pushover.disable_group_user",
      "service": "pushover",
      "name": "disable_group_user",
      "description": "Disable one user in a Pushover delivery group.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": true,
        "description": "Input parameters accepted by this Pushover action."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "status": {
            "type": "integer",
            "description": "Pushover status code. Successful requests return 1."
          },
          "request": {
            "type": "string",
            "description": "Unique request identifier returned by Pushover."
          },
          "errors": {
            "type": "array",
            "items": {
              "type": "string",
              "description": "One error message."
            },
            "description": "Error messages returned by Pushover when the request fails."
          }
        },
        "additionalProperties": true,
        "description": "Common envelope returned by Pushover write operations."
      }
    },
    {
      "id": "pushover.enable_group_user",
      "service": "pushover",
      "name": "enable_group_user",
      "description": "Enable one user in a Pushover delivery group.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": true,
        "description": "Input parameters accepted by this Pushover action."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "status": {
            "type": "integer",
            "description": "Pushover status code. Successful requests return 1."
          },
          "request": {
            "type": "string",
            "description": "Unique request identifier returned by Pushover."
          },
          "errors": {
            "type": "array",
            "items": {
              "type": "string",
              "description": "One error message."
            },
            "description": "Error messages returned by Pushover when the request fails."
          }
        },
        "additionalProperties": true,
        "description": "Common envelope returned by Pushover write operations."
      }
    },
    {
      "id": "pushover.fetch_client_messages",
      "service": "pushover",
      "name": "fetch_client_messages",
      "description": "Fetch messages from the Pushover Open Client message queue.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": true,
        "description": "Input parameters accepted by this Pushover action."
      },
      "outputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": true,
        "description": "Pushover API object returned for this request with upstream fields preserved."
      }
    },
    {
      "id": "pushover.get_app_icon_image",
      "service": "pushover",
      "name": "get_app_icon_image",
      "description": "Fetch a Pushover application icon image.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": true,
        "description": "Input parameters accepted by this Pushover action."
      },
      "outputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": true,
        "description": "Pushover API object returned for this request with upstream fields preserved."
      }
    },
    {
      "id": "pushover.get_app_limits",
      "service": "pushover",
      "name": "get_app_limits",
      "description": "Get the current monthly message limit, remaining messages, and reset time for the connected Pushover application.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": true,
        "description": "Input parameters accepted by this Pushover action."
      },
      "outputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": true,
        "description": "Pushover API object returned for this request with upstream fields preserved."
      }
    },
    {
      "id": "pushover.get_app_token",
      "service": "pushover",
      "name": "get_app_token",
      "description": "Return the application API token resolved from the action input or the connected credential.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": true,
        "description": "Input parameters accepted by this Pushover action."
      },
      "outputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": true,
        "description": "Pushover API object returned for this request with upstream fields preserved."
      }
    },
    {
      "id": "pushover.get_group",
      "service": "pushover",
      "name": "get_group",
      "description": "Get one Pushover delivery group.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": true,
        "description": "Input parameters accepted by this Pushover action."
      },
      "outputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": true,
        "description": "Pushover API object returned for this request with upstream fields preserved."
      }
    },
    {
      "id": "pushover.get_receipt_status",
      "service": "pushover",
      "name": "get_receipt_status",
      "description": "Get the status of an emergency notification receipt.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": true,
        "description": "Input parameters accepted by this Pushover action."
      },
      "outputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": true,
        "description": "Pushover API object returned for this request with upstream fields preserved."
      }
    },
    {
      "id": "pushover.get_team_api_token",
      "service": "pushover",
      "name": "get_team_api_token",
      "description": "Return the Team API token resolved from the action input or the connected credential.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": true,
        "description": "Input parameters accepted by this Pushover action."
      },
      "outputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": true,
        "description": "Pushover API object returned for this request with upstream fields preserved."
      }
    },
    {
      "id": "pushover.list_groups",
      "service": "pushover",
      "name": "list_groups",
      "description": "List Pushover delivery groups for the application token.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": true,
        "description": "Input parameters accepted by this Pushover action."
      },
      "outputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": true,
        "description": "Pushover API object returned for this request with upstream fields preserved."
      }
    },
    {
      "id": "pushover.listen_client_websocket",
      "service": "pushover",
      "name": "listen_client_websocket",
      "description": "Listen briefly to the Pushover Open Client WebSocket server.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": true,
        "description": "Input parameters accepted by this Pushover action."
      },
      "outputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": true,
        "description": "Pushover API object returned for this request with upstream fields preserved."
      }
    },
    {
      "id": "pushover.register_client_device",
      "service": "pushover",
      "name": "register_client_device",
      "description": "Register a Pushover Open Client device.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": true,
        "description": "Input parameters accepted by this Pushover action."
      },
      "outputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": true,
        "description": "Pushover API object returned for this request with upstream fields preserved."
      }
    },
    {
      "id": "pushover.remove_group_user",
      "service": "pushover",
      "name": "remove_group_user",
      "description": "Remove one user from a Pushover delivery group.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": true,
        "description": "Input parameters accepted by this Pushover action."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "status": {
            "type": "integer",
            "description": "Pushover status code. Successful requests return 1."
          },
          "request": {
            "type": "string",
            "description": "Unique request identifier returned by Pushover."
          },
          "errors": {
            "type": "array",
            "items": {
              "type": "string",
              "description": "One error message."
            },
            "description": "Error messages returned by Pushover when the request fails."
          }
        },
        "additionalProperties": true,
        "description": "Common envelope returned by Pushover write operations."
      }
    },
    {
      "id": "pushover.remove_team_user",
      "service": "pushover",
      "name": "remove_team_user",
      "description": "Remove a user from a Pushover Team.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": true,
        "description": "Input parameters accepted by this Pushover action."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "status": {
            "type": "integer",
            "description": "Pushover status code. Successful requests return 1."
          },
          "request": {
            "type": "string",
            "description": "Unique request identifier returned by Pushover."
          },
          "errors": {
            "type": "array",
            "items": {
              "type": "string",
              "description": "One error message."
            },
            "description": "Error messages returned by Pushover when the request fails."
          }
        },
        "additionalProperties": true,
        "description": "Common envelope returned by Pushover write operations."
      }
    },
    {
      "id": "pushover.rename_group",
      "service": "pushover",
      "name": "rename_group",
      "description": "Rename a Pushover delivery group.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": true,
        "description": "Input parameters accepted by this Pushover action."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "status": {
            "type": "integer",
            "description": "Pushover status code. Successful requests return 1."
          },
          "request": {
            "type": "string",
            "description": "Unique request identifier returned by Pushover."
          },
          "errors": {
            "type": "array",
            "items": {
              "type": "string",
              "description": "One error message."
            },
            "description": "Error messages returned by Pushover when the request fails."
          }
        },
        "additionalProperties": true,
        "description": "Common envelope returned by Pushover write operations."
      }
    },
    {
      "id": "pushover.send_message",
      "service": "pushover",
      "name": "send_message",
      "description": "Send a Pushover notification to a user or delivery group, with optional emergency settings, URL metadata, and image attachment.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "token": {
            "type": "string",
            "description": "Optional application API token override."
          },
          "user": {
            "type": "string",
            "description": "Pushover user key or delivery group key."
          },
          "device": {
            "type": "string",
            "description": "Optional target device name."
          },
          "message": {
            "type": "string",
            "description": "Message body to send."
          },
          "title": {
            "type": "string",
            "description": "Optional message title."
          },
          "url": {
            "type": "string",
            "description": "Supplementary URL to show with the message.",
            "format": "uri"
          },
          "url_title": {
            "type": "string",
            "description": "Display title for the supplementary URL."
          },
          "priority": {
            "type": "integer",
            "description": "Message priority accepted by Pushover."
          },
          "ttl": {
            "type": "integer",
            "description": "Seconds after which the message should expire."
          },
          "retry": {
            "type": "integer",
            "description": "Retry interval in seconds for emergency priority messages."
          },
          "expire": {
            "type": "integer",
            "description": "Retry expiration in seconds for emergency priority messages."
          },
          "html": {
            "type": "boolean",
            "description": "Whether message text contains HTML formatting."
          },
          "monospace": {
            "type": "boolean",
            "description": "Whether message text should use monospace formatting."
          },
          "timestamp": {
            "type": "integer",
            "description": "Unix timestamp to attach to the message."
          },
          "callback": {
            "type": "string",
            "description": "Callback URL for emergency notification receipts.",
            "format": "uri"
          },
          "sound": {
            "type": "string",
            "description": "Pushover sound name."
          },
          "tags": {
            "type": "string",
            "description": "Comma-separated tags for emergency retry cancellation."
          },
          "attachment": {
            "type": "object",
            "properties": {
              "fileId": {
                "type": "string",
                "minLength": 1,
                "description": "The transit file identifier returned by POST /api/files."
              },
              "name": {
                "type": "string",
                "minLength": 1,
                "description": "Optional filename override to send to the provider."
              },
              "mimeType": {
                "type": "string",
                "minLength": 1,
                "description": "Optional MIME type override to send to the provider."
              }
            },
            "additionalProperties": false,
            "required": [
              "fileId"
            ],
            "description": "Optional image attachment uploaded through POST /api/files."
          },
          "attachment_type": {
            "type": "string",
            "description": "MIME type for legacy inline base64 attachment input."
          },
          "attachment_base64": {
            "type": "string",
            "description": "Legacy base64-encoded image attachment content."
          }
        },
        "additionalProperties": true,
        "description": "Input parameters for sending a Pushover message."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "status": {
            "type": "integer",
            "description": "Pushover status code. Successful requests return 1."
          },
          "request": {
            "type": "string",
            "description": "Unique request identifier returned by Pushover."
          },
          "receipt": {
            "type": "string",
            "description": "Receipt identifier returned for emergency notifications."
          }
        },
        "additionalProperties": true,
        "description": "Response returned after sending a Pushover notification."
      }
    },
    {
      "id": "pushover.store_team_api_token",
      "service": "pushover",
      "name": "store_team_api_token",
      "description": "Validate and return metadata for a Pushover Team API token.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": true,
        "description": "Input parameters accepted by this Pushover action."
      },
      "outputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": true,
        "description": "Pushover API object returned for this request with upstream fields preserved."
      }
    },
    {
      "id": "pushover.subscription_flow",
      "service": "pushover",
      "name": "subscription_flow",
      "description": "Build or validate a Pushover subscription flow URL.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": true,
        "description": "Input parameters accepted by this Pushover action."
      },
      "outputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": true,
        "description": "Pushover API object returned for this request with upstream fields preserved."
      }
    },
    {
      "id": "pushover.update_glances",
      "service": "pushover",
      "name": "update_glances",
      "description": "Update Pushover glance data for a user or device.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": true,
        "description": "Input parameters accepted by this Pushover action."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "status": {
            "type": "integer",
            "description": "Pushover status code. Successful requests return 1."
          },
          "request": {
            "type": "string",
            "description": "Unique request identifier returned by Pushover."
          },
          "errors": {
            "type": "array",
            "items": {
              "type": "string",
              "description": "One error message."
            },
            "description": "Error messages returned by Pushover when the request fails."
          }
        },
        "additionalProperties": true,
        "description": "Common envelope returned by Pushover write operations."
      }
    },
    {
      "id": "pushover.validate_user_or_group",
      "service": "pushover",
      "name": "validate_user_or_group",
      "description": "Validate that a Pushover user or delivery group key can receive notifications.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": true,
        "description": "Input parameters accepted by this Pushover action."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "status": {
            "type": "integer",
            "description": "Pushover status code. Successful requests return 1."
          },
          "request": {
            "type": "string",
            "description": "Unique request identifier returned by Pushover."
          },
          "errors": {
            "type": "array",
            "items": {
              "type": "string",
              "description": "One error message."
            },
            "description": "Error messages returned by Pushover when the request fails."
          }
        },
        "additionalProperties": true,
        "description": "Common envelope returned by Pushover write operations."
      }
    }
  ]
}
