---
title: "Read the conversation a share link opens, as any signed-in caller holding the link"
method: GET
path: "/links/{token}/events"
---

# Read the conversation a share link opens, as any signed-in caller holding the link

`GET /links/{token}/events`

## Request

- Base URL: `https://api.agentsky.dev/v1`
- URL: `https://api.agentsky.dev/v1/links/{token}/events`
- Auth: none declared

Answers the session as its reader sees it and one page of people's turns and the agent's replies, text only (no attachments, tool calls, system messages or marks), oldest first, with the same opaque cursor as /sessions/{id}/events. Works for view-only and guest links. Unknown, rotated, disabled and deleted links all answer 404 not_found; reads are rate-limited per token (429 rate_limited with Retry-After). Needs a token with read scope from any workspace; the link is the grant, so the caller need not belong to the session's workspace.

## Path parameters

- `token` string, required

## Query parameters

- `cursor` string
- `limit` integer
- `order` 'asc' | 'desc'

## Response `200`

OK

- object
  - `session` object, required
    - `id` string, required
    - `title` string, nullable, required
    - `agent_type` string, required
    - `owner` object, required
      - `name` string, nullable
    - `workspace` object, required
      - `name` string
  - `events` object[], required: user.message and agent.message events, text parts only
  - `cursor` string, nullable, required
  - `hasMore` boolean, required

## Other responses

- `default`: Error — { error: { code, message, request_id } }

## Changes

- **2026-11-02** `e5e8f0229a99`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/agentsky/apis/agentsky-developer-api/changes/links/:token/events/get.md)

---

[API](https://skmtc.dev/agentsky/apis/agentsky-developer-api.md) - [All operations](https://skmtc.dev/agentsky/apis/agentsky-developer-api/llms.txt) - [OpenAPI document](https://skmtc.dev/agentsky/apis/agentsky-developer-api/revisions/8280a065ef6a?raw)
