Skip to main content
An Option Set is a named list your onboarding flows can point at. Editing it reaches devices without republishing any flow, so a list that changes on your side — locations, plans, inventory — stays current without anyone editing a flow. Two endpoints matter: one your system calls to push the list, and one the SDK calls to read it. You only need the first.

Push your list

Authenticate with the existing key pair from Console → Settings → SDK. The public key identifies the app and the secret proves it; both live and sandbox pairs work, so you can stage against sandbox and repoint the same code at production.

Modes

replace is the right mode for a nightly full export, but it acts on exactly what you send. If a bug truncates your payload, a short list archives most of the set. merge is the default for that reason — its worst case is “some items not updated”.

What it does and does not do

  • Never deletes. An item you stop sending is archived: hidden from users, kept so answers that reference it still resolve. Send it again and it comes back.
  • Never rewrites a locked value. value is the analytics key. Once an answer has recorded it, a row that would change it is refused on its own — the rest of the file still lands. Labels and presentation can still change.
  • Bumps the set version, so devices pick the change up on next launch.

Response

Alert on these rather than diffing yourself — "archived": 400 out of 420 is the shape of a truncated export, and it is visible here before anyone notices on a device.

Limits

A set can hold far more than 5,000 items — send them across several merge calls, then a final replace if you need omissions archived.

Read the list (SDK)

The SDKs call this themselves; it is documented because it is what makes an unbounded list possible. A published flow carries only the first page, and the SDK pages and searches from here. Search is server-side and accent-insensitive, so malaga finds Málaga Estate.