Knock Guides API

Guides let you define in-app guides that can be displayed to users based on priority and other conditions.

Operations 15

Each operation below carries the questions people ask an LLM about it and the instructions they give an agent to run it. Generated by API Evangelist overlay

DELETE /v1/guides/{guide_key} Archive a guide in every environment · Archive a guide #
Ask an LLM
“How do I retire a guide across all environments?”
“What happens to a guide when I archive it?”
Tell an agent destructive · confirm first
Archive guide {guide_key}.
Retire the {guide_key} guide everywhere.
GET /v1/guides/{guide_key} Get an in-app guide by key · Get a guide #
Ask an LLM
“How do I view one guide's steps and targeting?”
“Can I fetch a guide as it exists on a branch?”
Tell an agent
Get guide {guide_key} in {environment}.
Show the {guide_key} guide definition on branch {branch} in {environment}.
PUT /v1/guides/{guide_key} Create or update an in-app guide · Upsert a guide #
Ask an LLM
“How do I create a new onboarding guide or edit an existing one?”
“Can I commit a guide change as soon as I save it?”
Tell an agent
Upsert guide {guide_key} in {environment} with {guide}.
Save guide {guide_key} and commit with message {commit_message} in {environment}.
GET /v1/guides List guides in an environment · List guides #
Ask an LLM
“Which in-app guides are defined in this environment?”
“Can I page through guides on a branch?”
Tell an agent
List guides in {environment}.
Show {limit} guides on branch {branch} in {environment}.
PUT /v1/guides/{guide_key}/activate Activate or deactivate a guide · Activate a guide #
Ask an LLM
“How do I turn a guide on so users start seeing it?”
“Can I schedule when a guide becomes active?”
Tell an agent
Activate guide {guide_key} in {environment}.
Deactivate the {guide_key} guide in {environment}.
PUT /v1/guides/{guide_key}/validate Validate a guide without saving · Validate a guide #
Ask an LLM
“Can I check a guide payload for errors before saving it?”
“Is there a dry run for guide definitions?”
Tell an agent
Validate guide payload {guide} for {guide_key} in {environment}.
Check guide {guide_key} definition {guide} without persisting it in {environment}.
PUT /v1/users/{user_id}/guides/messages/seen Record a guide as seen (no message ID) · Mark guide as seen #
Ask an LLM
“How do I record that a user saw a guide step when I don't have a guide message ID?”
“Can I log a guide view using only the guide key and step reference?”
Tell an agent
Mark step {guide_step_ref} of guide {guide_key} as seen for user {user_id}, without a message ID.
Log a seen event on guide {guide_key} step {guide_step_ref} for {user_id} via the message-less endpoint.
PUT /v1/users/{user_id}/guides/messages/{message_id}/seen Record an existing guide message as seen · Mark guide as seen #
Ask an LLM
“How do I mark a specific guide message as seen for a user?”
“Does marking a guide message seen trigger the guide's seen events?”
Tell an agent
Mark guide message {message_id} for {guide_key} step {guide_step_ref} as seen by user {user_id}.
Record that user {user_id} viewed their existing guide message for {guide_key} step {guide_step_ref}.
DELETE /v1/users/{user_id}/guides/messages/archived Restore a dismissed guide · Mark guide as unarchived #
Ask an LLM
“How do I bring back a guide a user previously dismissed?”
“Can I undo a guide archive for one user?”
Tell an agent destructive · confirm first
Unarchive guide {guide_key} step {guide_step_ref} for user {user_id}.
Restore the dismissed {guide_key} guide for {user_id} at step {guide_step_ref}.
PUT /v1/users/{user_id}/guides/messages/archived Record a guide as dismissed (no message ID) · Mark guide as archived #
Ask an LLM
“How do I archive a guide for a user when I have no guide message ID?”
“Can a user dismiss a guide using just its key and step?”
Tell an agent
Mark guide {guide_key} step {guide_step_ref} as archived for user {user_id}, without a message ID.
Dismiss guide {guide_key} at step {guide_step_ref} for {user_id} via the message-less endpoint.
PUT /v1/users/{user_id}/guides/messages/interacted Record a guide interaction (no message ID) · Mark guide as interacted #
Ask an LLM
“How do I log a user clicking inside a guide when I lack a guide message ID?”
“Can I record a guide interaction from only the guide key and step?”
Tell an agent
Mark guide {guide_key} step {guide_step_ref} as interacted for user {user_id}, without a message ID.
Log an interaction on guide {guide_key} step {guide_step_ref} by {user_id} via the message-less endpoint.
PUT /v1/users/{user_id}/guides/engagements/reset Reset a user's engagement with a guide · Reset guide engagement #
Ask an LLM
“How do I reset a guide so a user's next interaction starts fresh?”
“Can I clear a user's engagement history on one guide?”
Tell an agent
Reset engagement on guide {guide_key} step {guide_step_ref} for user {user_id}.
Clear user {user_id}'s engagement log for the {guide_key} guide at step {guide_step_ref}.
GET /v1/users/{user_id}/guides/{channel_id} List guides a user is eligible for · List guides #
Ask an LLM
“Which in-app guides should a particular user see right now?”
“Can I list a user's eligible guides for a specific tenant?”
Tell an agent
List eligible guides for user {user_id} on channel {channel_id}.
Show guides user {user_id} qualifies for on channel {channel_id} in tenant {tenant}.
PUT /v1/users/{user_id}/guides/messages/{message_id}/interacted Record an interaction on a guide message · Mark guide as interacted #
Ask an LLM
“How do I record that a user interacted with a specific guide message?”
“Does logging a guide message interaction trigger its interacted events?”
Tell an agent
Mark guide message {message_id} for {guide_key} step {guide_step_ref} as interacted by user {user_id}.
Record user {user_id} clicking their existing guide message for {guide_key} step {guide_step_ref}.
PUT /v1/users/{user_id}/guides/messages/{message_id}/archived Archive an existing guide message · Mark guide as archived #
Ask an LLM
“How do I archive a specific guide message a user dismissed?”
“Will archiving a guide message fire its archived events?”
Tell an agent
Archive guide message {message_id} for {guide_key} step {guide_step_ref} for user {user_id}.
Record that user {user_id} dismissed their existing guide message for {guide_key} step {guide_step_ref}.

Documentation

Specifications

Schemas & Data

Other Resources

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/knock-app:knock-app-guides-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

knock-app-guides-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Knock App Guides API
  version: '1.0'
  contact:
    name: Knock
    url: https://knock.app
  description: 'Operations tagged Guides across 2 of this provider''s published API definitions: knock-management-api-openapi.yml, knock-users-api-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://control.knock.app
  variables: {}
- url: https://api.knock.app
  variables: {}
security:
- BearerAuth: []
tags:


# --- truncated at 32 KB (65 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/knock-app/refs/heads/main/openapi/knock-app-guides-api-openapi.yml