Skip to content

Cheap change signal for the console's live tables

GET
/operator/inspect/head
curl --request GET \
--url http://localhost:3000/operator/inspect/head \
--header 'Authorization: Bearer <token>'

A Redis-only counter of writes in the caller’s own tenant. The console polls this instead of re-reading a list, and re-fetches only when the number moves.

Deliberately tenant-wide rather than per-surface: it already catches every write that goes through the API, including write paths added later, at the cost of an occasional re-fetch for a change the caller did not care about.

changed is 0 when nothing has ever been written in this tenant — a real answer, safe to gate on. It is null when the counter exists but cannot be read as a number, which is unknown: revalidate rather than assume.

Never reads the tenant database. Both owner and member may read; platform staff have no tenant and get 403.

The tenant’s write counter.

Media typeapplication/json
object
changed
integer | null
Examplegenerated
{
"changed": 1
}

Invalid, expired, revoked, or absent token.

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"
}
}

Caller is platform staff, who have no tenant to inspect.

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"
}
}