> ## Documentation Index
> Fetch the complete documentation index at: https://documentation.qonversion.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Get a remote configuration

> Returns a single remote configuration by ID, including its read-only inline `payload` values (`{}` when unset).



## OpenAPI

````yaml /api-reference/rest-api-v4.yaml get /remote-configurations/{config_id}
openapi: 3.0.3
info:
  title: Qonversion REST API v4
  version: '4.0'
  description: >-
    Qonversion REST API v4 follows REST standards. It has predictable
    resource-oriented URLs, accepts JSON-encoded request bodies, returns
    JSON-encoded responses, and uses standard HTTP response codes,
    authentication, and verbs.
servers:
  - url: https://api.qonversion.io/v4
    description: Production
security:
  - secretAuth: []
tags:
  - name: Users
    description: Retrieve Qonversion users
  - name: User Properties
    description: Manage user-level attributes
  - name: Identities
    description: Link Qonversion users to your own auth IDs
  - name: Entitlements
    description: Entitlement definitions and user grants
  - name: Purchases
    description: A user's purchase history
  - name: Products
    description: Products configured in the Qonversion dashboard
  - name: Remote Configurations
    description: Server-driven configuration payloads and targeting delivered to the SDK
  - name: Customers
    description: Aggregated customer records, properties, permissions, and metrics
  - name: Segments
    description: Dynamic and system segments of users
  - name: Experiments
    description: Paywall and offering A/B experiments
  - name: Screens
    description: No-code paywall screens — CRUD, publish, analytics
  - name: Analytics
    description: Charts, cards, cohorts, LTV, and insights
  - name: Exports
    description: Asynchronous data exports
  - name: Events
    description: Event catalog
  - name: Scheduled Reports
    description: Recurring reports delivered to external destinations
  - name: Integrations
    description: Third-party integrations configuration
  - name: Automations
    description: Event-driven automations
  - name: Project Settings
    description: Project-level configuration, secret, and store credentials
paths:
  /remote-configurations/{config_id}:
    get:
      tags:
        - Remote Configurations
      summary: Get a remote configuration
      description: >-
        Returns a single remote configuration by ID, including its read-only
        inline `payload` values (`{}` when unset).
      operationId: v4GetRemoteConfiguration
      parameters:
        - name: config_id
          in: path
          required: true
          schema:
            type: string
          description: Remote configuration identifier.
          example: 82a42dc2-76f6-46c2-b883-846acaf2070a
      responses:
        '200':
          description: Remote configuration details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V4RemoteConfigurationDetail'
              example:
                object: remote_configuration
                id: 82a42dc2-76f6-46c2-b883-846acaf2070a
                url: /v4/remote-configurations/82a42dc2-76f6-46c2-b883-846acaf2070a
                name: Onboarding copy
                status: active
                context_key: onboarding_copy_v1
                segment_percent: 100
                segmentation_conditions: []
                priority: 1
                started_at: '2025-11-03T10:26:40Z'
                finished_at: null
                last_applied_at: null
                payload:
                  button_color: '#FF0000'
                  max_items: 5
                created_at: '2025-09-15T12:30:00Z'
                updated_at: '2025-11-03T10:26:40Z'
        '400':
          description: Invalid request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V4Error'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V4Error'
        '404':
          description: Remote configuration not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V4Error'
        '500':
          description: Internal error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V4Error'
        '504':
          description: Upstream timeout
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V4Error'
      security:
        - secretAuth: []
components:
  schemas:
    V4RemoteConfigurationDetail:
      description: >
        Single remote configuration as returned by the single-configuration GET

        endpoint. Extends the base read object with the read-only inline
        `payload`

        values. Create, update, and status responses use the base

        `V4RemoteConfiguration` and do not include `payload`.
      allOf:
        - $ref: '#/components/schemas/V4RemoteConfiguration'
        - type: object
          properties:
            payload:
              type: object
              additionalProperties: true
              description: >
                Read-only copy of the JSON payload values delivered to the SDK

                (`{}` when unset). Edit via the payload endpoint, not this
                field.
              example:
                button_color: '#FF0000'
                max_items: 5
    V4Error:
      type: object
      required:
        - error
      properties:
        error:
          type: object
          required:
            - type
            - code
            - message
          properties:
            type:
              type: string
              enum:
                - request
                - resource
                - logical
                - internal
            code:
              type: string
              description: |
                Machine-readable snake_case error code. Examples include
                `invalid_data`, `invalid_request`, `invalid_product_id`,
                `not_found`, `already_exists`, `offering_already_exists`,
                `product_not_in_project`, `cannot_set_main_directly`,
                `cannot_demote_main`, `cannot_patch_experiment_variant`,
                `cannot_delete_experiment_variant`, and
                `cannot_setmain_experiment_variant`. Resource-specific codes
                are documented on the corresponding reference page.
            message:
              type: string
              description: Human-readable description. May change; do not parse.
            details:
              type: array
              nullable: true
              description: Per-field validation errors, present on 400 validation failures.
              items:
                type: object
                properties:
                  field:
                    type: string
                  message:
                    type: string
    V4RemoteConfiguration:
      type: object
      description: |
        A named server-driven configuration. The read view returned by the list,
        create, update, and status endpoints. Only the single-configuration GET
        additionally embeds the inline `payload` values (see
        `V4RemoteConfigurationDetail`); these endpoints do not.
      required:
        - object
        - id
        - url
        - name
        - status
        - segment_percent
        - segmentation_conditions
        - priority
        - created_at
        - updated_at
      properties:
        object:
          type: string
          example: remote_configuration
        id:
          type: string
          description: Remote configuration identifier (UUID).
          example: 82a42dc2-76f6-46c2-b883-846acaf2070a
        url:
          type: string
          description: Canonical API path.
          example: /v4/remote-configurations/82a42dc2-76f6-46c2-b883-846acaf2070a
        name:
          type: string
          description: Display name.
          example: Onboarding copy
        status:
          type: string
          x-extensible-enum:
            - draft
            - active
            - archived
          description: >
            Lifecycle status. Only `active` configurations are served to the
            SDK.

            `archived` is terminal. Change via `PATCH
            /remote-configurations/{config_id}/status`.
          example: active
        context_key:
          type: string
          nullable: true
          description: Optional stable key the SDK uses to look up this configuration.
          example: onboarding_copy_v1
        segment_percent:
          type: number
          minimum: 0
          maximum: 100
          description: |
            Percentage (0–100) of the targeted audience that receives this
            configuration. `100` targets the whole audience.
          example: 100
        segmentation_conditions:
          type: array
          description: >
            Targeting rules that narrow the audience. Always present on read;
            `[]`

            when no conditions are set.
          items:
            $ref: '#/components/schemas/V4RemoteConfigurationSegmentationCondition'
        priority:
          type: integer
          nullable: true
          description: |
            Resolution priority when a user matches multiple configurations
            (read-only). `null` until the configuration is first activated.
          example: 1
        started_at:
          type: string
          format: date-time
          nullable: true
          description: When the configuration was activated. `null` while in `draft`.
          example: '2025-11-03T10:26:40Z'
        finished_at:
          type: string
          format: date-time
          nullable: true
          description: When the configuration was archived. `null` while not archived.
        last_applied_at:
          type: string
          format: date-time
          nullable: true
          description: When the configuration was last served to a user.
        created_at:
          type: string
          format: date-time
          description: ISO 8601 creation timestamp.
          example: '2025-09-15T12:30:00Z'
        updated_at:
          type: string
          format: date-time
          description: ISO 8601 last update timestamp.
          example: '2025-11-03T10:26:40Z'
    V4RemoteConfigurationSegmentationCondition:
      type: object
      description: |
        A single targeting rule. Rules narrow which users the configuration is
        served to; all rules must match.
      required:
        - code
        - comparator
        - type
        - values
      properties:
        code:
          type: string
          description: Identifier of the user attribute or metric the rule tests.
          example: platform
        comparator:
          type: string
          description: Comparison operator applied between the attribute and `values`.
          example: in
        type:
          type: string
          description: Value type of the attribute being compared.
          example: string
        values:
          type: array
          description: Scalar values the rule compares against.
          items:
            type: string
          example:
            - ios
            - android
        object_values:
          type: array
          nullable: true
          description: >
            Optional structured values for comparators that match against
            objects

            rather than scalars.
          items:
            type: object
            additionalProperties: true
  securitySchemes:
    secretAuth:
      type: http
      scheme: bearer
      bearerFormat: sk_…
      description: >-
        Bearer authentication using the project **Secret Key** (prefixed with
        `sk_`, or `test_sk_` for sandbox). All v4 public endpoints require the
        Secret Key — see [Authentication](/reference/v4/authentication). Never
        expose the Secret Key in client-side code.

````