Skip to content

Mark Shared Thread Read

Advance your read cursor to now for a live-shared thread you joined — the slug-scoped twin of the owner mark-read endpoint, for a participant who joined the thread but does not own it.

The owner mark-read route (POST /v1/threads/{id}/read) is ownership-scoped and returns 404 for a joiner. Use this endpoint instead: it advances the joiner's read cursor server-side so the shared-chat unread count clears durably — it stays reset across devices and reloads, rather than clearing only in the local UI. The read cursor is keyed on (user, thread) and is shared with owner reads, so this and the owner endpoint remain consistent.

Authorized by the joiner's live-share grant on the slug. A view or fork slug returns 403; an unknown, unauthorized, or expired link returns 404. The call is idempotent.

POSThttps://api.aitronos.com/v1/shared-threads/{slug}/read

Authentication

Requires user authentication (Bearer token).

Path Parameters

slug string required

The share-link slug, from the share URL. The link must be a live link.

Returns

  • success boolean — always true when the read cursor was advanced.

Code Examples

cURL

curl -X POST "https://api.aitronos.com/v1/shared-threads/abc123slug/read" \
  -H "Authorization: Bearer YOUR_TOKEN"

Python SDK

from aitronos import Aitronos

client = Aitronos(api_key="", token="YOUR_TOKEN")
result = client.threads.shared.mark_read(slug="abc123slug")
print(result.success)

Python (requests)

import requests

response = requests.post(
    "https://api.aitronos.com/v1/shared-threads/abc123slug/read",
    headers={"Authorization": "Bearer YOUR_TOKEN"},
)
print(response.json()["success"])

JavaScript

const response = await fetch(
  "https://api.aitronos.com/v1/shared-threads/abc123slug/read",
  {
    method: "POST",
    headers: { Authorization: "Bearer YOUR_TOKEN" },
  },
);
const result = await response.json();
console.log(result.success);

Response Examples

Success (200)

{
  "success": true
}
{
  "success": false,
  "error": {
    "code": "INSUFFICIENT_PERMISSIONS",
    "message": "You do not have permission to perform this action.",
    "system_message": "This share link does not grant live co-working access",
    "type": "authorization_error",
    "status": 403,
    "details": { "link_id": "tslnk_...", "access_level": "view" },
    "trace_id": "...",
    "timestamp": "..."
  }
}
{
  "success": false,
  "error": {
    "code": "RESOURCE_NOT_FOUND",
    "message": "The requested resource could not be found.",
    "system_message": "Share link not found",
    "type": "client_error",
    "status": 404,
    "details": {},
    "trace_id": "...",
    "timestamp": "..."
  }
}