GET/api/v1/records
List one record type's records
type_id is required: records are listed one type at a time. Newest first unless sort says otherwise. To poll for changes, pass updated_after with the newest updated_at you have seen and sort=-updated_at (or updated_at); a deleted record leaves the list. Each record carries its fields and its references resolved to names. For an OAuth token, records its person may not read are left out (a page may be short and still have a next one) and the fields they may not read are stripped. All 404 when the org does not have custom records.
Scopes: records:read
Parameters
type_idquery · string (uuid)requiredRequired: the record type whose records to list (GET /api/v1/record-types).
qquery · stringCase-insensitive substring of the record's title. Characters are matched literally.
project_idquery · string (uuid)Only records filed under this project (GET /api/v1/projects).
updated_afterquery · string (date-time)Only records changed strictly after this instant (ISO 8601 with offset), compared to the millisecond — pass the newest
updated_atyou have seen and that record is not returned again.sortquery · "created_at" | "-created_at" | "title" | "-title" | "updated_at" | "-updated_at"Sort key; a leading
-is descending. Default-created_at(newest first, as the app lists them). Ties break on id.limitquery · integerPage size, default 50. Values above 100 are treated as 100.
cursorquery · stringnext_cursor from the previous page, with the other parameters unchanged.
Response 200RecordList
dataarray of Recordrequiredidstring (uuid)requiredtypeobjectrequiredIts record type (GET /api/v1/record-types).
idstring (uuid)requirednamestringrequired
titlestringrequiredfieldsobject (any keys)requiredField values keyed by field key, as defined by the record type. For an OAuth token, the fields its person may not read are left out.
referencesarray of RecordReferencerequiredEvery value of the reference fields in
fields, resolved to a name, in the type's field order then value order.field_keystringrequiredThe reference field the value is stored under in
fields.recordobject or nullrequiredSet when the field points at a record.
idstring (uuid)requirednamestring or nullrequiredThe target's name (a record's title; a sub-project's as
<parent> › <name>when the parent is readable too). Null when the target is gone or — for an OAuth token — its person may not read it: the id is already infields, the name is not disclosed.
assetobject or nullrequiredSet when the field points at an asset (by the id stored in
fields).idstring (uuid)requirednamestring or nullrequiredThe target's name (a record's title; a sub-project's as
<parent> › <name>when the parent is readable too). Null when the target is gone or — for an OAuth token — its person may not read it: the id is already infields, the name is not disclosed.
projectobject or nullrequiredSet when the field points at a project.
idstring (uuid)requirednamestring or nullrequiredThe target's name (a record's title; a sub-project's as
<parent> › <name>when the parent is readable too). Null when the target is gone or — for an OAuth token — its person may not read it: the id is already infields, the name is not disclosed.
projectProjectRef or nullrequiredA project the record is filed under, or null. Informational: records are org-wide, and who may read one does not depend on it.
idstring (uuid)requirednamestringrequired
edit_seqintegerrequiredIncrements on every change to title, fields, type or project. The first part of the ETag; If-Match on PATCH compares it.
created_atstring (date-time)requiredupdated_atstring (date-time)required
next_cursorstring or nullrequiredPass as
cursorto get the next page; null means this is the last page. For an OAuth token a page may hold fewer thanlimitrecords (those its person may not read are left out) and still have a next page.
Other responses
- 401 unauthenticated — no key, or an unknown, revoked or expired one.
- 403 insufficient-scope — the key lacks a required scope.
- 404 not-found.
- 422 validation — a missing or unknown
type_id(an asset type's id included), an unknownproject_id, or a badlimit,updated_after,sortorcursor. - 429 rate-limited — the key's request budget is spent; wait Retry-After seconds.
- 500 internal.