Skip to main content

Remote Config - SDK Read

Endpoint

/o/sdk?method=rc

Overview

Returns remote config values for a device by resolving active parameters, A/B values, condition matches, and defaults.

Authentication

SDK authentication is used.

Required SDK identity parameters:

  • app_key
  • device_id

Permissions

No dashboard permission check is applied. Access is determined by SDK app/device context.

Request Parameters

ParameterTypeRequiredDescription
methodStringYesMust be rc.
app_keyStringYesApp key used by SDK endpoints.
device_idStringYesDevice/user identifier for config resolution.
keysString (JSON Array)NoInclude only listed parameter keys.
omit_keysString (JSON Array)NoExclude listed parameter keys.
metricsString (JSON Object) or ObjectNoUser properties used for condition matching.
oiNumber/StringNoEnrollment flag used by RC/AB flow when supported by SDK request context.
timestampNumberNoOptional event timestamp context.
cityStringNoOptional location context.
country_codeStringNoOptional location context.
locationStringNoOptional location context.
tzString/NumberNoOptional timezone context.
ip_addressStringNoOptional IP override for geo-derived properties.

Response

Success Response

{
"button_color": "#FF5722",
"max_items": 50,
"feature_enabled": true,
"welcome_message": "Welcome"
}

Response Fields

FieldTypeDescription
(root)ObjectRemote config key-value map for matched parameters.
{parameter_key}String/Number/Boolean/Object/ArrayResolved parameter value.

Error Responses

  • 400
{
"result": "Error while fetching remote config data."
}

Behavior/Processing

  • Active-parameter filter includes only parameters with status Running (or missing status) and with future/null expiry.
  • Value resolution priority per parameter: A/B-tested value, then first matching condition value, then default value.
  • keys/omit_keys are parsed from JSON strings. Parse failures are ignored and request continues without that filter.
  • Condition matching uses processed user metrics and derived random_percentile for seeded rollout logic.

Database Collections

CollectionUsed forData touched by this endpoint
countly_out.remoteconfig_parameters{appId}Parameter definitions and defaultsReads parameter definitions and associated condition values.
countly_out.remoteconfig_conditions{appId}Condition definitionsReads condition rules used for per-user matching.

Examples

Fetch all active remote config values

/o/sdk?method=rc&app_key=YOUR_APP_KEY&device_id=device-123

Fetch only selected keys

/o/sdk?method=rc&app_key=YOUR_APP_KEY&device_id=device-123&keys=["button_color","max_items"]

Fetch with targeting metrics

/o/sdk?method=rc&app_key=YOUR_APP_KEY&device_id=device-123&metrics={"_os":"iOS","_app_version":"24.3.0"}

Limitations

  • If no parameters match, response is {}.
  • Response payload includes resolved values only, not parameter metadata.

Last Updated

2026-03-05