Create a keyword rule
Creates a keyword rule with the snake_case fields below. keyword is required; channel defaults to sms, match_type to exact, and action to reply. For reply, opt-out or opt-in set response_text; for forward_agent set agent_id; for trigger_flow set flow_id. The legacy action aliases forward/agent and flow are accepted and normalised to forward_agent and trigger_flow. An invalid body returns 422 with per-field details. Returns the stored rule in camelCase form. Owner/admin/developer only.
Authorizations
Dashboard JWT token from Clerk
Headers
Stripe-style idempotency token. Pass a stable, client-generated value (1-255 chars) to dedupe retries on transient timeouts. The same key+credential+path replays the original response for 24h on 2xx (5min on 4xx, 30s on 5xx). Returns 409 if a concurrent request with the same key is already in flight; replayed responses include the Idempotency-Replay: true response header.
1 - 255Sandbox opt-in for Clerk-session-authenticated requests. Set to true to route the call through the test-mode pipeline: no real provider delivery, no credits deducted, response meta.test_mode: true. Ignored for live API keys (dv_live_sk_*) — server-to-server clients must use a test-prefixed key (dv_test_sk_*) to exercise sandbox. Test-prefixed keys unconditionally enable sandbox regardless of this header.
true, false Body
Keyword rule fields in snake_case. Legacy action aliases (forward/agent/flow) are accepted and normalised to the run-time canon.
Keyword rule fields in snake_case. Legacy action aliases (forward/agent/flow) are accepted and normalised to the run-time canon.
The inbound word to match (required on create).
1Channel the rule applies to.
sms, whatsapp, rcs, viber, email How the keyword is matched against the inbound text.
exact, contains, starts_with, regex Action to take on match. Legacy aliases forward/agent (→ forward_agent) and flow (→ trigger_flow) are normalised.
reply, forward, agent, forward_agent, flow, trigger_flow, opt-out, opt-in Auto-reply body for reply/opt-out/opt-in actions.
Agent to route matched messages to (forward_agent).
Flow to launch on a match (trigger_flow).
Whether the rule is active immediately.