Keyword monitoring
Verify a deploy went through, a banner is gone, or your marketing site hasn't been hijacked.
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":
bashhappy monitors create \ --name "Site contains pricing copy" \ --type keyword \ --url https://myapp.com/pricing \ --keyword "$29 / month" \ --keyword-type contains
| Field | Values |
|---|---|
keyword | The substring to look for |
keyword_type | contains (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 assertion —
expected_status_codes: [200, 201]instead of keyword. - Header assertion (HTTP type) — assert
X-Build-Versionmatches. - 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"}