Skip to main content
GET
List live templates, newest first.

Authorizations

Authorization
string
header
required

Authorization: Bearer vsk_live_…. Chosen over a bespoke X-API-KEY header because every client, proxy and log-redaction rule already knows this one. What a key may DO is its scopes — see x-scopes at the root of this document and x-required-scope on each operation. The scope list is not written here because OpenAPI reserves a requirement’s scope array for oauth2 and openIdConnect and requires it to be empty for an http scheme.

Query Parameters

limit
integer
default:25

⚠️ A VALUE OUTSIDE THE RANGE IS REFUSED, NOT CLAMPED. Clamping looks friendlier and produces a silent defect: a caller who asks for 1000 and receives 100 has a working integration that reads their whole account in ten times the requests they budgeted, and nothing anywhere says so. How many templates to return.

Required range: 1 <= x <= 100
cursor
string<uuid>

The next_cursor from the previous page. Omit it to start at the newest template. It is the last item’s id in clear — not an opaque blob, because encoding a uuid to signal opacity is a costume that makes every support conversation start with a decoding step. A template id to resume after.

Response

A page of templates, newest first, with the cursor for the next.

The page.

data
object[]
required

This page’s templates.

has_more
boolean
required

⚠️ THE ANSWER, rather than something to infer. A caller inferring "more" from a full page loops one extra time on every list whose size is an exact multiple of limit.

next_cursor
string | null
required

Pass this as cursor for the next page. Null exactly when has_more is false — the two are computed from one expression, so a true with a null cursor cannot happen.