Skip to main content

SyncTokenCursor

Incremental sync driven by a sync token that the API returns at the end of a pagination pass. The token is opaque. It is committed to state only after the pass's records are emitted and sent back on the next sync. Tokens are never parsed, compared or derived from records.

  • type: object
  • required: ["type","token_path","token_option"]

type​

  • Required: Yes
  • type: string
  • enum: ["SyncTokenCursor"]

token_path​

Path to the next token in the decoded response that ends a pagination pass. The value must be a string or an integer, and is stored and sent as a string. A missing, null or empty value means the response carried no token.

  • Required: Yes
  • type: array
  • Available variables: config

Examples:

- syncToken
- nextSyncToken
- meta
- sync_token
  • items:

    • type: string

token_option​

Where to send the stored token on each request of a pass: the JSON body, the query string, a header or the form body.

completion_condition​

Must be true on the last response of a pass for its token to be committed. Defaults to a token being present at token_path. Set it when the API repeats the old token on intermediate pages or returns a position on every page.

Examples:

{{ not response.moreDataAvailable }}

initial_token​

Value to send when no token is stored, for an API that needs one to start a full pass, such as Todoist's "*". When unset, nothing is sent.

  • Required: No
  • type: string
  • Available variables: config

Examples:

*

cursor_field​

Optional top-level record field advertised as the stream's cursor, so destinations can order versions of a record when deduplicating. It is never used to filter records or to build state.

  • Required: No
  • type: string
  • Available variables: config

$parameters​

  • Required: No
  • type: object