Query synced records
CallPOST /actions/rpc/synced with the action and the account header, authenticating the same way as any RPC/HTTP call. No provider request is made.
filter and search to narrow the record set, sort and source to shape what comes back, aggs to return numbers instead of records, and page_size with skip to page. The API reference gives each one’s accepted shape.
If an account has more than one sync for the same action, pass sync_id to choose which one to read.
Records come back in the provider’s own shape, with the provider’s field names and nesting - not the normalized shape a regular action call returns. Filter and sort against those names.
No API endpoint lists the queryable field names. Run a query with no
filter and read them off the records, or open Actions Request Tester in the dashboard and pick the (S1Query) entry for the action. Agents calling through MCP get a list_s1query_queryable_fields tool instead.Aggregate instead of paging
An aggregation answers a question about the whole record set without returning the records:aggs returns aggregations instead of records, so source, sort, page_size, and skip are ignored, but filter still applies and lets you aggregate over a subset. The API reference lists the supported bucket and metric aggregations and how deeply they nest.
Response metadata
Every response carries adatasync block describing how fresh the data you just read is: when the readable records were written, when they expire if no further run happens, and the runs that produced them.
Querying an action that has nothing synced yet returns
200 with synced: false and a message, not an error. Treat it as a signal to fall back to a live action call.Next steps
Deep Query
What it does, when to reach for it, and how an agent uses it.
Data Sync
Turn on the sync this reads from, and set how often it refreshes.
RPC/HTTP
Call an action live against the provider instead.
API reference
The
/actions/rpc/synced endpoint.