Skip to content

List versions of a data block

GET
/v1/blocks/{blockId}/versions
curl --request GET \
--url 'https://example.com/v1/blocks/example/versions?limit=25&includeTombstoned=false' \
--header 'Authorization: Bearer <token>'

Newest published first. ?includeTombstoned=true includes unregistered versions, each with unregisteredAt.

blockId
required
string
>= 1 characters

Block id: dotted lowercase (e.g. acme.intake-prompt).

limit
integer
default: 25 >= 1 <= 100

1..100. Default 25.

cursor
string

Where the previous page ended: its nextCursor, as it came. A runtime that seals cursors takes one only for the same list, filters and caller, within a day; otherwise 400 bad-input, and the list starts again without it. Absent → first page.

includeTombstoned
boolean

When true, the response includes soft-tombstoned versions in addition to active ones. Tombstoned rows carry an unregisteredAt ISO timestamp; active rows omit the field. Default: false (active-only).

Page of versions.

Media typeapplication/json
object
data
required
Array<object>

A data block version: a prompt or settings, versioned like a tool (immutable versions, soft unregister). An agent version pins the block versions it uses when it is published. Belongs to one project and is authorized through it.

object
id
required

Dotted lowercase id (e.g. acme.intake-prompt).

string
version
required
string
/^\d+\.\d+\.\d+$/
kind
required

prompt: a Liquid template an agent renders as its instructions. settings: a JSON object tools and templates read.

string
Allowed values: prompt settings
description
string
content
required
One of:
object
template
required

Liquid, rendered as an agent’s instructions are (same parameters and auto-injected variables).

string
>= 1 characters
parameters
Array<object>
object
name
required
string
description
string
type
required
string
Allowed values: string number boolean date
required
boolean
default

Default value used when the caller omits this parameter.

projectId
required
string format: uuid
publishedAt
required
string format: date-time
unregisteredAt

Present only on an unregistered version; agent versions that pin it still read it.

string format: date-time
nextCursor
string
hasMore
required
boolean
Example
{
"data": [
{
"kind": "prompt",
"content": {
"parameters": [
{
"type": "string"
}
]
}
}
]
}

Missing / malformed / expired / revoked bearer token.

Media typeapplication/json
object
error
required
object
code
required

Stable machine-readable discriminant. Values match domain error codes (see docs/API-ROUTE-CONVENTIONS.md §4.3).

string
message
required
string
details

Optional, kind-specific.

object
key
additional properties
any
requestId
required

Server-assigned request id; also echoed via X-Request-Id header.

string
Examplegenerated
{
"error": {
"code": "example",
"message": "example",
"details": {},
"requestId": "example"
}
}

block-not-found.

Media typeapplication/json
object
error
required
object
code
required

Stable machine-readable discriminant. Values match domain error codes (see docs/API-ROUTE-CONVENTIONS.md §4.3).

string
message
required
string
details

Optional, kind-specific.

object
key
additional properties
any
requestId
required

Server-assigned request id; also echoed via X-Request-Id header.

string
Examplegenerated
{
"error": {
"code": "example",
"message": "example",
"details": {},
"requestId": "example"
}
}