---
title: "Mark guide as seen"
method: PUT
path: "/v1/users/{user_id}/guides/messages/{message_id}/seen"
tags: ["Guides", "Users"]
---

# Mark guide as seen

`PUT /v1/users/{user_id}/guides/messages/{message_id}/seen`

## Request

- Base URL: `https://api.knock.app`
- URL: `https://api.knock.app/v1/users/{user_id}/guides/messages/{message_id}/seen`
- Auth: HTTP bearer

Records that a guide has been seen by a user, triggering any associated seen events.

## Path parameters

- `user_id` string, required

## Request body

- GuideSeenRequest: A request to mark a guide as seen.
  - `channel_id` string, uuid, required: The unique identifier for the channel.
  - `content` object, required: The content of the guide.
  - `data` object: The data of the guide.
  - `guide_id` string, uuid, required: The unique identifier for the guide.
  - `guide_key` string, required: The key of the guide.
  - `guide_step_ref` string, required: The step reference of the guide.
  - `tenant` string: The tenant ID of the guide.

## Response `200`

OK

- GuideActionResponse: A response for a guide action.
  - `status` string, required: The status of a guide's action.

## Changes

- **2026-07-20** `512ce7e55eb6`: 2 breaking, 2 warning
  - the request property `tenant` became not nullable
  - the request property `content` became required
  - removed the request property `is_final`
  - removed the request property `metadata`
- **2025-09-22** `136d5581336a`: 1 warning
  - deleted the `path` request parameter `message_id`

[Operation history](https://skmtc.dev/knocklabs/apis/knock-api/changes/v1/users/:user_id/guides/messages/:message_id/seen/put.md)

---

[API](https://skmtc.dev/knocklabs/apis/knock-api.md) · [All operations](https://skmtc.dev/knocklabs/apis/knock-api/llms.txt) · [OpenAPI document](https://skmtc.dev/knocklabs/apis/knock-api/revisions/dd3b76c7036d?raw)
