

```json
{
  "openapi": "3.0.0",
  "info": {
    "version": "latest",
    "title": "Remote Config Client API",
    "contact": {
      "name": "Remote Config",
      "email": "remote-config@unity3d.com"
    }
  },
  "servers": [
    {
      "url": "https://config.unity3d.com/",
      "description": "Remote Config Delivery Server"
    }
  ],
  "paths": {
    "/api/v1/settings": {
      "get": {
        "tags": [
          "Settings"
        ],
        "summary": "Get Player Settings",
        "operationId": "assignSettingsGet",
        "security": [
          {
            "Client": []
          }
        ],
        "parameters": [
          {
            "name": "projectId",
            "in": "query",
            "description": "projectId for the requesting Unity project",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "environmentId",
            "in": "query",
            "description": "optional environmentId to choose a non-default environment",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "configType",
            "in": "query",
            "description": "optional configType",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "key",
            "in": "query",
            "description": "optional filter to include settings with keys containing any of the specified values",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "type",
            "in": "query",
            "description": "optional filter to include settings with specific types in the response",
            "schema": {
              "type": "array",
              "items": {
                "enum": [
                  "int",
                  "float",
                  "long",
                  "bool",
                  "string",
                  "json"
                ]
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/SettingsDeliveryResponse"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Settings"
        ],
        "summary": "Request Player Settings with optional attributes for use in campaign (game overrides).",
        "operationId": "assignSettings",
        "requestBody": {
          "description": "Request to assign settings for a user.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SettingsDeliveryRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SettingsDeliveryResponse"
                }
              }
            }
          }
        },
        "x-codegen-request-body-name": "settings request"
      }
    }
  },
  "components": {
    "schemas": {
      "SettingsDeliveryResponse": {
        "title": "SettingsDeliveryResponse",
        "type": "object",
        "properties": {
          "configs": {
            "title": "configs",
            "type": "object",
            "description": "object containing all the overridden configs",
            "properties": {
              "settings": {
                "title": "settings",
                "type": "object",
                "description": "object containing the values that are overridden",
                "additionalProperties": {
                  "type": "object"
                }
              }
            }
          },
          "metadata": {
            "title": "metadata",
            "type": "object",
            "description": "object containing the metadata",
            "properties": {
              "environmentId": {
                "title": "environmentId",
                "description": "represents the environment of the overridden values",
                "type": "string"
              },
              "assignmentId": {
                "title": "assignmentId",
                "description": "represents the assignment id of the overridden values",
                "type": "string"
              },
              "configAssignmentHash": {
                "title": "configAssignmentHash",
                "description": "represents the hash value of the assignment which could be used to retrieve the same overridden values",
                "type": "string"
              }
            }
          }
        },
        "example": {
          "configs": {
            "settings": {
              "backgroundColor": "blue",
              "bossHealth": 223
            }
          },
          "metadata": {
            "environmentId": "9ea5c0b7-6452-4b1b-aae3-521117ac5da3",
            "assignmentId": "1c1e8bd4-c044-424f-89c6-d5bc654129e3",
            "configAssignmentHash": "7da21d376edba70e13c7b9f80ce232b372b5d0b1"
          }
        }
      },
      "SettingsDeliveryRequest": {
        "required": [
          "projectId",
          "userId"
        ],
        "type": "object",
        "properties": {
          "projectId": {
            "title": "projectId",
            "type": "string",
            "description": "The projectId for the requesting Unity project.",
            "example": "4bab2f9d-07a9-46f4-86a9-9b4fbdc29ac2",
            "default": ""
          },
          "userId": {
            "title": "userID",
            "type": "string",
            "description": "The userID for the user requesting settings.",
            "example": "0cb3fbaa-e66f-4919-9bb2-cbc2aa5a13af",
            "default": ""
          },
          "customUserId": {
            "title": "customUserId",
            "type": "string",
            "description": "An optional custom userID.",
            "example": "myUserID"
          },
          "environmentId": {
            "title": "environmentId",
            "type": "string",
            "description": "An optional environmentID to choose a non-default environment.",
            "example": "9ea5c0b7-6452-4b1b-aae3-521117ac5da3"
          },
          "configType": {
            "title": "configType",
            "type": "string",
            "description": "An optional configType. Defaults to 'settings'",
            "example": "settings",
            "default": "settings"
          },
          "configAssignmentHash": {
            "title": "configAssignmentHash",
            "type": "string",
            "description": "An optional config assignment hash to retrieve a specific config",
            "example": "8209cd827d25f9f16f18f3e7b39f568857439133"
          },
          "key": {
            "title": "key",
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "An optional array of filters for including settings with keys containing any of the specified values",
            "example": [
              "key1",
              "key2"
            ]
          },
          "type": {
            "title": "type",
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "int",
                "float",
                "long",
                "bool",
                "string",
                "json"
              ]
            },
            "description": "An optional array of filters for including settings with specific types",
            "example": [
              "json",
              "int",
              "bool"
            ]
          },
          "isDebugBuild": {
            "title": "isDebugBuild",
            "type": "boolean",
            "description": "Should be set to 'true' when the request is coming from a debug build.",
            "example": false,
            "default": false
          },
          "packageVersion": {
            "title": "packageVersion",
            "type": "string",
            "description": "Used to specify what Remote Config package version sent the request.",
            "example": "2.1.1",
            "default": "2.0.0"
          },
          "attributionMetadata": {
            "title": "attributionMetadata",
            "type": "string",
            "description": "Used to specify the origin of the request for attribution.",
            "default": ""
          },
          "attributes": {
            "title": "Request attributes",
            "type": "object",
            "properties": {
              "unity": {
                "title": "Unity attributes",
                "type": "object",
                "properties": {
                  "appVersion": {
                    "type": "string",
                    "example": "1.0"
                  },
                  "appBuildVersion": {
                    "type": "string",
                    "example": "23"
                  },
                  "country": {
                    "type": "string",
                    "example": "US"
                  },
                  "cpu": {
                    "type": "string",
                    "example": "Intel(R) Core(TM) i7-7920 HQ CPU @ 3.10GHz"
                  },
                  "cpuFrequency": {
                    "type": "string",
                    "example": "3100"
                  },
                  "graphicsDeviceVendor": {
                    "type": "string",
                    "example": "NVIDIA"
                  },
                  "language": {
                    "type": "string",
                    "example": "en"
                  },
                  "osVersion": {
                    "type": "string",
                    "example": "Mac OS X 10.14.4"
                  },
                  "platform": {
                    "type": "string",
                    "example": "macOS"
                  },
                  "ram": {
                    "type": "integer",
                    "example": 8192
                  },
                  "model": {
                    "type": "string",
                    "example": "Macbook Pro 13"
                  },
                  "timeSinceStart": {
                    "type": "integer",
                    "example": 60000
                  }
                },
                "description": "Attributes retrieved by Unity.",
                "example": {
                  "appVersion": "1.0",
                  "appBuildVersion": "23",
                  "country": "US",
                  "cpu": "Intel(R) Core(TM) i7-7920 HQ CPU @ 3.10GHz",
                  "cpuFrequency": "3100",
                  "graphicsDeviceVendor": "Apple",
                  "language": "en",
                  "osVersion": "Mac OS X 10.14.4",
                  "platform": "macOS",
                  "ram": 8192,
                  "model": "Macbook Pro 13",
                  "timeSinceStart": 60000
                }
              },
              "app": {
                "title": "app attributes",
                "type": "object",
                "additionalProperties": {
                  "type": "string"
                },
                "description": "Custom attributes for the app.",
                "example": {
                  "myAppAttribute": "myValue"
                }
              },
              "user": {
                "title": "user attributes",
                "type": "object",
                "additionalProperties": {
                  "type": "string"
                },
                "description": "Custom attributes related to the user.",
                "example": {
                  "userName": "coolUser27"
                }
              }
            },
            "description": "Used to specify attributes of the requesting app and user for use in rules.",
            "example": {
              "unity": {
                "appVersion": "1.0",
                "appBuildVersion": "23",
                "country": "US",
                "cpu": "Intel(R) Core(TM) i7-7920 HQ CPU @ 3.10GHz",
                "cpuFrequency": "3100",
                "graphicsDeviceVendor": "Apple",
                "language": "en",
                "osVersion": "Mac OS X 10.14.4",
                "platform": "macOS",
                "ram": 8192,
                "model": "Macbook Pro 13",
                "timeSinceStart": 60000
              },
              "app": {},
              "user": {}
            }
          }
        },
        "example": {
          "projectId": "4bab2f9d-07a9-46f4-86a9-9b4fbdc29ac2",
          "userId": "0cb3fbaa-e66f-4919-9bb2-cbc2aa5a13af",
          "customUserId": "myUserID",
          "environmentId": "9ea5c0b7-6452-4b1b-aae3-521117ac5da3",
          "configType": "settings",
          "key": [
            "key1",
            "key2"
          ],
          "type": [
            "json",
            "int",
            "bool"
          ],
          "isDebugBuild": true,
          "packageVersion": "2.1.1",
          "attributionMetadata": "{}",
          "attributes": {
            "unity": {
              "appVersion": "1.0",
              "appBuildVersion": "23",
              "country": "US",
              "cpu": "Intel(R) Core(TM) i7-7920 HQ CPU @ 3.10GHz",
              "cpuFrequency": "3100",
              "graphicsDeviceVendor": "Apple",
              "language": "en",
              "osVersion": "Mac OS X 10.14.4",
              "platform": "macOS",
              "ram": 8192,
              "model": "Macbook Pro 13",
              "timeSinceStart": 60000
            },
            "app": {},
            "user": {}
          }
        }
      }
    },
    "securitySchemes": {
      "Client": {
        "type": "http",
        "scheme": "bearer",
        "description": "To get started with Authentication, please visit the [Client Authentication section](https://services.docs.unity.com/docs/client-auth)."
      }
    }
  }
}
```