Skip to main content
POST
Read synced action data from the datasync index

Authorizations

Authorization
string
header
required

Basic authentication header of the form Basic <encoded-value>, where <encoded-value> is the base64-encoded string username:password.

Query Parameters

page_size
number | null

The number of results to return per page (minimum 1, maximum 200, default 100). With a non-empty aggs there is no default: omit it to get aggregations only, or set it to also get that page of records.

Required range: 1 <= x <= 200
Example:

25

skip
number | null

The number of results to skip before returning results. skip + page_size cannot exceed 10000 (page_size defaulting to 100 when omitted); narrow the filter to reach records beyond that.

Required range: x >= 0
Example:

0

Body

application/json
action
string
required

The action to execute

Example:

"create_employee"

path
object | null
deprecated

Accepted for backwards compatibility but ignored on this endpoint: synced reads no longer select the run by path parameters. Use sync_id to choose which sync to read.

Example:
query
object | null
deprecated

Accepted for backwards compatibility but ignored on this endpoint: synced reads no longer select the run by query parameters. Use sync_id to choose which sync to read.

Example:
body
object | null
deprecated

Accepted for backwards compatibility but ignored on this endpoint: synced reads no longer select the run by request body. Use sync_id to choose which sync to read.

Example:
headers
object | null
deprecated

Accepted for backwards compatibility but ignored on this endpoint: synced reads no longer select the run by headers. Use sync_id to choose which sync to read.

Example:
filter
object | null

OpenSearch-style filter (Query DSL) (term / terms / range / wildcard / match / match_phrase / exists / bool) over synced fields. A filter is one clause: an object with exactly one query type, keyed by field name, e.g. {"term": {"": }}, {"terms": {"": [...]}}, {"range": {"": {"gte": ...}}}; combine clauses with {"bool": {"filter": [...], "must_not": [...]}}. Bare {"": } maps are rejected. match / match_phrase do word-level search (string fields only, case-insensitive); wildcard matches patterns (case-sensitive). Use field names exactly as returned in fields by POST /actions/rpc/synced/queryable_fields for the same account.

Example:
search
string | null

Free-text search over the record's text fields, ranked by relevance. Supports "quoted phrases", +required / -excluded terms, and prefix* — lenient (never errors). Combine with filter to narrow; results are relevance-ranked unless an explicit sort is given.

Example:

"onboarding safety"

sync_id
string | null

Which sync to read, when the account has more than one sync of this action. Omit when there is only one. A named sync is never substituted if it is gone. Naming one that no longer exists is rejected with a 400.

Example:

"sch_01J8Z3Q4"

source
string[] | null

Field names to return (projection) — omit to return all fields. Shrinks the response. Fields nested too deeply to be queried can still be named here: the whole subtree containing them is returned, and a deep name that matches no stored field is simply absent from the records rather than rejected.

Example:
sort
array | null

OpenSearch-style sort. Each entry is either a field name (ascending) or an object keyed by field name: {"last_name": "desc"}, or the nested form {"last_name": {"order": "desc"}}. Earlier entries take priority.

Example:
aggs
object | null

OpenSearch aggregations object, returned as aggregations; an empty object is treated as omitted. Without page_size only the aggregations are returned (data is empty, and source, sort and skip are ignored, though skip must still be within its limit); with page_size that page of records is also returned in data, from the same search. filter and search apply to both.

Example:

Response

Synced action data, or a refusal payload explaining why none was returned.

datasync
object
required

Metadata about the datasync operation

data
object[] | null

The synced records for the requested action

aggregations
object | null

Present when the request set a non-empty aggs: the OpenSearch aggregation results, keyed the same as the requested aggs. data is empty unless page_size was also set.