Keyword monitoring

A keyword monitor is an HTTP monitor with a content assertion. The monitor passes if a substring is present (or absent) in the response body.

Use cases

  • Deploy verification — assert the response contains the new version string.
  • Hijack detection — assert known content is still present (e.g. your company name).
  • Maintenance bypass — alert when "we're under maintenance" stays up too long.
  • Vendor health — assert third-party iframes / widgets render their expected content.

Setup

Create a monitor with type: "keyword":

bash
happy monitors create \ --name "Site contains pricing copy" \ --type keyword \ --url https://myapp.com/pricing \ --keyword "$29 / month" \ --keyword-type contains
FieldValues
keywordThe substring to look for
keyword_typecontains (default) or not_contains

What the assertion runs against

The full response body, including HTML, JSON, plain text. Case-sensitive by default. For complex matches consider:

  • Status code assertionexpected_status_codes: [200, 201] instead of keyword.
  • Header assertion (HTTP type) — assert X-Build-Version matches.
  • Visual regression — for visual / iframe / widget content that doesn't appear in the raw HTML (React-rendered, etc.). See screenshots.

Examples

js
// Detect site hijack — alert if our company name is removed{ type: "keyword", url: "https://myapp.com", keyword: "Acme Corporation", keyword_type: "contains"}// Detect maintenance overstay — alert if we're still in maint mode{ type: "keyword", url: "https://myapp.com/api/health", keyword: "maintenance", keyword_type: "not_contains"}
Ask a question... ⌘I