{
  "id": "ntfy",
  "name": "ntfy",
  "homepage": "https://ntfy.sh",
  "description": "ntfy lets you send push notifications to your phone or desktop via scripts from any computer, using simple HTTP PUT or POST requests.",
  "executables": [
    "ntfy"
  ],
  "dotfiles": {
    "paths": [],
    "secret": [
      "~/.config/ntfy/client.yml",
      "~/Library/Application Support/ntfy/client.yml",
      "%APPDATA%/ntfy/client.yml"
    ]
  },
  "commands": {
    "format": 1,
    "label": "ntfy",
    "description": "Send a push notification to a topic. Subscribing, actions, attachments, authentication and templates are left out.",
    "quality": "ai-draft",
    "parser": {
      "end_of_options": "--",
      "interleave": "permute",
      "long_equals": true,
      "short_attached": false,
      "short_bundles": false
    },
    "subcommand": [
      {
        "path": [
          "publish"
        ],
        "label": "Publish a message",
        "description": "Publish a message to a topic (aliases: pub, send, trigger).",
        "source": [
          {
            "id": "docs",
            "kind": "manual",
            "url": "https://docs.ntfy.sh/publish/",
            "revision": "2026-10-27",
            "evidence": "ntfy publish mytopic \"Backup successful\"\nntfy publish --title \"Unauthorized access detected\" --tags warning,skull --priority urgent --click=\"https://home.nest.com/\" --markdown --icon=\"https://styles.redditmedia.com/t5_32uhe/styles/communityIcon_xnt6chtnr2j21.png\" --at=\"tomorrow, 10am\" --in=\"5m\" ntfy publish --in=\"2h\" mytopic/break-reminder \"Take a break!\""
          }
        ],
        "field": [
          {
            "id": "title",
            "label": "Title",
            "type": "string",
            "option": [
              "--title"
            ],
            "sources": [
              "docs"
            ]
          },
          {
            "id": "priority",
            "label": "Priority",
            "type": "string",
            "option": [
              "--priority"
            ],
            "suggestions": [
              {
                "value": "min",
                "label": "min"
              },
              {
                "value": "low",
                "label": "low"
              },
              {
                "value": "default",
                "label": "default"
              },
              {
                "value": "high",
                "label": "high"
              },
              {
                "value": "urgent",
                "label": "urgent"
              }
            ],
            "sources": [
              "docs"
            ]
          },
          {
            "id": "tags",
            "label": "Tags",
            "description": "Comma-separated tags or emoji short codes.",
            "type": "string",
            "option": [
              "--tags"
            ],
            "sources": [
              "docs"
            ]
          },
          {
            "id": "click",
            "label": "Click URL",
            "type": "url",
            "option": [
              "--click"
            ],
            "sources": [
              "docs"
            ]
          },
          {
            "id": "icon",
            "label": "Icon URL",
            "type": "url",
            "option": [
              "--icon"
            ],
            "sources": [
              "docs"
            ]
          },
          {
            "id": "markdown",
            "label": "Markdown message",
            "type": "boolean",
            "option": [
              "--markdown"
            ],
            "sources": [
              "docs"
            ]
          },
          {
            "id": "at",
            "label": "Deliver at",
            "description": "Example: tomorrow, 10am",
            "type": "string",
            "option": [
              "--at"
            ],
            "value_style": "equals",
            "sources": [
              "docs"
            ]
          },
          {
            "id": "delay",
            "label": "Deliver in",
            "description": "Example: 5m, 2h",
            "type": "string",
            "option": [
              "--in"
            ],
            "value_style": "equals",
            "sources": [
              "docs"
            ]
          },
          {
            "id": "topic",
            "label": "Topic",
            "description": "Topic name, or a full topic URL.",
            "type": "string",
            "position": 0,
            "sources": [
              "docs"
            ]
          },
          {
            "id": "message",
            "label": "Message",
            "type": "string",
            "position": 1,
            "sources": [
              "docs"
            ]
          }
        ],
        "task": [
          {
            "id": "send",
            "label": "Send message",
            "fields": [
              "topic",
              "message",
              "title",
              "priority",
              "tags"
            ],
            "required": [
              "topic",
              "message"
            ]
          },
          {
            "id": "later",
            "label": "Send later",
            "fields": [
              "topic",
              "message",
              "delay"
            ],
            "required": [
              "topic",
              "message",
              "delay"
            ]
          }
        ],
        "group": [
          {
            "id": "basic",
            "label": "Basic",
            "fields": [
              "topic",
              "message",
              "title",
              "priority",
              "tags"
            ]
          },
          {
            "id": "advanced",
            "label": "Advanced",
            "fields": [
              "click",
              "icon",
              "markdown",
              "at",
              "delay"
            ]
          }
        ]
      }
    ]
  }
}
