Skip to main content
GET
/
playground
/
sessions
/
{sessionId}
/
messages
Get messages from a playground session
curl --request GET \
  --url http://localhost:5173/api/flowdrop/playground/sessions/{sessionId}/messages \
  --header 'Authorization: Bearer <token>'
{
  "success": true,
  "data": [
    {
      "id": "be4d854d-d6b3-4242-b2ea-0008b2e059bd",
      "sessionId": "fe5304ea-f069-433f-b0bf-945975c0b806",
      "role": "user",
      "content": "Hello. How are you?",
      "timestamp": "2026-01-19T10:03:32+01:00",
      "status": "completed",
      "sequenceNumber": 1,
      "parentMessageId": null,
      "nodeId": null,
      "metadata": {}
    }
  ],
  "message": "<string>",
  "error": "<string>",
  "hasMore": true,
  "hasOlder": true
}

Authorizations

Authorization
string
header
required

JWT token for authentication

Path Parameters

sessionId
string<uuid>
required

Playground session UUID

Query Parameters

since
integer

Sequence number cursor — returns only messages with sequenceNumber greater than this value (forward pagination). Used for efficient polling of the live conversation tail. Mutually exclusive with before.

Required range: x >= 0
before
integer

Sequence number cursor for backward pagination — returns the page of messages with sequenceNumber LESS than this value, selecting the limit messages with the highest sequence numbers below the cursor (i.e. the page immediately older than the cursor). Used for "load older" on scroll-up. Mutually exclusive with since.

Required range: x >= 0
latest
boolean
default:false

When true, return the most recent limit messages (the conversation tail), ignoring since and before. Use for the initial load of a chat surface. Defaults to false, which preserves the legacy oldest-first behavior when no cursor is supplied.

limit
integer
default:100

Maximum number of messages to return

Required range: 1 <= x <= 500

Response

Messages retrieved successfully

success
boolean

Whether the request was successful

data
object[]

Response data (type varies by endpoint)

message
string

Response message

error
string

Error message (if any)

hasMore
boolean

Whether more recent messages remain after this page (forward pagination via since).

hasOlder
boolean

Whether older messages exist before the first message in this page. Set on latest/before (backward pagination) responses so a chat surface knows whether to keep loading on scroll-up.

sessionStatus
enum<string>

Current session status (useful for polling)

Available options:
idle,
running,
awaiting_input,
completed,
failed