Skip to content

Read many objects by ref

GET
/v1/objects
curl --request GET \
--url 'http://localhost:3000/v1/objects?refs=example' \
--header 'Authorization: Bearer <token>'

Revalidates a page’s objects sidecar in one request. Pass refs once per object (?refs=session:1&refs=session:2) — repeated rather than comma-separated, because an object id may legally contain a comma.

A ref with no stored object is simply absent from the map, exactly as in the feed-read sidecar; this is never a 404. Duplicate refs are collapsed rather than rejected (unlike an activity’s refs, where a duplicate is a client bug with a visible consequence) — the response is keyed by ref, so a duplicate has no meaning to reject.

Costs one request against the normal tenant window, not the batch window: this is an ordinary user-token read, not an import.

refs
required
Array<string>
>= 1 items <= 100 items

1–100 type:id refs. Repeat the parameter per ref.

Found objects keyed by type:id. Missing refs are absent from the map, so an empty object is a valid answer.

Media typeapplication/json
object
key
additional properties

Tenant-owned mutable data that activities point at. Opaque to dropin — we store, update, and return custom, and never interpret it. Writes are server-token only.

object
type
required
string
id
required
string
custom
required
object
key
additional properties
any
updated_at
required
string format: date-time
Example
{
"additionalProperty": {
"type": "session",
"id": "1234"
}
}

refs absent, empty, over 100, or not type:id.

Media typeapplication/json
object
error
required
object
code
required
string
Allowed values: VALIDATION_FAILED UNAUTHENTICATED FORBIDDEN NOT_FOUND CONFLICT RATE_LIMITED INTERNAL
message
required
string
requestId
required
string
fields

Present only for VALIDATION_FAILED.

Array<object>
object
path
string
message
string
Example
{
"error": {
"code": "VALIDATION_FAILED"
}
}