post · alerts:write

Create an alert rule

Empty filter arrays mean "any". A rule fires at most once per mention, so overlapping rules do not double-send.

Write

REST

post/api/v1/alerts
curl "https://herculradar.com/api/v1/alerts" \
  --request POST \
  --header "Authorization: Bearer hr_live_…" \
  --header "Content-Type: application/json" \
  --header "Idempotency-Key: $(uuidgen)" \
  --data '{"name":"Acme","destination":"Acme"}'

MCP

Tool name create_alert. It takes the same input and returns the same { data, meta } envelope as REST, because both call the same function.

Notify an email address or https webhook when a matching mention arrives. Empty filter arrays mean "any".

Request body

{
  "type": "object",
  "required": [
    "name",
    "destination"
  ],
  "properties": {
    "name": {
      "type": "string"
    },
    "channel": {
      "type": "string",
      "enum": [
        "email",
        "webhook"
      ]
    },
    "destination": {
      "type": "string",
      "description": "Email address, or https URL when channel is webhook"
    },
    "categories": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "bug_report",
          "complaint",
          "misinformation",
          "product_idea",
          "testimonial",
          "other"
        ]
      }
    },
    "sentiments": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "positive",
          "neutral",
          "negative"
        ]
      }
    },
    "sources": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "x",
          "reddit",
          "youtube",
          "linkedin",
          "threads"
        ]
      }
    },
    "min_urgency": {
      "type": "integer",
      "minimum": 0,
      "maximum": 100
    }
  }
}

Response

{
  "data": {
    "id": "uuid",
    "name": "Critical complaints",
    "active": true
  },
  "meta": {
    "capability": "create_alert",
    "requestId": "req_9f2b4a8c1d0e",
    "idempotencyReplayed": false,
    "docs": "https://herculradar.com/docs/reference/create_alert"
  }
}

Authorization

Requires the alerts:write scope. A credential without it gets 403 FORBIDDEN. Resources in projects the credential cannot reach answer 404 NOT_FOUND rather than 403, so ids cannot be probed across tenants.

Send an Idempotency-Key header. A completed response is replayed for 24 hours, so a retry after a timeout cannot create a duplicate.