Skip to main content
GET
Read the Entries of a Composition's Table

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Headers

X-Managed-User-Id
string<uuid>

The id Widgetic gave the managed user (POST /managed-users). Makes this call for one of your managed users, so that a mistake in your own code cannot reach another customer's work. Send this header, or the other one, never both. Left out, the call works on your whole account, as it always has. With it, the call reaches only that user's compositions and workflows: a list shows only theirs, a composition or a workflow the call makes is filed under them, and one of another user, or one that does not exist, answers 404 (the same answer, so the call cannot be used to find out what another customer has). A managed user that is not yours answers 404 with MANAGED_USER_NOT_FOUND. An empty, repeated or malformed header is 400 with MANAGED_USER_SCOPE_INVALID; an empty header is never read as no header. A call that is about the whole account, such as the list of your managed users, is refused with 403 and MANAGED_USER_SCOPE_ROUTE_NOT_AVAILABLE: send it without the header. Only your API key can send it. The header is a limit the call asks for: whoever holds the key can leave it out, so for a credential that a customer's browser holds, use an editor session. An Idempotency-Key is kept apart for each managed user.

Example:

"3f2b8c1e-7a4d-4e0b-9c55-2d1a6b7e8f90"

X-Managed-User-External-Id
string

Your own id for the managed user (its externalId), when you do not keep Widgetic's. Makes this call for one of your managed users, so that a mistake in your own code cannot reach another customer's work. Send this header, or the other one, never both. Left out, the call works on your whole account, as it always has. With it, the call reaches only that user's compositions and workflows: a list shows only theirs, a composition or a workflow the call makes is filed under them, and one of another user, or one that does not exist, answers 404 (the same answer, so the call cannot be used to find out what another customer has). A managed user that is not yours answers 404 with MANAGED_USER_NOT_FOUND. An empty, repeated or malformed header is 400 with MANAGED_USER_SCOPE_INVALID; an empty header is never read as no header. A call that is about the whole account, such as the list of your managed users, is refused with 403 and MANAGED_USER_SCOPE_ROUTE_NOT_AVAILABLE: send it without the header. Only your API key can send it. The header is a limit the call asks for: whoever holds the key can leave it out, so for a credential that a customer's browser holds, use an editor session. An Idempotency-Key is kept apart for each managed user.

Required string length: 1 - 255
Example:

"customer-1042"

Path Parameters

id
string<uuid>
required

ID of the composition

table
string
required

The table to read, exactly as describeCompositionEntries lists it

Maximum string length: 63

Query Parameters

groupBy
string

A column of the table to count entries per value of

Maximum string length: 63
rows
integer
default:0

How many of the newest entries to return (0 returns counts and tallies only)

Required range: 0 <= x <= 25
aggregate
string

The functions to compute, comma-separated, from count, avg, min, max and sum (for example count,avg). Adds aggregates to the answer. Any other name answers 400 ENTRY_AGGREGATE_INVALID.

Maximum string length: 100
Example:

"count,avg"

column
string

The numeric column avg, min, max and sum are computed over. Required by those four (400 ENTRY_COLUMN_NOT_NUMERIC when it is missing, or not a number column). Only with aggregate.

Maximum string length: 63
since
string<date-time>

Only entries made at this time or later: since is INCLUSIVE (an entry made at exactly since is returned). A date and time with an offset, such as 2026-10-01T00:00:00Z; anything else answers 400 INVALID_SINCE. An entry with no time never matches, and a table with no time column answers 400 ENTRY_TABLE_HAS_NO_TIME.

until
string<date-time>

Only entries made before this time: until is EXCLUSIVE (an entry made at exactly until is NOT returned), so since=A&until=B followed by since=B&until=C counts every entry once. Same form and same refusals as since (400 INVALID_UNTIL).

context
object

Host context filters as context[key]=value (max 5 keys, counting dotted context.key too). Use column.<name>=value for columns whose names collide with reserved parameters.

filter
object

Column filters as filter[columnName]=value (same meaning as bare columnName=value or column.columnName=value; max 10 column filters counting all spellings). A plain filter=value still filters a column named filter.

Response

The counts, tallies and entries asked for

success
boolean
required

Always true on a success.

Example:

true

data
object
required
Example:
meta
object

Extra information about the answer: where a page sits in a list, the cursor of the next page, or warnings about a call that succeeded with a caveat.