Key concepts
- Config ID — Stable identifier (UUID) for the configuration, used in the API path.
- Context key — Optional key the SDK uses to look up this configuration.
- Status —
draft,active, orarchived. Onlyactiveconfigurations are served to the SDK. Archiving is terminal; an archived configuration can only be deleted. Change it viaPATCH /remote-configurations/{config_id}/status. - Payload values — The actual JSON object delivered to the SDK, e.g.
{"button_color": "#FF0000"}. Read and replaced through the dedicatedpayloadendpoint, and also returned read-only inline on a single-configuration GET. - Payload mapping — The key → type schema that tells the SDK how to interpret each payload key, e.g.
{"button_color": "Color"}. Types areString,Number,Bool,Json,Color,Products,Screens. Managed through thepayload-mappingendpoint. The mapping describes the shape of the payload; it is not the values themselves. - Targeting —
segment_percent(0–100) rolls the configuration out to a fraction of the audience, andsegmentation_conditionsnarrows it with attribute rules. Both are set on create/update and returned on read. - User attachment —
POST /remote-configurations/{config_id}/users/{user_id}pins a specific user to this configuration, overriding targeting rules;DELETEremoves the pin. - Experiments — Remote configurations can be delivered as an experiment group payload.
Payload values vs. payload mapping are two sibling concepts. The values (
payload) are the JSON delivered to the SDK; the mapping (payload-mapping) is the key → type schema describing how to read that JSON. They are edited through separate endpoints.Available endpoints
POST and PUT on a configuration accept the optional targeting fields segment_percent and segmentation_conditions, and both are returned on read. Only a single-configuration GET returns the read-only inline payload values ({} when unset) — list items and the create, update, and status responses omit them.
Both payload endpoints (
payload and payload-mapping) are full replace: the object you send becomes the complete stored value. To change one key, read the current object, modify it, and send the whole object back. An empty object {} clears it. Payload value requests are limited to 64 KiB.