Two endpoints share the same paginated response shape and query parameters. Use the first to list every message in a session; use the second to scope to a single thread (for example, to poll the latest follow-up’s reply).Documentation Index
Fetch the complete documentation index at: https://docs.blocks.team/llms.txt
Use this file to discover all available pages before exploring further.
created_at (newest first by default). Soft-deleted messages are excluded.
Request
Path parameters
The session ID. Required for both URL forms.
The thread ID. Required only on the threaded URL form. The thread must belong to
session_id.Query parameters
Repeat to combine. Allowed values:
message, final_message, tool_call. Pass type=final_message to fetch only completed assistant replies.Filter by sender. One of
user, assistant.Filter to a single thread without using the threaded URL form. Ignored on the threaded URL.
Cursor for incremental polling, in epoch seconds. Returns only messages whose
ts is strictly greater than this value. Use _links.new_messages.href from the previous page to get a pre-built URL with this cursor already set.1-indexed page number. Minimum
1.Page size. Minimum
1, maximum 100.Sort direction. One of
asc, desc.Response
Page of messages.
Pagination metadata.
HATEOAS links for the page.
Polling tips
- For the assistant’s first reply, use the
_links.final_message.hrefreturned fromCreate Session— it already has the right filters applied. - For incremental polling, use
_links.new_messages.hreffrom the previous response. It encodes thegtscursor so each poll only returns new messages.
Errors
| Status | Code | Reason |
|---|---|---|
404 | NOT_FOUND | Session (or thread) does not exist or belongs to a different workspace. |

