{
  "openapi": "3.0.0",
  "externalDocs": {
    "description": "For more information about this service, see the docs.",
    "url": "https://cloud.ibm.com/docs/app-configuration",
    "x-cli-ref-url": "https://cloud.ibm.com/docs/app-configuration?topic=app-configuration-app-configuration-cli"
  },
  "info": {
    "title": "App Configuration API",
    "x-alternate-name": "app-configuration",
    "version": "1.0",
    "x-ibm-name": "app-configuration",
    "description": "## Introduction\n\nIBM Cloud App Configuration is a centralized feature management and configuration service for use with web and mobile applications, microservices, and distributed environments.\n\nInstrument your applications with App Configuration SDKs, and use the App Configuration dashboard or App Configuration administrator API to define features flags, which are organized into collections and targeted to segments. Change feature flag states in the cloud to activate or deactivate features in your application or environment, often without restarting.\n\n- **App Owners** - Roll out features by segment and independent from code deployments.\n- **Developers** - Reduce source code branch complexity and troublesome merges by including untested or unfinished features behind a feature flag in your master branch.\n- **Testers** - Increase confidence that new features will smoothly transition to production by testing there. Use flags to activate untested features only for testers and QA personnel until it's time to release.\n\n### Before you begin\n\nMake sure that you have access to a paid IBM Cloud account.\n\nLearn more [about App Configuration](https://cloud.ibm.com/docs/app-configuration?topic=app-configuration-getting-started).\n\n### SDKs\n\nFor more information about installation and technical concepts, see the 'README' document in the SDK.\n\n| Server SDKs  | Client SDKs  | Admin SDKs  |\n| -- | -- | -- |\n| [Node SDK](https://github.com/IBM/appconfiguration-node-sdk)  \\n [Documentation](https://cloud.ibm.com/docs/app-configuration?topic=app-configuration-ac-integrate-sdks) | [Android SDK](https://github.com/IBM/appconfiguration-android-client-sdk)  \\n [Documentation](https://cloud.ibm.com/docs/app-configuration?topic=app-configuration-ac-integrate-sdks-android) | [Go Admin SDK](https://github.com/IBM/appconfiguration-go-admin-sdk) |\n| [Python SDK](https://github.com/IBM/appconfiguration-python-sdk)  \\n [Documentation](https://cloud.ibm.com/docs/app-configuration?topic=app-configuration-ac-python) | [JavaScript SDK](https://github.com/IBM/appconfiguration-js-client-sdk)  \\n [Documentation](https://cloud.ibm.com/docs/app-configuration?topic=app-configuration-ac-javascript) | &nbsp;&nbsp; |\n| [Go SDK](https://github.com/IBM/appconfiguration-go-sdk)  \\n [Documentation](https://cloud.ibm.com/docs/app-configuration?topic=app-configuration-ac-golang) | [React SDK](https://github.com/IBM/appconfiguration-react-client-sdk)  \\n [Documentation](https://cloud.ibm.com/docs/app-configuration?topic=app-configuration-ac-react) | &nbsp;&nbsp; |\n| [Java SDK](https://github.com/IBM/appconfiguration-java-sdk)  \\n [Documentation](https://cloud.ibm.com/docs/app-configuration?topic=app-configuration-ac-java) | &nbsp;&nbsp; | &nbsp;&nbsp; |\n\nInstalling the Go SDK\n\nGo modules (recommended): Add the following import in your code, and then run `go build` or `go mod tidy`\n\n```go\nimport (\n  \"github.com/IBM/appconfiguration-go-admin-sdk/appconfigurationv1\"\n)\n```\n\nGo get\n\n```bash\ngo get -u github.com/IBM/appconfiguration-go-admin-sdk\n```\n\nView on GitHub\n\n[https://github.com/IBM/appconfiguration-go-admin-sdk](https://github.com/IBM/appconfiguration-go-admin-sdk)\n\n## Endpoint URLs\n\nThe following URLs represents the base URLs for the App Configuration API endpoints. When you call the API, use the URL that corresponds to the region where your service instance is deployed. Add the path for each method to form the complete API endpoint for your requests.\n\n<!-- Regional public endpoints -->\n\n* Dallas: `https://us-south.apprapp.cloud.ibm.com/apprapp/feature/v1/instances/{guid}`\n* Washington DC: `https://us-east.apprapp.cloud.ibm.com/apprapp/feature/v1/instances/{guid}`\n* London: `https://eu-gb.apprapp.cloud.ibm.com/apprapp/feature/v1/instances/{guid}`\n* Sydney: `https://au-syd.apprapp.cloud.ibm.com/apprapp/feature/v1/instances/{guid}`\n* Frankfurt: `https://eu-de.apprapp.cloud.ibm.com/apprapp/feature/v1/instances/{guid}`\n* Toronto: `https://ca-tor.apprapp.cloud.ibm.com/apprapp/feature/v1/instances/{guid}`\n* Tokyo: `https://jp-tok.apprapp.cloud.ibm.com/apprapp/feature/v1/instances/{guid}`\n* Osaka: `https://jp-osa.apprapp.cloud.ibm.com/apprapp/feature/v1/instances/{guid}`\n* Madrid: `https://eu-es.apprapp.cloud.ibm.com/apprapp/feature/v1/instances/{guid}`\n* Sao Paulo: `https://br-sao.apprapp.cloud.ibm.com/apprapp/feature/v1/instances/{guid}`\n* Montreal: `https://ca-mon.apprapp.cloud.ibm.com/apprapp/feature/v1/instances/{guid}`\n* Chennai: `https://in-che.apprapp.cloud.ibm.com/apprapp/feature/v1/instances/{guid}`\n* Mumbai: `https://in-mum.apprapp.cloud.ibm.com/apprapp/feature/v1/instances/{guid}`\n\n<!-- Regional private endpoints -->\n\nIf you have enabled service endpoints in your account, you can send API requests over the IBM Cloud® private network at the following base endpoint URLs.\n\n* Dallas: `https://private.us-south.apprapp.cloud.ibm.com/apprapp/feature/v1/instances/{guid}`\n* Washington DC: `https://private.us-east.apprapp.cloud.ibm.com/apprapp/feature/v1/instances/{guid}`\n* London: `https://private.eu-gb.apprapp.cloud.ibm.com/apprapp/feature/v1/instances/{guid}`\n* Sydney: `https://private.au-syd.apprapp.cloud.ibm.com/apprapp/feature/v1/instances/{guid}`\n* Frankfurt: `https://private.eu-de.apprapp.cloud.ibm.com/apprapp/feature/v1/instances/{guid}`\n* Toronto: `https://private.ca-tor.apprapp.cloud.ibm.com/apprapp/feature/v1/instances/{guid}`\n* Tokyo: `https://private.jp-tok.apprapp.cloud.ibm.com/apprapp/feature/v1/instances/{guid}`\n* Osaka: `https://private.jp-osa.apprapp.cloud.ibm.com/apprapp/feature/v1/instances/{guid}`\n* Madrid: `https://private.eu-es.apprapp.cloud.ibm.com/apprapp/feature/v1/instances/{guid}`\n* Sao Paulo: `https://private.br-sao.apprapp.cloud.ibm.com/apprapp/feature/v1/instances/{guid}`\n* Montreal: `https://private.ca-mon.apprapp.cloud.ibm.com/apprapp/feature/v1/instances/{guid}`\n* Chennai: `https://private.in-che.apprapp.cloud.ibm.com/apprapp/feature/v1/instances/{guid}`\n* Mumbai : `https://private.in-mum.apprapp.cloud.ibm.com/apprapp/feature/v1/instances/{guid}`\n\nThe following table details the location where the App Configuration actions run, data stored and replicated:\n\n| Location | Location where App Configuration actions run | Data is stored in | Data is replicated to |\n|-------------|------|--------|-------|\n| Dallas | All App Configuration actions run in the Dallas (`us-south`) location. | All metadata for the app's features are stored in the Dallas (`us-south`) location. | Data is replicated between three zones within `us-south` for high-availability. |\n| Washington DC | All App Configuration actions run in the Washington DC (`us-east`) location. | All metadata for the app's features are stored in the Washington DC (`us-east`) location. | Data is replicated between three zones within `us-east` for high-availability. |\n| London | All App Configuration actions run in the London (`eu-gb`) location. | All metadata for the app's features are stored in the London (`eu-gb`) location. | Data is replicated between three zones within `eu-gb` for high-availability. |\n| Sydney | All App Configuration actions run in the Sydney (`au-syd`) location. | All metadata for the app's features are stored in the Sydney (`au-syd`) location. | Data is replicated between three zones within `au-syd` for high-availability. |\n| Frankfurt | All App Configuration actions run in the Frankfurt (`eu-de`) location. | All metadata for the app's features are stored in the Frankfurt (`eu-de`) location. | Data is replicated between three zones within `eu-de` for high-availability. |\n| Toronto | All App Configuration actions run in the Toronto (`ca-tor`) location. | All metadata for the app's features are stored in the Toronto (`ca-tor`) location. | Data is replicated between three zones within `ca-tor` for high-availability. |\n| Tokyo | All App Configuration actions run in the Tokyo (`jp-tok`) location. | All metadata for the app's features are stored in the Tokyo (`jp-tok`) location. | Data is replicated between three zones within `jp-tok` for high-availability. |\n| Osaka | All App Configuration actions run in the Osaka (`jp-osa`) location. | All metadata for the app's features are stored in the Osaka (`jp-osa`) location. | Data is replicated between three zones within `jp-osa` for high-availability. |\n| Madrid | All App Configuration actions run in the Madrid (`eu-es`) location. | All metadata for the app's features are stored in the Madrid (`eu-es`) location. | Data is replicated between three zones within `eu-es` for high-availability. |\n| Sao Paulo | All App Configuration actions run in the Sao Paulo (`br-sao`) location. | All metadata for the app's features are stored in the Sao Paulo (`br-sao`) location. | Data is replicated between three zones within `br-sao` for high-availability. |\n| Montreal | All App Configuration actions run in the Montreal (`ca-mon`) location. | All metadata for the app's features are stored in the Montreal (`ca-mon`) location. | Data is replicated between three zones within `ca-mon` for high-availability. |\n| Chennai | All App Configuration actions run in the Chennai (`in-che`) location. | All metadata for the app's features are stored in the Chennai (`in-che`) location. | Data is replicated between three zones within `in-che` for high-availability. |\n| Mumbai | All App Configuration actions run in the Mumbai (`in-mum`) location. | All metadata for the app's features are stored in the Mumbai (`in-mum`) location. | Data is replicated between three zones within `in-mum` for high-availability. |\n\nBase URL\n```\nhttps://{region}.apprapp.cloud.ibm.com/apprapp/feature/v1/instances/{guid}\n```\n\nExample request to a Dallas endpoint:\n\n```sh\ncurl -H \"Authorization:Bearer {token}\" -X \"https://us-south.apprapp.cloud.ibm.com/apprapp/feature/v1/instances/{guid}\"\n```\n\nReplace `{token}` and `{guid}` in this example with the values for your particular API call.\n\nExample request to a Dallas endpoint:\n\n```go\nimport (\n    \"encoding/json\"\n    \"fmt\"\n    \"github.com/IBM/go-sdk-core/v5/core\"\n    ac \"github.com/IBM/appconfiguration-go-admin-sdk/appconfigurationv1\"\n)\n\nfunc main() {\n\n    appConfigurationService, err := ac.NewAppConfigurationV1(&ac.AppConfigurationV1Options {\n        URL: \"https://us-south.apprapp.cloud.ibm.com/apprapp/feature/v1/instances/{guid}\",\n        Authenticator: & core.IamAuthenticator {\n            ApiKey: \"<API_KEY>\",\n        },\n    })\n\n    if err != nil {\n        panic(err)\n    }\n}\n```\n\n## Authentication\n\nAuthorization to the App Configuration API is enforced by using an IBM Cloud Identity and Access Management (IAM) access token. The token is used to determine the actions that a user or service ID has access to when they use the API.\n\nTo work with the API, include a valid IAM token in each outgoing request to the service. You can generate an access token by first [creating an API key](https://cloud.ibm.com/docs/account?topic=account-iamtoken_from_apikey) and then exchanging your API key for an IBM Cloud IAM token. By default, the IAM access token have a lifetime of 60 minutes. See [Managing access token expiration](https://cloud.ibm.com/docs/account?topic=account-token-limit#accces-token-limit) to decrease the IAM access token lifetime.\n\nDon't have an API key? Try running `ibmcloud iam oauth-tokens` in the [IBM Cloud Shell](https://cloud.ibm.com/shell) to quickly generate a personal access token.\n\nWhen you use the SDK, configure an IAM authenticator with an IBM Cloud IAM API key. The authenticator automatically obtains the IAM access token for the API key and includes it with each request. You can configure an authenticator in either of two ways:\n- Programmatically by constructing an IAM authenticator instance and supplying your IAM API key.\n- By defining the API key in external configuration properties and then using the SDK authenticator factory to construct an IAM authenticator that uses the configured IAM API key.\n\nFor more information, see the Authentication section of the [IBM Cloud SDK Common](https://github.com/IBM/ibm-cloud-sdk-common/blob/master/README.md#authentication) documentation.\n\nTo call each method, you'll need to be assigned a role that includes the required IAM actions. Each method lists the associated action. For more information about IAM actions and how they map to roles, see [Assigning access to account management services](https://cloud.ibm.com/docs/account?topic=account-account-services).\n\nTo retrieve your access token:\n\n```bash\ncurl -X POST \\\n  \"https://iam.cloud.ibm.com/identity/token\" \\\n  --header 'Content-Type: application/x-www-form-urlencoded' \\\n  --header 'Accept: application/json' \\\n  --data-urlencode 'grant_type=urn:ibm:params:oauth:grant-type:apikey' \\\n  --data-urlencode 'apikey={API_KEY}'\n```\n\nReplace `{API_KEY}` with your [IAM API key](https://cloud.ibm.com/docs/account?topic=account-userapikey).\n\nSetting client options through external configuration\n\nExample environment variables, where `{SERVICE_URL}` is the endpoint URL and `{API_KEY}` is your IAM API key\n```sh\nexport APP_CONFIGURATION_URL={SERVICE_URL}\nexport APP_CONFIGURATION_AUTH_TYPE=iam\nexport APP_CONFIGURATION_APIKEY={API_KEY}\n```\n\nExample of constructing the service client\n```go\nimport {\n     ac \"github.com/IBM/appconfiguration-go-admin-sdk/appconfigurationv1\"\n}\n...\nserviceClientOptions := &ac.AppConfigurationV1Options{}\nserviceClient, err := ac.NewAppConfigurationV1UsingExternalConfig(serviceClientOptions)\n```\n\n## Auditing\n\nYou can monitor API activity within your account by using the IBM Cloud Logs service. Whenever an API method is called, an event is generated that you can then track and audit from within IBM Cloud Logs. The specific event type is listed for each individual method.\n\nFor more information about how to track App Configuration activity, see [Auditing events for App Configuration](https://cloud.ibm.com/docs/app-configuration?topic=app-configuration-at_events).\n\n## Error handling\n\nThis API uses standard HTTP response codes to indicate whether a method completed successfully. A `2xx` response always indicates success. A `4xx` type response is some sort of failure, and a `5xx` type response usually indicates an internal system error.\n\n| HTTP status code | Description | Recovery |\n|------------------|-------------|----------|\n| `200` | Success | The request was successful. |\n| `201` | Success | The resource was successfully created and added to your IBM Cloud account. |\n| `400` | Bad Request | The input parameters in the request body are either incomplete or in the wrong format. Be sure to include all required parameters in your request. |\n| `401` | Unauthorized | You are not authorized to make this request. Log in to IBM Cloud and try again. If this error persists, contact the account owner to check your permissions. |\n| `403` | Forbidden | The supplied authentication is not authorized to access the apps. Check that you have the correct access credentials and permissions. |\n| `404` | Not Found | The requested resource could not be found. |\n| `408` | Request timeout | The connection to the server timed out. Wait a few minutes, then try again. |\n| `409` | Conflict | The entity is already in the requested state. |\n| `429` | Too Many Requests | Too many requests have been made within a time window. Wait before calling the API again. |\n| `500` | Internal Server Error | IBM Cloud App Configuration is not available. Your request could not be processed. Wait a few minutes and try again. If you still encounter this problem, note the incident ID and contact [IBM Cloud support](https://cloud.ibm.com/docs/app-configuration?topic=app-configuration-ac-getting-help-and-support). |\n| `503` |  Service Temporarily Unavailable | IBM Cloud App Configuration could not process the request, due to a temporary overloading or maintenance. Try to reduce your request rate, or retry after a few minutes. If the error persists, contact [IBM Cloud support](https://cloud.ibm.com/docs/app-configuration?topic=app-configuration-ac-getting-help-and-support). |\n\nExample error handling\n\n```go\nimport ac \"github.com/IBM/appconfiguration-go-admin-sdk/appconfigurationv1\"\n\n// Instantiate a service\nappConfigurationService, err := ac.NewAppConfigurationV1(&ac.AppConfigurationV1Options)\n\n// Check for errors\nif err != nil {\n  panic(err)\n}\n\n// Call a method\nresult, response, err := appConfigurationService.MethodName(&methodOptions)\n\n// Check for errors\nif err != nil {\n  panic(err)\n}\n```",
    "x-cli-description": "Use the IBM Cloud App Configuration service to create and manage feature flags and properties that are used in other IBM Cloud services or your custom-built applications.",
    "x-codegen-config": {
      "go": {
        "apiPackage": "github.com/IBM/appconfiguration-go-admin-sdk"
      },
      "cli": {
        "apiPackage": "app-configuration",
        "cliPluginName": "app-configuration",
        "confirmDeleteOperations": true,
        "privateEndpointSupported": true,
        "serviceCommandAliases": [
          "ac"
        ],
        "singleServicePlugin": true,
        "createServiceUrlFlag": true
      }
    },
    "x-version-date": "2021-03-05",
    "x-last-updated": "2025-07-30",
    "x-sdk-supported-languages": [
      "go"
    ],
    "contact": {
      "name": "IBM App Configuration",
      "email": "mdevsrvs@in.ibm.com"
    },
    "license": {
      "name": "This product includes software originally developed by IBM Corporation,  \n Copyright 2018 IBM Corp.",
      "url": "https://www.ibm.com/legal/copytrade"
    },
    "x-github": "https://github.ibm.com/cloud-api-docs/app-configuration",
    "x-github-issues": "https://github.ibm.com/cloud-api-docs/app-configuration/issues/new"
  },
  "security": [
    {
      "httpBearer": []
    }
  ],
  "servers": [
    {
      "url": "https://{region}.apprapp.cloud.ibm.com/apprapp/feature/v1/instances/{guid}",
      "variables": {
        "region": {
          "default": "us-south",
          "description": "The region where you provisioned your App Configuration instance. Available values: us-south, eu-gb, au-syd, us-east, eu-de, ca-tor, jp-tok, jp-osa, eu-es, br-sao, ca-mon, in-che, in-mum"
        },
        "guid": {
          "default": "provide-here-your-appconfig-instance-uuid",
          "description": "App Configuration service instance ID"
        }
      }
    }
  ],
  "tags": [
    {
      "name": "Environments",
      "description": "Environments represent your application environments."
    },
    {
      "name": "Collections",
      "description": "Collections are a way to group feature flags and properties."
    },
    {
      "name": "Features",
      "description": "Create and manage different types of feature flags for your apps and services."
    },
    {
      "name": "Properties",
      "description": "Create and manage different types of properties for your apps and services."
    },
    {
      "name": "Segments",
      "description": "Segments define a group of users or resources based on rules. Feature flags or Properties can target segments to deliver variants of a feature or property."
    },
    {
      "name": "Snapshots",
      "description": "Snapshots are a way to capture the current configuration of your app or environment and sync the modified config into a Git repo."
    },
    {
      "name": "Integrations",
      "description": "Integrations represent list of other IBM Cloud services that are connected to your App Configuration instance."
    },
    {
      "name": "OriginConfig",
      "description": "Use settings to add more configurations required by external applications to access App Configuration resources."
    },
    {
      "name": "WorkflowConfigs",
      "description": "Manage feature flags enablement by adding additional workflow with ServiceNow® integration with App Configuration."
    },
    {
      "name": "Config",
      "description": "Export and Import configurations from and to App Configuration instance."
    }
  ],
  "paths": {
    "/environments": {
      "get": {
        "tags": [
          "Environments"
        ],
        "summary": "Get list of Environments",
        "description": "List all the environments in the App Configuration service instance.",
        "operationId": "list_environments",
        "deprecated": false,
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "apprapp.environments.list"
            }
          ]
        },
        "x-ibm-events": {
          "events": [
            {
              "name": "apprapp.environments.list"
            }
          ]
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/expandParam"
          },
          {
            "$ref": "#/components/parameters/EnvironmentsSortParam"
          },
          {
            "$ref": "#/components/parameters/tagsParam"
          },
          {
            "$ref": "#/components/parameters/featuresPropertiesSnapshotsIncludeParam"
          },
          {
            "$ref": "#/components/parameters/limitParam"
          },
          {
            "$ref": "#/components/parameters/offsetParam"
          },
          {
            "$ref": "#/components/parameters/searchParam"
          }
        ],
        "responses": {
          "200": {
            "description": "Successfully listed the environments.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EnvironmentList"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedErrorResponse"
                },
                "example": {
                  "message": "Unauthorized"
                }
              }
            }
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X GET --location --header \"Authorization: Bearer ${iam_token}\" \\\n",
                      "  --header 'Accept: application/json' \\\n",
                      "  \"${base_url}/environments?expand=true&sort=created_time&tags=version 1.1,pre-release&include=features,properties,snapshots&search=test tag\""
                    ]
                  }
                ]
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "listEnvironmentsOptions := &appconfigurationv1.ListEnvironmentsOptions{\n",
                      "  Expand: core.BoolPtr(true),\n",
                      "  Sort: core.StringPtr(\"created_time\"),\n",
                      "  Tags: core.StringPtr(\"version 1.1,pre-release\"),\n",
                      "  Include: []string{\"features\", \"properties\", \"snapshots\"},\n",
                      "  Limit: core.Int64Ptr(int64(10)),\n",
                      "  Search: core.StringPtr(\"test tag\"),\n",
                      "}\n",
                      "\n",
                      "pager, err := appConfigurationService.NewEnvironmentsPager(listEnvironmentsOptions)\n",
                      "if err != nil {\n",
                      "  panic(err)\n",
                      "}\n",
                      "\n",
                      "var allResults []appconfigurationv1.Environment\n",
                      "for pager.HasNext() {\n",
                      "  nextPage, err := pager.GetNext()\n",
                      "  if err != nil {\n",
                      "    panic(err)\n",
                      "  }\n",
                      "  allResults = append(allResults, nextPage...)\n",
                      "}\n",
                      "b, _ := json.MarshalIndent(allResults, \"\", \"  \")\n",
                      "fmt.Println(string(b))"
                    ]
                  }
                ]
              }
            ]
          }
        }
      },
      "post": {
        "tags": [
          "Environments"
        ],
        "summary": "Create Environment",
        "description": "Create an environment.",
        "operationId": "create_environment",
        "x-codegen-request-body-name": "Environment",
        "deprecated": false,
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "apprapp.environments.create"
            }
          ]
        },
        "x-ibm-events": {
          "events": [
            {
              "name": "apprapp.environments.create"
            }
          ]
        },
        "parameters": [],
        "requestBody": {
          "$ref": "#/components/requestBodies/CreateEnvironment"
        },
        "responses": {
          "201": {
            "description": "Successfully created the environment.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Environment"
                }
              }
            }
          },
          "400": {
            "description": "Bad request. Verify that the information in the request body is complete and correct.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "example": {
                  "code": "FTEC1000E",
                  "message": "Error while creating the environment."
                }
              }
            }
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X POST --location --header \"Authorization: Bearer ${iam_token}\" \\\n",
                      "  --header 'Accept: application/json' \\\n",
                      "  --header 'Content-Type: application/json' \\\n",
                      "  --data '{ \"name\": \"Dev environment\", \"environment_id\": \"dev-environment\", \"description\": \"Dev environment description\", \"tags\": \"development\", \"color_code\": \"#FDD13A\" }' \\\n",
                      "  \"${base_url}/environments\""
                    ]
                  }
                ]
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "createEnvironmentOptions := appConfigurationService.NewCreateEnvironmentOptions(\n",
                      "  \"Dev environment\",\n",
                      "  \"dev-environment\",\n",
                      ")\n",
                      "createEnvironmentOptions.SetDescription(\"Dev environment description\")\n",
                      "createEnvironmentOptions.SetTags(\"development\")\n",
                      "createEnvironmentOptions.SetColorCode(\"#FDD13A\")\n",
                      "\n",
                      "environment, response, err := appConfigurationService.CreateEnvironment(createEnvironmentOptions)\n",
                      "if err != nil {\n",
                      "  panic(err)\n",
                      "}\n",
                      "b, _ := json.MarshalIndent(environment, \"\", \"  \")\n",
                      "fmt.Println(string(b))"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/environments/{environment_id}": {
      "put": {
        "tags": [
          "Environments"
        ],
        "summary": "Update Environment",
        "description": "Update an environment.",
        "operationId": "update_environment",
        "x-codegen-request-body-name": "UpdateEnvironment",
        "deprecated": false,
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "apprapp.environments.update"
            }
          ]
        },
        "x-ibm-events": {
          "events": [
            {
              "name": "apprapp.environments.update"
            }
          ]
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/environmentIdParam"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/UpdateEnvironment"
        },
        "responses": {
          "200": {
            "description": "Successfully updated the environment details.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Environment"
                }
              }
            }
          },
          "400": {
            "description": "Bad request. Verify that the information in the request body is complete and correct.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "example": {
                  "code": "FTEC1007E",
                  "message": "Error while updating the environment."
                }
              }
            }
          },
          "404": {
            "description": "Not Found. Verify that the environment id is correct.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "example": {
                  "code": "FTEC1000E",
                  "message": "Error while updating the environment. The queried resource 'Environment' is not available on the server."
                }
              }
            }
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X PUT --location --header \"Authorization: Bearer ${iam_token}\" \\\n",
                      "  --header 'Accept: application/json' \\\n",
                      "  --header 'Content-Type: application/json' \\\n",
                      "  --data '{\"name\":\"Dev environment\",\"description\":\"Dev environment description\",\"tags\":\"development\",\"color_code\":\"#FDD13A\"}' \\\n",
                      "  \"${base_url}/environments/${environment_id}\""
                    ]
                  }
                ]
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "updateEnvironmentOptions := appConfigurationService.NewUpdateEnvironmentOptions(\n",
                      "  \"environment_id\",\n",
                      ")\n",
                      "\n",
                      "environment, response, err := appConfigurationService.UpdateEnvironment(updateEnvironmentOptions)\n",
                      "if err != nil {\n",
                      "  panic(err)\n",
                      "}\n",
                      "b, _ := json.MarshalIndent(environment, \"\", \"  \")\n",
                      "fmt.Println(string(b))"
                    ]
                  }
                ]
              }
            ]
          }
        }
      },
      "get": {
        "tags": [
          "Environments"
        ],
        "summary": "Get Environment",
        "description": "Retrieve the details of the environment.",
        "operationId": "get_environment",
        "deprecated": false,
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "apprapp.environments.list"
            }
          ]
        },
        "x-ibm-events": {
          "events": [
            {
              "name": "apprapp.environments.read"
            }
          ]
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/environmentIdParam"
          },
          {
            "$ref": "#/components/parameters/expandParam"
          },
          {
            "$ref": "#/components/parameters/featuresPropertiesSnapshotsIncludeParam"
          }
        ],
        "responses": {
          "200": {
            "description": "Successfully retrieved the environment details.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Environment"
                }
              }
            }
          },
          "404": {
            "description": "Not Found. Verify that the environment id is correct.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "example": {
                  "code": "FTEC1000E",
                  "message": "Error while retrieving the environment. The queried resource 'Environment' is not available on the server."
                }
              }
            }
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X GET --location --header \"Authorization: Bearer ${iam_token}\" \\\n",
                      "  --header 'Accept: application/json' \\\n",
                      "  \"${base_url}/environments/${environment_id}?expand=true&include=features,properties,snapshots\""
                    ]
                  }
                ]
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "getEnvironmentOptions := appConfigurationService.NewGetEnvironmentOptions(\n",
                      "  \"environment_id\",\n",
                      ")\n",
                      "getEnvironmentOptions.SetExpand(true)\n",
                      "getEnvironmentOptions.SetInclude([]string{\"features\", \"properties\", \"snapshots\"})\n",
                      "\n",
                      "environment, response, err := appConfigurationService.GetEnvironment(getEnvironmentOptions)\n",
                      "if err != nil {\n",
                      "  panic(err)\n",
                      "}\n",
                      "b, _ := json.MarshalIndent(environment, \"\", \"  \")\n",
                      "fmt.Println(string(b))"
                    ]
                  }
                ]
              }
            ]
          }
        }
      },
      "delete": {
        "tags": [
          "Environments"
        ],
        "summary": "Delete Environment",
        "description": "Delete an Environment.",
        "operationId": "delete_environment",
        "deprecated": false,
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "apprapp.environments.delete"
            }
          ]
        },
        "x-ibm-events": {
          "events": [
            {
              "name": "apprapp.environments.delete"
            }
          ]
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/environmentIdParam"
          }
        ],
        "responses": {
          "204": {
            "description": "Successfully deleted the specified environment.",
            "headers": {}
          },
          "400": {
            "description": "Bad request. Ensure that at least one environment should exist in the instance.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "example": {
                  "code": "FTEC1008E",
                  "message": "Error while deleting the environment."
                }
              }
            }
          },
          "404": {
            "description": "Not Found. Verify that the environment id is correct.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "example": {
                  "code": "FTEC1000E",
                  "message": "Error while deleting the environment. The queried resource 'Environment' is not available on the server."
                }
              }
            }
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X DELETE --location --header \"Authorization: Bearer ${iam_token}\" \\\n",
                      "  \"${base_url}/environments/${environment_id}\""
                    ]
                  }
                ]
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "deleteEnvironmentOptions := appConfigurationService.NewDeleteEnvironmentOptions(\n",
                      "  \"environment_id\",\n",
                      ")\n",
                      "\n",
                      "response, err := appConfigurationService.DeleteEnvironment(deleteEnvironmentOptions)\n",
                      "if err != nil {\n",
                      "  panic(err)\n",
                      "}\n",
                      "if response.StatusCode != 204 {\n",
                      "  fmt.Printf(\"\\nUnexpected response status code received from DeleteEnvironment(): %d\\n\", response.StatusCode)\n",
                      "}"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/collections": {
      "get": {
        "tags": [
          "Collections"
        ],
        "summary": "Get list of Collections",
        "description": "List of all the collections in the App Configuration service instance.",
        "operationId": "list_collections",
        "deprecated": false,
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "apprapp.collections.list"
            }
          ]
        },
        "x-ibm-events": {
          "events": [
            {
              "name": "apprapp.collections.list"
            }
          ]
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/expandParam"
          },
          {
            "$ref": "#/components/parameters/CollectionSortParam"
          },
          {
            "$ref": "#/components/parameters/tagsParam"
          },
          {
            "$ref": "#/components/parameters/collectionFilterByFeaturesParam"
          },
          {
            "$ref": "#/components/parameters/collectionFilterByPropertiesParam"
          },
          {
            "$ref": "#/components/parameters/featuresPropertiesSnapshotsIncludeParam"
          },
          {
            "$ref": "#/components/parameters/limitParam"
          },
          {
            "$ref": "#/components/parameters/offsetParam"
          },
          {
            "$ref": "#/components/parameters/searchParam"
          }
        ],
        "responses": {
          "200": {
            "description": "Successfully listed the collections.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CollectionList"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedErrorResponse"
                },
                "example": {
                  "message": "Unauthorized"
                }
              }
            }
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X GET --location --header \"Authorization: Bearer ${iam_token}\" \\\n",
                      "  --header 'Accept: application/json' \\\n",
                      "  \"${base_url}/collections?expand=true&sort=created_time&tags=version 1.1,pre-release&features=my-feature-id,cycle-rentals&properties=my-property-id,email-property&include=features,properties,snapshots&search=test tag\""
                    ]
                  }
                ]
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "listCollectionsOptions := &appconfigurationv1.ListCollectionsOptions{\n",
                      "  Expand: core.BoolPtr(true),\n",
                      "  Sort: core.StringPtr(\"created_time\"),\n",
                      "  Tags: core.StringPtr(\"version 1.1,pre-release\"),\n",
                      "  Features: []string{\"my-feature-id\", \"cycle-rentals\"},\n",
                      "  Properties: []string{\"my-property-id\", \"email-property\"},\n",
                      "  Include: []string{\"features\", \"properties\", \"snapshots\"},\n",
                      "  Limit: core.Int64Ptr(int64(10)),\n",
                      "  Search: core.StringPtr(\"test tag\"),\n",
                      "}\n",
                      "\n",
                      "pager, err := appConfigurationService.NewCollectionsPager(listCollectionsOptions)\n",
                      "if err != nil {\n",
                      "  panic(err)\n",
                      "}\n",
                      "\n",
                      "var allResults []appconfigurationv1.Collection\n",
                      "for pager.HasNext() {\n",
                      "  nextPage, err := pager.GetNext()\n",
                      "  if err != nil {\n",
                      "    panic(err)\n",
                      "  }\n",
                      "  allResults = append(allResults, nextPage...)\n",
                      "}\n",
                      "b, _ := json.MarshalIndent(allResults, \"\", \"  \")\n",
                      "fmt.Println(string(b))"
                    ]
                  }
                ]
              }
            ]
          }
        }
      },
      "post": {
        "tags": [
          "Collections"
        ],
        "summary": "Create Collection",
        "description": "Create a collection.",
        "operationId": "create_collection",
        "x-codegen-request-body-name": "Collection",
        "deprecated": false,
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "apprapp.collections.create"
            }
          ]
        },
        "x-ibm-events": {
          "events": [
            {
              "name": "apprapp.collections.create"
            }
          ]
        },
        "parameters": [],
        "requestBody": {
          "$ref": "#/components/requestBodies/CreateCollection"
        },
        "responses": {
          "201": {
            "description": "Successfully created the collection.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CollectionLite"
                }
              }
            }
          },
          "400": {
            "description": "Bad request. Verify that the information in the request body is complete and correct.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "example": {
                  "code": "FTEC1003E",
                  "message": "Error while creating the collection."
                }
              }
            }
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X POST --location --header \"Authorization: Bearer ${iam_token}\" \\\n",
                      "  --header 'Accept: application/json' \\\n",
                      "  --header 'Content-Type: application/json' \\\n",
                      "  --data '{ \"name\": \"Web App Collection\", \"collection_id\": \"web-app-collection\", \"description\": \"Collection for Web application\", \"tags\": \"version: 1.1, pre-release\" }' \\\n",
                      "  \"${base_url}/collections\""
                    ]
                  }
                ]
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "createCollectionOptions := appConfigurationService.NewCreateCollectionOptions(\n",
                      "  \"Web App Collection\",\n",
                      "  \"web-app-collection\",\n",
                      ")\n",
                      "createCollectionOptions.SetDescription(\"Collection for Web application\")\n",
                      "createCollectionOptions.SetTags(\"version: 1.1, pre-release\")\n",
                      "\n",
                      "collectionLite, response, err := appConfigurationService.CreateCollection(createCollectionOptions)\n",
                      "if err != nil {\n",
                      "  panic(err)\n",
                      "}\n",
                      "b, _ := json.MarshalIndent(collectionLite, \"\", \"  \")\n",
                      "fmt.Println(string(b))"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/collections/{collection_id}": {
      "put": {
        "tags": [
          "Collections"
        ],
        "summary": "Update Collection",
        "description": "Update the collection name, tags and description. Collection Id cannot be updated.",
        "operationId": "update_collection",
        "x-codegen-request-body-name": "UpdateCollection",
        "deprecated": false,
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "apprapp.collections.update"
            }
          ]
        },
        "x-ibm-events": {
          "events": [
            {
              "name": "apprapp.collections.update"
            }
          ]
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/collectionIdParam"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/UpdateCollection"
        },
        "responses": {
          "200": {
            "description": "Successfully updated the collection details.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CollectionLite"
                }
              }
            }
          },
          "400": {
            "description": "Bad request. Verify that the information in the request body is complete and correct.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "example": {
                  "code": "FTEC1007E",
                  "message": "Error while updating the collection."
                }
              }
            }
          },
          "404": {
            "description": "Not Found. Verify that the collection id is correct.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "example": {
                  "code": "FTEC1000E",
                  "message": "Error while updating the collection. The queried resource 'Collection' is not available on the server."
                }
              }
            }
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X PUT --location --header \"Authorization: Bearer ${iam_token}\" \\\n",
                      "  --header 'Accept: application/json' \\\n",
                      "  --header 'Content-Type: application/json' \\\n",
                      "  --data '{\"name\":\"Web Application\",\"description\":\"Collection for Web Application.\",\"tags\":\"version: 1.1, pre-release\"}' \\\n",
                      "  \"${base_url}/collections/${collection_id}\""
                    ]
                  }
                ]
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "updateCollectionOptions := appConfigurationService.NewUpdateCollectionOptions(\n",
                      "  \"collection_id\",\n",
                      ")\n",
                      "\n",
                      "collectionLite, response, err := appConfigurationService.UpdateCollection(updateCollectionOptions)\n",
                      "if err != nil {\n",
                      "  panic(err)\n",
                      "}\n",
                      "b, _ := json.MarshalIndent(collectionLite, \"\", \"  \")\n",
                      "fmt.Println(string(b))"
                    ]
                  }
                ]
              }
            ]
          }
        }
      },
      "get": {
        "tags": [
          "Collections"
        ],
        "summary": "Get Collection",
        "description": "Retrieve the details of the collection.",
        "operationId": "get_collection",
        "deprecated": false,
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "apprapp.collections.list"
            }
          ]
        },
        "x-ibm-events": {
          "events": [
            {
              "name": "apprapp.collections.read"
            }
          ]
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/collectionIdParam"
          },
          {
            "$ref": "#/components/parameters/expandParam"
          },
          {
            "$ref": "#/components/parameters/featuresPropertiesSnapshotsIncludeParam"
          }
        ],
        "responses": {
          "200": {
            "description": "Successfully retrieved the collection details.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Collection"
                }
              }
            }
          },
          "404": {
            "description": "Not Found. Verify that the collection id is correct.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "example": {
                  "code": "FTEC1000E",
                  "message": "Error while retrieving the collection. The queried resource 'Collection' is not available on the server."
                }
              }
            }
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X GET --location --header \"Authorization: Bearer ${iam_token}\" \\\n",
                      "  --header 'Accept: application/json' \\\n",
                      "  \"${base_url}/collections/${collection_id}?expand=true&include=features,properties,snapshots\""
                    ]
                  }
                ]
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "getCollectionOptions := appConfigurationService.NewGetCollectionOptions(\n",
                      "  \"collection_id\",\n",
                      ")\n",
                      "getCollectionOptions.SetExpand(true)\n",
                      "getCollectionOptions.SetInclude([]string{\"features\", \"properties\", \"snapshots\"})\n",
                      "\n",
                      "collection, response, err := appConfigurationService.GetCollection(getCollectionOptions)\n",
                      "if err != nil {\n",
                      "  panic(err)\n",
                      "}\n",
                      "b, _ := json.MarshalIndent(collection, \"\", \"  \")\n",
                      "fmt.Println(string(b))"
                    ]
                  }
                ]
              }
            ]
          }
        }
      },
      "delete": {
        "tags": [
          "Collections"
        ],
        "summary": "Delete Collection",
        "description": "Delete the collection.",
        "operationId": "delete_collection",
        "deprecated": false,
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "apprapp.collections.delete"
            }
          ]
        },
        "x-ibm-events": {
          "events": [
            {
              "name": "apprapp.collections.delete"
            }
          ]
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/collectionIdParam"
          }
        ],
        "responses": {
          "204": {
            "description": "Successfully deleted the specified collection.",
            "headers": {}
          },
          "404": {
            "description": "Not Found. Verify that the collection id is correct.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "example": {
                  "code": "FTEC1000E",
                  "message": "Error while deleting the collection. The queried resource 'Collection' is not available on the server."
                }
              }
            }
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X DELETE --location --header \"Authorization: Bearer ${iam_token}\" \\\n",
                      "  \"${base_url}/collections/${collection_id}\""
                    ]
                  }
                ]
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "deleteCollectionOptions := appConfigurationService.NewDeleteCollectionOptions(\n",
                      "  \"collection_id\",\n",
                      ")\n",
                      "\n",
                      "response, err := appConfigurationService.DeleteCollection(deleteCollectionOptions)\n",
                      "if err != nil {\n",
                      "  panic(err)\n",
                      "}\n",
                      "if response.StatusCode != 204 {\n",
                      "  fmt.Printf(\"\\nUnexpected response status code received from DeleteCollection(): %d\\n\", response.StatusCode)\n",
                      "}"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/environments/{environment_id}/features": {
      "get": {
        "tags": [
          "Features"
        ],
        "summary": "Get list of Features",
        "description": "List all the feature flags in the specified environment.",
        "operationId": "list_features",
        "deprecated": false,
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "apprapp.features.list"
            }
          ]
        },
        "x-ibm-events": {
          "events": [
            {
              "name": "apprapp.features.list"
            }
          ]
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/environmentIdParam"
          },
          {
            "$ref": "#/components/parameters/expandParam"
          },
          {
            "$ref": "#/components/parameters/FeaturesSortParam"
          },
          {
            "$ref": "#/components/parameters/tagsParam"
          },
          {
            "$ref": "#/components/parameters/featureFilterByCollectionsParam"
          },
          {
            "$ref": "#/components/parameters/featureFilterBySegmentsParam"
          },
          {
            "$ref": "#/components/parameters/ChangeRequestCollectionRuleIncludeParam"
          },
          {
            "$ref": "#/components/parameters/limitParam"
          },
          {
            "$ref": "#/components/parameters/offsetParam"
          },
          {
            "$ref": "#/components/parameters/searchParam"
          }
        ],
        "responses": {
          "200": {
            "description": "Successfully listed all the features.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FeaturesList"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedErrorResponse"
                },
                "example": {
                  "message": "Unauthorized"
                }
              }
            }
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X GET --location --header \"Authorization: Bearer ${iam_token}\" \\\n",
                      "  --header 'Accept: application/json' \\\n",
                      "  \"${base_url}/environments/${environment_id}/features?expand=true&sort=created_time&tags=version 1.1,pre-release&collections=my-collection-id,ghzindiapvtltd&segments=my-segment-id,beta-users&include=collections,rules,change_request&search=test tag\""
                    ]
                  }
                ]
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "listFeaturesOptions := &appconfigurationv1.ListFeaturesOptions{\n",
                      "  EnvironmentID: core.StringPtr(\"environment_id\"),\n",
                      "  Expand: core.BoolPtr(true),\n",
                      "  Sort: core.StringPtr(\"created_time\"),\n",
                      "  Tags: core.StringPtr(\"version 1.1,pre-release\"),\n",
                      "  Collections: []string{\"my-collection-id\", \"ghzindiapvtltd\"},\n",
                      "  Segments: []string{\"my-segment-id\", \"beta-users\"},\n",
                      "  Include: []string{\"collections\", \"rules\", \"change_request\"},\n",
                      "  Limit: core.Int64Ptr(int64(10)),\n",
                      "  Search: core.StringPtr(\"test tag\"),\n",
                      "}\n",
                      "\n",
                      "pager, err := appConfigurationService.NewFeaturesPager(listFeaturesOptions)\n",
                      "if err != nil {\n",
                      "  panic(err)\n",
                      "}\n",
                      "\n",
                      "var allResults []appconfigurationv1.Feature\n",
                      "for pager.HasNext() {\n",
                      "  nextPage, err := pager.GetNext()\n",
                      "  if err != nil {\n",
                      "    panic(err)\n",
                      "  }\n",
                      "  allResults = append(allResults, nextPage...)\n",
                      "}\n",
                      "b, _ := json.MarshalIndent(allResults, \"\", \"  \")\n",
                      "fmt.Println(string(b))"
                    ]
                  }
                ]
              }
            ]
          }
        }
      },
      "post": {
        "tags": [
          "Features"
        ],
        "summary": "Create Feature",
        "description": "Create a feature flag",
        "operationId": "create_feature",
        "x-codegen-request-body-name": "FeatureRequestBody",
        "deprecated": false,
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "apprapp.features.create"
            }
          ]
        },
        "x-ibm-events": {
          "events": [
            {
              "name": "apprapp.features.create"
            }
          ]
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/environmentIdParam"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/CreateFeature"
        },
        "responses": {
          "201": {
            "description": "Successfully created the feature flag.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Feature"
                },
                "examples": {
                  "type_boolean": {
                    "value": {
                      "name": "Cycle Rentals",
                      "feature_id": "cycle-rentals",
                      "description": "Feature flag to enable Cycle Rentals",
                      "type": "BOOLEAN",
                      "enabled_value": true,
                      "disabled_value": false,
                      "enabled": true,
                      "rollout_percentage": 100,
                      "tags": "version: 1.1, pre-release",
                      "change_request_status": "PENDING",
                      "change_request_number": "CHG0030423",
                      "segment_rules": [
                        {
                          "rules": [
                            {
                              "segments": [
                                "betausers",
                                "premiumusers"
                              ]
                            }
                          ],
                          "value": true,
                          "order": 1,
                          "rollout_percentage": 50,
                          "rule_name": "rule-name-1",
                          "rule_id": "rule-id-1"
                        },
                        {
                          "rules": [
                            {
                              "segments": [
                                "freeusers"
                              ]
                            }
                          ],
                          "value": false,
                          "order": 2,
                          "rollout_percentage": 70,
                          "rule_name": "rule-name-2",
                          "rule_id": "rule-id-2"
                        }
                      ],
                      "segment_exists": true,
                      "collections": [
                        {
                          "collection_id": "ghzinc",
                          "name": "GHz Inc"
                        },
                        {
                          "collection_id": "phzsystems",
                          "name": "PHz Systems"
                        },
                        {
                          "collection_id": "ghzglobal",
                          "name": "GHz Global"
                        }
                      ],
                      "created_time": "2021-05-12T23:20:50.52Z",
                      "updated_time": "2021-05-12T23:20:50.52Z",
                      "href": "https://us-south.apprapp.cloud.ibm.com/apprapp/feature/v1/instances/9xxxxx-xxxxx-xxxxx-b3cd-xxxxx/environments/dev/features/cycle-rentals"
                    },
                    "summary": "BOOLEAN"
                  },
                  "type_numeric": {
                    "value": {
                      "name": "Cycle Rentals",
                      "feature_id": "cycle-rentals",
                      "description": "Feature flag to enable Cycle Rentals",
                      "type": "NUMERIC",
                      "enabled_value": 1,
                      "disabled_value": 0,
                      "enabled": true,
                      "rollout_percentage": 100,
                      "tags": "version: 1.1, pre-release",
                      "change_request_status": "PENDING",
                      "change_request_number": "CHG0030423",
                      "segment_rules": [
                        {
                          "rules": [
                            {
                              "segments": [
                                "betausers",
                                "premiumusers"
                              ]
                            }
                          ],
                          "value": 10,
                          "order": 1,
                          "rollout_percentage": 40,
                          "rule_name": "rule-name-1",
                          "rule_id": "rule-id-1"
                        },
                        {
                          "rules": [
                            {
                              "segments": [
                                "freeusers"
                              ]
                            }
                          ],
                          "value": 5,
                          "order": 2,
                          "rollout_percentage": 70,
                          "rule_name": "rule-name-2",
                          "rule_id": "rule-id-2"
                        }
                      ],
                      "segment_exists": true,
                      "collections": [
                        {
                          "collection_id": "ghzinc",
                          "name": "GHz Inc"
                        },
                        {
                          "collection_id": "phzsystems",
                          "name": "PHz Systems"
                        },
                        {
                          "collection_id": "ghzglobal",
                          "name": "GHz Global"
                        }
                      ],
                      "created_time": "2021-05-12T23:20:50.52Z",
                      "updated_time": "2021-05-12T23:20:50.52Z",
                      "href": "https://us-south.apprapp.cloud.ibm.com/apprapp/feature/v1/instances/9xxxxx-xxxxx-xxxxx-b3cd-xxxxx/environments/dev/features/cycle-rentals"
                    },
                    "summary": "NUMERIC"
                  },
                  "type_string_text": {
                    "value": {
                      "name": "Cycle Rentals",
                      "feature_id": "cycle-rentals",
                      "description": "Feature flag to enable Cycle Rentals",
                      "type": "STRING",
                      "format": "TEXT",
                      "enabled_value": "yes",
                      "disabled_value": "no",
                      "enabled": true,
                      "rollout_percentage": 100,
                      "tags": "version: 1.1, pre-release",
                      "change_request_status": "PENDING",
                      "change_request_number": "CHG0030423",
                      "segment_rules": [
                        {
                          "rules": [
                            {
                              "segments": [
                                "betausers",
                                "premiumusers"
                              ]
                            }
                          ],
                          "value": "not available",
                          "order": 1,
                          "rollout_percentage": 50,
                          "rule_name": "rule-name-1",
                          "rule_id": "rule-id-1"
                        },
                        {
                          "rules": [
                            {
                              "segments": [
                                "freeusers"
                              ]
                            }
                          ],
                          "value": "available",
                          "order": 2,
                          "rollout_percentage": 15,
                          "rule_name": "rule-name-2",
                          "rule_id": "rule-id-2"
                        }
                      ],
                      "segment_exists": true,
                      "collections": [
                        {
                          "collection_id": "ghzinc",
                          "name": "GHz Inc"
                        },
                        {
                          "collection_id": "phzsystems",
                          "name": "PHz Systems"
                        },
                        {
                          "collection_id": "ghzglobal",
                          "name": "GHz Global"
                        }
                      ],
                      "created_time": "2021-05-12T23:20:50.52Z",
                      "updated_time": "2021-05-12T23:20:50.52Z",
                      "href": "https://us-south.apprapp.cloud.ibm.com/apprapp/feature/v1/instances/9xxxxx-xxxxx-xxxxx-b3cd-xxxxx/environments/dev/features/cycle-rentals"
                    },
                    "summary": "STRING - TEXT"
                  },
                  "type_string_json": {
                    "value": {
                      "name": "Cycle Rentals",
                      "feature_id": "cycle-rentals",
                      "description": "Feature flag to enable Cycle Rentals",
                      "type": "STRING",
                      "format": "JSON",
                      "enabled_value": {
                        "availability": "yes"
                      },
                      "disabled_value": {
                        "availability": "no"
                      },
                      "enabled": true,
                      "rollout_percentage": 100,
                      "tags": "version: 1.1, pre-release",
                      "change_request_status": "PENDING",
                      "change_request_number": "CHG0030423",
                      "segment_rules": [
                        {
                          "rules": [
                            {
                              "segments": [
                                "betausers",
                                "premiumusers"
                              ]
                            }
                          ],
                          "value": {
                            "availability": "no"
                          },
                          "order": 1,
                          "rollout_percentage": 50,
                          "rule_name": "rule-name-1",
                          "rule_id": "rule-id-1"
                        },
                        {
                          "rules": [
                            {
                              "segments": [
                                "freeusers"
                              ]
                            }
                          ],
                          "value": {
                            "availability": "no"
                          },
                          "order": 2,
                          "rollout_percentage": 15,
                          "rule_name": "rule-name-2",
                          "rule_id": "rule-id-2"
                        }
                      ],
                      "segment_exists": true,
                      "collections": [
                        {
                          "collection_id": "ghzinc",
                          "name": "GHz Inc"
                        },
                        {
                          "collection_id": "phzsystems",
                          "name": "PHz Systems"
                        },
                        {
                          "collection_id": "ghzglobal",
                          "name": "GHz Global"
                        }
                      ],
                      "created_time": "2021-05-12T23:20:50.52Z",
                      "updated_time": "2021-05-12T23:20:50.52Z",
                      "href": "https://us-south.apprapp.cloud.ibm.com/apprapp/feature/v1/instances/9xxxxx-xxxxx-xxxxx-b3cd-xxxxx/environments/dev/features/cycle-rentals"
                    },
                    "summary": "STRING - JSON"
                  },
                  "type_string_yaml": {
                    "value": {
                      "name": "Cycle Rentals",
                      "feature_id": "cycle-rentals",
                      "description": "Feature flag to enable Cycle Rentals",
                      "type": "STRING",
                      "format": "YAML",
                      "enabled_value": "---\navailability: 'yes'",
                      "disabled_value": "---\navailability: 'no'",
                      "enabled": true,
                      "rollout_percentage": 100,
                      "tags": "version: 1.1, pre-release",
                      "change_request_status": "PENDING",
                      "change_request_number": "CHG0030423",
                      "segment_rules": [
                        {
                          "rules": [
                            {
                              "segments": [
                                "betausers",
                                "premiumusers"
                              ]
                            }
                          ],
                          "value": "---\navailability: 'yes'\npremium_user_ids:\n- custId1\n- custId2",
                          "order": 1,
                          "rollout_percentage": 100,
                          "rule_name": "rule-name-1",
                          "rule_id": "rule-id-1"
                        },
                        {
                          "rules": [
                            {
                              "segments": [
                                "freeusers"
                              ]
                            }
                          ],
                          "value": "---\navailability: 'no'",
                          "order": 2,
                          "rollout_percentage": 100,
                          "rule_name": "rule-name-2",
                          "rule_id": "rule-id-2"
                        }
                      ],
                      "segment_exists": true,
                      "collections": [
                        {
                          "collection_id": "ghzinc",
                          "name": "GHz Inc"
                        },
                        {
                          "collection_id": "phzsystems",
                          "name": "PHz Systems"
                        },
                        {
                          "collection_id": "ghzglobal",
                          "name": "GHz Global"
                        }
                      ],
                      "created_time": "2021-05-12T23:20:50.52Z",
                      "updated_time": "2021-05-12T23:20:50.52Z",
                      "href": "https://us-south.apprapp.cloud.ibm.com/apprapp/feature/v1/instances/9xxxxx-xxxxx-xxxxx-b3cd-xxxxx/environments/dev/features/cycle-rentals"
                    },
                    "summary": "STRING - YAML"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad request. . Verify that the information in the request body is complete and correct.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "example": {
                  "code": "FTEC1003E",
                  "message": "Error while creating the feature."
                }
              }
            }
          },
          "501": {
            "description": "Not Implemented.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "example": {
                  "code": "FTEC1011E",
                  "message": "Currently 'rollout_percentage' feature is not available"
                }
              }
            }
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X POST --location --header \"Authorization: Bearer ${iam_token}\" \\\n",
                      "  --header 'Accept: application/json' \\\n",
                      "  --header 'Content-Type: application/json' \\\n",
                      "  --data '{ \"name\": \"Cycle Rentals\", \"feature_id\": \"cycle-rentals\", \"description\": \"Feature flag to enable Cycle Rentals\", \"type\": \"BOOLEAN\", \"enabled_value\": true, \"disabled_value\": false, \"enabled\": true, \"rollout_percentage\": 100, \"tags\": \"version: 1.1, pre-release\", \"segment_rules\": [ { \"rules\": [ { \"segments\": [ \"betausers\", \"premiumusers\" ] } ], \"value\": true, \"order\": 1, \"rollout_percentage\": 50, \"rule_name\": \"rule-name-1\", \"rule_id\": \"rule-id-1\" }, { \"rules\": [ { \"segments\": [ \"freeusers\" ] } ], \"value\": false, \"order\": 2, \"rollout_percentage\": 70, \"rule_name\": \"rule-name-2\", \"rule_id\": \"rule-id-2\" } ], \"collections\": [ { \"collection_id\": \"ghzinc\" }, { \"collection_id\": \"phzsystems\" }, { \"collection_id\": \"ghzglobal\" } ] }' \\\n",
                      "  \"${base_url}/environments/${environment_id}/features\""
                    ]
                  }
                ]
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "targetSegmentsModel := &appconfigurationv1.TargetSegments{\n",
                      "  Segments: []string{\"betausers\", \"premiumusers\"},\n",
                      "}\n",
                      "\n",
                      "featureSegmentRuleModel := &appconfigurationv1.FeatureSegmentRule{\n",
                      "  Rules: []appconfigurationv1.TargetSegments{*targetSegmentsModel},\n",
                      "  Value: core.StringPtr(\"true\"),\n",
                      "  Order: core.Int64Ptr(int64(1)),\n",
                      "  RolloutPercentage: core.Int64Ptr(int64(50)),\n",
                      "  RuleID: core.StringPtr(\"rule-id-1\"),\n",
                      "  RuleName: core.StringPtr(\"rule-name-1\"),\n",
                      "}\n",
                      "\n",
                      "collectionRefModel := &appconfigurationv1.CollectionRef{\n",
                      "  CollectionID: core.StringPtr(\"ghzinc\"),\n",
                      "}\n",
                      "\n",
                      "createFeatureOptions := appConfigurationService.NewCreateFeatureOptions(\n",
                      "  \"environment_id\",\n",
                      "  \"Cycle Rentals\",\n",
                      "  \"cycle-rentals\",\n",
                      "  \"BOOLEAN\",\n",
                      "  \"true\",\n",
                      "  \"false\",\n",
                      ")\n",
                      "createFeatureOptions.SetDescription(\"Feature flag to enable Cycle Rentals\")\n",
                      "createFeatureOptions.SetEnabled(true)\n",
                      "createFeatureOptions.SetRolloutPercentage(int64(100))\n",
                      "createFeatureOptions.SetTags(\"version: 1.1, pre-release\")\n",
                      "createFeatureOptions.SetSegmentRules([]appconfigurationv1.FeatureSegmentRule{*featureSegmentRuleModel})\n",
                      "createFeatureOptions.SetCollections([]appconfigurationv1.CollectionRef{*collectionRefModel})\n",
                      "\n",
                      "feature, response, err := appConfigurationService.CreateFeature(createFeatureOptions)\n",
                      "if err != nil {\n",
                      "  panic(err)\n",
                      "}\n",
                      "b, _ := json.MarshalIndent(feature, \"\", \"  \")\n",
                      "fmt.Println(string(b))"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/environments/{environment_id}/features/{feature_id}": {
      "put": {
        "tags": [
          "Features"
        ],
        "summary": "Update Feature",
        "description": "Update a feature flag details",
        "operationId": "update_feature",
        "x-codegen-request-body-name": "UpdateFeature",
        "deprecated": false,
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "apprapp.features.update"
            }
          ]
        },
        "x-ibm-events": {
          "events": [
            {
              "name": "apprapp.features.update"
            }
          ]
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/environmentIdParam"
          },
          {
            "$ref": "#/components/parameters/featureIdParam"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/UpdateFeature"
        },
        "responses": {
          "200": {
            "description": "Successfully updated the feature flag details",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Feature"
                },
                "examples": {
                  "type_boolean": {
                    "value": {
                      "name": "Cycle Rentals",
                      "feature_id": "cycle-rentals",
                      "description": "Feature flag to enable Cycle Rentals",
                      "type": "BOOLEAN",
                      "enabled_value": true,
                      "disabled_value": false,
                      "enabled": true,
                      "rollout_percentage": 100,
                      "tags": "version: 1.1, pre-release",
                      "change_request_status": "PENDING",
                      "change_request_number": "CHG0030423",
                      "segment_rules": [
                        {
                          "rules": [
                            {
                              "segments": [
                                "betausers",
                                "premiumusers"
                              ]
                            }
                          ],
                          "value": true,
                          "order": 1,
                          "rollout_percentage": 90,
                          "rule_name": "rule-name-1",
                          "rule_id": "rule-id-1"
                        },
                        {
                          "rules": [
                            {
                              "segments": [
                                "freeusers"
                              ]
                            }
                          ],
                          "value": false,
                          "order": 2,
                          "rollout_percentage": 90,
                          "rule_name": "rule-name-2",
                          "rule_id": "rule-id-2"
                        }
                      ],
                      "segment_exists": true,
                      "collections": [
                        {
                          "collection_id": "ghzinc",
                          "name": "GHz Inc"
                        },
                        {
                          "collection_id": "phzsystems",
                          "name": "PHz Systems"
                        },
                        {
                          "collection_id": "ghzglobal",
                          "name": "GHz Global"
                        }
                      ],
                      "created_time": "2021-05-12T23:20:50.52Z",
                      "updated_time": "2021-05-12T23:20:50.52Z",
                      "href": "https://us-south.apprapp.cloud.ibm.com/apprapp/feature/v1/instances/9xxxxx-xxxxx-xxxxx-b3cd-xxxxx/environments/dev/features/cycle-rentals"
                    },
                    "summary": "BOOLEAN"
                  },
                  "type_numeric": {
                    "value": {
                      "name": "Cycle Rentals",
                      "feature_id": "cycle-rentals",
                      "description": "Feature flag to enable Cycle Rentals",
                      "type": "NUMERIC",
                      "enabled_value": 1,
                      "disabled_value": 0,
                      "enabled": true,
                      "rollout_percentage": 100,
                      "tags": "version: 1.1, pre-release",
                      "change_request_status": "PENDING",
                      "change_request_number": "CHG0030423",
                      "segment_rules": [
                        {
                          "rules": [
                            {
                              "segments": [
                                "betausers",
                                "premiumusers"
                              ]
                            }
                          ],
                          "value": 10,
                          "order": 1,
                          "rollout_percentage": 40,
                          "rule_name": "rule-name-1",
                          "rule_id": "rule-id-1"
                        },
                        {
                          "rules": [
                            {
                              "segments": [
                                "freeusers"
                              ]
                            }
                          ],
                          "value": 0,
                          "order": 2,
                          "rollout_percentage": 70,
                          "rule_name": "rule-name-2",
                          "rule_id": "rule-id-2"
                        }
                      ],
                      "segment_exists": true,
                      "collections": [
                        {
                          "collection_id": "ghzinc",
                          "name": "GHz Inc"
                        },
                        {
                          "collection_id": "phzsystems",
                          "name": "PHz Systems"
                        },
                        {
                          "collection_id": "ghzglobal",
                          "name": "GHz Global"
                        }
                      ],
                      "created_time": "2021-05-12T23:20:50.52Z",
                      "updated_time": "2021-05-12T23:20:50.52Z",
                      "href": "https://us-south.apprapp.cloud.ibm.com/apprapp/feature/v1/instances/9xxxxx-xxxxx-xxxxx-b3cd-xxxxx/environments/dev/features/cycle-rentals"
                    },
                    "summary": "NUMERIC"
                  },
                  "type_string_text": {
                    "value": {
                      "name": "Cycle Rentals",
                      "feature_id": "cycle-rentals",
                      "description": "Feature flag to enable Cycle Rentals",
                      "type": "STRING",
                      "format": "TEXT",
                      "enabled_value": "yes",
                      "disabled_value": "no",
                      "enabled": true,
                      "rollout_percentage": 100,
                      "tags": "version: 1.1, pre-release",
                      "change_request_status": "PENDING",
                      "change_request_number": "CHG0030423",
                      "segment_rules": [
                        {
                          "rules": [
                            {
                              "segments": [
                                "betausers",
                                "premiumusers"
                              ]
                            }
                          ],
                          "value": "no",
                          "order": 1,
                          "rollout_percentage": 50,
                          "rule_name": "rule-name-1",
                          "rule_id": "rule-id-1"
                        },
                        {
                          "rules": [
                            {
                              "segments": [
                                "freeusers"
                              ]
                            }
                          ],
                          "value": "yes",
                          "order": 2,
                          "rollout_percentage": 15,
                          "rule_name": "rule-name-2",
                          "rule_id": "rule-id-2"
                        }
                      ],
                      "segment_exists": true,
                      "collections": [
                        {
                          "collection_id": "ghzinc",
                          "name": "GHz Inc"
                        },
                        {
                          "collection_id": "phzsystems",
                          "name": "PHz Systems"
                        },
                        {
                          "collection_id": "ghzglobal",
                          "name": "GHz Global"
                        }
                      ],
                      "created_time": "2021-05-12T23:20:50.52Z",
                      "updated_time": "2021-05-12T23:20:50.52Z",
                      "href": "https://us-south.apprapp.cloud.ibm.com/apprapp/feature/v1/instances/9xxxxx-xxxxx-xxxxx-b3cd-xxxxx/environments/dev/features/cycle-rentals"
                    },
                    "summary": "STRING - TEXT"
                  },
                  "type_string_json": {
                    "value": {
                      "name": "Cycle Rentals",
                      "feature_id": "cycle-rentals",
                      "description": "Feature flag to enable Cycle Rentals",
                      "type": "STRING",
                      "format": "JSON",
                      "enabled_value": {
                        "availability": "yes"
                      },
                      "disabled_value": {
                        "availability": "no"
                      },
                      "enabled": true,
                      "rollout_percentage": 100,
                      "tags": "version: 1.1, pre-release",
                      "change_request_status": "PENDING",
                      "change_request_number": "CHG0030423",
                      "segment_rules": [
                        {
                          "rules": [
                            {
                              "segments": [
                                "betausers",
                                "premiumusers"
                              ]
                            }
                          ],
                          "value": {
                            "availability": "no"
                          },
                          "order": 1,
                          "rollout_percentage": 100,
                          "rule_name": "rule-name-1",
                          "rule_id": "rule-id-1"
                        },
                        {
                          "rules": [
                            {
                              "segments": [
                                "freeusers"
                              ]
                            }
                          ],
                          "value": {
                            "availability": "no"
                          },
                          "order": 2,
                          "rollout_percentage": 100,
                          "rule_name": "rule-name-2",
                          "rule_id": "rule-id-2"
                        }
                      ],
                      "segment_exists": true,
                      "collections": [
                        {
                          "collection_id": "ghzinc",
                          "name": "GHz Inc"
                        },
                        {
                          "collection_id": "phzsystems",
                          "name": "PHz Systems"
                        },
                        {
                          "collection_id": "ghzglobal",
                          "name": "GHz Global"
                        }
                      ],
                      "created_time": "2021-05-12T23:20:50.52Z",
                      "updated_time": "2021-05-12T23:20:50.52Z",
                      "href": "https://us-south.apprapp.cloud.ibm.com/apprapp/feature/v1/instances/9xxxxx-xxxxx-xxxxx-b3cd-xxxxx/environments/dev/features/cycle-rentals"
                    },
                    "summary": "STRING - JSON"
                  },
                  "type_string_yaml": {
                    "value": {
                      "name": "Cycle Rentals",
                      "feature_id": "cycle-rentals",
                      "description": "Feature flag to enable Cycle Rentals",
                      "type": "STRING",
                      "format": "YAML",
                      "enabled_value": "---\navailability: 'yes'",
                      "disabled_value": "---\navailability: 'no'",
                      "enabled": true,
                      "rollout_percentage": 100,
                      "tags": "version: 1.1, pre-release",
                      "change_request_status": "PENDING",
                      "change_request_number": "CHG0030423",
                      "segment_rules": [
                        {
                          "rules": [
                            {
                              "segments": [
                                "betausers",
                                "premiumusers"
                              ]
                            }
                          ],
                          "value": "---\navailability: 'yes'\npremium_user_ids:\n- custId1\n- custId2",
                          "order": 1,
                          "rollout_percentage": 100,
                          "rule_name": "rule-name-1",
                          "rule_id": "rule-id-1"
                        },
                        {
                          "rules": [
                            {
                              "segments": [
                                "freeusers"
                              ]
                            }
                          ],
                          "value": "---\navailability: 'no'",
                          "order": 2,
                          "rollout_percentage": 100,
                          "rule_name": "rule-name-2",
                          "rule_id": "rule-id-2"
                        }
                      ],
                      "segment_exists": true,
                      "collections": [
                        {
                          "collection_id": "ghzinc",
                          "name": "GHz Inc"
                        },
                        {
                          "collection_id": "phzsystems",
                          "name": "PHz Systems"
                        },
                        {
                          "collection_id": "ghzglobal",
                          "name": "GHz Global"
                        }
                      ],
                      "created_time": "2021-05-12T23:20:50.52Z",
                      "updated_time": "2021-05-12T23:20:50.52Z",
                      "href": "https://us-south.apprapp.cloud.ibm.com/apprapp/feature/v1/instances/9xxxxx-xxxxx-xxxxx-b3cd-xxxxx/environments/dev/features/cycle-rentals"
                    },
                    "summary": "STRING - YAML"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad request.  Verify that the information in the request body is complete and correct.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "example": {
                  "code": "FTEC1007E",
                  "message": "Error while updating the feature."
                }
              }
            }
          },
          "404": {
            "description": "Not Found. Verify that the feature id is correct.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "example": {
                  "code": "FTEC1000E",
                  "message": "Error while updating the feature. The queried resource 'Feature' is not available on the server."
                }
              }
            }
          },
          "501": {
            "description": "Not Implemented.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "example": {
                  "code": "FTEC1011E",
                  "message": "Currently 'rollout_percentage' feature is not available"
                }
              }
            }
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X PUT --location --header \"Authorization: Bearer ${iam_token}\" \\\n",
                      "  --header 'Accept: application/json' \\\n",
                      "  --header 'Content-Type: application/json' \\\n",
                      "  --data '{ \"name\": \"Cycle Rentals\", \"description\": \"Feature flags to enable Cycle Rentals\", \"enabled_value\": true, \"disabled_value\": false, \"enabled\": true, \"rollout_percentage\": 100, \"tags\": \"version: 1.1, yet-to-release\", \"segment_rules\": [ { \"rules\": [ { \"segments\": [ \"betausers\", \"premiumusers\" ] } ], \"value\": true, \"order\": 1, \"rollout_percentage\": 90, \"rule_name\": \"rule-name-1\", \"rule_id\": \"rule-id-1\" }, { \"rules\": [ { \"segments\": [ \"freeusers\" ] } ], \"value\": false, \"order\": 2, \"rollout_percentage\": 90, \"rule_name\": \"rule-name-2\", \"rule_id\": \"rule-id-2\" } ], \"collections\": [ { \"collection_id\": \"ghzinc\" }, { \"collection_id\": \"phzsystems\" }, { \"collection_id\": \"default-collection\", \"deleted\": true } ] }' \\\n",
                      "  \"${base_url}/environments/${environment_id}/features/${feature_id}\""
                    ]
                  }
                ]
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "targetSegmentsModel := &appconfigurationv1.TargetSegments{\n",
                      "  Segments: []string{\"betausers\", \"premiumusers\"},\n",
                      "}\n",
                      "\n",
                      "featureSegmentRuleModel := &appconfigurationv1.FeatureSegmentRule{\n",
                      "  Rules: []appconfigurationv1.TargetSegments{*targetSegmentsModel},\n",
                      "  Value: core.StringPtr(\"true\"),\n",
                      "  Order: core.Int64Ptr(int64(1)),\n",
                      "  RolloutPercentage: core.Int64Ptr(int64(90)),\n",
                      "  RuleID: core.StringPtr(\"rule-id-1\"),\n",
                      "  RuleName: core.StringPtr(\"rule-name-1\"),\n",
                      "}\n",
                      "\n",
                      "collectionUpdateRefModel := &appconfigurationv1.CollectionUpdateRef{\n",
                      "  CollectionID: core.StringPtr(\"ghzinc\"),\n",
                      "}\n",
                      "\n",
                      "updateFeatureOptions := appConfigurationService.NewUpdateFeatureOptions(\n",
                      "  \"environment_id\",\n",
                      "  \"feature_id\",\n",
                      ")\n",
                      "updateFeatureOptions.SetName(\"Cycle Rentals\")\n",
                      "updateFeatureOptions.SetDescription(\"Feature flags to enable Cycle Rentals\")\n",
                      "updateFeatureOptions.SetEnabledValue(\"true\")\n",
                      "updateFeatureOptions.SetDisabledValue(\"false\")\n",
                      "updateFeatureOptions.SetEnabled(true)\n",
                      "updateFeatureOptions.SetRolloutPercentage(int64(100))\n",
                      "updateFeatureOptions.SetTags(\"version: 1.1, yet-to-release\")\n",
                      "updateFeatureOptions.SetSegmentRules([]appconfigurationv1.FeatureSegmentRule{*featureSegmentRuleModel})\n",
                      "updateFeatureOptions.SetCollections([]appconfigurationv1.CollectionUpdateRef{*collectionUpdateRefModel})\n",
                      "\n",
                      "feature, response, err := appConfigurationService.UpdateFeature(updateFeatureOptions)\n",
                      "if err != nil {\n",
                      "  panic(err)\n",
                      "}\n",
                      "b, _ := json.MarshalIndent(feature, \"\", \"  \")\n",
                      "fmt.Println(string(b))"
                    ]
                  }
                ]
              }
            ]
          }
        }
      },
      "patch": {
        "tags": [
          "Features"
        ],
        "summary": "Update Feature Values",
        "description": "Update the feature values. This method can be executed only by the `writer` role. This method allows the update of feature name, feature enabled_value, feature disabled_value, tags, description and feature segment rules, however this method does not allow toggling the feature flag and assigning feature to a collection.",
        "operationId": "update_feature_values",
        "x-codegen-request-body-name": "UpdateFeatureValues",
        "deprecated": false,
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "apprapp.features.patch"
            }
          ]
        },
        "x-ibm-events": {
          "events": [
            {
              "name": "apprapp.features.updatevalues"
            }
          ]
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/environmentIdParam"
          },
          {
            "$ref": "#/components/parameters/featureIdParam"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/UpdateFeatureValues"
        },
        "responses": {
          "200": {
            "description": "Successfully updated the feature values.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Feature"
                },
                "examples": {
                  "type_boolean": {
                    "value": {
                      "name": "Cycle Rentals",
                      "feature_id": "cycle-rentals",
                      "description": "Feature flag to enable Cycle Rentals",
                      "type": "BOOLEAN",
                      "enabled_value": true,
                      "disabled_value": false,
                      "enabled": true,
                      "rollout_percentage": 100,
                      "tags": "version: 1.1, pre-release",
                      "segment_rules": [
                        {
                          "rules": [
                            {
                              "segments": [
                                "betausers",
                                "premiumusers"
                              ]
                            }
                          ],
                          "value": true,
                          "order": 1,
                          "rollout_percentage": 100,
                          "rule_name": "rule-name-1",
                          "rule_id": "rule-id-1"
                        },
                        {
                          "rules": [
                            {
                              "segments": [
                                "freeusers"
                              ]
                            }
                          ],
                          "value": false,
                          "order": 2,
                          "rollout_percentage": 100,
                          "rule_name": "rule-name-2",
                          "rule_id": "rule-id-2"
                        }
                      ],
                      "segment_exists": true,
                      "collections": [
                        {
                          "collection_id": "ghzinc",
                          "name": "GHz Inc"
                        },
                        {
                          "collection_id": "phzsystems",
                          "name": "PHz Systems"
                        },
                        {
                          "collection_id": "ghzglobal",
                          "name": "GHz Global"
                        }
                      ],
                      "created_time": "2021-05-12T23:20:50.52Z",
                      "updated_time": "2021-05-12T23:20:50.52Z",
                      "href": "https://us-south.apprapp.cloud.ibm.com/apprapp/feature/v1/instances/9xxxxx-xxxxx-xxxxx-b3cd-xxxxx/environments/dev/features/cycle-rentals"
                    },
                    "summary": "BOOLEAN"
                  },
                  "type_numeric": {
                    "value": {
                      "name": "Cycle Rentals",
                      "feature_id": "cycle-rentals",
                      "description": "Feature flag to enable Cycle Rentals",
                      "type": "NUMERIC",
                      "enabled_value": 1,
                      "disabled_value": 0,
                      "enabled": true,
                      "rollout_percentage": 100,
                      "tags": "version: 1.1, pre-release",
                      "segment_rules": [
                        {
                          "rules": [
                            {
                              "segments": [
                                "betausers",
                                "premiumusers"
                              ]
                            }
                          ],
                          "value": 10,
                          "order": 1,
                          "rollout_percentage": 100,
                          "rule_name": "rule-name-1",
                          "rule_id": "rule-id-1"
                        },
                        {
                          "rules": [
                            {
                              "segments": [
                                "freeusers"
                              ]
                            }
                          ],
                          "value": 0,
                          "order": 2,
                          "rollout_percentage": 100,
                          "rule_name": "rule-name-2",
                          "rule_id": "rule-id-2"
                        }
                      ],
                      "segment_exists": true,
                      "collections": [
                        {
                          "collection_id": "ghzinc",
                          "name": "GHz Inc"
                        },
                        {
                          "collection_id": "phzsystems",
                          "name": "PHz Systems"
                        },
                        {
                          "collection_id": "ghzglobal",
                          "name": "GHz Global"
                        }
                      ],
                      "created_time": "2021-05-12T23:20:50.52Z",
                      "updated_time": "2021-05-12T23:20:50.52Z",
                      "href": "https://us-south.apprapp.cloud.ibm.com/apprapp/feature/v1/instances/9xxxxx-xxxxx-xxxxx-b3cd-xxxxx/environments/dev/features/cycle-rentals"
                    },
                    "summary": "NUMERIC"
                  },
                  "type_string_text": {
                    "value": {
                      "name": "Cycle Rentals",
                      "feature_id": "cycle-rentals",
                      "description": "Feature flag to enable Cycle Rentals",
                      "type": "STRING",
                      "format": "TEXT",
                      "enabled_value": "yes",
                      "disabled_value": "no",
                      "enabled": true,
                      "rollout_percentage": 100,
                      "tags": "version: 1.1, pre-release",
                      "segment_rules": [
                        {
                          "rules": [
                            {
                              "segments": [
                                "betausers",
                                "premiumusers"
                              ]
                            }
                          ],
                          "value": "no",
                          "order": 1,
                          "rollout_percentage": 100,
                          "rule_name": "rule-name-1",
                          "rule_id": "rule-id-1"
                        },
                        {
                          "rules": [
                            {
                              "segments": [
                                "freeusers"
                              ]
                            }
                          ],
                          "value": "yes",
                          "order": 2,
                          "rollout_percentage": 100,
                          "rule_name": "rule-name-2",
                          "rule_id": "rule-id-2"
                        }
                      ],
                      "segment_exists": true,
                      "collections": [
                        {
                          "collection_id": "ghzinc",
                          "name": "GHz Inc"
                        },
                        {
                          "collection_id": "phzsystems",
                          "name": "PHz Systems"
                        },
                        {
                          "collection_id": "ghzglobal",
                          "name": "GHz Global"
                        }
                      ],
                      "created_time": "2021-05-12T23:20:50.52Z",
                      "updated_time": "2021-05-12T23:20:50.52Z",
                      "href": "https://us-south.apprapp.cloud.ibm.com/apprapp/feature/v1/instances/9xxxxx-xxxxx-xxxxx-b3cd-xxxxx/environments/dev/features/cycle-rentals"
                    },
                    "summary": "STRING - TEXT"
                  },
                  "type_string_json": {
                    "value": {
                      "name": "Cycle Rentals",
                      "feature_id": "cycle-rentals",
                      "description": "Feature flag to enable Cycle Rentals",
                      "type": "STRING",
                      "format": "JSON",
                      "enabled_value": {
                        "availability": "yes"
                      },
                      "disabled_value": {
                        "availability": "no"
                      },
                      "enabled": true,
                      "rollout_percentage": 100,
                      "tags": "version: 1.1, pre-release",
                      "segment_rules": [
                        {
                          "rules": [
                            {
                              "segments": [
                                "betausers",
                                "premiumusers"
                              ]
                            }
                          ],
                          "value": {
                            "availability": "no"
                          },
                          "order": 1,
                          "rollout_percentage": 100,
                          "rule_name": "rule-name-1",
                          "rule_id": "rule-id-1"
                        },
                        {
                          "rules": [
                            {
                              "segments": [
                                "freeusers"
                              ]
                            }
                          ],
                          "value": {
                            "availability": "no"
                          },
                          "order": 2,
                          "rollout_percentage": 100,
                          "rule_name": "rule-name-2",
                          "rule_id": "rule-id-2"
                        }
                      ],
                      "segment_exists": true,
                      "collections": [
                        {
                          "collection_id": "ghzinc",
                          "name": "GHz Inc"
                        },
                        {
                          "collection_id": "phzsystems",
                          "name": "PHz Systems"
                        },
                        {
                          "collection_id": "ghzglobal",
                          "name": "GHz Global"
                        }
                      ],
                      "created_time": "2021-05-12T23:20:50.52Z",
                      "updated_time": "2021-05-12T23:20:50.52Z",
                      "href": "https://us-south.apprapp.cloud.ibm.com/apprapp/feature/v1/instances/9xxxxx-xxxxx-xxxxx-b3cd-xxxxx/environments/dev/features/cycle-rentals"
                    },
                    "summary": "STRING - JSON"
                  },
                  "type_string_yaml": {
                    "value": {
                      "name": "Cycle Rentals",
                      "feature_id": "cycle-rentals",
                      "description": "Feature flag to enable Cycle Rentals",
                      "type": "STRING",
                      "format": "YAML",
                      "enabled_value": "---\navailability: 'yes'",
                      "disabled_value": "---\navailability: 'no'",
                      "enabled": true,
                      "rollout_percentage": 100,
                      "tags": "version: 1.1, pre-release",
                      "segment_rules": [
                        {
                          "rules": [
                            {
                              "segments": [
                                "betausers",
                                "premiumusers"
                              ]
                            }
                          ],
                          "value": "---\navailability: 'yes'\npremium_user_ids:\n- custId1\n- custId2",
                          "order": 1,
                          "rollout_percentage": 100,
                          "rule_name": "rule-name-1",
                          "rule_id": "rule-id-1"
                        },
                        {
                          "rules": [
                            {
                              "segments": [
                                "freeusers"
                              ]
                            }
                          ],
                          "value": "---\navailability: 'no'",
                          "order": 2,
                          "rollout_percentage": 100,
                          "rule_name": "rule-name-2",
                          "rule_id": "rule-id-2"
                        }
                      ],
                      "segment_exists": true,
                      "collections": [
                        {
                          "collection_id": "ghzinc",
                          "name": "GHz Inc"
                        },
                        {
                          "collection_id": "phzsystems",
                          "name": "PHz Systems"
                        },
                        {
                          "collection_id": "ghzglobal",
                          "name": "GHz Global"
                        }
                      ],
                      "created_time": "2021-05-12T23:20:50.52Z",
                      "updated_time": "2021-05-12T23:20:50.52Z",
                      "href": "https://us-south.apprapp.cloud.ibm.com/apprapp/feature/v1/instances/9xxxxx-xxxxx-xxxxx-b3cd-xxxxx/environments/dev/features/cycle-rentals"
                    },
                    "summary": "STRING - YAML"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad request. Verify that the information in the request body is complete and correct.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "example": {
                  "code": "FTEC1007E",
                  "message": "Error while updating the feature values."
                }
              }
            }
          },
          "404": {
            "description": "Not Found. Verify that the feature id is correct.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "example": {
                  "code": "FTEC1000E",
                  "message": "Error while updating the feature. The queried resource 'Feature' is not available on the server."
                }
              }
            }
          },
          "501": {
            "description": "Not Implemented.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "example": {
                  "code": "FTEC1011E",
                  "message": "Currently 'rollout_percentage' feature is not available"
                }
              }
            }
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X PATCH --location --header \"Authorization: Bearer ${iam_token}\" \\\n",
                      "  --header 'Accept: application/json' \\\n",
                      "  --header 'Content-Type: application/json' \\\n",
                      "  --data '{ \"name\": \"Cycle Rentals\", \"description\": \"Feature flags to enable Cycle Rentals\", \"enabled_value\": true, \"disabled_value\": false, \"rollout_percentage\": 100, \"tags\": \"version: 1.1, yet-to-release\", \"segment_rules\": [ { \"rules\": [ { \"segments\": [ \"betausers\", \"premiumusers\" ] } ], \"value\": true, \"order\": 1, \"rollout_percentage\": 100, \"rule_name\": \"rule-name-1\", \"rule_id\": \"rule-id-1\" }, { \"rules\": [ { \"segments\": [ \"freeusers\" ] } ], \"value\": false, \"order\": 2, \"rollout_percentage\": 100, \"rule_name\": \"rule-name-1\", \"rule_id\": \"rule-id-1\" } ] }' \\\n",
                      "  \"${base_url}/environments/${environment_id}/features/${feature_id}\""
                    ]
                  }
                ]
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "targetSegmentsModel := &appconfigurationv1.TargetSegments{\n",
                      "  Segments: []string{\"betausers\", \"premiumusers\"},\n",
                      "}\n",
                      "\n",
                      "featureSegmentRuleModel := &appconfigurationv1.FeatureSegmentRule{\n",
                      "  Rules: []appconfigurationv1.TargetSegments{*targetSegmentsModel},\n",
                      "  Value: core.StringPtr(\"true\"),\n",
                      "  Order: core.Int64Ptr(int64(1)),\n",
                      "  RolloutPercentage: core.Int64Ptr(int64(100)),\n",
                      "  RuleID: core.StringPtr(\"rule-id-1\"),\n",
                      "  RuleName: core.StringPtr(\"rule-name-1\"),\n",
                      "}\n",
                      "\n",
                      "updateFeatureValuesOptions := appConfigurationService.NewUpdateFeatureValuesOptions(\n",
                      "  \"environment_id\",\n",
                      "  \"feature_id\",\n",
                      ")\n",
                      "updateFeatureValuesOptions.SetName(\"Cycle Rentals\")\n",
                      "updateFeatureValuesOptions.SetDescription(\"Feature flags to enable Cycle Rentals\")\n",
                      "updateFeatureValuesOptions.SetTags(\"version: 1.1, yet-to-release\")\n",
                      "updateFeatureValuesOptions.SetEnabledValue(\"true\")\n",
                      "updateFeatureValuesOptions.SetDisabledValue(\"false\")\n",
                      "updateFeatureValuesOptions.SetRolloutPercentage(int64(100))\n",
                      "updateFeatureValuesOptions.SetSegmentRules([]appconfigurationv1.FeatureSegmentRule{*featureSegmentRuleModel})\n",
                      "\n",
                      "feature, response, err := appConfigurationService.UpdateFeatureValues(updateFeatureValuesOptions)\n",
                      "if err != nil {\n",
                      "  panic(err)\n",
                      "}\n",
                      "b, _ := json.MarshalIndent(feature, \"\", \"  \")\n",
                      "fmt.Println(string(b))"
                    ]
                  }
                ]
              }
            ]
          }
        }
      },
      "get": {
        "tags": [
          "Features"
        ],
        "summary": "Get Feature",
        "description": "Retrieve details of a feature.",
        "operationId": "get_feature",
        "deprecated": false,
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "apprapp.features.list"
            }
          ]
        },
        "x-ibm-events": {
          "events": [
            {
              "name": "apprapp.features.read"
            }
          ]
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/environmentIdParam"
          },
          {
            "$ref": "#/components/parameters/featureIdParam"
          },
          {
            "$ref": "#/components/parameters/ChangeRequestCollectionRuleIncludeParam"
          }
        ],
        "responses": {
          "200": {
            "description": "Successfully retrieved the feature details.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Feature"
                }
              }
            }
          },
          "404": {
            "description": "Not Found. Verify that the feature id is correct.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "example": {
                  "code": "FTEC1000E",
                  "message": "Error while retreiving the feature. The queried resource 'Feature' is not available on the server."
                }
              }
            }
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X GET --location --header \"Authorization: Bearer ${iam_token}\" \\\n",
                      "  --header 'Accept: application/json' \\\n",
                      "  \"${base_url}/environments/${environment_id}/features/${feature_id}?include=collections,rules,change_request\""
                    ]
                  }
                ]
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "getFeatureOptions := appConfigurationService.NewGetFeatureOptions(\n",
                      "  \"environment_id\",\n",
                      "  \"feature_id\",\n",
                      ")\n",
                      "getFeatureOptions.SetInclude([]string{\"collections\", \"rules\", \"change_request\"})\n",
                      "\n",
                      "feature, response, err := appConfigurationService.GetFeature(getFeatureOptions)\n",
                      "if err != nil {\n",
                      "  panic(err)\n",
                      "}\n",
                      "b, _ := json.MarshalIndent(feature, \"\", \"  \")\n",
                      "fmt.Println(string(b))"
                    ]
                  }
                ]
              }
            ]
          }
        }
      },
      "delete": {
        "tags": [
          "Features"
        ],
        "summary": "Delete Feature",
        "description": "Delete a feature flag",
        "operationId": "delete_feature",
        "deprecated": false,
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "apprapp.features.delete"
            }
          ]
        },
        "x-ibm-events": {
          "events": [
            {
              "name": "apprapp.features.delete"
            }
          ]
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/environmentIdParam"
          },
          {
            "$ref": "#/components/parameters/featureIdParam"
          }
        ],
        "responses": {
          "204": {
            "description": "Successfully deleted the specified feature.",
            "headers": {}
          },
          "404": {
            "description": "Not Found. Verify that the feature id is correct.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "example": {
                  "code": "FTEC1000E",
                  "message": "Error while deleting the feature. The queried resource 'Feature' is not available on the server."
                }
              }
            }
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X DELETE --location --header \"Authorization: Bearer ${iam_token}\" \\\n",
                      "  \"${base_url}/environments/${environment_id}/features/${feature_id}\""
                    ]
                  }
                ]
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "deleteFeatureOptions := appConfigurationService.NewDeleteFeatureOptions(\n",
                      "  \"environment_id\",\n",
                      "  \"feature_id\",\n",
                      ")\n",
                      "\n",
                      "response, err := appConfigurationService.DeleteFeature(deleteFeatureOptions)\n",
                      "if err != nil {\n",
                      "  panic(err)\n",
                      "}\n",
                      "if response.StatusCode != 204 {\n",
                      "  fmt.Printf(\"\\nUnexpected response status code received from DeleteFeature(): %d\\n\", response.StatusCode)\n",
                      "}"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/environments/{environment_id}/features/{feature_id}/toggle": {
      "put": {
        "tags": [
          "Features"
        ],
        "summary": "Toggle Feature",
        "description": "Toggle a feature.",
        "operationId": "toggle_feature",
        "x-cli-command": "feature-toggle",
        "x-codegen-request-body-name": "ToggleFeature",
        "deprecated": false,
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "apprapp.features.toggle"
            }
          ]
        },
        "x-ibm-events": {
          "events": [
            {
              "name": "apprapp.features.toggle"
            }
          ]
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/environmentIdParam"
          },
          {
            "$ref": "#/components/parameters/featureIdParam"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/ToggleFeature"
        },
        "responses": {
          "200": {
            "description": "Successfully toggled the specified feature.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Feature"
                }
              }
            }
          },
          "400": {
            "description": "Bad request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "example": {
                  "code": "FTEC1000E",
                  "message": "Error in toggle feature request."
                }
              }
            }
          },
          "404": {
            "description": "Not Found. Verify that the feature id is correct.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "example": {
                  "code": "FTEC1000E",
                  "message": "Error while toggling the feature. The queried resource 'Feature' is not available on the server."
                }
              }
            }
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X PUT --location --header \"Authorization: Bearer ${iam_token}\" \\\n",
                      "  --header 'Accept: application/json' \\\n",
                      "  --header 'Content-Type: application/json' \\\n",
                      "  --data '{\"enabled\":true}' \\\n",
                      "  \"${base_url}/environments/${environment_id}/features/${feature_id}/toggle\""
                    ]
                  }
                ]
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "toggleFeatureOptions := appConfigurationService.NewToggleFeatureOptions(\n",
                      "  \"environment_id\",\n",
                      "  \"feature_id\",\n",
                      "  true,\n",
                      ")\n",
                      "\n",
                      "feature, response, err := appConfigurationService.ToggleFeature(toggleFeatureOptions)\n",
                      "if err != nil {\n",
                      "  panic(err)\n",
                      "}\n",
                      "b, _ := json.MarshalIndent(feature, \"\", \"  \")\n",
                      "fmt.Println(string(b))"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/environments/{environment_id}/features/{feature_id}/rules": {
      "post": {
        "tags": [
          "Features"
        ],
        "summary": "Create Feature Rule",
        "description": "Create a rule for feature flag",
        "operationId": "create_feature_rule",
        "x-codegen-request-body-name": "FeatureRuleRequestBody",
        "deprecated": false,
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "apprapp.features-rules.create"
            }
          ]
        },
        "x-ibm-events": {
          "events": [
            {
              "name": "apprapp.features-rules.create"
            }
          ]
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/environmentIdParam"
          },
          {
            "$ref": "#/components/parameters/featureIdParam"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/CreateFeatureRule"
        },
        "responses": {
          "201": {
            "description": "Successfully created the feature rule.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FeatureSegmentRuleWithRuleId"
                },
                "examples": {
                  "type_boolean": {
                    "value": {
                      "rules": [
                        {
                          "segments": [
                            "betausers",
                            "premiumusers"
                          ]
                        }
                      ],
                      "value": true,
                      "order": 1,
                      "rollout_percentage": 50,
                      "rule_id": "RuleA",
                      "rule_name": "Rule Name",
                      "href": "https://us-south.apprapp.cloud.ibm.com/apprapp/feature/v1/instances/9xxxxx-xxxxx-xxxxx-b3cd-xxxxx/environments/dev/features/cycle-rentals/rules/RuleA"
                    },
                    "summary": "BOOLEAN"
                  },
                  "type_numeric": {
                    "value": {
                      "rules": [
                        {
                          "segments": [
                            "betausers",
                            "premiumusers"
                          ]
                        }
                      ],
                      "value": 10,
                      "order": 1,
                      "rollout_percentage": 40,
                      "rule_id": "RuleA",
                      "rule_name": "Rule Name",
                      "href": "https://us-south.apprapp.cloud.ibm.com/apprapp/feature/v1/instances/9xxxxx-xxxxx-xxxxx-b3cd-xxxxx/environments/dev/features/cycle-rentals/rules/RuleA"
                    },
                    "summary": "NUMERIC"
                  },
                  "type_string_text": {
                    "value": {
                      "rules": [
                        {
                          "segments": [
                            "betausers",
                            "premiumusers"
                          ]
                        }
                      ],
                      "value": "not available",
                      "order": 1,
                      "rollout_percentage": 50,
                      "rule_id": "RuleA",
                      "rule_name": "Rule Name",
                      "href": "https://us-south.apprapp.cloud.ibm.com/apprapp/feature/v1/instances/9xxxxx-xxxxx-xxxxx-b3cd-xxxxx/environments/dev/features/cycle-rentals/rules/RuleA"
                    },
                    "summary": "STRING - TEXT"
                  },
                  "type_string_json": {
                    "value": {
                      "rules": [
                        {
                          "segments": [
                            "betausers",
                            "premiumusers"
                          ]
                        }
                      ],
                      "value": {
                        "availability": "no"
                      },
                      "order": 1,
                      "rollout_percentage": 50,
                      "rule_id": "RuleA",
                      "rule_name": "Rule Name",
                      "href": "https://us-south.apprapp.cloud.ibm.com/apprapp/feature/v1/instances/9xxxxx-xxxxx-xxxxx-b3cd-xxxxx/environments/dev/features/cycle-rentals/rules/RuleA"
                    },
                    "summary": "STRING - JSON"
                  },
                  "type_string_yaml": {
                    "value": {
                      "rules": [
                        {
                          "segments": [
                            "betausers",
                            "premiumusers"
                          ]
                        }
                      ],
                      "value": "---\navailability: 'yes'\npremium_user_ids:\n- custId1\n- custId2",
                      "order": 1,
                      "rollout_percentage": 100,
                      "rule_id": "RuleA",
                      "rule_name": "Rule Name",
                      "href": "https://us-south.apprapp.cloud.ibm.com/apprapp/feature/v1/instances/9xxxxx-xxxxx-xxxxx-b3cd-xxxxx/environments/dev/features/cycle-rentals/rules/RuleA"
                    },
                    "summary": "STRING - YAML"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad request. . Verify that the information in the request body is complete and correct.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "example": {
                  "code": "FTEC1003E",
                  "message": "Error while creating the feature rule."
                }
              }
            }
          },
          "501": {
            "description": "Not Implemented.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "example": {
                  "code": "FTEC1011E",
                  "message": "Currently 'rollout_percentage' feature is not available"
                }
              }
            }
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X POST --location --header \"Authorization: Bearer ${iam_token}\" \\\n",
                      "  --header 'Accept: application/json' \\\n",
                      "  --header 'Content-Type: application/json' \\\n",
                      "  --data '{ \"rules\": [ { \"segments\": [ \"betausers\", \"premiumusers\" ] } ], \"value\": true, \"rollout_percentage\": 50, \"rule_id\": \"RuleA\", \"rule_name\": \"Rule Name\" }' \\\n",
                      "  \"${base_url}/environments/${environment_id}/features/${feature_id}/rules\""
                    ]
                  }
                ]
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "targetSegmentsModel := &appconfigurationv1.TargetSegments{\n",
                      "  Segments: []string{\"betausers\", \"premiumusers\"},\n",
                      "}\n",
                      "\n",
                      "createFeatureRuleOptions := appConfigurationService.NewCreateFeatureRuleOptions(\n",
                      "  \"environment_id\",\n",
                      "  \"feature_id\",\n",
                      "  []appconfigurationv1.TargetSegments{*targetSegmentsModel},\n",
                      "  \"true\",\n",
                      "  \"RuleA\",\n",
                      ")\n",
                      "createFeatureRuleOptions.SetRuleName(\"Rule Name\")\n",
                      "createFeatureRuleOptions.SetRolloutPercentage(int64(50))\n",
                      "\n",
                      "featureSegmentRuleWithRuleID, response, err := appConfigurationService.CreateFeatureRule(createFeatureRuleOptions)\n",
                      "if err != nil {\n",
                      "  panic(err)\n",
                      "}\n",
                      "b, _ := json.MarshalIndent(featureSegmentRuleWithRuleID, \"\", \"  \")\n",
                      "fmt.Println(string(b))"
                    ]
                  }
                ]
              }
            ]
          }
        }
      },
      "get": {
        "tags": [
          "Features"
        ],
        "summary": "Get All rules for feature",
        "description": "Get all the rules for a feature flag in the specified environment.",
        "operationId": "list_feature_rules",
        "deprecated": false,
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "apprapp.features-rules.list"
            }
          ]
        },
        "x-ibm-events": {
          "events": [
            {
              "name": "apprapp.features-rules.read"
            }
          ]
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/environmentIdParam"
          },
          {
            "$ref": "#/components/parameters/featureIdParam"
          }
        ],
        "responses": {
          "200": {
            "description": "Successfully fetched the targeted rules.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FeatureSegmentRuleListWithRuleId"
                },
                "examples": {
                  "type_boolean": {
                    "value": {
                      "segment_rules": [
                        {
                          "rules": [
                            {
                              "segments": [
                                "betausers",
                                "premiumusers"
                              ]
                            }
                          ],
                          "value": true,
                          "order": 1,
                          "rollout_percentage": 50,
                          "rule_id": "RuleA",
                          "rule_name": "Rule Name",
                          "href": "https://us-south.apprapp.cloud.ibm.com/apprapp/feature/v1/instances/9xxxxx-xxxxx-xxxxx-b3cd-xxxxx/environments/dev/features/cycle-rentals/rules/RuleA"
                        }
                      ],
                      "offset": 0,
                      "limit": 10,
                      "total_count": 2,
                      "first": {
                        "href": "https://us-south.apprapp.cloud.ibm.com/apprapp/feature/v1/instances/9xxxxx-xxxxx-xxxxx-b3cd-xxxxx/environments/dev/features/cycle-rentals/rules?offset=0&size=10"
                      },
                      "last": {
                        "href": "https://us-south.apprapp.cloud.ibm.com/apprapp/feature/v1/instances/9xxxxx-xxxxx-xxxxx-b3cd-xxxxx/environments/dev/features/cycle-rentals/rules?offset=0&size=10"
                      }
                    },
                    "summary": "BOOLEAN"
                  },
                  "type_numeric": {
                    "value": {
                      "segment_rules": [
                        {
                          "rules": [
                            {
                              "segments": [
                                "betausers",
                                "premiumusers"
                              ]
                            }
                          ],
                          "value": 10,
                          "order": 1,
                          "rollout_percentage": 40,
                          "rule_id": "RuleA",
                          "rule_name": "Rule Name",
                          "href": "https://us-south.apprapp.cloud.ibm.com/apprapp/feature/v1/instances/9xxxxx-xxxxx-xxxxx-b3cd-xxxxx/environments/dev/features/cycle-rentals/rules/RuleA"
                        }
                      ],
                      "offset": 0,
                      "limit": 10,
                      "total_count": 2,
                      "first": {
                        "href": "https://us-south.apprapp.cloud.ibm.com/apprapp/feature/v1/instances/9xxxxx-xxxxx-xxxxx-b3cd-xxxxx/environments/dev/features/cycle-rentals/rules?offset=0&size=10"
                      },
                      "last": {
                        "href": "https://us-south.apprapp.cloud.ibm.com/apprapp/feature/v1/instances/9xxxxx-xxxxx-xxxxx-b3cd-xxxxx/environments/dev/features/cycle-rentals/rules?offset=0&size=10"
                      }
                    },
                    "summary": "NUMERIC"
                  },
                  "type_string_text": {
                    "value": {
                      "segment_rules": [
                        {
                          "rules": [
                            {
                              "segments": [
                                "betausers",
                                "premiumusers"
                              ]
                            }
                          ],
                          "value": "not available",
                          "order": 1,
                          "rollout_percentage": 50,
                          "rule_id": "RuleA",
                          "rule_name": "Rule Name",
                          "href": "https://us-south.apprapp.cloud.ibm.com/apprapp/feature/v1/instances/9xxxxx-xxxxx-xxxxx-b3cd-xxxxx/environments/dev/features/cycle-rentals/rules/RuleA"
                        }
                      ],
                      "offset": 0,
                      "limit": 10,
                      "total_count": 2,
                      "first": {
                        "href": "https://us-south.apprapp.cloud.ibm.com/apprapp/feature/v1/instances/9xxxxx-xxxxx-xxxxx-b3cd-xxxxx/environments/dev/features/cycle-rentals/rules?offset=0&size=10"
                      },
                      "last": {
                        "href": "https://us-south.apprapp.cloud.ibm.com/apprapp/feature/v1/instances/9xxxxx-xxxxx-xxxxx-b3cd-xxxxx/environments/dev/features/cycle-rentals/rules?offset=0&size=10"
                      }
                    },
                    "summary": "STRING - TEXT"
                  },
                  "type_string_json": {
                    "value": {
                      "segment_rules": [
                        {
                          "rules": [
                            {
                              "segments": [
                                "betausers",
                                "premiumusers"
                              ]
                            }
                          ],
                          "value": {
                            "availability": "no"
                          },
                          "order": 1,
                          "rollout_percentage": 50,
                          "rule_id": "RuleA",
                          "rule_name": "Rule Name",
                          "href": "https://us-south.apprapp.cloud.ibm.com/apprapp/feature/v1/instances/9xxxxx-xxxxx-xxxxx-b3cd-xxxxx/environments/dev/features/cycle-rentals/rules/RuleA"
                        }
                      ],
                      "offset": 0,
                      "limit": 10,
                      "total_count": 2,
                      "first": {
                        "href": "https://us-south.apprapp.cloud.ibm.com/apprapp/feature/v1/instances/9xxxxx-xxxxx-xxxxx-b3cd-xxxxx/environments/dev/features/cycle-rentals/rules?offset=0&size=10"
                      },
                      "last": {
                        "href": "https://us-south.apprapp.cloud.ibm.com/apprapp/feature/v1/instances/9xxxxx-xxxxx-xxxxx-b3cd-xxxxx/environments/dev/features/cycle-rentals/rules?offset=0&size=10"
                      }
                    },
                    "summary": "STRING - JSON"
                  },
                  "type_string_yaml": {
                    "value": {
                      "segment_rules": [
                        {
                          "rules": [
                            {
                              "segments": [
                                "betausers",
                                "premiumusers"
                              ]
                            }
                          ],
                          "value": "---\navailability: 'yes'\npremium_user_ids:\n- custId1\n- custId2",
                          "order": 1,
                          "rollout_percentage": 100,
                          "rule_id": "RuleA",
                          "rule_name": "Rule Name",
                          "href": "https://us-south.apprapp.cloud.ibm.com/apprapp/feature/v1/instances/9xxxxx-xxxxx-xxxxx-b3cd-xxxxx/environments/dev/features/cycle-rentals/rules/RuleA"
                        }
                      ],
                      "offset": 0,
                      "limit": 10,
                      "total_count": 2,
                      "first": {
                        "href": "https://us-south.apprapp.cloud.ibm.com/apprapp/feature/v1/instances/9xxxxx-xxxxx-xxxxx-b3cd-xxxxx/environments/dev/features/cycle-rentals/rules?offset=0&size=10"
                      },
                      "last": {
                        "href": "https://us-south.apprapp.cloud.ibm.com/apprapp/feature/v1/instances/9xxxxx-xxxxx-xxxxx-b3cd-xxxxx/environments/dev/features/cycle-rentals/rules?offset=0&size=10"
                      }
                    },
                    "summary": "STRING - YAML"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedErrorResponse"
                },
                "example": {
                  "message": "Unauthorized"
                }
              }
            }
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X GET --location --header \"Authorization: Bearer ${iam_token}\" \\\n",
                      "  --header 'Accept: application/json' \\\n",
                      "  \"${base_url}/environments/${environment_id}/features/${feature_id}/rules\""
                    ]
                  }
                ]
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "listFeatureRulesOptions := appConfigurationService.NewListFeatureRulesOptions(\n",
                      "  \"environment_id\",\n",
                      "  \"feature_id\",\n",
                      ")\n",
                      "\n",
                      "featureSegmentRuleListWithRuleID, response, err := appConfigurationService.ListFeatureRules(listFeatureRulesOptions)\n",
                      "if err != nil {\n",
                      "  panic(err)\n",
                      "}\n",
                      "b, _ := json.MarshalIndent(featureSegmentRuleListWithRuleID, \"\", \"  \")\n",
                      "fmt.Println(string(b))"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/environments/{environment_id}/features/{feature_id}/rules/{rule_id}": {
      "get": {
        "tags": [
          "Features"
        ],
        "summary": "Get rule for feature by rule id",
        "description": "Get the rule by rule id for the feature flag in the specified environment.",
        "operationId": "get_feature_rule",
        "deprecated": false,
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "apprapp.features-rules.list"
            }
          ]
        },
        "x-ibm-events": {
          "events": [
            {
              "name": "apprapp.features-rules.read"
            }
          ]
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/environmentIdParam"
          },
          {
            "$ref": "#/components/parameters/featureIdParam"
          },
          {
            "$ref": "#/components/parameters/ruleIdParam"
          }
        ],
        "responses": {
          "200": {
            "description": "Successfully fetched the rule.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FeatureSegmentRuleWithRuleId"
                },
                "examples": {
                  "type_boolean": {
                    "value": {
                      "rules": [
                        {
                          "segments": [
                            "betausers",
                            "premiumusers"
                          ]
                        }
                      ],
                      "value": true,
                      "order": 1,
                      "rollout_percentage": 50,
                      "rule_id": "Rule-id",
                      "rule_name": "Rule-name",
                      "href": "https://us-south.apprapp.cloud.ibm.com/apprapp/feature/v1/instances/9xxxxx-xxxxx-xxxxx-b3cd-xxxxx/environments/dev/features/cycle-rentals/rules/RuleA"
                    },
                    "summary": "BOOLEAN"
                  },
                  "type_numeric": {
                    "value": {
                      "rules": [
                        {
                          "segments": [
                            "betausers",
                            "premiumusers"
                          ]
                        }
                      ],
                      "value": 10,
                      "order": 1,
                      "rollout_percentage": 40,
                      "rule_id": "RuleA",
                      "rule_name": "Rule Name",
                      "href": "https://us-south.apprapp.cloud.ibm.com/apprapp/feature/v1/instances/9xxxxx-xxxxx-xxxxx-b3cd-xxxxx/environments/dev/features/cycle-rentals/rules/RuleA"
                    },
                    "summary": "NUMERIC"
                  },
                  "type_string_text": {
                    "value": {
                      "rules": [
                        {
                          "segments": [
                            "betausers",
                            "premiumusers"
                          ]
                        }
                      ],
                      "value": "not available",
                      "order": 1,
                      "rollout_percentage": 50,
                      "rule_id": "Rule-id",
                      "rule_name": "Rule-name",
                      "href": "https://us-south.apprapp.cloud.ibm.com/apprapp/feature/v1/instances/9xxxxx-xxxxx-xxxxx-b3cd-xxxxx/environments/dev/features/cycle-rentals/rules/RuleA"
                    },
                    "summary": "STRING - TEXT"
                  },
                  "type_string_json": {
                    "value": {
                      "rules": [
                        {
                          "segments": [
                            "betausers",
                            "premiumusers"
                          ]
                        }
                      ],
                      "value": {
                        "availability": "no"
                      },
                      "order": 1,
                      "rollout_percentage": 50,
                      "rule_id": "RuleA",
                      "rule_name": "Rule Name",
                      "href": "https://us-south.apprapp.cloud.ibm.com/apprapp/feature/v1/instances/9xxxxx-xxxxx-xxxxx-b3cd-xxxxx/environments/dev/features/cycle-rentals/rules/RuleA"
                    },
                    "summary": "STRING - JSON"
                  },
                  "type_string_yaml": {
                    "value": {
                      "rules": [
                        {
                          "segments": [
                            "betausers",
                            "premiumusers"
                          ]
                        }
                      ],
                      "value": "---\navailability: 'yes'\npremium_user_ids:\n- custId1\n- custId2",
                      "order": 1,
                      "rollout_percentage": 100,
                      "rule_id": "RuleA",
                      "rule_name": "Rule Name",
                      "href": "https://us-south.apprapp.cloud.ibm.com/apprapp/feature/v1/instances/9xxxxx-xxxxx-xxxxx-b3cd-xxxxx/environments/dev/features/cycle-rentals/rules/RuleA"
                    },
                    "summary": "STRING - YAML"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedErrorResponse"
                },
                "example": {
                  "message": "Unauthorized"
                }
              }
            }
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X GET --location --header \"Authorization: Bearer ${iam_token}\" \\\n",
                      "  --header 'Accept: application/json' \\\n",
                      "  \"${base_url}/environments/${environment_id}/features/${feature_id}/rules/${rule_id}\""
                    ]
                  }
                ]
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "getFeatureRuleOptions := appConfigurationService.NewGetFeatureRuleOptions(\n",
                      "  \"environment_id\",\n",
                      "  \"feature_id\",\n",
                      "  \"rule_id\",\n",
                      ")\n",
                      "\n",
                      "featureSegmentRuleWithRuleID, response, err := appConfigurationService.GetFeatureRule(getFeatureRuleOptions)\n",
                      "if err != nil {\n",
                      "  panic(err)\n",
                      "}\n",
                      "b, _ := json.MarshalIndent(featureSegmentRuleWithRuleID, \"\", \"  \")\n",
                      "fmt.Println(string(b))"
                    ]
                  }
                ]
              }
            ]
          }
        }
      },
      "patch": {
        "tags": [
          "Features"
        ],
        "summary": "Update Feature rule",
        "description": "Update Feature rule.",
        "operationId": "update_feature_rule",
        "x-cli-command": "update-feature-rule",
        "x-codegen-request-body-name": "UpdateFeatureRule",
        "deprecated": false,
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "apprapp.features-rule.patch"
            }
          ]
        },
        "x-ibm-events": {
          "events": [
            {
              "name": "apprapp.features-rule.patch"
            }
          ]
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/environmentIdParam"
          },
          {
            "$ref": "#/components/parameters/featureIdParam"
          },
          {
            "$ref": "#/components/parameters/ruleIdParam"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/UpdateFeatureRule"
        },
        "responses": {
          "200": {
            "description": "Successfully update the specified feature rule.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FeatureSegmentRuleWithRuleId"
                },
                "examples": {
                  "type_boolean": {
                    "value": {
                      "rules": [
                        {
                          "segments": [
                            "betausers",
                            "premiumusers"
                          ]
                        }
                      ],
                      "value": true,
                      "order": 1,
                      "rollout_percentage": 50,
                      "rule_id": "Rule-id",
                      "rule_name": "Rule-Name",
                      "href": "https://us-south.apprapp.cloud.ibm.com/apprapp/feature/v1/instances/9xxxxx-xxxxx-xxxxx-b3cd-xxxxx/environments/dev/features/cycle-rentals/rules/RuleA"
                    },
                    "summary": "BOOLEAN"
                  },
                  "type_numeric": {
                    "value": {
                      "rules": [
                        {
                          "segments": [
                            "betausers",
                            "premiumusers"
                          ]
                        }
                      ],
                      "value": 10,
                      "order": 1,
                      "rollout_percentage": 40,
                      "rule_id": "Rule-id",
                      "rule_name": "Rule-name",
                      "href": "https://us-south.apprapp.cloud.ibm.com/apprapp/feature/v1/instances/9xxxxx-xxxxx-xxxxx-b3cd-xxxxx/environments/dev/features/cycle-rentals/rules/RuleA"
                    },
                    "summary": "NUMERIC"
                  },
                  "type_string_text": {
                    "value": {
                      "rules": [
                        {
                          "segments": [
                            "betausers",
                            "premiumusers"
                          ]
                        }
                      ],
                      "value": "not available",
                      "order": 1,
                      "rollout_percentage": 50,
                      "rule_id": "RuleA",
                      "rule_name": "Rule-name",
                      "href": "https://us-south.apprapp.cloud.ibm.com/apprapp/feature/v1/instances/9xxxxx-xxxxx-xxxxx-b3cd-xxxxx/environments/dev/features/cycle-rentals/rules/RuleA"
                    },
                    "summary": "STRING - TEXT"
                  },
                  "type_string_json": {
                    "value": {
                      "rules": [
                        {
                          "segments": [
                            "betausers",
                            "premiumusers"
                          ]
                        }
                      ],
                      "value": {
                        "availability": "no"
                      },
                      "order": 1,
                      "rollout_percentage": 50,
                      "rule_id": "RuleA",
                      "rule_name": "Rule Name",
                      "href": "https://us-south.apprapp.cloud.ibm.com/apprapp/feature/v1/instances/9xxxxx-xxxxx-xxxxx-b3cd-xxxxx/environments/dev/features/cycle-rentals/rules/RuleA"
                    },
                    "summary": "STRING - JSON"
                  },
                  "type_string_yaml": {
                    "value": {
                      "rules": [
                        {
                          "segments": [
                            "betausers",
                            "premiumusers"
                          ]
                        }
                      ],
                      "value": "---\navailability: 'yes'\npremium_user_ids:\n- custId1\n- custId2",
                      "order": 1,
                      "rollout_percentage": 100,
                      "rule_id": "RuleA",
                      "rule_name": "Rule Name",
                      "href": "https://us-south.apprapp.cloud.ibm.com/apprapp/feature/v1/instances/9xxxxx-xxxxx-xxxxx-b3cd-xxxxx/environments/dev/features/cycle-rentals/rules/RuleA"
                    },
                    "summary": "STRING - YAML"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "example": {
                  "code": "FTEC1000E",
                  "message": "Error while updating rule."
                }
              }
            }
          },
          "404": {
            "description": "Not Found. Verify that the feature id is correct.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "example": {
                  "code": "FTEC1000E",
                  "message": "Error while updating the feature rule. The queried resource 'rule' is not available on the server."
                }
              }
            }
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X PATCH --location --header \"Authorization: Bearer ${iam_token}\" \\\n",
                      "  --header 'Accept: application/json' \\\n",
                      "  --header 'Content-Type: application/json' \\\n",
                      "  --data '{ \"rules\": [ { \"segments\": [ \"betausers\", \"premiumusers\" ] } ], \"value\": true, \"rollout_percentage\": 50, \"rule_name\": \"rule-name-1\" }' \\\n",
                      "  \"${base_url}/environments/${environment_id}/features/${feature_id}/rules/${rule_id}\""
                    ]
                  }
                ]
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "targetSegmentsModel := &appconfigurationv1.TargetSegments{\n",
                      "  Segments: []string{\"betausers\", \"premiumusers\"},\n",
                      "}\n",
                      "\n",
                      "updateFeatureRuleOptions := appConfigurationService.NewUpdateFeatureRuleOptions(\n",
                      "  \"environment_id\",\n",
                      "  \"feature_id\",\n",
                      "  \"rule_id\",\n",
                      ")\n",
                      "updateFeatureRuleOptions.SetRules([]appconfigurationv1.TargetSegments{*targetSegmentsModel})\n",
                      "updateFeatureRuleOptions.SetValue(\"true\")\n",
                      "updateFeatureRuleOptions.SetRuleName(\"rule-name-1\")\n",
                      "updateFeatureRuleOptions.SetRolloutPercentage(int64(50))\n",
                      "\n",
                      "featureSegmentRuleWithRuleID, response, err := appConfigurationService.UpdateFeatureRule(updateFeatureRuleOptions)\n",
                      "if err != nil {\n",
                      "  panic(err)\n",
                      "}\n",
                      "b, _ := json.MarshalIndent(featureSegmentRuleWithRuleID, \"\", \"  \")\n",
                      "fmt.Println(string(b))"
                    ]
                  }
                ]
              }
            ]
          }
        }
      },
      "delete": {
        "tags": [
          "Features"
        ],
        "summary": "Delete Feature rule",
        "description": "Delete a feature rule",
        "operationId": "delete_feature_rule",
        "deprecated": false,
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "apprapp.features-rules.delete"
            }
          ]
        },
        "x-ibm-events": {
          "events": [
            {
              "name": "apprapp.features-rules.delete"
            }
          ]
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/environmentIdParam"
          },
          {
            "$ref": "#/components/parameters/featureIdParam"
          },
          {
            "$ref": "#/components/parameters/ruleIdParam"
          }
        ],
        "responses": {
          "204": {
            "description": "Successfully deleted the specified rule.",
            "headers": {}
          },
          "404": {
            "description": "Not Found. Verify that the rule id is correct.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "example": {
                  "code": "FTEC1000E",
                  "message": "Error while deleting the rule. The queried resource 'rule' is not available on the server."
                }
              }
            }
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X DELETE --location --header \"Authorization: Bearer ${iam_token}\" \\\n",
                      "  \"${base_url}/environments/${environment_id}/features/${feature_id}/rules/${rule_id}\""
                    ]
                  }
                ]
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "deleteFeatureRuleOptions := appConfigurationService.NewDeleteFeatureRuleOptions(\n",
                      "  \"environment_id\",\n",
                      "  \"feature_id\",\n",
                      "  \"rule_id\",\n",
                      ")\n",
                      "\n",
                      "response, err := appConfigurationService.DeleteFeatureRule(deleteFeatureRuleOptions)\n",
                      "if err != nil {\n",
                      "  panic(err)\n",
                      "}\n",
                      "if response.StatusCode != 204 {\n",
                      "  fmt.Printf(\"\\nUnexpected response status code received from DeleteFeatureRule(): %d\\n\", response.StatusCode)\n",
                      "}"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/environments/{environment_id}/features/{feature_id}/rules_order": {
      "patch": {
        "tags": [
          "Features"
        ],
        "summary": "Update Feature rule order",
        "description": "Update Feature rule order.",
        "operationId": "update_feature_rule_order",
        "x-cli-command": "update-feature-rule_order",
        "x-codegen-request-body-name": "UpdateFeatureRuleOrder",
        "deprecated": false,
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "apprapp.features-rules-order.patch"
            }
          ]
        },
        "x-ibm-events": {
          "events": [
            {
              "name": "apprapp.features-rules-order.patch"
            }
          ]
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/environmentIdParam"
          },
          {
            "$ref": "#/components/parameters/featureIdParam"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/ReorderFeatureRules"
        },
        "responses": {
          "200": {
            "description": "Successfully update the specified feature rule.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/FeatureSegmentRuleWithRuleId"
                    },
                    {
                      "type": "array",
                      "maxItems": 2,
                      "title": "ArrayOfSegmentRulesWithRuleId",
                      "items": {
                        "$ref": "#/components/schemas/FeatureSegmentRuleWithRuleId"
                      }
                    }
                  ]
                },
                "examples": {
                  "move": {
                    "value": {
                      "rules": [
                        {
                          "segments": [
                            "betausers",
                            "premiumusers"
                          ]
                        }
                      ],
                      "value": true,
                      "order": 1,
                      "rollout_percentage": 50,
                      "rule_id": "RuleA",
                      "rule_name": "Rule Name",
                      "href": "https://us-south.apprapp.cloud.ibm.com/apprapp/feature/v1/instances/9xxxxx-xxxxx-xxxxx-b3cd-xxxxx/environments/dev/features/cycle-rentals/rules/RuleA"
                    },
                    "summary": "MOVE"
                  },
                  "swap": {
                    "value": [
                      {
                        "rules": [
                          {
                            "segments": [
                              "ktliaxp41"
                            ]
                          }
                        ],
                        "value": false,
                        "order": 4,
                        "rollout_percentage": 10,
                        "rule_id": "RuleE",
                        "rule_name": "Rule Name E",
                        "href": "https://us-south.apprapp.cloud.ibm.com/apprapp/feature/v1/instances/9xxxxx-xxxxx-xxxxx-b3cd-xxxxx/environments/dev/features/cycle-rentals/rules/RuleE"
                      },
                      {
                        "rules": [
                          {
                            "segments": [
                              "legyla7z"
                            ]
                          }
                        ],
                        "value": true,
                        "order": 3,
                        "rollout_percentage": 100,
                        "rule_id": "RuleM",
                        "rule_name": "Rule Name M",
                        "href": "https://us-south.apprapp.cloud.ibm.com/apprapp/feature/v1/instances/9xxxxx-xxxxx-xxxxx-b3cd-xxxxx/environments/dev/features/cycle-rentals/rules/RuleM"
                      }
                    ],
                    "summary": "SWAP"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "example": {
                  "code": "FTEC1000E",
                  "message": "Error while updating rule."
                }
              }
            }
          },
          "404": {
            "description": "Not Found. Verify that the feature id is correct.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "example": {
                  "code": "FTEC1000E",
                  "message": "Error while updating the feature rule. The queried resource 'rule' is not available on the server."
                }
              }
            }
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X PATCH --location --header \"Authorization: Bearer ${iam_token}\" \\\n",
                      "  --header 'Accept: application/json' \\\n",
                      "  --header 'Content-Type: application/json' \\\n",
                      "  --data '{ \"action\": \"move\", \"rule_id\": \"RuleA\", \"order\": 1 }' \\\n",
                      "  \"${base_url}/environments/${environment_id}/features/${feature_id}/rules_order\""
                    ]
                  }
                ]
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "reorderFeatureRulesModel := &appconfigurationv1.ReorderFeatureRulesReoderFeatureRulesByMove{\n",
                      "  Action: core.StringPtr(\"move\"),\n",
                      "  RuleID: core.StringPtr(\"RuleA\"),\n",
                      "  Order: core.Int64Ptr(int64(1)),\n",
                      "}\n",
                      "\n",
                      "updateFeatureRuleOrderOptions := appConfigurationService.NewUpdateFeatureRuleOrderOptions(\n",
                      "  \"environment_id\",\n",
                      "  \"feature_id\",\n",
                      "  reorderFeatureRulesModel,\n",
                      ")\n",
                      "\n",
                      "updateFeatureRuleOrderResponse, response, err := appConfigurationService.UpdateFeatureRuleOrder(updateFeatureRuleOrderOptions)\n",
                      "if err != nil {\n",
                      "  panic(err)\n",
                      "}\n",
                      "b, _ := json.MarshalIndent(updateFeatureRuleOrderResponse, \"\", \"  \")\n",
                      "fmt.Println(string(b))"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/environments/{environment_id}/properties": {
      "get": {
        "tags": [
          "Properties"
        ],
        "summary": "Get list of Properties",
        "description": "List all the properties in the specified environment.",
        "operationId": "list_properties",
        "deprecated": false,
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "apprapp.properties.list"
            }
          ]
        },
        "x-ibm-events": {
          "events": [
            {
              "name": "apprapp.properties.list"
            }
          ]
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/environmentIdParam"
          },
          {
            "$ref": "#/components/parameters/expandParam"
          },
          {
            "$ref": "#/components/parameters/PropertiesSortParam"
          },
          {
            "$ref": "#/components/parameters/tagsParam"
          },
          {
            "$ref": "#/components/parameters/propertiesFilterByCollectionsParam"
          },
          {
            "$ref": "#/components/parameters/propertiesFilterBySegmentsParam"
          },
          {
            "$ref": "#/components/parameters/collectionRuleIncludeParam"
          },
          {
            "$ref": "#/components/parameters/limitParam"
          },
          {
            "$ref": "#/components/parameters/offsetParam"
          },
          {
            "$ref": "#/components/parameters/searchParam"
          }
        ],
        "responses": {
          "200": {
            "description": "Successfully listed all the properties.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PropertiesList"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedErrorResponse"
                },
                "example": {
                  "message": "Unauthorized"
                }
              }
            }
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X GET --location --header \"Authorization: Bearer ${iam_token}\" \\\n",
                      "  --header 'Accept: application/json' \\\n",
                      "  \"${base_url}/environments/${environment_id}/properties?expand=true&sort=created_time&tags=version 1.1,pre-release&collections=my-collection-id,ghzindiapvtltd&segments=my-segment-id,beta-users&include=collections,rules&search=test tag\""
                    ]
                  }
                ]
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "listPropertiesOptions := &appconfigurationv1.ListPropertiesOptions{\n",
                      "  EnvironmentID: core.StringPtr(\"environment_id\"),\n",
                      "  Expand: core.BoolPtr(true),\n",
                      "  Sort: core.StringPtr(\"created_time\"),\n",
                      "  Tags: core.StringPtr(\"version 1.1,pre-release\"),\n",
                      "  Collections: []string{\"my-collection-id\", \"ghzindiapvtltd\"},\n",
                      "  Segments: []string{\"my-segment-id\", \"beta-users\"},\n",
                      "  Include: []string{\"collections\", \"rules\"},\n",
                      "  Limit: core.Int64Ptr(int64(10)),\n",
                      "  Search: core.StringPtr(\"test tag\"),\n",
                      "}\n",
                      "\n",
                      "pager, err := appConfigurationService.NewPropertiesPager(listPropertiesOptions)\n",
                      "if err != nil {\n",
                      "  panic(err)\n",
                      "}\n",
                      "\n",
                      "var allResults []appconfigurationv1.Property\n",
                      "for pager.HasNext() {\n",
                      "  nextPage, err := pager.GetNext()\n",
                      "  if err != nil {\n",
                      "    panic(err)\n",
                      "  }\n",
                      "  allResults = append(allResults, nextPage...)\n",
                      "}\n",
                      "b, _ := json.MarshalIndent(allResults, \"\", \"  \")\n",
                      "fmt.Println(string(b))"
                    ]
                  }
                ]
              }
            ]
          }
        }
      },
      "post": {
        "tags": [
          "Properties"
        ],
        "summary": "Create Property",
        "description": "Create a Property",
        "operationId": "create_property",
        "x-codegen-request-body-name": "Property",
        "deprecated": false,
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "apprapp.properties.create"
            }
          ]
        },
        "x-ibm-events": {
          "events": [
            {
              "name": "apprapp.properties.create"
            }
          ]
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/environmentIdParam"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/CreateProperty"
        },
        "responses": {
          "201": {
            "description": "Successfully created the property.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Property"
                },
                "examples": {
                  "type_boolean": {
                    "value": {
                      "name": "Email property",
                      "property_id": "email-property",
                      "description": "Property for email",
                      "type": "BOOLEAN",
                      "value": true,
                      "tags": "version: 1.1, pre-release",
                      "segment_rules": [
                        {
                          "rules": [
                            {
                              "segments": [
                                "betausers",
                                "premiumusers"
                              ]
                            }
                          ],
                          "value": true,
                          "order": 1
                        },
                        {
                          "rules": [
                            {
                              "segments": [
                                "freeusers"
                              ]
                            }
                          ],
                          "value": false,
                          "order": 2
                        }
                      ],
                      "segment_exists": true,
                      "collections": [
                        {
                          "collection_id": "ghzinc",
                          "name": "GHz Inc"
                        },
                        {
                          "collection_id": "phzsystems",
                          "name": "PHz Systems"
                        },
                        {
                          "collection_id": "ghzglobal",
                          "name": "GHz Global"
                        }
                      ],
                      "created_time": "2021-05-12T23:20:50.52Z",
                      "updated_time": "2021-05-12T23:20:50.52Z",
                      "href": "https://us-south.apprapp.cloud.ibm.com/apprapp/feature/v1/instances/9xxxxx-xxxxx-xxxxx-b3cd-xxxxx/environments/dev/properties/email-property"
                    },
                    "summary": "BOOLEAN"
                  },
                  "type_numeric": {
                    "value": {
                      "name": "Email property",
                      "property_id": "email-property",
                      "description": "Property for email",
                      "type": "NUMERIC",
                      "value": 1,
                      "tags": "version: 1.1, pre-release",
                      "segment_rules": [
                        {
                          "rules": [
                            {
                              "segments": [
                                "betausers",
                                "premiumusers"
                              ]
                            }
                          ],
                          "value": 10,
                          "order": 1
                        },
                        {
                          "rules": [
                            {
                              "segments": [
                                "freeusers"
                              ]
                            }
                          ],
                          "value": 0,
                          "order": 2
                        }
                      ],
                      "segment_exists": true,
                      "collections": [
                        {
                          "collection_id": "ghzinc",
                          "name": "GHz Inc"
                        },
                        {
                          "collection_id": "phzsystems",
                          "name": "PHz Systems"
                        },
                        {
                          "collection_id": "ghzglobal",
                          "name": "GHz Global"
                        }
                      ],
                      "created_time": "2021-05-12T23:20:50.52Z",
                      "updated_time": "2021-05-12T23:20:50.52Z",
                      "href": "https://us-south.apprapp.cloud.ibm.com/apprapp/feature/v1/instances/9xxxxx-xxxxx-xxxxx-b3cd-xxxxx/environments/dev/properties/email-property"
                    },
                    "summary": "NUMERIC"
                  },
                  "type_secretref": {
                    "value": {
                      "name": "Email property",
                      "property_id": "email-property",
                      "description": "Property for email",
                      "type": "SECRETREF",
                      "value": {
                        "secret_type": "kv",
                        "id": "1312414-12341243fdsf-324dfsg-43fffg",
                        "sm_instance_crn": "crn:v1:staging:public:apprapp_dev:us-south:a/7bf663503fc5e2e06b03d2ada843bf54:ssfffgr-f6ee-48a5-a11b-ade4aecfe378::"
                      },
                      "tags": "version: 1.1, pre-release",
                      "segment_rules": [
                        {
                          "rules": [
                            {
                              "segments": [
                                "betausers",
                                "premiumusers"
                              ]
                            }
                          ],
                          "value": {
                            "id": "2234566-334g566ghjj-222-4000123fg"
                          },
                          "order": 1
                        },
                        {
                          "rules": [
                            {
                              "segments": [
                                "freeusers"
                              ]
                            }
                          ],
                          "value": {
                            "id": "2234566-334g566ghjj-222-4000123fg"
                          },
                          "order": 2
                        }
                      ],
                      "segment_exists": true,
                      "collections": [
                        {
                          "collection_id": "ghzinc",
                          "name": "GHz Inc"
                        },
                        {
                          "collection_id": "phzsystems",
                          "name": "PHz Systems"
                        },
                        {
                          "collection_id": "ghzglobal",
                          "name": "GHz Global"
                        }
                      ],
                      "created_time": "2021-05-12T23:20:50.52Z",
                      "updated_time": "2021-05-12T23:20:50.52Z",
                      "href": "https://us-south.apprapp.cloud.ibm.com/apprapp/feature/v1/instances/9xxxxx-xxxxx-xxxxx-b3cd-xxxxx/environments/dev/properties/email-property"
                    },
                    "summary": "SECRETREF"
                  },
                  "type_string_text": {
                    "value": {
                      "name": "Email property",
                      "property_id": "email-property",
                      "description": "Property for email",
                      "type": "STRING",
                      "format": "TEXT",
                      "value": "success",
                      "tags": "version: 1.1, pre-release",
                      "segment_rules": [
                        {
                          "rules": [
                            {
                              "segments": [
                                "betausers",
                                "premiumusers"
                              ]
                            }
                          ],
                          "value": "failed",
                          "order": 1
                        },
                        {
                          "rules": [
                            {
                              "segments": [
                                "freeusers"
                              ]
                            }
                          ],
                          "value": "success",
                          "order": 2
                        }
                      ],
                      "segment_exists": true,
                      "collections": [
                        {
                          "collection_id": "ghzinc",
                          "name": "GHz Inc"
                        },
                        {
                          "collection_id": "phzsystems",
                          "name": "PHz Systems"
                        },
                        {
                          "collection_id": "ghzglobal",
                          "name": "GHz Global"
                        }
                      ],
                      "created_time": "2021-05-12T23:20:50.52Z",
                      "updated_time": "2021-05-12T23:20:50.52Z",
                      "href": "https://us-south.apprapp.cloud.ibm.com/apprapp/feature/v1/instances/9xxxxx-xxxxx-xxxxx-b3cd-xxxxx/environments/dev/properties/email-property"
                    },
                    "summary": "STRING - TEXT"
                  },
                  "type_string_json": {
                    "value": {
                      "name": "Email property",
                      "property_id": "email-property",
                      "description": "Property for email",
                      "type": "STRING",
                      "format": "JSON",
                      "value": {
                        "name": "email configuration",
                        "id": "email-config-1",
                        "description": "This email configuration for internal use",
                        "value": {
                          "Name": "ABC Inc",
                          "Location": "India"
                        },
                        "tags": "internal",
                        "employees_id": [
                          "empId1",
                          "empId2",
                          "empId3",
                          "empId4",
                          "empId5"
                        ]
                      },
                      "tags": "version: 1.1, pre-release",
                      "segment_rules": [
                        {
                          "rules": [
                            {
                              "segments": [
                                "betausers",
                                "premiumusers"
                              ]
                            }
                          ],
                          "value": {
                            "employees_id": [
                              "empId100"
                            ]
                          },
                          "order": 1
                        },
                        {
                          "rules": [
                            {
                              "segments": [
                                "freeusers"
                              ]
                            }
                          ],
                          "value": {
                            "employees_id": [
                              "empId11",
                              "empId22",
                              "empId33",
                              "empId44",
                              "empId55"
                            ]
                          },
                          "order": 2
                        }
                      ],
                      "segment_exists": true,
                      "collections": [
                        {
                          "collection_id": "ghzinc",
                          "name": "GHz Inc"
                        },
                        {
                          "collection_id": "phzsystems",
                          "name": "PHz Systems"
                        },
                        {
                          "collection_id": "ghzglobal",
                          "name": "GHz Global"
                        }
                      ],
                      "created_time": "2021-05-12T23:20:50.52Z",
                      "updated_time": "2021-05-12T23:20:50.52Z",
                      "href": "https://us-south.apprapp.cloud.ibm.com/apprapp/feature/v1/instances/9xxxxx-xxxxx-xxxxx-b3cd-xxxxx/environments/dev/properties/email-property"
                    },
                    "summary": "STRING - JSON"
                  },
                  "type_string_yaml": {
                    "value": {
                      "name": "Email property",
                      "property_id": "email-property",
                      "description": "Property for email",
                      "type": "STRING",
                      "format": "YAML",
                      "value": "---\nname: email configuration\nid: email-config-1\ndescription: This email configuration for internal use\nvalue:\n Name: ABC Inc\n Location: India\ntags: internal\nemployees_id:\n- empId1\n- empId2\n- empId3\n- empId4\n- empId5",
                      "tags": "version: 1.1, pre-release",
                      "segment_rules": [
                        {
                          "rules": [
                            {
                              "segments": [
                                "betausers",
                                "premiumusers"
                              ]
                            }
                          ],
                          "value": "---\nemployees_id:\n- empId100",
                          "order": 1
                        },
                        {
                          "rules": [
                            {
                              "segments": [
                                "freeusers"
                              ]
                            }
                          ],
                          "value": "---\nemployees_id:\n- empId11\n- empId22\n- empId33\n- empId44\n- empId55",
                          "order": 2
                        }
                      ],
                      "segment_exists": true,
                      "collections": [
                        {
                          "collection_id": "ghzinc",
                          "name": "GHz Inc"
                        },
                        {
                          "collection_id": "phzsystems",
                          "name": "PHz Systems"
                        },
                        {
                          "collection_id": "ghzglobal",
                          "name": "GHz Global"
                        }
                      ],
                      "created_time": "2021-05-12T23:20:50.52Z",
                      "updated_time": "2021-05-12T23:20:50.52Z",
                      "href": "https://us-south.apprapp.cloud.ibm.com/apprapp/feature/v1/instances/9xxxxx-xxxxx-xxxxx-b3cd-xxxxx/environments/dev/properties/email-property"
                    },
                    "summary": "STRING - YAML"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad request. Verify that the information in the request body is complete and correct.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "example": {
                  "code": "FTEC1003E",
                  "message": "Error while creating the property."
                }
              }
            }
          },
          "501": {
            "description": "Not Implemented.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "example": {
                  "code": "FTEC1011E",
                  "message": "Currently 'secret manager integration' feature is not available"
                }
              }
            }
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X POST --location --header \"Authorization: Bearer ${iam_token}\" \\\n",
                      "  --header 'Accept: application/json' \\\n",
                      "  --header 'Content-Type: application/json' \\\n",
                      "  --data '{ \"name\": \"Email property\", \"property_id\": \"email-property\", \"description\": \"Property for email\", \"type\": \"BOOLEAN\", \"value\": true, \"tags\": \"version: 1.1, pre-release\", \"segment_rules\": [ { \"rules\": [ { \"segments\": [ \"betausers\", \"premiumusers\" ] } ], \"value\": true, \"order\": 1 }, { \"rules\": [ { \"segments\": [ \"freeusers\" ] } ], \"value\": false, \"order\": 2 } ], \"collections\": [ { \"collection_id\": \"ghzinc\" }, { \"collection_id\": \"phzsystems\" }, { \"collection_id\": \"ghzglobal\" } ] }' \\\n",
                      "  \"${base_url}/environments/${environment_id}/properties\""
                    ]
                  }
                ]
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "targetSegmentsModel := &appconfigurationv1.TargetSegments{\n",
                      "  Segments: []string{\"betausers\", \"premiumusers\"},\n",
                      "}\n",
                      "\n",
                      "segmentRuleModel := &appconfigurationv1.SegmentRule{\n",
                      "  Rules: []appconfigurationv1.TargetSegments{*targetSegmentsModel},\n",
                      "  Value: core.StringPtr(\"true\"),\n",
                      "  Order: core.Int64Ptr(int64(1)),\n",
                      "}\n",
                      "\n",
                      "collectionRefModel := &appconfigurationv1.CollectionRef{\n",
                      "  CollectionID: core.StringPtr(\"ghzinc\"),\n",
                      "}\n",
                      "\n",
                      "createPropertyOptions := appConfigurationService.NewCreatePropertyOptions(\n",
                      "  \"environment_id\",\n",
                      "  \"Email property\",\n",
                      "  \"email-property\",\n",
                      "  \"BOOLEAN\",\n",
                      "  \"true\",\n",
                      ")\n",
                      "createPropertyOptions.SetDescription(\"Property for email\")\n",
                      "createPropertyOptions.SetTags(\"version: 1.1, pre-release\")\n",
                      "createPropertyOptions.SetSegmentRules([]appconfigurationv1.SegmentRule{*segmentRuleModel})\n",
                      "createPropertyOptions.SetCollections([]appconfigurationv1.CollectionRef{*collectionRefModel})\n",
                      "\n",
                      "property, response, err := appConfigurationService.CreateProperty(createPropertyOptions)\n",
                      "if err != nil {\n",
                      "  panic(err)\n",
                      "}\n",
                      "b, _ := json.MarshalIndent(property, \"\", \"  \")\n",
                      "fmt.Println(string(b))"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/environments/{environment_id}/properties/{property_id}": {
      "put": {
        "tags": [
          "Properties"
        ],
        "summary": "Update Property",
        "description": "Update a Property.",
        "operationId": "update_property",
        "x-codegen-request-body-name": "UpdateProperty",
        "deprecated": false,
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "apprapp.properties.update"
            }
          ]
        },
        "x-ibm-events": {
          "events": [
            {
              "name": "apprapp.properties.update"
            }
          ]
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/environmentIdParam"
          },
          {
            "$ref": "#/components/parameters/propertyIdParam"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/UpdateProperty"
        },
        "responses": {
          "200": {
            "description": "Successfully updated the property details.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Property"
                },
                "examples": {
                  "type_boolean": {
                    "value": {
                      "name": "Email property",
                      "property_id": "email-property",
                      "description": "Property for email",
                      "type": "BOOLEAN",
                      "value": true,
                      "tags": "version: 1.1, pre-release",
                      "segment_rules": [
                        {
                          "rules": [
                            {
                              "segments": [
                                "betausers",
                                "premiumusers"
                              ]
                            }
                          ],
                          "value": true,
                          "order": 1
                        },
                        {
                          "rules": [
                            {
                              "segments": [
                                "freeusers"
                              ]
                            }
                          ],
                          "value": false,
                          "order": 2
                        }
                      ],
                      "segment_exists": true,
                      "collections": [
                        {
                          "collection_id": "ghzinc",
                          "name": "GHz Inc"
                        },
                        {
                          "collection_id": "phzsystems",
                          "name": "PHz Systems"
                        },
                        {
                          "collection_id": "ghzglobal",
                          "name": "GHz Global"
                        }
                      ],
                      "created_time": "2021-05-12T23:20:50.52Z",
                      "updated_time": "2021-05-12T23:20:50.52Z",
                      "href": "https://us-south.apprapp.cloud.ibm.com/apprapp/feature/v1/instances/9xxxxx-xxxxx-xxxxx-b3cd-xxxxx/environments/dev/properties/email-property"
                    },
                    "summary": "BOOLEAN"
                  },
                  "type_numeric": {
                    "value": {
                      "name": "Email property",
                      "property_id": "email-property",
                      "description": "Property for email",
                      "type": "NUMERIC",
                      "value": 10,
                      "tags": "version: 1.1, pre-release",
                      "segment_rules": [
                        {
                          "rules": [
                            {
                              "segments": [
                                "betausers",
                                "premiumusers"
                              ]
                            }
                          ],
                          "value": 100,
                          "order": 1
                        },
                        {
                          "rules": [
                            {
                              "segments": [
                                "freeusers"
                              ]
                            }
                          ],
                          "value": 0,
                          "order": 2
                        }
                      ],
                      "segment_exists": true,
                      "collections": [
                        {
                          "collection_id": "ghzinc",
                          "name": "GHz Inc"
                        },
                        {
                          "collection_id": "phzsystems",
                          "name": "PHz Systems"
                        },
                        {
                          "collection_id": "ghzglobal",
                          "name": "GHz Global"
                        }
                      ],
                      "created_time": "2021-05-12T23:20:50.52Z",
                      "updated_time": "2021-05-12T23:20:50.52Z",
                      "href": "https://us-south.apprapp.cloud.ibm.com/apprapp/feature/v1/instances/9xxxxx-xxxxx-xxxxx-b3cd-xxxxx/environments/dev/properties/email-property"
                    },
                    "summary": "NUMERIC"
                  },
                  "type_secretref": {
                    "value": {
                      "name": "Email property",
                      "property_id": "email-property",
                      "description": "Property for email",
                      "type": "SECRETREF",
                      "value": {
                        "secret_type": "kv",
                        "id": "1312414-12341243fdsf-324dfsg-43fffg",
                        "sm_instance_crn": "crn:v1:staging:public:apprapp_dev:us-south:a/7bf663503fc5e2e06b03d2ada843bf54:ssfffgr-f6ee-48a5-a11b-ade4aecfe378::"
                      },
                      "tags": "version: 1.1, pre-release",
                      "segment_rules": [
                        {
                          "rules": [
                            {
                              "segments": [
                                "betausers",
                                "premiumusers"
                              ]
                            }
                          ],
                          "value": {
                            "id": "2234566-334g566ghjj-222-4000123fg"
                          },
                          "order": 1
                        },
                        {
                          "rules": [
                            {
                              "segments": [
                                "freeusers"
                              ]
                            }
                          ],
                          "value": {
                            "id": "2234566-334g566ghjj-222-4000123fg"
                          },
                          "order": 2
                        }
                      ],
                      "segment_exists": true,
                      "collections": [
                        {
                          "collection_id": "ghzinc",
                          "name": "GHz Inc"
                        },
                        {
                          "collection_id": "phzsystems",
                          "name": "PHz Systems"
                        },
                        {
                          "collection_id": "ghzglobal",
                          "name": "GHz Global"
                        }
                      ],
                      "created_time": "2021-05-12T23:20:50.52Z",
                      "updated_time": "2021-05-12T23:20:50.52Z",
                      "href": "https://us-south.apprapp.cloud.ibm.com/apprapp/feature/v1/instances/9xxxxx-xxxxx-xxxxx-b3cd-xxxxx/environments/dev/properties/email-property"
                    },
                    "summary": "SECRETREF"
                  },
                  "type_string_text": {
                    "value": {
                      "name": "Email property",
                      "property_id": "email-property",
                      "description": "Property for email",
                      "type": "STRING",
                      "format": "TEXT",
                      "value": "success",
                      "tags": "version: 1.1, pre-release",
                      "segment_rules": [
                        {
                          "rules": [
                            {
                              "segments": [
                                "betausers",
                                "premiumusers"
                              ]
                            }
                          ],
                          "value": "fail",
                          "order": 1
                        },
                        {
                          "rules": [
                            {
                              "segments": [
                                "freeusers"
                              ]
                            }
                          ],
                          "value": "success",
                          "order": 2
                        }
                      ],
                      "segment_exists": true,
                      "collections": [
                        {
                          "collection_id": "ghzinc",
                          "name": "GHz Inc"
                        },
                        {
                          "collection_id": "phzsystems",
                          "name": "PHz Systems"
                        },
                        {
                          "collection_id": "ghzglobal",
                          "name": "GHz Global"
                        }
                      ],
                      "created_time": "2021-05-12T23:20:50.52Z",
                      "updated_time": "2021-05-12T23:20:50.52Z",
                      "href": "https://us-south.apprapp.cloud.ibm.com/apprapp/feature/v1/instances/9xxxxx-xxxxx-xxxxx-b3cd-xxxxx/environments/dev/properties/email-property"
                    },
                    "summary": "STRING - TEXT"
                  },
                  "type_string_json": {
                    "value": {
                      "name": "Email property",
                      "property_id": "email-property",
                      "description": "Property for email",
                      "type": "STRING",
                      "format": "JSON",
                      "value": {
                        "activate": "yes",
                        "employees_id": [
                          "empId1",
                          "empId2",
                          "empId3",
                          "empId4",
                          "empId5"
                        ]
                      },
                      "tags": "version: 1.1, pre-release",
                      "segment_rules": [
                        {
                          "rules": [
                            {
                              "segments": [
                                "betausers",
                                "premiumusers"
                              ]
                            }
                          ],
                          "value": {
                            "activate": "no"
                          },
                          "order": 1
                        },
                        {
                          "rules": [
                            {
                              "segments": [
                                "freeusers"
                              ]
                            }
                          ],
                          "value": {
                            "employees_id": [
                              "empId100"
                            ]
                          },
                          "order": 2
                        }
                      ],
                      "segment_exists": true,
                      "collections": [
                        {
                          "collection_id": "ghzinc",
                          "name": "GHz Inc"
                        },
                        {
                          "collection_id": "phzsystems",
                          "name": "PHz Systems"
                        },
                        {
                          "collection_id": "ghzglobal",
                          "name": "GHz Global"
                        }
                      ],
                      "created_time": "2021-05-12T23:20:50.52Z",
                      "updated_time": "2021-05-12T23:20:50.52Z",
                      "href": "https://us-south.apprapp.cloud.ibm.com/apprapp/feature/v1/instances/9xxxxx-xxxxx-xxxxx-b3cd-xxxxx/environments/dev/properties/email-property"
                    },
                    "summary": "STRING - JSON"
                  },
                  "type_string_yaml": {
                    "value": {
                      "name": "Email property",
                      "property_id": "email-property",
                      "description": "Property for email",
                      "type": "STRING",
                      "format": "YAML",
                      "value": "activate: 'yes'\nemployees_id:\n- empId1\n- empId2\n- empId3\n- empId4\n- empId5",
                      "tags": "version: 1.1, pre-release",
                      "segment_rules": [
                        {
                          "rules": [
                            {
                              "segments": [
                                "betausers",
                                "premiumusers"
                              ]
                            }
                          ],
                          "value": "---\nactivate: 'no'",
                          "order": 1
                        },
                        {
                          "rules": [
                            {
                              "segments": [
                                "freeusers"
                              ]
                            }
                          ],
                          "value": "---\nemployees_id:\n- empId100",
                          "order": 2
                        }
                      ],
                      "segment_exists": true,
                      "collections": [
                        {
                          "collection_id": "ghzinc",
                          "name": "GHz Inc"
                        },
                        {
                          "collection_id": "phzsystems",
                          "name": "PHz Systems"
                        },
                        {
                          "collection_id": "ghzglobal",
                          "name": "GHz Global"
                        }
                      ],
                      "created_time": "2021-05-12T23:20:50.52Z",
                      "updated_time": "2021-05-12T23:20:50.52Z",
                      "href": "https://us-south.apprapp.cloud.ibm.com/apprapp/feature/v1/instances/9xxxxx-xxxxx-xxxxx-b3cd-xxxxx/environments/dev/properties/email-property"
                    },
                    "summary": "STRING - YAML"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad request. Verify that the information in the request body is complete and correct.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "example": {
                  "code": "FTEC1007E",
                  "message": "Error while updating the property."
                }
              }
            }
          },
          "404": {
            "description": "Not Found. Verify that the property id is correct.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "example": {
                  "code": "FTEC1000E",
                  "message": "Error while updating the property. The queried resource 'Property' is not available on the server."
                }
              }
            }
          },
          "501": {
            "description": "Not Implemented.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "example": {
                  "code": "FTEC1011E",
                  "message": "Currently 'secret manager integration' feature is not available"
                }
              }
            }
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X PUT --location --header \"Authorization: Bearer ${iam_token}\" \\\n",
                      "  --header 'Accept: application/json' \\\n",
                      "  --header 'Content-Type: application/json' \\\n",
                      "  --data '{ \"name\": \"Email property\", \"description\": \"Property for email\", \"value\": true, \"tags\": \"version: 1.1, pre-release\", \"segment_rules\": [ { \"rules\": [ { \"segments\": [ \"betausers\", \"premiumusers\" ] } ], \"value\": true, \"order\": 1 }, { \"rules\": [ { \"segments\": [ \"freeusers\" ] } ], \"value\": false, \"order\": 2 } ], \"collections\": [ { \"collection_id\": \"ghzinc\" }, { \"collection_id\": \"phzsystems\" }, { \"collection_id\": \"ghzglobal\" }, { \"collection_id\": \"default-collection\", \"deleted\": true } ] }' \\\n",
                      "  \"${base_url}/environments/${environment_id}/properties/${property_id}\""
                    ]
                  }
                ]
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "targetSegmentsModel := &appconfigurationv1.TargetSegments{\n",
                      "  Segments: []string{\"betausers\", \"premiumusers\"},\n",
                      "}\n",
                      "\n",
                      "segmentRuleModel := &appconfigurationv1.SegmentRule{\n",
                      "  Rules: []appconfigurationv1.TargetSegments{*targetSegmentsModel},\n",
                      "  Value: core.StringPtr(\"true\"),\n",
                      "  Order: core.Int64Ptr(int64(1)),\n",
                      "}\n",
                      "\n",
                      "collectionUpdateRefModel := &appconfigurationv1.CollectionUpdateRef{\n",
                      "  CollectionID: core.StringPtr(\"ghzinc\"),\n",
                      "}\n",
                      "\n",
                      "updatePropertyOptions := appConfigurationService.NewUpdatePropertyOptions(\n",
                      "  \"environment_id\",\n",
                      "  \"property_id\",\n",
                      ")\n",
                      "updatePropertyOptions.SetName(\"Email property\")\n",
                      "updatePropertyOptions.SetDescription(\"Property for email\")\n",
                      "updatePropertyOptions.SetValue(\"true\")\n",
                      "updatePropertyOptions.SetTags(\"version: 1.1, pre-release\")\n",
                      "updatePropertyOptions.SetSegmentRules([]appconfigurationv1.SegmentRule{*segmentRuleModel})\n",
                      "updatePropertyOptions.SetCollections([]appconfigurationv1.CollectionUpdateRef{*collectionUpdateRefModel})\n",
                      "\n",
                      "property, response, err := appConfigurationService.UpdateProperty(updatePropertyOptions)\n",
                      "if err != nil {\n",
                      "  panic(err)\n",
                      "}\n",
                      "b, _ := json.MarshalIndent(property, \"\", \"  \")\n",
                      "fmt.Println(string(b))"
                    ]
                  }
                ]
              }
            ]
          }
        }
      },
      "patch": {
        "tags": [
          "Properties"
        ],
        "summary": "Update Property values",
        "description": "Update the property values. This method can be executed by the `writer` role. Property value and targeting rules can be updated, however this method does not allow assigning property to a collection.",
        "operationId": "update_property_values",
        "x-codegen-request-body-name": "UpdatePropertyValues",
        "deprecated": false,
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "apprapp.properties.patch"
            }
          ]
        },
        "x-ibm-events": {
          "events": [
            {
              "name": "apprapp.properties.updatevalues"
            }
          ]
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/environmentIdParam"
          },
          {
            "$ref": "#/components/parameters/propertyIdParam"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/UpdatePropertyValues"
        },
        "responses": {
          "200": {
            "description": "Successfully updated the property values.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Property"
                },
                "examples": {
                  "type_boolean": {
                    "value": {
                      "name": "Email property",
                      "property_id": "email-property",
                      "description": "Property for email",
                      "type": "BOOLEAN",
                      "value": true,
                      "tags": "version: 1.1, pre-release",
                      "segment_rules": [
                        {
                          "rules": [
                            {
                              "segments": [
                                "betausers",
                                "premiumusers"
                              ]
                            }
                          ],
                          "value": true,
                          "order": 1
                        },
                        {
                          "rules": [
                            {
                              "segments": [
                                "freeusers"
                              ]
                            }
                          ],
                          "value": false,
                          "order": 2
                        }
                      ],
                      "segment_exists": true,
                      "collections": [
                        {
                          "collection_id": "ghzinc",
                          "name": "GHz Inc"
                        },
                        {
                          "collection_id": "phzsystems",
                          "name": "PHz Systems"
                        },
                        {
                          "collection_id": "ghzglobal",
                          "name": "GHz Global"
                        }
                      ],
                      "created_time": "2021-05-12T23:20:50.52Z",
                      "updated_time": "2021-05-12T23:20:50.52Z",
                      "href": "https://us-south.apprapp.cloud.ibm.com/apprapp/feature/v1/instances/9xxxxx-xxxxx-xxxxx-b3cd-xxxxx/environments/dev/properties/email-property"
                    },
                    "summary": "BOOLEAN"
                  },
                  "type_numeric": {
                    "value": {
                      "name": "Email property",
                      "property_id": "email-property",
                      "description": "Property for email",
                      "type": "NUMERIC",
                      "value": 10,
                      "tags": "version: 1.1, pre-release",
                      "segment_rules": [
                        {
                          "rules": [
                            {
                              "segments": [
                                "betausers",
                                "premiumusers"
                              ]
                            }
                          ],
                          "value": 100,
                          "order": 1
                        },
                        {
                          "rules": [
                            {
                              "segments": [
                                "freeusers"
                              ]
                            }
                          ],
                          "value": 0,
                          "order": 2
                        }
                      ],
                      "segment_exists": true,
                      "collections": [
                        {
                          "collection_id": "ghzinc",
                          "name": "GHz Inc"
                        },
                        {
                          "collection_id": "phzsystems",
                          "name": "PHz Systems"
                        },
                        {
                          "collection_id": "ghzglobal",
                          "name": "GHz Global"
                        }
                      ],
                      "created_time": "2021-05-12T23:20:50.52Z",
                      "updated_time": "2021-05-12T23:20:50.52Z",
                      "href": "https://us-south.apprapp.cloud.ibm.com/apprapp/feature/v1/instances/9xxxxx-xxxxx-xxxxx-b3cd-xxxxx/environments/dev/properties/email-property"
                    },
                    "summary": "NUMERIC"
                  },
                  "type_secretref": {
                    "value": {
                      "name": "Email property",
                      "property_id": "email-property",
                      "description": "Property for email",
                      "type": "SECRETREF",
                      "value": {
                        "secret_type": "kv",
                        "id": "1312414-12341243fdsf-324dfsg-43fffg",
                        "sm_instance_crn": "crn:v1:staging:public:apprapp_dev:us-south:a/7bf663503fc5e2e06b03d2ada843bf54:ssfffgr-f6ee-48a5-a11b-ade4aecfe378::"
                      },
                      "tags": "version: 1.1, pre-release",
                      "segment_rules": [
                        {
                          "rules": [
                            {
                              "segments": [
                                "betausers",
                                "premiumusers"
                              ]
                            }
                          ],
                          "value": {
                            "id": "2234566-334g566ghjj-222-4000123fg"
                          },
                          "order": 1
                        },
                        {
                          "rules": [
                            {
                              "segments": [
                                "freeusers"
                              ]
                            }
                          ],
                          "value": {
                            "id": "2234566-334g566ghjj-222-4000123fg"
                          },
                          "order": 2
                        }
                      ],
                      "segment_exists": true,
                      "collections": [
                        {
                          "collection_id": "ghzinc",
                          "name": "GHz Inc"
                        },
                        {
                          "collection_id": "phzsystems",
                          "name": "PHz Systems"
                        },
                        {
                          "collection_id": "ghzglobal",
                          "name": "GHz Global"
                        }
                      ],
                      "created_time": "2021-05-12T23:20:50.52Z",
                      "updated_time": "2021-05-12T23:20:50.52Z",
                      "href": "https://us-south.apprapp.cloud.ibm.com/apprapp/feature/v1/instances/9xxxxx-xxxxx-xxxxx-b3cd-xxxxx/environments/dev/properties/email-property"
                    },
                    "summary": "SECRETREF"
                  },
                  "type_string_text": {
                    "value": {
                      "name": "Email property",
                      "property_id": "email-property",
                      "description": "Property for email",
                      "type": "STRING",
                      "format": "TEXT",
                      "value": "success",
                      "tags": "version: 1.1, pre-release",
                      "segment_rules": [
                        {
                          "rules": [
                            {
                              "segments": [
                                "betausers",
                                "premiumusers"
                              ]
                            }
                          ],
                          "value": "fail",
                          "order": 1
                        },
                        {
                          "rules": [
                            {
                              "segments": [
                                "freeusers"
                              ]
                            }
                          ],
                          "value": "success",
                          "order": 2
                        }
                      ],
                      "segment_exists": true,
                      "collections": [
                        {
                          "collection_id": "ghzinc",
                          "name": "GHz Inc"
                        },
                        {
                          "collection_id": "phzsystems",
                          "name": "PHz Systems"
                        },
                        {
                          "collection_id": "ghzglobal",
                          "name": "GHz Global"
                        }
                      ],
                      "created_time": "2021-05-12T23:20:50.52Z",
                      "updated_time": "2021-05-12T23:20:50.52Z",
                      "href": "https://us-south.apprapp.cloud.ibm.com/apprapp/feature/v1/instances/9xxxxx-xxxxx-xxxxx-b3cd-xxxxx/environments/dev/properties/email-property"
                    },
                    "summary": "STRING - TEXT"
                  },
                  "type_string_json": {
                    "value": {
                      "name": "Email property",
                      "property_id": "email-property",
                      "description": "Property for email",
                      "type": "STRING",
                      "format": "JSON",
                      "value": {
                        "activate": "yes",
                        "employees_id": [
                          "empId1",
                          "empId2",
                          "empId3",
                          "empId4",
                          "empId5"
                        ]
                      },
                      "tags": "version: 1.1, pre-release",
                      "segment_rules": [
                        {
                          "rules": [
                            {
                              "segments": [
                                "betausers",
                                "premiumusers"
                              ]
                            }
                          ],
                          "value": {
                            "activate": "no"
                          },
                          "order": 1
                        },
                        {
                          "rules": [
                            {
                              "segments": [
                                "freeusers"
                              ]
                            }
                          ],
                          "value": {
                            "employees_id": [
                              "empId100"
                            ]
                          },
                          "order": 2
                        }
                      ],
                      "segment_exists": true,
                      "collections": [
                        {
                          "collection_id": "ghzinc",
                          "name": "GHz Inc"
                        },
                        {
                          "collection_id": "phzsystems",
                          "name": "PHz Systems"
                        },
                        {
                          "collection_id": "ghzglobal",
                          "name": "GHz Global"
                        }
                      ],
                      "created_time": "2021-05-12T23:20:50.52Z",
                      "updated_time": "2021-05-12T23:20:50.52Z",
                      "href": "https://us-south.apprapp.cloud.ibm.com/apprapp/feature/v1/instances/9xxxxx-xxxxx-xxxxx-b3cd-xxxxx/environments/dev/properties/email-property"
                    },
                    "summary": "STRING - JSON"
                  },
                  "type_string_yaml": {
                    "value": {
                      "name": "Email property",
                      "property_id": "email-property",
                      "description": "Property for email",
                      "type": "STRING",
                      "format": "YAML",
                      "value": "activate: 'yes'\nemployees_id:\n- empId1\n- empId2\n- empId3\n- empId4\n- empId5",
                      "tags": "version: 1.1, pre-release",
                      "segment_rules": [
                        {
                          "rules": [
                            {
                              "segments": [
                                "betausers",
                                "premiumusers"
                              ]
                            }
                          ],
                          "value": "---\nactivate: 'no'",
                          "order": 1
                        },
                        {
                          "rules": [
                            {
                              "segments": [
                                "freeusers"
                              ]
                            }
                          ],
                          "value": "---\nemployees_id:\n- empId100",
                          "order": 2
                        }
                      ],
                      "segment_exists": true,
                      "collections": [
                        {
                          "collection_id": "ghzinc",
                          "name": "GHz Inc"
                        },
                        {
                          "collection_id": "phzsystems",
                          "name": "PHz Systems"
                        },
                        {
                          "collection_id": "ghzglobal",
                          "name": "GHz Global"
                        }
                      ],
                      "created_time": "2021-05-12T23:20:50.52Z",
                      "updated_time": "2021-05-12T23:20:50.52Z",
                      "href": "https://us-south.apprapp.cloud.ibm.com/apprapp/feature/v1/instances/9xxxxx-xxxxx-xxxxx-b3cd-xxxxx/environments/dev/properties/email-property"
                    },
                    "summary": "STRING - YAML"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad request. Verify that the information in the request body is complete and correct.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "example": {
                  "code": "FTEC1007E",
                  "message": "Error while updating the property values."
                }
              }
            }
          },
          "404": {
            "description": "Not Found. Verify that the property id is correct.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "example": {
                  "code": "FTEC1000E",
                  "message": "Error while updating the property values. The queried resource 'Property' is not available on the server."
                }
              }
            }
          },
          "501": {
            "description": "Not Implemented.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "example": {
                  "code": "FTEC1011E",
                  "message": "Currently 'secret manager integration' feature is not available"
                }
              }
            }
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X PATCH --location --header \"Authorization: Bearer ${iam_token}\" \\\n",
                      "  --header 'Accept: application/json' \\\n",
                      "  --header 'Content-Type: application/json' \\\n",
                      "  --data '{ \"name\": \"Email property\", \"description\": \"Property for email\", \"value\": true, \"tags\": \"version: 1.1, pre-release\", \"segment_rules\": [ { \"rules\": [ { \"segments\": [ \"betausers\", \"premiumusers\" ] } ], \"value\": true, \"order\": 1 }, { \"rules\": [ { \"segments\": [ \"freeusers\" ] } ], \"value\": false, \"order\": 2 } ] }' \\\n",
                      "  \"${base_url}/environments/${environment_id}/properties/${property_id}\""
                    ]
                  }
                ]
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "targetSegmentsModel := &appconfigurationv1.TargetSegments{\n",
                      "  Segments: []string{\"betausers\", \"premiumusers\"},\n",
                      "}\n",
                      "\n",
                      "segmentRuleModel := &appconfigurationv1.SegmentRule{\n",
                      "  Rules: []appconfigurationv1.TargetSegments{*targetSegmentsModel},\n",
                      "  Value: core.StringPtr(\"true\"),\n",
                      "  Order: core.Int64Ptr(int64(1)),\n",
                      "}\n",
                      "\n",
                      "updatePropertyValuesOptions := appConfigurationService.NewUpdatePropertyValuesOptions(\n",
                      "  \"environment_id\",\n",
                      "  \"property_id\",\n",
                      ")\n",
                      "updatePropertyValuesOptions.SetName(\"Email property\")\n",
                      "updatePropertyValuesOptions.SetDescription(\"Property for email\")\n",
                      "updatePropertyValuesOptions.SetTags(\"version: 1.1, pre-release\")\n",
                      "updatePropertyValuesOptions.SetValue(\"true\")\n",
                      "updatePropertyValuesOptions.SetSegmentRules([]appconfigurationv1.SegmentRule{*segmentRuleModel})\n",
                      "\n",
                      "property, response, err := appConfigurationService.UpdatePropertyValues(updatePropertyValuesOptions)\n",
                      "if err != nil {\n",
                      "  panic(err)\n",
                      "}\n",
                      "b, _ := json.MarshalIndent(property, \"\", \"  \")\n",
                      "fmt.Println(string(b))"
                    ]
                  }
                ]
              }
            ]
          }
        }
      },
      "get": {
        "tags": [
          "Properties"
        ],
        "summary": "Get Property",
        "description": "Retrieve details of a property.",
        "operationId": "get_property",
        "deprecated": false,
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "apprapp.properties.list"
            }
          ]
        },
        "x-ibm-events": {
          "events": [
            {
              "name": "apprapp.properties.read"
            }
          ]
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/environmentIdParam"
          },
          {
            "$ref": "#/components/parameters/propertyIdParam"
          },
          {
            "$ref": "#/components/parameters/collectionRuleIncludeParam"
          }
        ],
        "responses": {
          "200": {
            "description": "Successfully retrieved the property details.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Property"
                }
              }
            }
          },
          "404": {
            "description": "Not Found. Verify that the property id is correct.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "example": {
                  "code": "FTEC1000E",
                  "message": "Error while retrieving the property. The queried resource 'Property' is not available on the server."
                }
              }
            }
          },
          "501": {
            "description": "Not Implemented.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "example": {
                  "code": "FTEC1011E",
                  "message": "Currently 'secret manager integration' feature is not available"
                }
              }
            }
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X GET --location --header \"Authorization: Bearer ${iam_token}\" \\\n",
                      "  --header 'Accept: application/json' \\\n",
                      "  \"${base_url}/environments/${environment_id}/properties/${property_id}?include=collections,rules\""
                    ]
                  }
                ]
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "getPropertyOptions := appConfigurationService.NewGetPropertyOptions(\n",
                      "  \"environment_id\",\n",
                      "  \"property_id\",\n",
                      ")\n",
                      "getPropertyOptions.SetInclude([]string{\"collections\", \"rules\"})\n",
                      "\n",
                      "property, response, err := appConfigurationService.GetProperty(getPropertyOptions)\n",
                      "if err != nil {\n",
                      "  panic(err)\n",
                      "}\n",
                      "b, _ := json.MarshalIndent(property, \"\", \"  \")\n",
                      "fmt.Println(string(b))"
                    ]
                  }
                ]
              }
            ]
          }
        }
      },
      "delete": {
        "tags": [
          "Properties"
        ],
        "summary": "Delete Property",
        "description": "Delete a Property",
        "operationId": "delete_property",
        "deprecated": false,
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "apprapp.properties.delete"
            }
          ]
        },
        "x-ibm-events": {
          "events": [
            {
              "name": "apprapp.properties.delete"
            }
          ]
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/environmentIdParam"
          },
          {
            "$ref": "#/components/parameters/propertyIdParam"
          }
        ],
        "responses": {
          "204": {
            "description": "Successfully deleted the specified property",
            "headers": {}
          },
          "404": {
            "description": "Not Found. Verify that the property id is correct.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "example": {
                  "code": "FTEC1000E",
                  "message": "Error while deleting the property. The queried resource 'Property' is not available on the server."
                }
              }
            }
          },
          "501": {
            "description": "Not Implemented.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "example": {
                  "code": "FTEC1011E",
                  "message": "Currently 'secret manager integration' feature is not available"
                }
              }
            }
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X DELETE --location --header \"Authorization: Bearer ${iam_token}\" \\\n",
                      "  \"${base_url}/environments/${environment_id}/properties/${property_id}\""
                    ]
                  }
                ]
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "deletePropertyOptions := appConfigurationService.NewDeletePropertyOptions(\n",
                      "  \"environment_id\",\n",
                      "  \"property_id\",\n",
                      ")\n",
                      "\n",
                      "response, err := appConfigurationService.DeleteProperty(deletePropertyOptions)\n",
                      "if err != nil {\n",
                      "  panic(err)\n",
                      "}\n",
                      "if response.StatusCode != 204 {\n",
                      "  fmt.Printf(\"\\nUnexpected response status code received from DeleteProperty(): %d\\n\", response.StatusCode)\n",
                      "}"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/segments": {
      "get": {
        "tags": [
          "Segments"
        ],
        "summary": "Get list of Segments",
        "description": "List all the segments",
        "operationId": "list_segments",
        "deprecated": false,
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "apprapp.segments.list"
            }
          ]
        },
        "x-ibm-events": {
          "events": [
            {
              "name": "apprapp.segments.list"
            }
          ]
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/expandParam"
          },
          {
            "$ref": "#/components/parameters/SegmentsSortParam"
          },
          {
            "$ref": "#/components/parameters/tagsParam"
          },
          {
            "$ref": "#/components/parameters/includeRulesParam"
          },
          {
            "$ref": "#/components/parameters/limitParam"
          },
          {
            "$ref": "#/components/parameters/offsetParam"
          },
          {
            "$ref": "#/components/parameters/searchParam"
          }
        ],
        "responses": {
          "200": {
            "description": "Successfully listed all the segments.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SegmentsList"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedErrorResponse"
                },
                "example": {
                  "message": "Unauthorized"
                }
              }
            }
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X GET --location --header \"Authorization: Bearer ${iam_token}\" \\\n",
                      "  --header 'Accept: application/json' \\\n",
                      "  \"${base_url}/segments?expand=true&sort=created_time&tags=version 1.1,pre-release&include=rules&search=test tag\""
                    ]
                  }
                ]
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "listSegmentsOptions := &appconfigurationv1.ListSegmentsOptions{\n",
                      "  Expand: core.BoolPtr(true),\n",
                      "  Sort: core.StringPtr(\"created_time\"),\n",
                      "  Tags: core.StringPtr(\"version 1.1,pre-release\"),\n",
                      "  Include: core.StringPtr(\"rules\"),\n",
                      "  Limit: core.Int64Ptr(int64(10)),\n",
                      "  Search: core.StringPtr(\"test tag\"),\n",
                      "}\n",
                      "\n",
                      "pager, err := appConfigurationService.NewSegmentsPager(listSegmentsOptions)\n",
                      "if err != nil {\n",
                      "  panic(err)\n",
                      "}\n",
                      "\n",
                      "var allResults []appconfigurationv1.Segment\n",
                      "for pager.HasNext() {\n",
                      "  nextPage, err := pager.GetNext()\n",
                      "  if err != nil {\n",
                      "    panic(err)\n",
                      "  }\n",
                      "  allResults = append(allResults, nextPage...)\n",
                      "}\n",
                      "b, _ := json.MarshalIndent(allResults, \"\", \"  \")\n",
                      "fmt.Println(string(b))"
                    ]
                  }
                ]
              }
            ]
          }
        }
      },
      "post": {
        "tags": [
          "Segments"
        ],
        "summary": "Create Segment",
        "description": "Create a segment.",
        "operationId": "create_segment",
        "x-codegen-request-body-name": "Segment",
        "deprecated": false,
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "apprapp.segments.create"
            }
          ]
        },
        "x-ibm-events": {
          "events": [
            {
              "name": "apprapp.segments.create"
            }
          ]
        },
        "parameters": [],
        "requestBody": {
          "$ref": "#/components/requestBodies/CreateSegment"
        },
        "responses": {
          "201": {
            "description": "Successfully created the segment",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Segment"
                }
              }
            }
          },
          "400": {
            "description": "Bad request. Verify that the information in the request body is complete and correct.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "example": {
                  "code": "FTEC1003E",
                  "message": "Error while creating the segment."
                }
              }
            }
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X POST --location --header \"Authorization: Bearer ${iam_token}\" \\\n",
                      "  --header 'Accept: application/json' \\\n",
                      "  --header 'Content-Type: application/json' \\\n",
                      "  --data '{ \"name\": \"Beta Users\", \"segment_id\": \"beta-users\", \"description\": \"Segment containing the beta users\", \"tags\": \"version: 1.1, stage\", \"rules\": [ { \"attribute_name\": \"email\", \"operator\": \"endsWith\", \"values\": [ \"@in.mnc.com\", \"@us.mnc.com\" ] }, { \"attribute_name\": \"country\", \"operator\": \"is\", \"values\": [ \"India\", \"USA\" ] } ] }' \\\n",
                      "  \"${base_url}/segments\""
                    ]
                  }
                ]
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "ruleModel := &appconfigurationv1.Rule{\n",
                      "  AttributeName: core.StringPtr(\"email\"),\n",
                      "  Operator: core.StringPtr(\"endsWith\"),\n",
                      "  Values: []string{\"@in.mnc.com\", \"@us.mnc.com\"},\n",
                      "}\n",
                      "\n",
                      "createSegmentOptions := appConfigurationService.NewCreateSegmentOptions(\n",
                      "  \"Beta Users\",\n",
                      "  \"beta-users\",\n",
                      "  []appconfigurationv1.Rule{*ruleModel},\n",
                      ")\n",
                      "createSegmentOptions.SetDescription(\"Segment containing the beta users\")\n",
                      "createSegmentOptions.SetTags(\"version: 1.1, stage\")\n",
                      "\n",
                      "segment, response, err := appConfigurationService.CreateSegment(createSegmentOptions)\n",
                      "if err != nil {\n",
                      "  panic(err)\n",
                      "}\n",
                      "b, _ := json.MarshalIndent(segment, \"\", \"  \")\n",
                      "fmt.Println(string(b))"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/segments/{segment_id}": {
      "put": {
        "tags": [
          "Segments"
        ],
        "summary": "Update Segment",
        "description": "Update the segment properties",
        "operationId": "update_segment",
        "x-codegen-request-body-name": "UpdateSegment",
        "deprecated": false,
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "apprapp.segments.update"
            }
          ]
        },
        "x-ibm-events": {
          "events": [
            {
              "name": "apprapp.segments.update"
            }
          ]
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/SegmentIdParam"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/UpdateSegment"
        },
        "responses": {
          "200": {
            "description": "Successfully updated the segment details.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Segment"
                }
              }
            }
          },
          "400": {
            "description": "Bad request. Verify that the information in the request body is complete and correct.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "example": {
                  "code": "FTEC1007E",
                  "message": "Error while updating the segment."
                }
              }
            }
          },
          "404": {
            "description": "Not Found. Verify that the segment id is correct.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "example": {
                  "code": "FTEC1000E",
                  "message": "Error while updating the segment. The queried resource 'Segment' is not available on the server."
                }
              }
            }
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X PUT --location --header \"Authorization: Bearer ${iam_token}\" \\\n",
                      "  --header 'Accept: application/json' \\\n",
                      "  --header 'Content-Type: application/json' \\\n",
                      "  --data '{\"name\":\"Beta Users\",\"description\":\"Segment containing the beta users\",\"tags\":\"version: 1.1, pre-release\",\"rules\":[{\"attribute_name\":\"email\",\"operator\":\"endsWith\",\"values\":[\"@in.mnc.com\",\"@us.mnc.com\"]},{\"attribute_name\":\"country\",\"operator\":\"is\",\"values\":[\"India\",\"USA\"]}]}' \\\n",
                      "  \"${base_url}/segments/${segment_id}\""
                    ]
                  }
                ]
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "updateSegmentOptions := appConfigurationService.NewUpdateSegmentOptions(\n",
                      "  \"segment_id\",\n",
                      ")\n",
                      "\n",
                      "segment, response, err := appConfigurationService.UpdateSegment(updateSegmentOptions)\n",
                      "if err != nil {\n",
                      "  panic(err)\n",
                      "}\n",
                      "b, _ := json.MarshalIndent(segment, \"\", \"  \")\n",
                      "fmt.Println(string(b))"
                    ]
                  }
                ]
              }
            ]
          }
        }
      },
      "get": {
        "tags": [
          "Segments"
        ],
        "summary": "Get Segment",
        "description": "Retrieve details of a segment",
        "operationId": "get_segment",
        "deprecated": false,
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "apprapp.segments.list"
            }
          ]
        },
        "x-ibm-events": {
          "events": [
            {
              "name": "apprapp.segments.read"
            }
          ]
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/SegmentIdParam"
          },
          {
            "$ref": "#/components/parameters/featuresPropertiesIncludeParam"
          }
        ],
        "responses": {
          "200": {
            "description": "Successfully retrieved the segment details.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Segment"
                }
              }
            }
          },
          "404": {
            "description": "Not Found. Verify that the segment id is correct.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "example": {
                  "code": "FTEC1000E",
                  "message": "Error while retrieving the segment. The queried resource 'Segment' is not available on the server."
                }
              }
            }
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X GET --location --header \"Authorization: Bearer ${iam_token}\" \\\n",
                      "  --header 'Accept: application/json' \\\n",
                      "  \"${base_url}/segments/${segment_id}?include=features,properties\""
                    ]
                  }
                ]
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "getSegmentOptions := appConfigurationService.NewGetSegmentOptions(\n",
                      "  \"segment_id\",\n",
                      ")\n",
                      "getSegmentOptions.SetInclude([]string{\"features\", \"properties\"})\n",
                      "\n",
                      "segment, response, err := appConfigurationService.GetSegment(getSegmentOptions)\n",
                      "if err != nil {\n",
                      "  panic(err)\n",
                      "}\n",
                      "b, _ := json.MarshalIndent(segment, \"\", \"  \")\n",
                      "fmt.Println(string(b))"
                    ]
                  }
                ]
              }
            ]
          }
        }
      },
      "delete": {
        "tags": [
          "Segments"
        ],
        "summary": "Delete Segment",
        "description": "Delete a segment",
        "operationId": "delete_segment",
        "deprecated": false,
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "apprapp.segments.delete"
            }
          ]
        },
        "x-ibm-events": {
          "events": [
            {
              "name": "apprapp.segments.delete"
            }
          ]
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/SegmentIdParam"
          }
        ],
        "responses": {
          "204": {
            "description": "Successfully deleted the specified segment.",
            "headers": {}
          },
          "404": {
            "description": "Not Found. Verify that the segment id is correct.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "example": {
                  "code": "FTEC1000E",
                  "message": "Error while deleting the segment. The queried resource 'Segment' is not available on the server."
                }
              }
            }
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X DELETE --location --header \"Authorization: Bearer ${iam_token}\" \\\n",
                      "  \"${base_url}/segments/${segment_id}\""
                    ]
                  }
                ]
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "deleteSegmentOptions := appConfigurationService.NewDeleteSegmentOptions(\n",
                      "  \"segment_id\",\n",
                      ")\n",
                      "\n",
                      "response, err := appConfigurationService.DeleteSegment(deleteSegmentOptions)\n",
                      "if err != nil {\n",
                      "  panic(err)\n",
                      "}\n",
                      "if response.StatusCode != 204 {\n",
                      "  fmt.Printf(\"\\nUnexpected response status code received from DeleteSegment(): %d\\n\", response.StatusCode)\n",
                      "}"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/gitconfigs": {
      "get": {
        "tags": [
          "Snapshots"
        ],
        "summary": "Get list of Git configs",
        "description": "List all the Git configs",
        "operationId": "list_gitconfigs",
        "x-cli-command": "gitconfigs",
        "deprecated": false,
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "apprapp.gitconfigs.view"
            }
          ]
        },
        "x-ibm-events": {
          "events": [
            {
              "name": "apprapp.snapshots.list"
            }
          ]
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/SnapshotsSortParam"
          },
          {
            "$ref": "#/components/parameters/gitConfigFilterByCollectionIdParam"
          },
          {
            "$ref": "#/components/parameters/gitConfigFilterByEnvironmentIdParam"
          },
          {
            "$ref": "#/components/parameters/limitParam"
          },
          {
            "$ref": "#/components/parameters/offsetParam"
          },
          {
            "$ref": "#/components/parameters/searchParamSnapshot"
          }
        ],
        "responses": {
          "200": {
            "description": "Successfully listed all the git configurations.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GitConfigList"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedErrorResponse"
                },
                "example": {
                  "message": "Unauthorized"
                }
              }
            }
          },
          "501": {
            "description": "Not Implemented.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "example": {
                  "code": "FTEC1011E",
                  "message": "Currently 'snapshot' feature is not available"
                }
              }
            }
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X GET --location --header \"Authorization: Bearer ${iam_token}\" \\\n",
                      "  --header 'Accept: application/json' \\\n",
                      "  \"${base_url}/gitconfigs?sort=created_time&collection_id=collection_id&environment_id=environment_id&search=search_string\""
                    ]
                  }
                ]
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "listGitconfigsOptions := &appconfigurationv1.ListGitconfigsOptions{\n",
                      "  Sort: core.StringPtr(\"created_time\"),\n",
                      "  CollectionID: core.StringPtr(\"collection_id\"),\n",
                      "  EnvironmentID: core.StringPtr(\"environment_id\"),\n",
                      "  Limit: core.Int64Ptr(int64(10)),\n",
                      "  Search: core.StringPtr(\"search_string\"),\n",
                      "}\n",
                      "\n",
                      "pager, err := appConfigurationService.NewGitconfigsPager(listGitconfigsOptions)\n",
                      "if err != nil {\n",
                      "  panic(err)\n",
                      "}\n",
                      "\n",
                      "var allResults []appconfigurationv1.GitConfig\n",
                      "for pager.HasNext() {\n",
                      "  nextPage, err := pager.GetNext()\n",
                      "  if err != nil {\n",
                      "    panic(err)\n",
                      "  }\n",
                      "  allResults = append(allResults, nextPage...)\n",
                      "}\n",
                      "b, _ := json.MarshalIndent(allResults, \"\", \"  \")\n",
                      "fmt.Println(string(b))"
                    ]
                  }
                ]
              }
            ]
          }
        }
      },
      "post": {
        "tags": [
          "Snapshots"
        ],
        "summary": "Create Git config",
        "description": "Create a Git config.",
        "operationId": "create_gitconfig",
        "x-codegen-request-body-name": "CreateGitConfig",
        "deprecated": false,
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "apprapp.gitconfigs.create"
            }
          ]
        },
        "x-ibm-events": {
          "events": [
            {
              "name": "apprapp.snapshots.create"
            }
          ]
        },
        "parameters": [],
        "requestBody": {
          "$ref": "#/components/requestBodies/CreateGitConfig"
        },
        "responses": {
          "201": {
            "description": "Successfully created the gitconfig",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreateGitConfigResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad request. Verify that the information in the request body is complete and correct.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "example": {
                  "code": "FTEC1003E",
                  "message": "Error while creating the gitconfig."
                }
              }
            }
          },
          "501": {
            "description": "Not Implemented.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "example": {
                  "code": "FTEC1011E",
                  "message": "Currently 'snapshot' feature is not available"
                }
              }
            }
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X POST --location --header \"Authorization: Bearer ${iam_token}\" \\\n",
                      "  --header 'Accept: application/json' \\\n",
                      "  --header 'Content-Type: application/json' \\\n",
                      "  --data '{ \"git_config_name\": \"boot-strap-configuration\", \"git_config_id\": \"boot-strap-configuration\", \"collection_id\": \"web-app-collection\", \"environment_id\": \"dev\", \"git_url\": \"https://github.ibm.com/api/v3/repos/jhondoe-owner/my-test-repo\", \"git_branch\": \"main\", \"git_file_path\": \"code/development/README.json\", \"git_token\": \"61a792eahhGHji223jijb55a6cfdd4d5cde4c8a67esjjhjhHVH\" }' \\\n",
                      "  \"${base_url}/gitconfigs\""
                    ]
                  }
                ]
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "createGitconfigOptions := appConfigurationService.NewCreateGitconfigOptions(\n",
                      "  \"boot-strap-configuration\",\n",
                      "  \"boot-strap-configuration\",\n",
                      "  \"web-app-collection\",\n",
                      "  \"dev\",\n",
                      "  \"https://github.ibm.com/api/v3/repos/jhondoe-owner/my-test-repo\",\n",
                      "  \"main\",\n",
                      "  \"code/development/README.json\",\n",
                      "  \"61a792eahhGHji223jijb55a6cfdd4d5cde4c8a67esjjhjhHVH\",\n",
                      ")\n",
                      "\n",
                      "createGitConfigResponse, response, err := appConfigurationService.CreateGitconfig(createGitconfigOptions)\n",
                      "if err != nil {\n",
                      "  panic(err)\n",
                      "}\n",
                      "b, _ := json.MarshalIndent(createGitConfigResponse, \"\", \"  \")\n",
                      "fmt.Println(string(b))"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/gitconfigs/{git_config_id}": {
      "put": {
        "tags": [
          "Snapshots"
        ],
        "summary": "Update Git Config",
        "description": "Update the gitconfig properties",
        "operationId": "update_gitconfig",
        "x-codegen-request-body-name": "UpdateGitConfig",
        "deprecated": false,
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "apprapp.gitconfigs.update"
            }
          ]
        },
        "x-ibm-events": {
          "events": [
            {
              "name": "apprapp.snapshots.update"
            }
          ]
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/SnapshotIdParam"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/UpdateGitConfig"
        },
        "responses": {
          "200": {
            "description": "Successfully updated the gitconfig details.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GitConfig"
                }
              }
            }
          },
          "400": {
            "description": "Bad request. Verify that the information in the request body is complete and correct.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "example": {
                  "code": "FTEC1007E",
                  "message": "Error while updating the gitconfig."
                }
              }
            }
          },
          "404": {
            "description": "Not Found. Verify that the git config id is correct.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "example": {
                  "code": "FTEC1000E",
                  "message": "Error while updating the gitconfig. The queried resource 'git_config_id' is not available on the server."
                }
              }
            }
          },
          "501": {
            "description": "Not Implemented.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "example": {
                  "code": "FTEC1011E",
                  "message": "Currently 'snapshot' feature is not available"
                }
              }
            }
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X PUT --location --header \"Authorization: Bearer ${iam_token}\" \\\n",
                      "  --header 'Accept: application/json' \\\n",
                      "  --header 'Content-Type: application/json' \\\n",
                      "  --data '{\"git_config_name\":\"updated git config name\",\"collection_id\":\"web-app-collection\",\"environment_id\":\"dev\",\"git_url\":\"https://github.ibm.com/api/v3/repos/jhondoe-owner/my-test-repo\",\"git_branch\":\"newbranch\",\"git_file_path\":\"code/development/README.json\",\"git_token\":\"61a792eahhGHji223jijb55a6cfdd4d5cde4c8a67esjjhjhHVH\"}' \\\n",
                      "  \"${base_url}/gitconfigs/${git_config_id}\""
                    ]
                  }
                ]
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "updateGitconfigOptions := appConfigurationService.NewUpdateGitconfigOptions(\n",
                      "  \"git_config_id\",\n",
                      ")\n",
                      "\n",
                      "gitConfig, response, err := appConfigurationService.UpdateGitconfig(updateGitconfigOptions)\n",
                      "if err != nil {\n",
                      "  panic(err)\n",
                      "}\n",
                      "b, _ := json.MarshalIndent(gitConfig, \"\", \"  \")\n",
                      "fmt.Println(string(b))"
                    ]
                  }
                ]
              }
            ]
          }
        }
      },
      "get": {
        "tags": [
          "Snapshots"
        ],
        "summary": "Get Git Config",
        "description": "Retrieve details of a gitconfig",
        "operationId": "get_gitconfig",
        "deprecated": false,
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "apprapp.gitconfigs.view"
            }
          ]
        },
        "x-ibm-events": {
          "events": [
            {
              "name": "apprapp.snapshots.read"
            }
          ]
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/SnapshotIdParam"
          }
        ],
        "responses": {
          "200": {
            "description": "Successfully retrieved the gitconfig details.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GitConfig"
                }
              }
            }
          },
          "404": {
            "description": "Not Found. Verify that the gitconfig id is correct.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "example": {
                  "code": "FTEC1000E",
                  "message": "Error while retrieving the gitconfig. The queried resource 'git_config_id' is not available on the server."
                }
              }
            }
          },
          "501": {
            "description": "Not Implemented.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "example": {
                  "code": "FTEC1011E",
                  "message": "Currently 'snapshot' feature is not available"
                }
              }
            }
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X GET --location --header \"Authorization: Bearer ${iam_token}\" \\\n",
                      "  --header 'Accept: application/json' \\\n",
                      "  \"${base_url}/gitconfigs/${git_config_id}\""
                    ]
                  }
                ]
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "getGitconfigOptions := appConfigurationService.NewGetGitconfigOptions(\n",
                      "  \"git_config_id\",\n",
                      ")\n",
                      "\n",
                      "gitConfig, response, err := appConfigurationService.GetGitconfig(getGitconfigOptions)\n",
                      "if err != nil {\n",
                      "  panic(err)\n",
                      "}\n",
                      "b, _ := json.MarshalIndent(gitConfig, \"\", \"  \")\n",
                      "fmt.Println(string(b))"
                    ]
                  }
                ]
              }
            ]
          }
        }
      },
      "delete": {
        "tags": [
          "Snapshots"
        ],
        "summary": "Delete Git Config",
        "description": "Delete a gitconfig",
        "operationId": "delete_gitconfig",
        "deprecated": false,
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "apprapp.gitconfigs.delete"
            }
          ]
        },
        "x-ibm-events": {
          "events": [
            {
              "name": "apprapp.snapshots.delete"
            }
          ]
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/SnapshotIdParam"
          }
        ],
        "responses": {
          "204": {
            "description": "Successfully deleted the specified gitconfig.",
            "headers": {}
          },
          "404": {
            "description": "Not Found. Verify that the gitconfig id is correct.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "example": {
                  "code": "FTEC1000E",
                  "message": "Error while deleting the gitconfig. The queried resource 'git_config_id' is not available on the server."
                }
              }
            }
          },
          "501": {
            "description": "Not Implemented.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "example": {
                  "code": "FTEC1011E",
                  "message": "Currently 'snapshot' feature is not available"
                }
              }
            }
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X DELETE --location --header \"Authorization: Bearer ${iam_token}\" \\\n",
                      "  \"${base_url}/gitconfigs/${git_config_id}\""
                    ]
                  }
                ]
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "deleteGitconfigOptions := appConfigurationService.NewDeleteGitconfigOptions(\n",
                      "  \"git_config_id\",\n",
                      ")\n",
                      "\n",
                      "response, err := appConfigurationService.DeleteGitconfig(deleteGitconfigOptions)\n",
                      "if err != nil {\n",
                      "  panic(err)\n",
                      "}\n",
                      "if response.StatusCode != 204 {\n",
                      "  fmt.Printf(\"\\nUnexpected response status code received from DeleteGitconfig(): %d\\n\", response.StatusCode)\n",
                      "}"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/gitconfigs/{git_config_id}/promote": {
      "put": {
        "tags": [
          "Snapshots"
        ],
        "summary": "Promote configuration",
        "description": "Promote configuration, this api will write or update your chosen configuration to the GitHub based on the git url, file path and branch data. In simple words this api will create or updates the bootstrap json file",
        "operationId": "promote_gitconfig",
        "x-cli-command": "gitconfig-promote",
        "deprecated": true,
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "apprapp.gitconfigs.promote"
            }
          ]
        },
        "x-ibm-events": {
          "events": [
            {
              "name": "apprapp.snapshots.promote"
            }
          ]
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/SnapshotIdParam"
          }
        ],
        "responses": {
          "200": {
            "description": "Successfully written the configuration details.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GitConfigPromote"
                }
              }
            }
          },
          "400": {
            "description": "Bad request. Verify that the information in the request body is complete and correct.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "example": {
                  "code": "FTEC1007E",
                  "message": "Error while writing or updating the configuration to the json file."
                }
              }
            }
          },
          "404": {
            "description": "Not Found. Verify that the git config id is correct.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "example": {
                  "code": "FTEC1000E",
                  "message": "Error while updating the configuration. The queried resource 'git_config_id' is not available on the server."
                }
              }
            }
          },
          "501": {
            "description": "Not Implemented.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "example": {
                  "code": "FTEC1011E",
                  "message": "Currently 'snapshot' feature is not available"
                }
              }
            }
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X PUT --location --header \"Authorization: Bearer ${iam_token}\" \\\n",
                      "  --header 'Accept: application/json' \\\n",
                      "  \"${base_url}/gitconfigs/${git_config_id}/promote\""
                    ]
                  }
                ]
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "promoteGitconfigOptions := appConfigurationService.NewPromoteGitconfigOptions(\n",
                      "  \"git_config_id\",\n",
                      ")\n",
                      "\n",
                      "gitConfigPromote, response, err := appConfigurationService.PromoteGitconfig(promoteGitconfigOptions)\n",
                      "if err != nil {\n",
                      "  panic(err)\n",
                      "}\n",
                      "b, _ := json.MarshalIndent(gitConfigPromote, \"\", \"  \")\n",
                      "fmt.Println(string(b))"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/gitconfigs/{git_config_id}/restore": {
      "put": {
        "tags": [
          "Snapshots"
        ],
        "summary": "Restore configuration",
        "description": "Restore configuration, this api will write or update your chosen configuration from the GitHub to App configuration instance. The api will read the contents in the json file that was created using promote API and recreate or updates the App configuration instance with the file contents like properties, features and segments.",
        "operationId": "restore_gitconfig",
        "x-cli-command": "gitconfig-restore",
        "deprecated": true,
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "apprapp.gitconfigs.restore"
            }
          ]
        },
        "x-ibm-events": {
          "events": [
            {
              "name": "apprapp.snapshots.restore"
            }
          ]
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/SnapshotIdParam"
          }
        ],
        "responses": {
          "200": {
            "description": "Successfully updated the configuration details.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GitConfigRestore"
                }
              }
            }
          },
          "400": {
            "description": "Bad request. Verify that the information in the request is complete and correct.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "example": {
                  "code": "FTEC1007E",
                  "message": "Error while writing or updating the configuration to the App configuration instance."
                }
              }
            }
          },
          "404": {
            "description": "Not Found. Verify that the git config id is correct.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "example": {
                  "code": "FTEC1000E",
                  "message": "Error while updating the configuration. The queried resource 'git_config_id' is not available on the server."
                }
              }
            }
          },
          "501": {
            "description": "Not Implemented.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "example": {
                  "code": "FTEC1011E",
                  "message": "Currently 'snapshot' feature is not available"
                }
              }
            }
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X PUT --location --header \"Authorization: Bearer ${iam_token}\" \\\n",
                      "  --header 'Accept: application/json' \\\n",
                      "  \"${base_url}/gitconfigs/${git_config_id}/restore\""
                    ]
                  }
                ]
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "restoreGitconfigOptions := appConfigurationService.NewRestoreGitconfigOptions(\n",
                      "  \"git_config_id\",\n",
                      ")\n",
                      "\n",
                      "gitConfigRestore, response, err := appConfigurationService.RestoreGitconfig(restoreGitconfigOptions)\n",
                      "if err != nil {\n",
                      "  panic(err)\n",
                      "}\n",
                      "b, _ := json.MarshalIndent(gitConfigRestore, \"\", \"  \")\n",
                      "fmt.Println(string(b))"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/integrations": {
      "get": {
        "tags": [
          "Integrations"
        ],
        "summary": "Get list of integrations",
        "description": "List all the integrations.",
        "operationId": "list_integrations",
        "deprecated": false,
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "apprapp.integrations.list"
            }
          ]
        },
        "x-ibm-events": {
          "events": [
            {
              "name": "apprapp.integrations.list"
            }
          ]
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/expandParam"
          },
          {
            "$ref": "#/components/parameters/limitParam"
          },
          {
            "$ref": "#/components/parameters/offsetParam"
          }
        ],
        "responses": {
          "200": {
            "description": "Successfully listed the integrations.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IntegrationList"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedErrorResponse"
                },
                "example": {
                  "message": "Unauthorized"
                }
              }
            }
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X GET --location --header \"Authorization: Bearer ${iam_token}\" \\\n",
                      "  --header 'Accept: application/json' \\\n",
                      "  \"${base_url}/integrations?expand=true\""
                    ]
                  }
                ]
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "listIntegrationsOptions := &appconfigurationv1.ListIntegrationsOptions{\n",
                      "  Expand: core.BoolPtr(true),\n",
                      "  Limit: core.Int64Ptr(int64(10)),\n",
                      "}\n",
                      "\n",
                      "pager, err := appConfigurationService.NewIntegrationsPager(listIntegrationsOptions)\n",
                      "if err != nil {\n",
                      "  panic(err)\n",
                      "}\n",
                      "\n",
                      "var allResults []appconfigurationv1.Integration\n",
                      "for pager.HasNext() {\n",
                      "  nextPage, err := pager.GetNext()\n",
                      "  if err != nil {\n",
                      "    panic(err)\n",
                      "  }\n",
                      "  allResults = append(allResults, nextPage...)\n",
                      "}\n",
                      "b, _ := json.MarshalIndent(allResults, \"\", \"  \")\n",
                      "fmt.Println(string(b))"
                    ]
                  }
                ]
              }
            ]
          }
        }
      },
      "post": {
        "tags": [
          "Integrations"
        ],
        "summary": "Create integration",
        "description": "Create an integration with App Configuration service instance.",
        "operationId": "create_integration",
        "x-codegen-request-body-name": "CreateIntegration",
        "deprecated": false,
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "apprapp.integrations.create"
            }
          ]
        },
        "x-ibm-events": {
          "events": [
            {
              "name": "apprapp.integrations.create"
            }
          ]
        },
        "parameters": [],
        "requestBody": {
          "$ref": "#/components/requestBodies/CreateIntegration"
        },
        "responses": {
          "201": {
            "description": "Successfully created the integration",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Integration"
                },
                "examples": {
                  "EventNotifications": {
                    "$ref": "#/components/examples/EventNotifications"
                  },
                  "KMS": {
                    "$ref": "#/components/examples/KMS"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad request. Verify that the information in the request body is complete and correct.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "example": {
                  "code": "FTEC1003E",
                  "message": "An incorrect or incomplete request is sent to the server. The server request does not contain proper values to complete the API request. Check the 'metadata' parameter value."
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedErrorResponse"
                },
                "example": {
                  "message": "Unauthorized"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "example": {
                  "code": "FTEC1021E",
                  "message": "Forbidden - Insufficient permission to create the integration."
                }
              }
            }
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X POST --location --header \"Authorization: Bearer ${iam_token}\" \\\n",
                      "  --header 'Accept: application/json' \\\n",
                      "  --header 'Content-Type: application/json' \\\n",
                      "  --data '{ \"integration_id\": \"lckkhp34t\", \"integration_type\": \"EVENT_NOTIFICATIONS\", \"metadata\": { \"event_notifications_instance_crn\": \"crn:v1:bluemix:public:event-notifications:eu-gb:a/4f631ea3b3204b2b878a295604994acf:0eb42def-21aa-4f0a-a975-0812ead6ceee::\", \"event_notifications_endpoint\": \"https://eu-gb.event-notifications.cloud.ibm.com\", \"event_notifications_source_name\": \"My App Config\", \"event_notifications_source_description\": \"All the events from App Configuration instance\" } }' \\\n",
                      "  \"${base_url}/integrations\""
                    ]
                  }
                ]
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "createIntegrationMetadataModel := &appconfigurationv1.CreateIntegrationMetadataCreateEnIntegrationMetadata{\n",
                      "  EventNotificationsInstanceCrn: core.StringPtr(\"crn:v1:bluemix:public:event-notifications:eu-gb:a/4f631ea3b3204b2b878a295604994acf:0eb42def-21aa-4f0a-a975-0812ead6ceee::\"),\n",
                      "  EventNotificationsEndpoint: core.StringPtr(\"https://eu-gb.event-notifications.cloud.ibm.com\"),\n",
                      "  EventNotificationsSourceName: core.StringPtr(\"My App Config\"),\n",
                      "  EventNotificationsSourceDescription: core.StringPtr(\"All the events from App Configuration instance\"),\n",
                      "}\n",
                      "\n",
                      "createIntegrationOptions := appConfigurationService.NewCreateIntegrationOptions(\n",
                      "  \"lckkhp34t\",\n",
                      "  \"EVENT_NOTIFICATIONS\",\n",
                      "  createIntegrationMetadataModel,\n",
                      ")\n",
                      "\n",
                      "integration, response, err := appConfigurationService.CreateIntegration(createIntegrationOptions)\n",
                      "if err != nil {\n",
                      "  panic(err)\n",
                      "}\n",
                      "b, _ := json.MarshalIndent(integration, \"\", \"  \")\n",
                      "fmt.Println(string(b))"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/integrations/{integration_id}": {
      "get": {
        "tags": [
          "Integrations"
        ],
        "summary": "Get integration",
        "description": "Retrieve the details of the integration",
        "operationId": "get_integration",
        "deprecated": false,
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "apprapp.integrations.list"
            }
          ]
        },
        "x-ibm-events": {
          "events": [
            {
              "name": "apprapp.integrations.read"
            }
          ]
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/integrationIdParam"
          }
        ],
        "responses": {
          "200": {
            "description": "Successfully retrived the integration details",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Integration"
                },
                "examples": {
                  "EventNotifications": {
                    "$ref": "#/components/examples/EventNotifications"
                  },
                  "KMS": {
                    "$ref": "#/components/examples/KMS"
                  }
                }
              }
            }
          },
          "404": {
            "description": "Not Found. Verify that the integration id is correct.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "example": {
                  "code": "FTEC1000E",
                  "message": "Not Found - The queried resource 'Integration' is not available on the server. Check the'lkqwest3ws' parameter."
                }
              }
            }
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X GET --location --header \"Authorization: Bearer ${iam_token}\" \\\n",
                      "  --header 'Accept: application/json' \\\n",
                      "  \"${base_url}/integrations/${integration_id}\""
                    ]
                  }
                ]
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "getIntegrationOptions := appConfigurationService.NewGetIntegrationOptions(\n",
                      "  \"integration_id\",\n",
                      ")\n",
                      "\n",
                      "integration, response, err := appConfigurationService.GetIntegration(getIntegrationOptions)\n",
                      "if err != nil {\n",
                      "  panic(err)\n",
                      "}\n",
                      "b, _ := json.MarshalIndent(integration, \"\", \"  \")\n",
                      "fmt.Println(string(b))"
                    ]
                  }
                ]
              }
            ]
          }
        }
      },
      "delete": {
        "tags": [
          "Integrations"
        ],
        "summary": "Delete integration",
        "description": "Delete an integration",
        "operationId": "delete_integration",
        "deprecated": false,
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "apprapp.integrations.delete"
            }
          ]
        },
        "x-ibm-events": {
          "events": [
            {
              "name": "apprapp.integrations.delete"
            }
          ]
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/integrationIdParam"
          }
        ],
        "responses": {
          "204": {
            "description": "Successfully deleted the integration.",
            "headers": {}
          },
          "404": {
            "description": "Not Found. Verify that the integration id is correct.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "example": {
                  "code": "FTEC1000E",
                  "message": "Not Found - The queried resource 'Integration' is not available on the server. Check the'ekwgg78o' parameter."
                }
              }
            }
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X DELETE --location --header \"Authorization: Bearer ${iam_token}\" \\\n",
                      "  \"${base_url}/integrations/${integration_id}\""
                    ]
                  }
                ]
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "deleteIntegrationOptions := appConfigurationService.NewDeleteIntegrationOptions(\n",
                      "  \"integration_id\",\n",
                      ")\n",
                      "\n",
                      "response, err := appConfigurationService.DeleteIntegration(deleteIntegrationOptions)\n",
                      "if err != nil {\n",
                      "  panic(err)\n",
                      "}\n",
                      "if response.StatusCode != 204 {\n",
                      "  fmt.Printf(\"\\nUnexpected response status code received from DeleteIntegration(): %d\\n\", response.StatusCode)\n",
                      "}"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/originconfigs": {
      "get": {
        "tags": [
          "OriginConfig"
        ],
        "parameters": [],
        "summary": "Get list of Origin Configs",
        "description": "List all the Origin Configs",
        "operationId": "list_originconfigs",
        "deprecated": false,
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "apprapp.originconfigs.list"
            }
          ]
        },
        "x-ibm-events": {
          "events": [
            {
              "name": "apprapp.originconfigs.list"
            }
          ]
        },
        "responses": {
          "200": {
            "description": "Successfully listed all the origin configuration.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OriginConfigList"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedErrorResponse"
                },
                "example": {
                  "message": "Unauthorized"
                }
              }
            }
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X GET --location --header \"Authorization: Bearer ${iam_token}\" \\\n",
                      "  --header 'Accept: application/json' \\\n",
                      "  \"${base_url}/originconfigs\""
                    ]
                  }
                ]
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "listOriginconfigsOptions := appConfigurationService.NewListOriginconfigsOptions()\n",
                      "\n",
                      "originConfigList, response, err := appConfigurationService.ListOriginconfigs(listOriginconfigsOptions)\n",
                      "if err != nil {\n",
                      "  panic(err)\n",
                      "}\n",
                      "b, _ := json.MarshalIndent(originConfigList, \"\", \"  \")\n",
                      "fmt.Println(string(b))"
                    ]
                  }
                ]
              }
            ]
          }
        }
      },
      "put": {
        "tags": [
          "OriginConfig"
        ],
        "parameters": [],
        "summary": "Update Origin Configs",
        "description": "Update the Origin Configs",
        "operationId": "update_originconfigs",
        "x-codegen-request-body-name": "UpdateOriginConfig",
        "deprecated": false,
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "apprapp.originconfigs.update"
            }
          ]
        },
        "x-ibm-events": {
          "events": [
            {
              "name": "apprapp.originconfigs.update"
            }
          ]
        },
        "requestBody": {
          "$ref": "#/components/requestBodies/UpdateOriginConfig"
        },
        "responses": {
          "200": {
            "description": "Successfully updated the origin configs details.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OriginConfigList"
                }
              }
            }
          },
          "404": {
            "description": "Not Found. Verify that the instance id is correct.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "example": {
                  "code": "FTEC1000E",
                  "message": "The queried resource 'Instance' is not available on the server."
                }
              }
            }
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X PUT --location --header \"Authorization: Bearer ${iam_token}\" \\\n",
                      "  --header 'Accept: application/json' \\\n",
                      "  --header 'Content-Type: application/json' \\\n",
                      "  --data '{\"allowed_origins\":[\"https://www.bluecharge.com\",\"https://blog.hubspot.com\",\"http://127.0.0.1:3000\"]}' \\\n",
                      "  \"${base_url}/originconfigs\""
                    ]
                  }
                ]
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "updateOriginconfigsOptions := appConfigurationService.NewUpdateOriginconfigsOptions(\n",
                      "  []string{\"testString\"},\n",
                      ")\n",
                      "\n",
                      "originConfigList, response, err := appConfigurationService.UpdateOriginconfigs(updateOriginconfigsOptions)\n",
                      "if err != nil {\n",
                      "  panic(err)\n",
                      "}\n",
                      "b, _ := json.MarshalIndent(originConfigList, \"\", \"  \")\n",
                      "fmt.Println(string(b))"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/environments/{environment_id}/workflowconfigs": {
      "get": {
        "tags": [
          "WorkflowConfigs"
        ],
        "summary": "Get Workflow Config",
        "description": "Get the environment specific workflow configs",
        "operationId": "list_workflowconfig",
        "deprecated": false,
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "apprapp.workflowconfigs.list"
            }
          ]
        },
        "x-ibm-events": {
          "events": [
            {
              "name": "apprapp.workflowconfigs.list"
            }
          ]
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/environmentIdParam"
          }
        ],
        "responses": {
          "200": {
            "description": "Successfully listed workflow configuration for the environment.",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/ExternalServiceNow"
                    },
                    {
                      "$ref": "#/components/schemas/IBMServiceNow"
                    }
                  ]
                },
                "examples": {
                  "ExternalServiceNow": {
                    "$ref": "#/components/examples/ExternalServiceNow"
                  },
                  "IBMServiceNow": {
                    "$ref": "#/components/examples/IBMServiceNow"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedErrorResponse"
                },
                "example": {
                  "message": "Unauthorized"
                }
              }
            }
          },
          "404": {
            "description": "Not Found. Verify that the environment_id is correct.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "example": {
                  "code": "FTEC1000E",
                  "message": "Error while fetching the configuration. The queried resource is not available on the server."
                }
              }
            }
          },
          "501": {
            "description": "Not Implemented.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "example": {
                  "code": "FTEC1011E",
                  "message": "Currently 'workflow integration' feature is not available"
                }
              }
            }
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X GET --location --header \"Authorization: Bearer ${iam_token}\" \\\n",
                      "  --header 'Accept: application/json' \\\n",
                      "  \"${base_url}/environments/${environment_id}/workflowconfigs\""
                    ]
                  }
                ]
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "listWorkflowconfigOptions := appConfigurationService.NewListWorkflowconfigOptions(\n",
                      "  \"environment_id\",\n",
                      ")\n",
                      "\n",
                      "listWorkflowconfigResponse, response, err := appConfigurationService.ListWorkflowconfig(listWorkflowconfigOptions)\n",
                      "if err != nil {\n",
                      "  panic(err)\n",
                      "}\n",
                      "b, _ := json.MarshalIndent(listWorkflowconfigResponse, \"\", \"  \")\n",
                      "fmt.Println(string(b))"
                    ]
                  }
                ]
              }
            ]
          }
        }
      },
      "post": {
        "tags": [
          "WorkflowConfigs"
        ],
        "summary": "Create Workflow config",
        "description": "Create a Workflow.",
        "operationId": "create_Workflowconfig",
        "x-codegen-request-body-name": "WorkflowConfig",
        "deprecated": false,
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "apprapp.workflowconfigs.create"
            }
          ]
        },
        "x-ibm-events": {
          "events": [
            {
              "name": "apprapp.workflowconfigs.create"
            }
          ]
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/environmentIdParam"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/CreateWorkflowConfig"
        },
        "responses": {
          "201": {
            "description": "Successfully created the workflow configuration",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/ExternalServiceNow"
                    },
                    {
                      "$ref": "#/components/schemas/IBMServiceNow"
                    }
                  ]
                },
                "examples": {
                  "ExternalServiceNow": {
                    "$ref": "#/components/examples/ExternalServiceNow"
                  },
                  "IBMServiceNow": {
                    "$ref": "#/components/examples/IBMServiceNow"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad request. Verify that the information in the request body is complete and correct.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "example": {
                  "code": "FTEC1003E",
                  "message": "Error while creating the workflow configuration."
                }
              }
            }
          },
          "404": {
            "description": "Not Found. Verify that the environment_id is correct.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "example": {
                  "code": "FTEC1000E",
                  "message": "Error while creating the configuration. The queried evironment resource is not available on the server."
                }
              }
            }
          },
          "501": {
            "description": "Not Implemented.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "example": {
                  "code": "FTEC1011E",
                  "message": "Currently 'workflow integration' feature is not available"
                }
              }
            }
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X POST --location --header \"Authorization: Bearer ${iam_token}\" \\\n",
                      "  --header 'Accept: application/json' \\\n",
                      "  --header 'Content-Type: application/json' \\\n",
                      "  --data '{ \"workflow_url\": \"https://xxxxx.service-now.com\", \"approval_group_name\": \"WorkflowCRApprovers\", \"approval_expiration\": 10, \"workflow_credentials\": { \"client_id\": \"client id value\", \"client_secret\": \"clientsecret\", \"password\": \"pwd\", \"username\": \"user\" }, \"enabled\": true }' \\\n",
                      "  \"${base_url}/environments/${environment_id}/workflowconfigs\""
                    ]
                  }
                ]
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "externalServiceNowCredentialsModel := &appconfigurationv1.ExternalServiceNowCredentials{\n",
                      "  Username: core.StringPtr(\"user\"),\n",
                      "  Password: core.StringPtr(\"pwd\"),\n",
                      "  ClientID: core.StringPtr(\"client id value\"),\n",
                      "  ClientSecret: core.StringPtr(\"clientsecret\"),\n",
                      "}\n",
                      "\n",
                      "createWorkflowConfigModel := &appconfigurationv1.CreateWorkflowConfigExternalServiceNow{\n",
                      "  WorkflowURL: core.StringPtr(\"https://xxxxx.service-now.com\"),\n",
                      "  ApprovalGroupName: core.StringPtr(\"WorkflowCRApprovers\"),\n",
                      "  ApprovalExpiration: core.Int64Ptr(int64(10)),\n",
                      "  WorkflowCredentials: externalServiceNowCredentialsModel,\n",
                      "  Enabled: core.BoolPtr(true),\n",
                      "}\n",
                      "\n",
                      "createWorkflowconfigOptions := appConfigurationService.NewCreateWorkflowconfigOptions(\n",
                      "  \"environment_id\",\n",
                      "  createWorkflowConfigModel,\n",
                      ")\n",
                      "\n",
                      "createWorkflowconfigResponse, response, err := appConfigurationService.CreateWorkflowconfig(createWorkflowconfigOptions)\n",
                      "if err != nil {\n",
                      "  panic(err)\n",
                      "}\n",
                      "b, _ := json.MarshalIndent(createWorkflowconfigResponse, \"\", \"  \")\n",
                      "fmt.Println(string(b))"
                    ]
                  }
                ]
              }
            ]
          }
        }
      },
      "put": {
        "tags": [
          "WorkflowConfigs"
        ],
        "summary": "Update Workflow config",
        "description": "Update a Workflow.",
        "operationId": "update_Workflowconfig",
        "x-codegen-request-body-name": "UpdateWorkflowConfig",
        "deprecated": false,
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "apprapp.workflowconfigs.update"
            }
          ]
        },
        "x-ibm-events": {
          "events": [
            {
              "name": "apprapp.workflowconfigs.update"
            }
          ]
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/environmentIdParam"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/UpdateWorkflowConfig"
        },
        "responses": {
          "201": {
            "description": "Successfully updated the workflow configuration",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/ExternalServiceNow"
                    },
                    {
                      "$ref": "#/components/schemas/IBMServiceNow"
                    }
                  ]
                },
                "examples": {
                  "ExternalServiceNow": {
                    "$ref": "#/components/examples/ExternalServiceNow"
                  },
                  "IBMServiceNow": {
                    "$ref": "#/components/examples/IBMServiceNow"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad request. Verify that the information in the request body is complete and correct.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "example": {
                  "code": "FTEC1003E",
                  "message": "Error while creating the workflow configuration."
                }
              }
            }
          },
          "404": {
            "description": "Not Found. Verify that the environment_id is correct.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "example": {
                  "code": "FTEC1000E",
                  "message": "Error while creating the configuration. The queried evironment resource is not available on the server."
                }
              }
            }
          },
          "501": {
            "description": "Not Implemented.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "example": {
                  "code": "FTEC1011E",
                  "message": "Currently 'workflow integration' feature is not available"
                }
              }
            }
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X PUT --location --header \"Authorization: Bearer ${iam_token}\" \\\n",
                      "  --header 'Accept: application/json' \\\n",
                      "  --header 'Content-Type: application/json' \\\n",
                      "  --data '{ \"workflow_url\": \"https://xxxxx.service-now.com\", \"approval_group_name\": \"WorkflowCRApprovers\", \"approval_expiration\": 5, \"workflow_credentials\": { \"client_id\": \"client id value\", \"client_secret\": \"updated client secret\", \"password\": \"updated password\", \"username\": \"user\" }, \"enabled\": true }' \\\n",
                      "  \"${base_url}/environments/${environment_id}/workflowconfigs\""
                    ]
                  }
                ]
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "externalServiceNowCredentialsModel := &appconfigurationv1.ExternalServiceNowCredentials{\n",
                      "  Username: core.StringPtr(\"user\"),\n",
                      "  Password: core.StringPtr(\"updated password\"),\n",
                      "  ClientID: core.StringPtr(\"client id value\"),\n",
                      "  ClientSecret: core.StringPtr(\"updated client secret\"),\n",
                      "}\n",
                      "\n",
                      "updateWorkflowConfigModel := &appconfigurationv1.UpdateWorkflowConfigUpdateExternalServiceNow{\n",
                      "  WorkflowURL: core.StringPtr(\"https://xxxxx.service-now.com\"),\n",
                      "  ApprovalGroupName: core.StringPtr(\"WorkflowCRApprovers\"),\n",
                      "  ApprovalExpiration: core.Int64Ptr(int64(5)),\n",
                      "  WorkflowCredentials: externalServiceNowCredentialsModel,\n",
                      "  Enabled: core.BoolPtr(true),\n",
                      "}\n",
                      "\n",
                      "updateWorkflowconfigOptions := appConfigurationService.NewUpdateWorkflowconfigOptions(\n",
                      "  \"environment_id\",\n",
                      "  updateWorkflowConfigModel,\n",
                      ")\n",
                      "\n",
                      "updateWorkflowconfigResponse, response, err := appConfigurationService.UpdateWorkflowconfig(updateWorkflowconfigOptions)\n",
                      "if err != nil {\n",
                      "  panic(err)\n",
                      "}\n",
                      "b, _ := json.MarshalIndent(updateWorkflowconfigResponse, \"\", \"  \")\n",
                      "fmt.Println(string(b))"
                    ]
                  }
                ]
              }
            ]
          }
        }
      },
      "delete": {
        "tags": [
          "WorkflowConfigs"
        ],
        "summary": "Delete Workflow config",
        "description": "Delete a Workflow config",
        "operationId": "delete_workflowconfig",
        "deprecated": false,
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "apprapp.workflowconfigs.delete"
            }
          ]
        },
        "x-ibm-events": {
          "events": [
            {
              "name": "apprapp.workflowconfigs.delete"
            }
          ]
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/environmentIdParam"
          }
        ],
        "responses": {
          "204": {
            "description": "Successfully deleted environment specific workflow config.",
            "headers": {}
          },
          "404": {
            "description": "Not Found. Verify that the environment id is correct.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "example": {
                  "code": "FTEC1000E",
                  "message": "Error while deleting the workflow config. The queried resource is not available on the server."
                }
              }
            }
          },
          "501": {
            "description": "Not Implemented.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "example": {
                  "code": "FTEC1011E",
                  "message": "Currently 'workflow integration' feature is not available"
                }
              }
            }
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X DELETE --location --header \"Authorization: Bearer ${iam_token}\" \\\n",
                      "  \"${base_url}/environments/${environment_id}/workflowconfigs\""
                    ]
                  }
                ]
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "deleteWorkflowconfigOptions := appConfigurationService.NewDeleteWorkflowconfigOptions(\n",
                      "  \"environment_id\",\n",
                      ")\n",
                      "\n",
                      "response, err := appConfigurationService.DeleteWorkflowconfig(deleteWorkflowconfigOptions)\n",
                      "if err != nil {\n",
                      "  panic(err)\n",
                      "}\n",
                      "if response.StatusCode != 204 {\n",
                      "  fmt.Printf(\"\\nUnexpected response status code received from DeleteWorkflowconfig(): %d\\n\", response.StatusCode)\n",
                      "}"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/config": {
      "post": {
        "tags": [
          "Config"
        ],
        "summary": "Import instance configuration",
        "description": "Import configuration to the instance.",
        "operationId": "import_config",
        "x-cli-command": "instance-import",
        "x-codegen-request-body-name": "ImportConfig",
        "deprecated": false,
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "apprapp.config.import"
            }
          ]
        },
        "x-ibm-events": {
          "events": [
            {
              "name": "apprapp.config.import"
            }
          ]
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/cleanImport"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/ImportConfig"
        },
        "responses": {
          "202": {
            "description": "Import request accepted for asynchronous processing",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InstanceConfigAcceptedResponse"
                },
                "example": {
                  "message": "Data has been accepted. Check the status of the import action using the status API with the reference id",
                  "referenceId": "f2277c83-43ab-489e-9bb5-b6fbf8df410e"
                }
              }
            }
          },
          "400": {
            "description": "Bad request. Verify that the information in the request body is complete and correct.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "example": {
                  "code": "FTEC1003E",
                  "message": "Error while import the configuration."
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedErrorResponse"
                },
                "example": {
                  "message": "Unauthorized"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden Request - Instance is not empty. Send clean=true query param if you want to override the current instance configuration",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "example": {
                  "code": "FTI1009E",
                  "message": "Forbidden Request - Instance is not empty. Send clean=true query param if you want to override the current instance configuration."
                }
              }
            }
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X POST --location --header \"Authorization: Bearer ${iam_token}\" \\\n",
                      "  --header 'Accept: application/json' \\\n",
                      "  --header 'Content-Type: application/json' \\\n",
                      "  --data '{ \"environments\": [ { \"name\": \"Dev\", \"environment_id\": \"dev\", \"description\": \"Environment created on instance creation\", \"tags\": \"\", \"color_code\": \"#FDD13A\", \"features\": [ { \"name\": \"Cycle Rentals\", \"feature_id\": \"cycle-rentals\", \"description\": \"\", \"tags\": \"\", \"type\": \"NUMERIC\", \"disabled_value\": 2, \"enabled_value\": 1, \"segment_rules\":  ], \"enabled\": true, \"rollout_percentage\": 100, \"collections\": [ { \"collection_id\": \"web-app\", \"name\": \"web-app\" } ] } ], \"properties\": [ { \"name\": \"Daily Discount\", \"property_id\": \"daily_discount\", \"description\": \"\", \"tags\": \"pre-release, v1.2\", \"type\": \"NUMERIC\", \"value\": \"100\", \"segment_rules\": [ { \"rules\": [ { \"segments\": [ \"khpwj68h\" ] } ], \"value\": 200, \"order\": 1 }, { \"rules\": [ { \"segments\": [ \"khpwjol7\" ] } ], \"value\": 400, \"order\": 2 } ], \"collections\": [ { \"collection_id\": \"web-app\", \"name\": \"web-app\" } ] } ] } ], \"collections\": [ { \"name\": \"web-app\", \"collection_id\": \"web-app\", \"description\": \"web app collection\", \"tags\": \"v1\" } ], \"segments\": [ { \"name\": \"Testers\", \"segment_id\": \"khpwj68h\", \"description\": \"Testers\", \"tags\": \"test\", \"rules\": [ { \"values\": [ \"john@bluecharge.com\", \"alice@bluecharge.com\" ], \"operator\": \"is\", \"attribute_name\": \"email\" } ] }, { \"name\": \"IBMers\", \"segment_id\": \"khpwjol7\", \"description\": \"IBMers\", \"tags\": \"company,ibm\", \"rules\": [ { \"values\": [ \"ibm.com\" ], \"operator\": \"endsWith\", \"attribute_name\": \"email\" } ] } ] }' \\\n",
                      "  \"${base_url}/config?clean=true\""
                    ]
                  }
                ]
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "targetSegmentsModel := &appconfigurationv1.TargetSegments{\n",
                      "  Segments: []string{\"testString\"},\n",
                      "}\n",
                      "\n",
                      "featureSegmentRuleModel := &appconfigurationv1.FeatureSegmentRule{\n",
                      "  Rules: []appconfigurationv1.TargetSegments{*targetSegmentsModel},\n",
                      "  Value: \"testString\",\n",
                      "  Order: core.Int64Ptr(int64(38)),\n",
                      "}\n",
                      "\n",
                      "collectionRefModel := &appconfigurationv1.CollectionRef{\n",
                      "  CollectionID: core.StringPtr(\"web-app\"),\n",
                      "}\n",
                      "\n",
                      "importFeatureRequestBodyModel := &appconfigurationv1.ImportFeatureRequestBody{\n",
                      "  Name: core.StringPtr(\"Cycle Rentals\"),\n",
                      "  FeatureID: core.StringPtr(\"cycle-rentals\"),\n",
                      "  Type: core.StringPtr(\"NUMERIC\"),\n",
                      "  EnabledValue: core.StringPtr(\"1\"),\n",
                      "  DisabledValue: core.StringPtr(\"2\"),\n",
                      "  Enabled: core.BoolPtr(true),\n",
                      "  RolloutPercentage: core.Int64Ptr(int64(100)),\n",
                      "  SegmentRules: []appconfigurationv1.FeatureSegmentRule{*featureSegmentRuleModel},\n",
                      "  Collections: []appconfigurationv1.CollectionRef{*collectionRefModel},\n",
                      "}\n",
                      "\n",
                      "segmentRuleModel := &appconfigurationv1.SegmentRule{\n",
                      "  Rules: []appconfigurationv1.TargetSegments{*targetSegmentsModel},\n",
                      "  Value: core.StringPtr(\"200\"),\n",
                      "  Order: core.Int64Ptr(int64(1)),\n",
                      "}\n",
                      "\n",
                      "importPropertyRequestBodyModel := &appconfigurationv1.ImportPropertyRequestBody{\n",
                      "  Name: core.StringPtr(\"Daily Discount\"),\n",
                      "  PropertyID: core.StringPtr(\"daily_discount\"),\n",
                      "  Type: core.StringPtr(\"NUMERIC\"),\n",
                      "  Value: core.StringPtr(\"100\"),\n",
                      "  Tags: core.StringPtr(\"pre-release, v1.2\"),\n",
                      "  SegmentRules: []appconfigurationv1.SegmentRule{*segmentRuleModel},\n",
                      "  Collections: []appconfigurationv1.CollectionRef{*collectionRefModel},\n",
                      "}\n",
                      "\n",
                      "importEnvironmentSchemaModel := &appconfigurationv1.ImportEnvironmentSchema{\n",
                      "  Name: core.StringPtr(\"Dev\"),\n",
                      "  EnvironmentID: core.StringPtr(\"dev\"),\n",
                      "  Description: core.StringPtr(\"Environment created on instance creation\"),\n",
                      "  ColorCode: core.StringPtr(\"#FDD13A\"),\n",
                      "  Features: []appconfigurationv1.ImportFeatureRequestBody{*importFeatureRequestBodyModel},\n",
                      "  Properties: []appconfigurationv1.ImportPropertyRequestBody{*importPropertyRequestBodyModel},\n",
                      "}\n",
                      "\n",
                      "importCollectionSchemaModel := &appconfigurationv1.ImportCollectionSchema{\n",
                      "  CollectionID: core.StringPtr(\"web-app\"),\n",
                      "  Name: core.StringPtr(\"web-app\"),\n",
                      "  Description: core.StringPtr(\"web app collection\"),\n",
                      "  Tags: core.StringPtr(\"v1\"),\n",
                      "}\n",
                      "\n",
                      "ruleModel := &appconfigurationv1.Rule{\n",
                      "  AttributeName: core.StringPtr(\"email\"),\n",
                      "  Operator: core.StringPtr(\"is\"),\n",
                      "  Values: []string{\"john@bluecharge.com\", \"alice@bluecharge.com\"},\n",
                      "}\n",
                      "\n",
                      "importSegmentSchemaModel := &appconfigurationv1.ImportSegmentSchema{\n",
                      "  Name: core.StringPtr(\"Testers\"),\n",
                      "  SegmentID: core.StringPtr(\"khpwj68h\"),\n",
                      "  Description: core.StringPtr(\"Testers\"),\n",
                      "  Tags: core.StringPtr(\"test\"),\n",
                      "  Rules: []appconfigurationv1.Rule{*ruleModel},\n",
                      "}\n",
                      "\n",
                      "importConfigOptions := appConfigurationService.NewImportConfigOptions()\n",
                      "importConfigOptions.SetEnvironments([]appconfigurationv1.ImportEnvironmentSchema{*importEnvironmentSchemaModel})\n",
                      "importConfigOptions.SetCollections([]appconfigurationv1.ImportCollectionSchema{*importCollectionSchemaModel})\n",
                      "importConfigOptions.SetSegments([]appconfigurationv1.ImportSegmentSchema{*importSegmentSchemaModel})\n",
                      "importConfigOptions.SetClean(\"true\")\n",
                      "\n",
                      "instanceConfigAcceptedResponse, response, err := appConfigurationService.ImportConfig(importConfigOptions)\n",
                      "if err != nil {\n",
                      "  panic(err)\n",
                      "}\n",
                      "b, _ := json.MarshalIndent(instanceConfigAcceptedResponse, \"\", \"  \")\n",
                      "fmt.Println(string(b))"
                    ]
                  }
                ]
              }
            ]
          }
        }
      },
      "get": {
        "tags": [
          "Config"
        ],
        "parameters": [],
        "summary": "Export instance configuration",
        "description": "Get the instance configuration.",
        "operationId": "list_instance_config",
        "x-cli-command": "instance-export",
        "deprecated": false,
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "apprapp.config.export"
            }
          ]
        },
        "x-ibm-events": {
          "events": [
            {
              "name": "apprapp.config.export"
            }
          ]
        },
        "responses": {
          "200": {
            "description": "Successfully listed configuration for the instance.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ImportConfig"
                }
              }
            }
          },
          "202": {
            "description": "Export request accepted for asynchronous processing",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InstanceConfigAcceptedResponse"
                },
                "example": {
                  "message": "Data has been accepted. Check the status of the export action using the status API with the reference id",
                  "referenceId": "f2277c83-43ab-489e-9bb5-b6fbf8df410e"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedErrorResponse"
                },
                "example": {
                  "message": "Unauthorized"
                }
              }
            }
          },
          "409": {
            "description": "Export process already in progress for the given instance_id",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "example": {
                  "code": "DEH1012E",
                  "message": " Previous export request is in-progress. Please try after sometime"
                }
              }
            }
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X GET --location --header \"Authorization: Bearer ${iam_token}\" \\\n",
                      "  --header 'Accept: application/json' \\\n",
                      "  \"${base_url}/config\""
                    ]
                  }
                ]
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "listInstanceConfigOptions := appConfigurationService.NewListInstanceConfigOptions()\n",
                      "\n",
                      "importConfig, response, err := appConfigurationService.ListInstanceConfig(listInstanceConfigOptions)\n",
                      "if err != nil {\n",
                      "  panic(err)\n",
                      "}\n",
                      "b, _ := json.MarshalIndent(importConfig, \"\", \"  \")\n",
                      "fmt.Println(string(b))"
                    ]
                  }
                ]
              }
            ]
          }
        }
      },
      "put": {
        "tags": [
          "Config"
        ],
        "summary": "Promote or Restore snapshot configuration",
        "description": "This api will either promote or restore your chosen configuration from or to the GitHub based on the git url, file path and branch data.",
        "operationId": "promote_restore_config",
        "x-cli-command": "gitconfig-promote-restore",
        "deprecated": false,
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "apprapp.config.action"
            }
          ]
        },
        "x-ibm-events": {
          "events": [
            {
              "name": "apprapp.config.action"
            }
          ]
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/ConfigGitConfigIdParam"
          },
          {
            "$ref": "#/components/parameters/ConfigAction"
          }
        ],
        "responses": {
          "200": {
            "description": "Successfully completed the operation.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConfigAction"
                },
                "examples": {
                  "Promote": {
                    "description": "Example promote snapshot configuration.",
                    "value": {
                      "last_sync_time": "2022-05-30T05:33:41Z",
                      "git_commit_message": "custom config data written from App config instance",
                      "git_commit_id": "2fadfe4e71632f32c19ee97d795f1494be95caf8"
                    }
                  },
                  "Restore": {
                    "description": "Example restore snapshot configuration.",
                    "value": {
                      "environments": [
                        {
                          "name": "Dev",
                          "environment_id": "dev",
                          "description": "Environment created on instance creation",
                          "tags": "",
                          "color_code": "#FDD13A",
                          "features": [
                            {
                              "name": "Cycle Rentals",
                              "feature_id": "cycle-rentals",
                              "type": "NUMERIC",
                              "disabled_value": 2,
                              "enabled_value": 1,
                              "segment_rules": [],
                              "enabled": true,
                              "rollout_percentage": 100,
                              "collections": [
                                {
                                  "collection_id": "web-app",
                                  "name": "web-app"
                                }
                              ],
                              "isOverridden": true
                            }
                          ],
                          "properties": [
                            {
                              "name": "Daily Discount",
                              "property_id": "daily_discount",
                              "type": "NUMERIC",
                              "tags": "pre-release, v1.2",
                              "value": "100",
                              "segment_rules": [
                                {
                                  "rules": [
                                    {
                                      "segments": [
                                        "khpwj68h"
                                      ]
                                    }
                                  ],
                                  "value": 200,
                                  "order": 1
                                },
                                {
                                  "rules": [
                                    {
                                      "segments": [
                                        "khpwjol7"
                                      ]
                                    }
                                  ],
                                  "value": 400,
                                  "order": 2
                                }
                              ],
                              "collections": [
                                {
                                  "collection_id": "web-app",
                                  "name": "web-app"
                                }
                              ],
                              "isOverridden": true
                            }
                          ]
                        }
                      ],
                      "segments": [
                        {
                          "name": "Testers",
                          "segment_id": "khpwj68h",
                          "rules": [
                            {
                              "values": [
                                "john@bluecharge.com",
                                "alice@bluecharge.com"
                              ],
                              "operator": "is",
                              "attribute_name": "email"
                            }
                          ]
                        },
                        {
                          "name": "IBMers",
                          "segment_id": "khpwjol7",
                          "rules": [
                            {
                              "values": [
                                "ibm.com"
                              ],
                              "operator": "endsWith",
                              "attribute_name": "email"
                            }
                          ]
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad request. Verify that the information in the request body is complete and correct.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "example": {
                  "code": "FTEC1007E",
                  "message": "Error while writing or updating the configuration to the json file."
                }
              }
            }
          },
          "404": {
            "description": "Not Found. Verify that the git config id is correct.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "example": {
                  "code": "FTEC1000E",
                  "message": "Error while updating the configuration. The queried resource 'git_config_id' is not available on the server."
                }
              }
            }
          },
          "501": {
            "description": "Not Implemented.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "example": {
                  "code": "FTEC1011E",
                  "message": "Currently 'snapshot' feature is not available"
                }
              }
            }
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X PUT --location --header \"Authorization: Bearer ${iam_token}\" \\\n",
                      "  --header 'Accept: application/json' \\\n",
                      "  \"${base_url}/config?git_config_id=git_config_id&action=promote\""
                    ]
                  }
                ]
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "promoteRestoreConfigOptions := appConfigurationService.NewPromoteRestoreConfigOptions(\n",
                      "  \"git_config_id\",\n",
                      "  \"promote\",\n",
                      ")\n",
                      "\n",
                      "configAction, response, err := appConfigurationService.PromoteRestoreConfig(promoteRestoreConfigOptions)\n",
                      "if err != nil {\n",
                      "  panic(err)\n",
                      "}\n",
                      "b, _ := json.MarshalIndent(configAction, \"\", \"  \")\n",
                      "fmt.Println(string(b))"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/config/status/{reference_id}": {
      "get": {
        "tags": [
          "Config"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/referenceidParam"
          },
          {
            "$ref": "#/components/parameters/ConfigStatusAction"
          }
        ],
        "summary": "Get status of instance configuration import/export",
        "description": "Get the status of instance configuration operation",
        "operationId": "instance_config_status",
        "x-cli-command": "instance-config-status",
        "deprecated": false,
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "apprapp.config.status"
            }
          ]
        },
        "x-ibm-events": {
          "events": [
            {
              "name": "apprapp.config.status"
            }
          ]
        },
        "responses": {
          "200": {
            "description": "Successfully listed status of instance configuration operation.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InstanceConfigStatusResponse"
                },
                "examples": {
                  "import": {
                    "summary": "Import example",
                    "value": {
                      "action": "import",
                      "errors": {},
                      "last_updated": "2025-08-08T14:35:20Z",
                      "message": "Creation of Collections, Segments, Environments, Features & Properties completed",
                      "status": "completed",
                      "triggered_time": "2025-08-08T14:35:19Z"
                    }
                  },
                  "export": {
                    "summary": "Export example",
                    "value": {
                      "action": "export",
                      "errors": {},
                      "last_updated": "2025-08-07T15:49:15Z",
                      "message": "Task Completed Successfully",
                      "status": "completed",
                      "triggered_time": "2025-08-07T15:49:05Z"
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedErrorResponse"
                },
                "example": {
                  "message": "Unauthorized"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "example": {
                  "code": "DEH1000E",
                  "message": " Not Found - The queried resource '8e83dbe3-ca4e-4fb3-a0fe-19a20d90a9b' is not available on the server. Check the 'reference_id' parameter"
                }
              }
            }
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X GET --location --header \"Authorization: Bearer ${iam_token}\" \\\n",
                      "  --header 'Accept: application/json' \\\n",
                      "  \"${base_url}/config/status/${reference_id}?action=import\""
                    ]
                  }
                ]
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "instanceConfigStatusOptions := appConfigurationService.NewInstanceConfigStatusOptions(\n",
                      "  \"testString\",\n",
                      "  \"import\",\n",
                      ")\n",
                      "\n",
                      "instanceConfigStatusResponse, response, err := appConfigurationService.InstanceConfigStatus(instanceConfigStatusOptions)\n",
                      "if err != nil {\n",
                      "  panic(err)\n",
                      "}\n",
                      "b, _ := json.MarshalIndent(instanceConfigStatusResponse, \"\", \"  \")\n",
                      "fmt.Println(string(b))"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    }
  },
  "components": {
    "parameters": {
      "expandParam": {
        "name": "expand",
        "in": "query",
        "description": "If set to `true`, returns expanded view of the resource details.",
        "required": false,
        "style": "form",
        "explode": false,
        "schema": {
          "type": "boolean"
        },
        "example": true
      },
      "EnvironmentsSortParam": {
        "name": "sort",
        "in": "query",
        "description": "Sort the environment details based on the specified attribute. By default, items are sorted by name.",
        "required": false,
        "explode": false,
        "style": "form",
        "schema": {
          "type": "string",
          "enum": [
            "created_time",
            "updated_time",
            "id",
            "name"
          ]
        },
        "example": "created_time"
      },
      "tagsParam": {
        "name": "tags",
        "in": "query",
        "description": "Filter the resources to be returned based on the associated tags. Specify the parameter as a list of comma separated tags. Returns resources associated with any of the specified tags.",
        "required": false,
        "explode": false,
        "style": "form",
        "schema": {
          "type": "string"
        },
        "example": "version 1.1,pre-release"
      },
      "featuresPropertiesSnapshotsIncludeParam": {
        "name": "include",
        "in": "query",
        "description": "Include feature, property, snapshots details in the response.",
        "required": false,
        "style": "form",
        "explode": false,
        "schema": {
          "type": "array",
          "minItems": 0,
          "maxItems": 20,
          "items": {
            "type": "string",
            "enum": [
              "features",
              "properties",
              "snapshots"
            ]
          }
        },
        "example": [
          "features",
          "properties",
          "snapshots"
        ]
      },
      "limitParam": {
        "name": "limit",
        "in": "query",
        "description": "The number of records to retrieve. By default, the list operation return the first 10 records. To retrieve different set of records, use `limit` with `offset` to page through the available records.",
        "required": false,
        "style": "form",
        "explode": false,
        "schema": {
          "type": "integer",
          "minimum": 1,
          "maximum": 100,
          "default": 10
        }
      },
      "offsetParam": {
        "name": "offset",
        "in": "query",
        "description": "The number of records to skip. By specifying `offset`, you retrieve a subset of items that starts with the `offset` value. Use `offset` with `limit` to page through the available records.",
        "required": false,
        "style": "form",
        "explode": false,
        "schema": {
          "type": "integer",
          "minimum": 0,
          "default": 0
        }
      },
      "searchParam": {
        "name": "search",
        "in": "query",
        "description": "Searches for the provided keyword and returns the appropriate row with that value. Here the search happens on the '[Name OR Tag]' of the entity",
        "required": false,
        "style": "form",
        "explode": false,
        "schema": {
          "type": "string"
        },
        "example": "test tag"
      },
      "environmentIdParam": {
        "name": "environment_id",
        "in": "path",
        "description": "Environment Id",
        "required": true,
        "style": "simple",
        "schema": {
          "type": "string"
        },
        "example": "environment_id"
      },
      "CollectionSortParam": {
        "name": "sort",
        "in": "query",
        "description": "Sort the collection details based on the specified attribute. By default, items are sorted by name.",
        "required": false,
        "explode": false,
        "style": "form",
        "schema": {
          "type": "string",
          "enum": [
            "created_time",
            "updated_time",
            "id",
            "name"
          ]
        },
        "example": "created_time"
      },
      "collectionFilterByFeaturesParam": {
        "name": "features",
        "in": "query",
        "description": "Filter collections by a list of comma separated features.",
        "required": false,
        "style": "form",
        "explode": false,
        "schema": {
          "type": "array",
          "minItems": 0,
          "maxItems": 20,
          "items": {
            "type": "string"
          }
        },
        "example": [
          "my-feature-id",
          "cycle-rentals"
        ]
      },
      "collectionFilterByPropertiesParam": {
        "name": "properties",
        "in": "query",
        "description": "Filter collections by a list of comma separated properties.",
        "required": false,
        "explode": false,
        "style": "form",
        "schema": {
          "type": "array",
          "minItems": 0,
          "maxItems": 20,
          "items": {
            "type": "string"
          }
        },
        "example": [
          "my-property-id",
          "email-property"
        ]
      },
      "collectionIdParam": {
        "name": "collection_id",
        "in": "path",
        "description": "Collection Id of the collection",
        "required": true,
        "style": "simple",
        "schema": {
          "type": "string"
        },
        "example": "collection_id"
      },
      "FeaturesSortParam": {
        "name": "sort",
        "in": "query",
        "description": "Sort the feature details based on the specified attribute. By default, items are sorted by name.",
        "required": false,
        "explode": false,
        "style": "form",
        "schema": {
          "type": "string",
          "enum": [
            "created_time",
            "updated_time",
            "id",
            "name"
          ]
        },
        "example": "created_time"
      },
      "featureFilterByCollectionsParam": {
        "name": "collections",
        "in": "query",
        "description": "Filter features by a list of comma separated collections.",
        "required": false,
        "style": "form",
        "explode": false,
        "schema": {
          "type": "array",
          "minItems": 0,
          "maxItems": 20,
          "items": {
            "type": "string"
          }
        },
        "example": [
          "my-collection-id",
          "ghzindiapvtltd"
        ]
      },
      "featureFilterBySegmentsParam": {
        "name": "segments",
        "in": "query",
        "description": "Filter features by a list of comma separated segments.",
        "required": false,
        "style": "form",
        "explode": false,
        "schema": {
          "type": "array",
          "minItems": 0,
          "maxItems": 20,
          "items": {
            "type": "string"
          }
        },
        "example": [
          "my-segment-id",
          "beta-users"
        ]
      },
      "ChangeRequestCollectionRuleIncludeParam": {
        "name": "include",
        "in": "query",
        "description": "Include the associated collections or targeting rules or change request details in the response.",
        "required": false,
        "style": "form",
        "explode": false,
        "schema": {
          "type": "array",
          "minItems": 0,
          "maxItems": 20,
          "items": {
            "type": "string",
            "enum": [
              "collections",
              "rules",
              "change_request"
            ]
          }
        },
        "example": [
          "collections",
          "rules",
          "change_request"
        ]
      },
      "featureIdParam": {
        "name": "feature_id",
        "in": "path",
        "description": "Feature Id",
        "required": true,
        "style": "simple",
        "schema": {
          "type": "string"
        },
        "example": "feature_id"
      },
      "ruleIdParam": {
        "name": "rule_id",
        "in": "path",
        "description": "rule id",
        "required": true,
        "style": "simple",
        "schema": {
          "type": "string"
        },
        "example": "rule_id"
      },
      "PropertiesSortParam": {
        "name": "sort",
        "in": "query",
        "description": "Sort the property details based on the specified attribute. By default, items are sorted by name.",
        "required": false,
        "explode": false,
        "style": "form",
        "schema": {
          "type": "string",
          "enum": [
            "created_time",
            "updated_time",
            "id",
            "name"
          ]
        },
        "example": "created_time"
      },
      "propertiesFilterByCollectionsParam": {
        "name": "collections",
        "in": "query",
        "description": "Filter properties by a list of comma separated collections.",
        "required": false,
        "style": "form",
        "explode": false,
        "schema": {
          "type": "array",
          "minItems": 0,
          "maxItems": 20,
          "items": {
            "type": "string"
          }
        },
        "example": [
          "my-collection-id",
          "ghzindiapvtltd"
        ]
      },
      "propertiesFilterBySegmentsParam": {
        "name": "segments",
        "in": "query",
        "description": "Filter properties by a list of comma separated segments.",
        "required": false,
        "style": "form",
        "explode": false,
        "schema": {
          "type": "array",
          "minItems": 0,
          "maxItems": 20,
          "items": {
            "type": "string"
          }
        },
        "example": [
          "my-segment-id",
          "beta-users"
        ]
      },
      "collectionRuleIncludeParam": {
        "name": "include",
        "in": "query",
        "description": "Include the associated collections or targeting rules details in the response.",
        "required": false,
        "style": "form",
        "explode": false,
        "schema": {
          "type": "array",
          "minItems": 0,
          "maxItems": 20,
          "items": {
            "type": "string",
            "enum": [
              "collections",
              "rules"
            ]
          }
        },
        "example": [
          "collections",
          "rules"
        ]
      },
      "propertyIdParam": {
        "name": "property_id",
        "in": "path",
        "description": "Property Id",
        "required": true,
        "style": "simple",
        "schema": {
          "type": "string"
        },
        "example": "property_id"
      },
      "SegmentsSortParam": {
        "name": "sort",
        "in": "query",
        "description": "Sort the segment details based on the specified attribute. By default, items are sorted by name.",
        "required": false,
        "explode": false,
        "style": "form",
        "schema": {
          "type": "string",
          "enum": [
            "created_time",
            "updated_time",
            "id",
            "name"
          ]
        },
        "example": "created_time"
      },
      "includeRulesParam": {
        "name": "include",
        "in": "query",
        "description": "Segment details to include the associated rules in the response.",
        "required": false,
        "style": "form",
        "explode": false,
        "schema": {
          "type": "string",
          "enum": [
            "rules"
          ]
        },
        "example": "rules"
      },
      "SegmentIdParam": {
        "name": "segment_id",
        "in": "path",
        "description": "Segment Id",
        "required": true,
        "style": "simple",
        "schema": {
          "type": "string"
        },
        "example": "segment_id"
      },
      "featuresPropertiesIncludeParam": {
        "name": "include",
        "in": "query",
        "description": "Include feature and property details in the response.",
        "required": false,
        "style": "form",
        "explode": false,
        "schema": {
          "type": "array",
          "minItems": 0,
          "maxItems": 20,
          "items": {
            "type": "string",
            "enum": [
              "features",
              "properties"
            ]
          }
        },
        "example": [
          "features",
          "properties"
        ]
      },
      "SnapshotsSortParam": {
        "name": "sort",
        "in": "query",
        "description": "Sort the git configurations details based on the specified attribute. By default, items are sorted by name.",
        "required": false,
        "explode": false,
        "style": "form",
        "schema": {
          "type": "string",
          "enum": [
            "created_time",
            "updated_time",
            "id",
            "name"
          ]
        },
        "example": "created_time"
      },
      "gitConfigFilterByCollectionIdParam": {
        "name": "collection_id",
        "in": "query",
        "description": "Filters the response based on the specified collection_id.",
        "required": false,
        "style": "form",
        "explode": false,
        "schema": {
          "type": "string"
        },
        "example": "collection_id"
      },
      "gitConfigFilterByEnvironmentIdParam": {
        "name": "environment_id",
        "in": "query",
        "description": "Filters the response based on the specified environment_id.",
        "required": false,
        "style": "form",
        "explode": false,
        "schema": {
          "type": "string"
        },
        "example": "environment_id"
      },
      "searchParamSnapshot": {
        "name": "search",
        "in": "query",
        "description": "Searches for the provided keyword and returns the appropriate row with that value. Here the search happens on the '[Name]' of the entity",
        "required": false,
        "style": "form",
        "explode": false,
        "schema": {
          "type": "string"
        },
        "example": "search_string"
      },
      "SnapshotIdParam": {
        "name": "git_config_id",
        "in": "path",
        "description": "Git Config Id",
        "required": true,
        "style": "simple",
        "schema": {
          "type": "string"
        },
        "example": "git_config_id"
      },
      "integrationIdParam": {
        "name": "integration_id",
        "in": "path",
        "description": "Integration Id of the integration",
        "required": true,
        "style": "simple",
        "schema": {
          "type": "string"
        },
        "example": "integration_id"
      },
      "cleanImport": {
        "name": "clean",
        "in": "query",
        "description": "Full instance import requires query parameter `clean=true` to perform wiping of the existing data.",
        "schema": {
          "type": "string"
        },
        "example": "true"
      },
      "ConfigGitConfigIdParam": {
        "name": "git_config_id",
        "in": "query",
        "description": "Git Config Id.",
        "required": true,
        "schema": {
          "type": "string"
        },
        "example": "git_config_id"
      },
      "ConfigAction": {
        "name": "action",
        "in": "query",
        "description": "Promote configuration to Git or Restore configuration from Git.",
        "required": true,
        "schema": {
          "$ref": "#/components/schemas/ConfigActionType"
        },
        "example": "promote"
      },
      "referenceidParam": {
        "name": "reference_id",
        "in": "path",
        "description": "AppConfiguration config status reference id",
        "required": true,
        "style": "simple",
        "schema": {
          "type": "string"
        }
      },
      "ConfigStatusAction": {
        "name": "action",
        "in": "query",
        "required": true,
        "description": "The type of config status that is to be fetched.",
        "schema": {
          "$ref": "#/components/schemas/ConfigStatusActionType"
        }
      }
    },
    "schemas": {
      "FeatureOutput": {
        "type": "object",
        "description": "Feature object",
        "required": [
          "feature_id",
          "name"
        ],
        "properties": {
          "feature_id": {
            "type": "string",
            "description": "Feature id."
          },
          "name": {
            "type": "string",
            "description": "Feature name."
          }
        },
        "example": {
          "feature_id": "cycle-rentals",
          "name": "Cycle Rentals"
        }
      },
      "PropertyOutput": {
        "type": "object",
        "description": "Property object",
        "required": [
          "property_id",
          "name"
        ],
        "properties": {
          "property_id": {
            "type": "string",
            "description": "Property id."
          },
          "name": {
            "type": "string",
            "description": "Property name."
          }
        },
        "example": {
          "property_id": "newyearday",
          "name": "NewYearDay"
        }
      },
      "SnapshotOutput": {
        "type": "object",
        "description": "Snapshot object",
        "required": [
          "git_config_id",
          "name"
        ],
        "properties": {
          "git_config_id": {
            "type": "string",
            "description": "Git Config id."
          },
          "name": {
            "type": "string",
            "description": "Git Config name."
          }
        },
        "example": {
          "git_config_id": "bootstrap-config",
          "name": "Bootstrap Configuration"
        }
      },
      "Environment": {
        "type": "object",
        "description": "Details of the environment.",
        "required": [
          "name",
          "environment_id"
        ],
        "properties": {
          "name": {
            "type": "string",
            "description": "Environment name. Allowed special characters are dot ( . ), hyphen( - ), underscore ( _ ) only",
            "maxLength": 256
          },
          "environment_id": {
            "type": "string",
            "description": "Environment id. Allowed special characters are dot ( . ), hyphen( - ), underscore ( _ ) only",
            "maxLength": 256
          },
          "description": {
            "type": "string",
            "description": "Environment description",
            "maxLength": 255
          },
          "tags": {
            "type": "string",
            "description": "Tags associated with the environment, allowed special characters are [_. ,-:]",
            "pattern": "^[a-zA-Z0-9_\\. ,\\-]+(:[a-zA-Z0-9_\\. ,\\-]+)*$"
          },
          "color_code": {
            "type": "string",
            "description": "Color code to distinguish the environment. The Hex code for the color. For example `#FF0000` for `red`.",
            "example": "#FDD13A"
          },
          "created_time": {
            "type": "string",
            "description": "Creation time of the environment.",
            "format": "date-time",
            "readOnly": true,
            "example": "2021-05-12T23:20:50.52Z"
          },
          "updated_time": {
            "type": "string",
            "description": "Last modified time of the environment data.",
            "readOnly": true,
            "format": "date-time",
            "example": "2021-05-12T23:20:50.52Z"
          },
          "href": {
            "type": "string",
            "readOnly": true,
            "description": "Environment URL"
          },
          "features": {
            "type": "array",
            "minItems": 0,
            "maxItems": 20,
            "description": "List of Features associated with the environment.",
            "readOnly": true,
            "items": {
              "$ref": "#/components/schemas/FeatureOutput"
            }
          },
          "properties": {
            "type": "array",
            "minItems": 0,
            "maxItems": 20,
            "description": "List of properties associated with the environment.",
            "readOnly": true,
            "items": {
              "$ref": "#/components/schemas/PropertyOutput"
            }
          },
          "snapshots": {
            "type": "array",
            "minItems": 0,
            "maxItems": 20,
            "description": "List of snapshots associated with the environment.",
            "readOnly": true,
            "items": {
              "$ref": "#/components/schemas/SnapshotOutput"
            }
          }
        },
        "example": {
          "name": "Dev environment",
          "environment_id": "dev-environment",
          "description": "Dev environment description",
          "tags": "development",
          "color_code": "#FDD13A",
          "created_time": "2021-05-12T23:20:50.52Z",
          "updated_time": "2021-05-12T23:20:50.52Z",
          "href": "https://us-south.apprapp.cloud.ibm.com/apprapp/feature/v1/instances/9xxxxx-xxxxx-xxxxx-b3cd-xxxxx/environments/dev-environment"
        }
      },
      "PaginatedListLimit": {
        "title": "PaginatedListLimit",
        "description": "The number of records that are retrieved in a list.",
        "type": "integer",
        "format": "int32",
        "default": 10
      },
      "PaginatedListOffset": {
        "title": "PaginatedListOffset",
        "description": "The number of records that are skipped in a list.",
        "type": "integer",
        "format": "int32",
        "default": 0
      },
      "TotalCount": {
        "title": "TotalCount",
        "description": "The total number of records.",
        "type": "integer",
        "format": "int32",
        "minimum": 0
      },
      "PageHref": {
        "title": "PageHref",
        "description": "URL to the page.",
        "type": "string",
        "format": "url"
      },
      "PaginatedListFirst": {
        "title": "PaginatedListFirst",
        "type": "object",
        "description": "URL to navigate to the first page of records.",
        "required": [
          "href"
        ],
        "properties": {
          "href": {
            "$ref": "#/components/schemas/PageHref"
          }
        }
      },
      "PaginatedListPrevious": {
        "title": "PaginatedListPrevious",
        "type": "object",
        "description": "URL to navigate to the previous list of records.",
        "required": [
          "href"
        ],
        "properties": {
          "href": {
            "$ref": "#/components/schemas/PageHref"
          }
        }
      },
      "PaginatedListNext": {
        "title": "PaginatedListNext",
        "type": "object",
        "description": "URL to navigate to the next list of records.",
        "required": [
          "href"
        ],
        "properties": {
          "href": {
            "$ref": "#/components/schemas/PageHref"
          }
        }
      },
      "PaginatedListLast": {
        "title": "PaginatedListLast",
        "type": "object",
        "description": "URL to navigate to the last page of records.",
        "required": [
          "href"
        ],
        "properties": {
          "href": {
            "$ref": "#/components/schemas/PageHref"
          }
        }
      },
      "EnvironmentList": {
        "title": "EnvironmentList",
        "description": "List of all environments.",
        "required": [
          "environments",
          "limit",
          "offset",
          "total_count",
          "first",
          "last"
        ],
        "type": "object",
        "properties": {
          "environments": {
            "type": "array",
            "minItems": 0,
            "maxItems": 20,
            "description": "Array of environments.",
            "items": {
              "$ref": "#/components/schemas/Environment"
            }
          },
          "limit": {
            "$ref": "#/components/schemas/PaginatedListLimit"
          },
          "offset": {
            "$ref": "#/components/schemas/PaginatedListOffset"
          },
          "total_count": {
            "$ref": "#/components/schemas/TotalCount"
          },
          "first": {
            "$ref": "#/components/schemas/PaginatedListFirst"
          },
          "previous": {
            "$ref": "#/components/schemas/PaginatedListPrevious"
          },
          "next": {
            "$ref": "#/components/schemas/PaginatedListNext"
          },
          "last": {
            "$ref": "#/components/schemas/PaginatedListLast"
          }
        },
        "example": {
          "environments": [
            {
              "name": "Dev environment",
              "environment_id": "dev-environment",
              "description": "Dev environment description",
              "tags": "development",
              "color_code": "#FDD13A",
              "created_time": "2021-05-12T23:20:50.52Z",
              "updated_time": "2021-05-12T23:20:50.52Z",
              "href": "https://us-south.apprapp.cloud.ibm.com/apprapp/feature/v1/instances/9xxxxx-xxxxx-xxxxx-b3cd-xxxxx/environments/dev-environment"
            }
          ],
          "limit": 10,
          "offset": 0,
          "total_count": 1,
          "first": {
            "href": "https://us-south.apprapp.cloud.ibm.com/apprapp/feature/v1/instances/9xxxxx-xxxxx-xxxxx-b3cd-xxxxx/environments?limit=10&offset=0"
          },
          "last": {
            "href": "https://us-south.apprapp.cloud.ibm.com/apprapp/feature/v1/instances/9xxxxx-xxxxx-xxxxx-b3cd-xxxxx/environments?limit=10&offset=0"
          }
        }
      },
      "UnauthorizedErrorResponse": {
        "type": "object",
        "description": "Error response information",
        "required": [
          "message"
        ],
        "properties": {
          "message": {
            "description": "The message describing the error.",
            "type": "string"
          }
        }
      },
      "ErrorResponse": {
        "type": "object",
        "description": "Error response information",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "description": "The error code returned by the server.",
            "type": "string"
          },
          "message": {
            "description": "The message describing the error.",
            "type": "string"
          }
        }
      },
      "UpdateEnvironment": {
        "type": "object",
        "description": "Environment attributes to be updated.",
        "properties": {
          "name": {
            "type": "string",
            "description": "Environment name. Allowed special characters are dot ( . ), hyphen( - ), underscore ( _ ) only",
            "maxLength": 256
          },
          "description": {
            "type": "string",
            "description": "Environment description",
            "maxLength": 255
          },
          "tags": {
            "type": "string",
            "description": "Tags associated with the environment, allowed special characters are [_. ,-:]",
            "pattern": "^[a-zA-Z0-9_\\. ,\\-]+(:[a-zA-Z0-9_\\. ,\\-]+)*$"
          },
          "color_code": {
            "type": "string",
            "description": "Color code to distinguish the environment. The Hex code for the color. For example `#FF0000` for `red`.",
            "example": "#FDD13A"
          }
        },
        "example": {
          "name": "Dev environment",
          "description": "Dev environment description",
          "tags": "development",
          "color_code": "#FDD13A"
        }
      },
      "Collection": {
        "type": "object",
        "description": "Details of the collection.",
        "required": [
          "name",
          "collection_id"
        ],
        "properties": {
          "name": {
            "type": "string",
            "description": "Collection name. Allowed special characters are dot ( . ), hyphen( - ), underscore ( _ ) only",
            "maxLength": 256
          },
          "collection_id": {
            "type": "string",
            "description": "Collection Id. Allowed special characters are dot ( . ), hyphen( - ), underscore ( _ ) only",
            "maxLength": 256
          },
          "description": {
            "type": "string",
            "description": "Collection description",
            "maxLength": 255
          },
          "tags": {
            "type": "string",
            "description": "Tags associated with the collection, allowed special characters are [_. ,-:]",
            "pattern": "^[a-zA-Z0-9_\\. ,\\-]+(:[a-zA-Z0-9_\\. ,\\-]+)*$"
          },
          "created_time": {
            "type": "string",
            "description": "Creation time of the collection.",
            "format": "date-time",
            "readOnly": true,
            "example": "2021-05-12T23:20:50.52Z"
          },
          "updated_time": {
            "type": "string",
            "description": "Last updated time of the collection data.",
            "format": "date-time",
            "readOnly": true,
            "example": "2021-05-12T23:20:50.52Z"
          },
          "href": {
            "type": "string",
            "readOnly": true,
            "description": "Collection URL"
          },
          "features": {
            "type": "array",
            "minItems": 0,
            "maxItems": 20,
            "description": "List of Features associated with the collection.",
            "readOnly": true,
            "items": {
              "$ref": "#/components/schemas/FeatureOutput"
            }
          },
          "properties": {
            "type": "array",
            "minItems": 0,
            "maxItems": 20,
            "description": "List of properties associated with the collection.",
            "readOnly": true,
            "items": {
              "$ref": "#/components/schemas/PropertyOutput"
            }
          },
          "snapshots": {
            "type": "array",
            "minItems": 0,
            "maxItems": 20,
            "description": "List of snapshots associated with the collection.",
            "readOnly": true,
            "items": {
              "$ref": "#/components/schemas/SnapshotOutput"
            }
          },
          "features_count": {
            "type": "integer",
            "description": "Number of features associated with the collection.",
            "readOnly": true
          },
          "properties_count": {
            "type": "integer",
            "description": "Number of properties associated with the collection.",
            "readOnly": true
          },
          "snapshot_count": {
            "type": "integer",
            "description": "Number of snapshot associated with the collection.",
            "readOnly": true
          }
        },
        "example": {
          "name": "GHz India Pvt Ltd",
          "collection_id": "ghzindiapvtltd",
          "description": "Collection for GHz Inc",
          "tags": "version: 1.1, pre-release",
          "created_time": "2020-01-09T00:16:07Z",
          "updated_time": "2020-03-09T12:16:07Z",
          "href": "https://us-south.apprapp.cloud.ibm.com/apprapp/feature/v1/instances/9xxxxx-xxxxx-xxxxx-b3cd-xxxxx/collections/ghzindiapvtltd",
          "features": [
            {
              "feature_id": "cycle-rentals",
              "name": "Cycle Rentals"
            },
            {
              "feature_id": "discountRate",
              "name": "Discount Rate"
            },
            {
              "feature_id": "longDistanceLimit",
              "name": "Long Distance Limit"
            }
          ],
          "properties": [
            {
              "property_id": "bigbillionday",
              "name": "BigBillionDay"
            },
            {
              "property_id": "newyearday",
              "name": "NewYearDay"
            }
          ],
          "features_count": 3,
          "properties_count": 2
        }
      },
      "CollectionList": {
        "title": "CollectionList",
        "description": "List of all Collections",
        "required": [
          "collections",
          "limit",
          "offset",
          "total_count",
          "first",
          "last"
        ],
        "type": "object",
        "properties": {
          "collections": {
            "type": "array",
            "minItems": 0,
            "maxItems": 20,
            "description": "Array of collections.",
            "items": {
              "$ref": "#/components/schemas/Collection"
            }
          },
          "limit": {
            "$ref": "#/components/schemas/PaginatedListLimit"
          },
          "offset": {
            "$ref": "#/components/schemas/PaginatedListOffset"
          },
          "total_count": {
            "$ref": "#/components/schemas/TotalCount"
          },
          "first": {
            "$ref": "#/components/schemas/PaginatedListFirst"
          },
          "previous": {
            "$ref": "#/components/schemas/PaginatedListPrevious"
          },
          "next": {
            "$ref": "#/components/schemas/PaginatedListNext"
          },
          "last": {
            "$ref": "#/components/schemas/PaginatedListLast"
          }
        },
        "example": {
          "collections": [
            {
              "name": "GHz India Pvt Ltd",
              "collection_id": "ghzindiapvtltd",
              "description": "Collection for GHz Inc",
              "tags": "version: 1.1, pre-release",
              "created_time": "2020-01-09T00:16:07Z",
              "updated_time": "2020-03-09T12:16:07Z",
              "href": "https://us-south.apprapp.cloud.ibm.com/apprapp/feature/v1/instances/9xxxxx-xxxxx-xxxxx-b3cd-xxxxx/collections/ghzindiapvtltd",
              "features": [
                {
                  "feature_id": "cycle-rentals",
                  "name": "Cycle Rentals"
                },
                {
                  "feature_id": "discountRate",
                  "name": "Discount Rate"
                },
                {
                  "feature_id": "longDistanceLimit",
                  "name": "Long Distance Limit"
                }
              ],
              "properties": [
                {
                  "property_id": "bigbillionday",
                  "name": "BigBillionDay"
                },
                {
                  "property_id": "newyear",
                  "name": "NewYear"
                }
              ],
              "features_count": 3,
              "properties_count": 2
            }
          ],
          "limit": 10,
          "offset": 0,
          "total_count": 1,
          "first": {
            "href": "https://us-south.apprapp.cloud.ibm.com/apprapp/feature/v1/instances/9xxxxx-xxxxx-xxxxx-b3cd-xxxxx/collections?limit=10&offset=0"
          },
          "last": {
            "href": "https://us-south.apprapp.cloud.ibm.com/apprapp/feature/v1/instances/9xxxxx-xxxxx-xxxxx-b3cd-xxxxx/collections?limit=10&offset=0"
          }
        }
      },
      "CollectionLite": {
        "title": "Collection",
        "type": "object",
        "description": "Details of the collection.",
        "required": [
          "name",
          "collection_id"
        ],
        "properties": {
          "name": {
            "type": "string",
            "description": "Collection name. Allowed special characters are dot ( . ), hyphen( - ), underscore ( _ ) only"
          },
          "collection_id": {
            "type": "string",
            "description": "Collection Id. Allowed special characters are dot ( . ), hyphen( - ), underscore ( _ ) only"
          },
          "description": {
            "type": "string",
            "description": "Collection description"
          },
          "tags": {
            "type": "string",
            "description": "Tags associated with the collection, allowed special characters are [_. ,-:]",
            "pattern": "^[a-zA-Z0-9_\\. ,\\-]+(:[a-zA-Z0-9_\\. ,\\-]+)*$"
          },
          "created_time": {
            "type": "string",
            "description": "Creation time of the collection.",
            "format": "date-time",
            "readOnly": true,
            "example": "2021-05-12T23:20:50.52Z"
          },
          "updated_time": {
            "type": "string",
            "description": "Last updated time of the collection data.",
            "format": "date-time",
            "readOnly": true,
            "example": "2021-05-12T23:20:50.52Z"
          },
          "href": {
            "type": "string",
            "readOnly": true,
            "description": "Collection URL"
          }
        },
        "example": {
          "name": "GHz India Pvt Ltd",
          "collection_id": "ghzindiapvtltd",
          "description": "Collection for GHz Inc",
          "tags": "version: 1.1, pre-release",
          "created_time": "2020-01-09T00:16:07Z",
          "updated_time": "2020-03-09T12:16:07Z",
          "href": "https://us-south.apprapp.cloud.ibm.com/apprapp/feature/v1/instances/9xxxxx-xxxxx-xxxxx-b3cd-xxxxx/collections/ghzindiapvtltd"
        }
      },
      "UpdateCollection": {
        "title": "UpdateCollection",
        "description": "Collection attributes to be updated.",
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Collection name. Allowed special characters are dot ( . ), hyphen( - ), underscore ( _ ) only",
            "maxLength": 256
          },
          "description": {
            "type": "string",
            "description": "Description of the collection",
            "maxLength": 255
          },
          "tags": {
            "type": "string",
            "description": "Tags associated with the collection, allowed special characters are [_. ,-:]",
            "pattern": "^[a-zA-Z0-9_\\. ,\\-]+(:[a-zA-Z0-9_\\. ,\\-]+)*$"
          }
        },
        "example": {
          "name": "Web Application",
          "description": "Collection for Web Application.",
          "tags": "version: 1.1, pre-release"
        }
      },
      "TargetSegments": {
        "title": "TargetSegments",
        "required": [
          "segments"
        ],
        "type": "object",
        "properties": {
          "segments": {
            "type": "array",
            "minItems": 0,
            "maxItems": 20,
            "items": {
              "type": "string"
            },
            "description": "List of segment ids that are used for targeting using the rule."
          }
        },
        "example": {
          "segments": [
            "betausers",
            "premiumusers"
          ]
        }
      },
      "FeatureSegmentRule": {
        "title": "FeatureSegmentRule",
        "required": [
          "rules",
          "value",
          "order"
        ],
        "type": "object",
        "properties": {
          "rules": {
            "type": "array",
            "minItems": 0,
            "maxItems": 20,
            "items": {
              "$ref": "#/components/schemas/TargetSegments"
            },
            "description": "The list of targeted segments."
          },
          "value": {
            "description": "Value to be used for evaluation for this rule. The value can be Boolean, SecretRef, String - TEXT , String - JSON , String - YAML or a Numeric value as per the `type` and `format` attributes."
          },
          "order": {
            "type": "integer",
            "format": "int32",
            "description": "Order of the rule, used during evaluation. The evaluation is performed in the order defined and the value associated with the first matching rule is used for evaluation."
          },
          "rollout_percentage": {
            "type": "integer",
            "description": "Rollout percentage associated with feature flag. Supported only for Lite and Enterprise plans.",
            "minimum": 0,
            "maximum": 100,
            "default": 100
          },
          "rule_id": {
            "type": "string",
            "description": "Rule id is an identifier used for identifying the rule",
            "maxLength": 100
          },
          "rule_name": {
            "type": "string",
            "description": "Name assigned to a particular rule.",
            "maxLength": 100
          }
        },
        "example": {
          "rules": [
            {
              "segments": [
                "betausers",
                "premiumusers"
              ]
            }
          ],
          "value": true,
          "order": 1,
          "rollout_percentage": 50,
          "rule_id": "RuleA",
          "rule_name": "Rule Name"
        }
      },
      "CollectionRef": {
        "title": "CollectionRef",
        "required": [
          "collection_id"
        ],
        "type": "object",
        "properties": {
          "collection_id": {
            "type": "string",
            "description": "Collection id."
          },
          "name": {
            "type": "string",
            "description": "Name of the collection",
            "readOnly": true
          }
        },
        "example": {
          "collection_id": "ghzinc"
        }
      },
      "Feature": {
        "title": "Feature",
        "description": "Details of the feature.",
        "required": [
          "name",
          "feature_id",
          "type",
          "enabled_value",
          "disabled_value"
        ],
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Feature name. Allowed special characters are dot ( . ), hyphen( - ), underscore ( _ ) only",
            "maxLength": 256
          },
          "feature_id": {
            "type": "string",
            "description": "Feature id. Allowed special characters are dot ( . ), hyphen( - ), underscore ( _ ) only",
            "maxLength": 256
          },
          "description": {
            "type": "string",
            "description": "Feature description",
            "maxLength": 255
          },
          "type": {
            "type": "string",
            "description": "Type of the feature (BOOLEAN, STRING, NUMERIC). If `type` is `STRING`, then `format` attribute is required.",
            "enum": [
              "BOOLEAN",
              "STRING",
              "NUMERIC"
            ]
          },
          "format": {
            "type": "string",
            "description": "Format of the feature (TEXT, JSON, YAML) and it is a required attribute when `type` is `STRING`. It is not required for `BOOLEAN` and `NUMERIC` types. This property is populated in the response body of `POST, PUT and GET` calls if the type `STRING` is used and not populated for `BOOLEAN` and `NUMERIC` types.",
            "enum": [
              "TEXT",
              "JSON",
              "YAML"
            ]
          },
          "enabled_value": {
            "description": "Value of the feature when it is enabled. The value can be Boolean, Numeric, String - TEXT, String - JSON, String - YAML value as per the `type` and `format` attributes."
          },
          "disabled_value": {
            "description": "Value of the feature when it is disabled. The value can be Boolean, Numeric, String - TEXT, String - JSON, String - YAML value as per the `type` and `format` attributes."
          },
          "enabled": {
            "type": "boolean",
            "description": "The state of the feature flag."
          },
          "rollout_percentage": {
            "type": "integer",
            "description": "Rollout percentage associated with feature flag. Supported only for Lite and Enterprise plans.",
            "minimum": 0,
            "maximum": 100,
            "default": 100
          },
          "tags": {
            "type": "string",
            "description": "Tags associated with the feature, allowed special characters are [_. ,-:]",
            "pattern": "^[a-zA-Z0-9_\\. ,\\-]+(:[a-zA-Z0-9_\\. ,\\-]+)*$"
          },
          "segment_rules": {
            "type": "array",
            "minItems": 0,
            "maxItems": 20,
            "items": {
              "$ref": "#/components/schemas/FeatureSegmentRule"
            },
            "description": "Specify the targeting rules that is used to set different feature flag values for different segments."
          },
          "segment_exists": {
            "type": "boolean",
            "description": "Denotes if the targeting rules are specified for the feature flag.",
            "readOnly": true
          },
          "collections": {
            "type": "array",
            "minItems": 0,
            "maxItems": 20,
            "items": {
              "$ref": "#/components/schemas/CollectionRef"
            },
            "description": "List of collection id representing the collections that are associated with the specified feature flag."
          },
          "change_request_number": {
            "type": "string",
            "description": "If you have enabled the workflow configuration and have a pending CR then this provides the change_request_number."
          },
          "change_request_status": {
            "type": "string",
            "description": "If you have enabled the workflow configuration and have a pending CR then this provides the change_request_status."
          },
          "created_time": {
            "type": "string",
            "description": "Creation time of the feature flag.",
            "format": "date-time",
            "readOnly": true,
            "example": "2021-05-12T23:20:50.52Z"
          },
          "updated_time": {
            "type": "string",
            "description": "Last modified time of the feature flag data.",
            "readOnly": true,
            "format": "date-time",
            "example": "2021-05-12T23:20:50.52Z"
          },
          "evaluation_time": {
            "type": "string",
            "description": "The last occurrence of the feature flag value evaluation.",
            "readOnly": true,
            "format": "date-time",
            "example": "2021-05-12T23:20:50.52Z"
          },
          "href": {
            "type": "string",
            "readOnly": true,
            "description": "Feature flag URL"
          }
        },
        "example": {
          "name": "Cycle Rentals",
          "feature_id": "cycle-rentals",
          "description": "Feature flag to enable Cycle Rentals",
          "type": "BOOLEAN",
          "enabled_value": true,
          "disabled_value": false,
          "enabled": true,
          "rollout_percentage": 90,
          "tags": "version: 1.1, pre-release",
          "change_request_status": "PENDING",
          "change_request_number": "CHG0030423",
          "segment_rules": [
            {
              "rules": [
                {
                  "segments": [
                    "betausers",
                    "premiumusers"
                  ]
                }
              ],
              "value": true,
              "order": 1,
              "rollout_percentage": 70,
              "rule_name": "rule-name-1",
              "rule_id": "rule-id-1"
            },
            {
              "rules": [
                {
                  "segments": [
                    "freeusers"
                  ]
                }
              ],
              "value": false,
              "order": 2,
              "rollout_percentage": 20,
              "rule_name": "rule-name-2",
              "rule_id": "rule-id-2"
            }
          ],
          "segment_exists": true,
          "collections": [
            {
              "collection_id": "ghzinc",
              "name": "GHz Inc"
            },
            {
              "collection_id": "phzsystems",
              "name": "PHz Systems"
            },
            {
              "collection_id": "ghzglobal",
              "name": "GHz Global"
            }
          ],
          "created_time": "2021-05-12T23:20:50.52Z",
          "updated_time": "2021-05-12T23:20:50.52Z",
          "href": "https://us-south.apprapp.cloud.ibm.com/apprapp/feature/v1/instances/9xxxxx-xxxxx-xxxxx-b3cd-xxxxx/environments/dev/features/cycle-rentals"
        }
      },
      "FeaturesList": {
        "title": "FeaturesList",
        "description": "List of all features",
        "required": [
          "features",
          "limit",
          "offset",
          "total_count",
          "first",
          "last"
        ],
        "type": "object",
        "properties": {
          "features": {
            "type": "array",
            "minItems": 0,
            "maxItems": 20,
            "description": "Array of Features.",
            "items": {
              "$ref": "#/components/schemas/Feature"
            }
          },
          "limit": {
            "$ref": "#/components/schemas/PaginatedListLimit"
          },
          "offset": {
            "$ref": "#/components/schemas/PaginatedListOffset"
          },
          "total_count": {
            "$ref": "#/components/schemas/TotalCount"
          },
          "first": {
            "$ref": "#/components/schemas/PaginatedListFirst"
          },
          "previous": {
            "$ref": "#/components/schemas/PaginatedListPrevious"
          },
          "next": {
            "$ref": "#/components/schemas/PaginatedListNext"
          },
          "last": {
            "$ref": "#/components/schemas/PaginatedListLast"
          }
        },
        "example": {
          "features": [
            {
              "name": "Cycle Rentals",
              "feature_id": "cycle-rentals",
              "description": "Feature flags to enable Cycle Rentals",
              "type": "BOOLEAN",
              "enabled_value": true,
              "disabled_value": false,
              "rollout_percentage": 90,
              "tags": "version: 1.1, pre-release",
              "change_request_status": "PENDING",
              "change_request_number": "CHG0030423",
              "segment_rules": [
                {
                  "rules": [
                    {
                      "segments": [
                        "betausers"
                      ]
                    }
                  ],
                  "value": 25,
                  "order": 1,
                  "rollout_percentage": 10,
                  "rule_id": "rule-id",
                  "rule_name": "rule name"
                }
              ],
              "segment_exists": true,
              "collections": [
                {
                  "collection_id": "web-app-collection"
                },
                {
                  "collection_id": "mobile-app-collection"
                }
              ],
              "created_time": "2020-06-09T00:16:07Z",
              "updated_time": "2020-06-09T12:16:07Z",
              "href": "https://us-south.apprapp.cloud.ibm.com/apprapp/feature/v1/instances/9xxxxx-xxxxx-xxxxx-b3cd-xxxxx/environments/dev/features/cycle-rentals"
            }
          ],
          "limit": 10,
          "offset": 0,
          "total_count": 1,
          "first": {
            "href": "https://us-south.apprapp.cloud.ibm.com/apprapp/feature/v1/instances/9xxxxx-xxxxx-xxxxx-b3cd-xxxxx/environments/dev/features?limit=10&offset=0"
          },
          "last": {
            "href": "https://us-south.apprapp.cloud.ibm.com/apprapp/feature/v1/instances/9xxxxx-xxxxx-xxxxx-b3cd-xxxxx/environments/dev/features?limit=10&offset=0"
          }
        }
      },
      "FeatureRequestBody": {
        "title": "FeatureRequestBody",
        "description": "Requset Body of the feature.",
        "required": [
          "name",
          "feature_id",
          "type",
          "enabled_value",
          "disabled_value"
        ],
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Feature name. Allowed special characters are dot ( . ), hyphen( - ), underscore ( _ ) only",
            "maxLength": 256
          },
          "feature_id": {
            "type": "string",
            "description": "Feature id. Allowed special characters are dot ( . ), hyphen( - ), underscore ( _ ) only",
            "maxLength": 256
          },
          "description": {
            "type": "string",
            "description": "Feature description",
            "maxLength": 255
          },
          "type": {
            "type": "string",
            "description": "Type of the feature (BOOLEAN, STRING, NUMERIC). If `type` is `STRING`, then `format` attribute is required.",
            "enum": [
              "BOOLEAN",
              "STRING",
              "NUMERIC"
            ]
          },
          "format": {
            "type": "string",
            "description": "Format of the feature (TEXT, JSON, YAML) and it is a required attribute when `type` is `STRING`. It is not required for `BOOLEAN` and `NUMERIC` types. This property is populated in the response body of `POST, PUT and GET` calls if the type `STRING` is used and not populated for `BOOLEAN` and `NUMERIC` types.",
            "enum": [
              "TEXT",
              "JSON",
              "YAML"
            ]
          },
          "enabled_value": {
            "description": "Value of the feature when it is enabled. The value can be Boolean, Numeric, String - TEXT, String - JSON, String - YAML value as per the `type` and `format` attributes."
          },
          "disabled_value": {
            "description": "Value of the feature when it is disabled. The value can be Boolean, Numeric, String - TEXT, String - JSON, String - YAML value as per the `type` and `format` attributes."
          },
          "enabled": {
            "type": "boolean",
            "description": "The state of the feature flag."
          },
          "rollout_percentage": {
            "type": "integer",
            "description": "Rollout percentage associated with feature flag. Supported only for Lite and Enterprise plans.",
            "minimum": 0,
            "maximum": 100,
            "default": 100
          },
          "tags": {
            "type": "string",
            "description": "Tags associated with the feature, allowed special characters are [_. ,-:]",
            "pattern": "^[a-zA-Z0-9_\\. ,\\-]+(:[a-zA-Z0-9_\\. ,\\-]+)*$"
          },
          "segment_rules": {
            "type": "array",
            "minItems": 0,
            "maxItems": 20,
            "items": {
              "$ref": "#/components/schemas/FeatureSegmentRule"
            },
            "description": "Specify the targeting rules that is used to set different feature flag values for different segments."
          },
          "collections": {
            "type": "array",
            "minItems": 0,
            "maxItems": 20,
            "items": {
              "$ref": "#/components/schemas/CollectionRef"
            },
            "description": "List of collection id representing the collections that are associated with the specified feature flag."
          }
        },
        "example": {
          "name": "Cycle Rentals",
          "feature_id": "cycle-rentals",
          "description": "Feature flag to enable Cycle Rentals",
          "type": "BOOLEAN",
          "enabled_value": true,
          "disabled_value": false,
          "enabled": true,
          "rollout_percentage": 90,
          "tags": "version: 1.1, pre-release",
          "segment_rules": [
            {
              "rules": [
                {
                  "segments": [
                    "betausers",
                    "premiumusers"
                  ]
                }
              ],
              "value": true,
              "order": 1,
              "rollout_percentage": 70
            },
            {
              "rules": [
                {
                  "segments": [
                    "freeusers"
                  ]
                }
              ],
              "value": false,
              "order": 2,
              "rollout_percentage": 20
            }
          ],
          "collections": [
            {
              "collection_id": "ghzinc",
              "name": "GHz Inc"
            },
            {
              "collection_id": "phzsystems",
              "name": "PHz Systems"
            },
            {
              "collection_id": "ghzglobal",
              "name": "GHz Global"
            }
          ]
        }
      },
      "CollectionUpdateRef": {
        "title": "CollectionUpdateRef",
        "required": [
          "collection_id"
        ],
        "type": "object",
        "properties": {
          "collection_id": {
            "type": "string",
            "description": "Collection id."
          },
          "deleted": {
            "type": "boolean",
            "description": "Remove the association with the given collection_id if deleted is `true`."
          }
        },
        "example": {
          "collection_id": "default-collection",
          "deleted": true
        }
      },
      "UpdateFeature": {
        "title": "UpdateFeature",
        "description": "Feature flag attributes to be updated",
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Feature name. Allowed special characters are dot ( . ), hyphen( - ), underscore ( _ ) only",
            "maxLength": 256
          },
          "description": {
            "type": "string",
            "description": "Feature description",
            "maxLength": 255
          },
          "enabled_value": {
            "description": "Value of the feature when it is enabled. The value can be Boolean, Numeric, String - TEXT, String - JSON, String - YAML value as per the `type` and `format` attributes."
          },
          "disabled_value": {
            "description": "Value of the feature when it is disabled. The value can be Boolean, Numeric, String - TEXT, String - JSON, String - YAML value as per the `type` and `format` attributes."
          },
          "enabled": {
            "type": "boolean",
            "description": "The state of the feature flag."
          },
          "rollout_percentage": {
            "type": "integer",
            "description": "Rollout percentage associated with feature flag. Supported only for Lite and Enterprise plans.",
            "minimum": 0,
            "maximum": 100,
            "default": 100
          },
          "tags": {
            "type": "string",
            "description": "Tags associated with the feature, allowed special characters are [_. ,-:]",
            "pattern": "^[a-zA-Z0-9_\\. ,\\-]+(:[a-zA-Z0-9_\\. ,\\-]+)*$"
          },
          "segment_rules": {
            "type": "array",
            "minItems": 0,
            "maxItems": 20,
            "items": {
              "$ref": "#/components/schemas/FeatureSegmentRule"
            },
            "description": "Specify the targeting rules that is used to set different property values for different segments."
          },
          "collections": {
            "type": "array",
            "minItems": 0,
            "maxItems": 20,
            "items": {
              "$ref": "#/components/schemas/CollectionUpdateRef"
            },
            "description": "List of collection id representing the collections that are associated with the specified property."
          }
        },
        "example": {
          "name": "Cycle Rentals",
          "description": "Feature flags to enable Cycle Rentals",
          "enabled_value": true,
          "disabled_value": false,
          "enabled": true,
          "rollout_percentage": 90,
          "tags": "version: 1.1, yet-to-release",
          "segment_rules": [
            {
              "rules": [
                {
                  "segments": [
                    "betausers",
                    "premiumusers"
                  ]
                }
              ],
              "value": true,
              "order": 1,
              "rollout_percentage": 90
            },
            {
              "rules": [
                {
                  "segments": [
                    "freeusers"
                  ]
                }
              ],
              "value": false,
              "order": 2,
              "rollout_percentage": 70
            }
          ],
          "collections": [
            {
              "collection_id": "ghzinc"
            },
            {
              "collection_id": "phzsystems"
            },
            {
              "collection_id": "default-collection",
              "deleted": true
            }
          ]
        }
      },
      "UpdateFeatureValues": {
        "title": "UpdateFeatureValues",
        "description": "Feature attributes to be updated",
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Feature name. Allowed special characters are dot ( . ), hyphen( - ), underscore ( _ ) only",
            "maxLength": 256
          },
          "description": {
            "type": "string",
            "description": "Feature description",
            "maxLength": 255
          },
          "tags": {
            "type": "string",
            "description": "Tags associated with the feature, allowed special characters are [_. ,-:]",
            "pattern": "^[a-zA-Z0-9_\\. ,\\-]+(:[a-zA-Z0-9_\\. ,\\-]+)*$"
          },
          "enabled_value": {
            "description": "Value of the feature when it is enabled. The value can be Boolean, Numeric, String - TEXT, String - JSON, String - YAML value as per the `type` and `format` attributes."
          },
          "disabled_value": {
            "description": "Value of the feature when it is disabled. The value can be Boolean, Numeric, String - TEXT, String - JSON, String - YAML value as per the `type` and `format` attributes."
          },
          "rollout_percentage": {
            "type": "integer",
            "description": "Rollout percentage associated with feature flag. Supported only for Lite and Enterprise plans.",
            "minimum": 0,
            "maximum": 100,
            "default": 100
          },
          "segment_rules": {
            "type": "array",
            "minItems": 0,
            "maxItems": 20,
            "items": {
              "$ref": "#/components/schemas/FeatureSegmentRule"
            },
            "description": "Specify the targeting rules that is used to set different property values for different segments."
          }
        },
        "example": {
          "name": "Cycle Rentals",
          "description": "description",
          "tags": "tag1",
          "enabled_value": true,
          "disabled_value": false,
          "rollout_percentage": 100,
          "segment_rules": [
            {
              "rules": [
                {
                  "segments": [
                    "betausers",
                    "premiumusers"
                  ]
                }
              ],
              "value": true,
              "order": 1,
              "rollout_percentage": 100
            },
            {
              "rules": [
                {
                  "segments": [
                    "freeusers"
                  ]
                }
              ],
              "value": false,
              "order": 2,
              "rollout_percentage": 100
            }
          ]
        }
      },
      "ToggleFeature": {
        "title": "ToggleFeature",
        "description": "Toggle the state of the feature flag as either enabled or disabled.",
        "required": [
          "enabled"
        ],
        "type": "object",
        "properties": {
          "enabled": {
            "type": "boolean",
            "description": "The state of the feature flag"
          }
        },
        "example": {
          "enabled": true
        }
      },
      "FeatureSegmentRuleWithRuleIdCreateRequestBody": {
        "title": "FeatureSegmentRuleWithRuleIdCreateRequestBody",
        "required": [
          "rules",
          "value",
          "rule_id"
        ],
        "type": "object",
        "properties": {
          "rules": {
            "type": "array",
            "minItems": 0,
            "maxItems": 20,
            "items": {
              "$ref": "#/components/schemas/TargetSegments"
            },
            "description": "The list of targeted segments."
          },
          "value": {
            "description": "Value to be used for evaluation for this rule. The value can be Boolean, SecretRef, String - TEXT , String - JSON , String - YAML or a Numeric value as per the `type` and `format` attributes."
          },
          "rule_id": {
            "type": "string",
            "description": "Rule id is an identifier used for identifying the rule",
            "maxLength": 100
          },
          "rule_name": {
            "type": "string",
            "description": "Name assigned to a particular rule.",
            "maxLength": 100
          },
          "rollout_percentage": {
            "type": "integer",
            "description": "Rollout percentage associated with feature flag. Supported only for Lite and Enterprise plans.",
            "minimum": 0,
            "maximum": 100,
            "default": 100
          }
        },
        "example": {
          "rules": [
            {
              "segments": [
                "betausers",
                "premiumusers"
              ]
            }
          ],
          "value": true,
          "rollout_percentage": 50,
          "rule_id": "RuleA",
          "rule_name": "Rule Name"
        }
      },
      "FeatureSegmentRuleWithRuleId": {
        "title": "FeatureSegmentRuleWithRuleId",
        "required": [
          "rules",
          "value",
          "rule_id"
        ],
        "type": "object",
        "properties": {
          "rules": {
            "type": "array",
            "minItems": 0,
            "maxItems": 20,
            "items": {
              "$ref": "#/components/schemas/TargetSegments"
            },
            "description": "The list of targeted segments."
          },
          "value": {
            "description": "Value to be used for evaluation for this rule. The value can be Boolean, SecretRef, String - TEXT , String - JSON , String - YAML or a Numeric value as per the `type` and `format` attributes."
          },
          "rule_id": {
            "type": "string",
            "description": "Rule id is an identifier used for identifying the rule",
            "maxLength": 100
          },
          "rule_name": {
            "type": "string",
            "description": "Name assigned to a particular rule.",
            "maxLength": 100
          },
          "rollout_percentage": {
            "type": "integer",
            "description": "Rollout percentage associated with feature flag. Supported only for Lite and Enterprise plans.",
            "minimum": 0,
            "maximum": 100,
            "default": 100
          },
          "order": {
            "type": "integer",
            "format": "int32",
            "description": "Order of the rule, used during evaluation. The evaluation is performed in the order defined and the value associated with the first matching rule is used for evaluation."
          },
          "href": {
            "type": "string",
            "readOnly": true,
            "description": "Feature flag rule URL"
          }
        },
        "example": {
          "rules": [
            {
              "segments": [
                "betausers",
                "premiumusers"
              ]
            }
          ],
          "value": true,
          "rollout_percentage": 50,
          "order": 1,
          "rule_id": "RuleA",
          "rule_name": "Rule Name",
          "href": "https://us-south.apprapp.cloud.ibm.com/apprapp/feature/v1/instances/9xxxxx-xxxxx-xxxxx-b3cd-xxxxx/environments/dev/features/cycle-rentals/rules/RuleA"
        }
      },
      "FeatureSegmentRuleListWithRuleId": {
        "title": "FeatureSegmentRuleListWithRuleId",
        "required": [
          "segment_rules",
          "limit",
          "offset",
          "total_count",
          "first",
          "last"
        ],
        "type": "object",
        "properties": {
          "segment_rules": {
            "type": "array",
            "minItems": 0,
            "maxItems": 20,
            "items": {
              "$ref": "#/components/schemas/FeatureSegmentRuleWithRuleId"
            },
            "description": "Array of Segment Rules"
          },
          "limit": {
            "$ref": "#/components/schemas/PaginatedListLimit"
          },
          "offset": {
            "$ref": "#/components/schemas/PaginatedListOffset"
          },
          "total_count": {
            "$ref": "#/components/schemas/TotalCount"
          },
          "first": {
            "$ref": "#/components/schemas/PaginatedListFirst"
          },
          "previous": {
            "$ref": "#/components/schemas/PaginatedListPrevious"
          },
          "next": {
            "$ref": "#/components/schemas/PaginatedListNext"
          },
          "last": {
            "$ref": "#/components/schemas/PaginatedListLast"
          }
        },
        "example": {
          "segment_rules": [
            {
              "rules": [
                {
                  "segments": [
                    "betausers",
                    "premiumusers"
                  ]
                }
              ],
              "value": true,
              "order": 1,
              "rollout_percentage": 50,
              "rule_id": "RuleA",
              "rule_name": "Rule Name",
              "href": "https://us-south.apprapp.cloud.ibm.com/apprapp/feature/v1/instances/9xxxxx-xxxxx-xxxxx-b3cd-xxxxx/environments/dev/features/cycle-rentals/rules/RuleA"
            }
          ],
          "offset": 0,
          "limit": 10,
          "total_count": 2,
          "first": {
            "href": "https://us-south.apprapp.cloud.ibm.com/apprapp/feature/v1/instances/9xxxxx-xxxxx-xxxxx-b3cd-xxxxx/environments/dev/features/cycle-rentals/rules?offset=0&size=10"
          },
          "last": {
            "href": "https://us-south.apprapp.cloud.ibm.com/apprapp/feature/v1/instances/9xxxxx-xxxxx-xxxxx-b3cd-xxxxx/environments/dev/features/cycle-rentals/rules?offset=0&size=10"
          }
        }
      },
      "FeatureSegmentRuleWithRuleIdUpdateRequestBody": {
        "title": "FeatureSegmentRuleWithRuleIdUpdateRequestBody",
        "type": "object",
        "properties": {
          "rules": {
            "type": "array",
            "minItems": 0,
            "maxItems": 20,
            "items": {
              "$ref": "#/components/schemas/TargetSegments"
            },
            "description": "The list of targeted segments."
          },
          "value": {
            "description": "Value to be used for evaluation for this rule. The value can be Boolean, SecretRef, String - TEXT , String - JSON , String - YAML or a Numeric value as per the `type` and `format` attributes."
          },
          "rule_name": {
            "type": "string",
            "description": "Name assigned to a particular rule.",
            "maxLength": 100
          },
          "rollout_percentage": {
            "type": "integer",
            "description": "Rollout percentage associated with feature flag. Supported only for Lite and Enterprise plans.",
            "minimum": 0,
            "maximum": 100,
            "default": 100
          }
        },
        "example": {
          "rules": [
            {
              "segments": [
                "betausers",
                "premiumusers"
              ]
            }
          ],
          "value": true,
          "rollout_percentage": 50,
          "rule_name": "Rule Name"
        }
      },
      "ReoderFeatureRulesByMove": {
        "title": "ReoderFeatureRulesByMove",
        "required": [
          "action",
          "rule_id",
          "order"
        ],
        "type": "object",
        "properties": {
          "action": {
            "type": "string",
            "description": "Rules can be re-ordered either by `swap` or `move`"
          },
          "rule_id": {
            "type": "string",
            "description": "Rule id which the user want to move"
          },
          "order": {
            "type": "integer",
            "description": "specify the target order that the rule must be moved"
          }
        },
        "example": {
          "action": "move",
          "rule_id": "RuleA",
          "order": 1
        }
      },
      "ReorderFeatureRulesBySwap": {
        "title": "ReorderFeatureRulesBySwap",
        "required": [
          "action",
          "source_rule_id",
          "target_rule_id"
        ],
        "type": "object",
        "properties": {
          "action": {
            "type": "string",
            "description": "Rules can be re-ordered either by `swap` or `move`"
          },
          "source_rule_id": {
            "type": "string",
            "description": "Rule id which the user want to swap"
          },
          "target_rule_id": {
            "type": "string",
            "description": "Rule id which the user want to swap"
          }
        },
        "example": {
          "action": "swap",
          "source_rule_id": "RuleM",
          "target_rule_id": "RuleE"
        }
      },
      "SegmentRule": {
        "title": "SegmentRule",
        "required": [
          "rules",
          "value",
          "order"
        ],
        "type": "object",
        "properties": {
          "rules": {
            "type": "array",
            "minItems": 0,
            "maxItems": 20,
            "items": {
              "$ref": "#/components/schemas/TargetSegments"
            },
            "description": "The list of targeted segments."
          },
          "value": {
            "description": "Value to be used for evaluation for this rule. The value can be Boolean, SecretRef, String - TEXT , String - JSON , String - YAML or a Numeric value as per the `type` and `format` attributes."
          },
          "order": {
            "type": "integer",
            "format": "int32",
            "description": "Order of the rule, used during evaluation. The evaluation is performed in the order defined and the value associated with the first matching rule is used for evaluation."
          }
        },
        "example": {
          "rules": [
            {
              "segments": [
                "betausers",
                "premiumusers"
              ]
            }
          ],
          "value": true,
          "order": 1
        }
      },
      "Property": {
        "type": "object",
        "description": "Details of the property.",
        "required": [
          "name",
          "property_id",
          "type",
          "value"
        ],
        "properties": {
          "name": {
            "type": "string",
            "description": "Property name. Allowed special characters are dot ( . ), hyphen( - ), underscore ( _ ) only",
            "maxLength": 256
          },
          "property_id": {
            "type": "string",
            "description": "Property id. Allowed special characters are dot ( . ), hyphen( - ), underscore ( _ ) only",
            "maxLength": 256
          },
          "description": {
            "type": "string",
            "description": "Property description",
            "maxLength": 255
          },
          "type": {
            "type": "string",
            "description": "Type of the property (BOOLEAN, STRING, NUMERIC, SECRETREF). If `type` is `STRING`, then `format` attribute is required.",
            "enum": [
              "BOOLEAN",
              "STRING",
              "NUMERIC",
              "SECRETREF"
            ]
          },
          "format": {
            "type": "string",
            "description": "Format of the property (TEXT, JSON, YAML) and it is a required attribute when `type` is `STRING`. It is not required for `BOOLEAN`, `NUMERIC` or `SECRETREF` types. This attribute is populated in the response body of `POST, PUT and GET` calls if the type `STRING` is used and not populated for `BOOLEAN`, `NUMERIC` and `SECRETREF` types.",
            "enum": [
              "TEXT",
              "JSON",
              "YAML"
            ]
          },
          "value": {
            "description": "Value of the Property. The value can be Boolean, Numeric, SecretRef, String - TEXT, String - JSON, String - YAML as per the `type` and `format` attributes."
          },
          "tags": {
            "type": "string",
            "description": "Tags associated with the property, allowed special characters are [_. ,-:]",
            "pattern": "^[a-zA-Z0-9_\\. ,\\-]+(:[a-zA-Z0-9_\\. ,\\-]+)*$"
          },
          "segment_rules": {
            "type": "array",
            "minItems": 0,
            "maxItems": 20,
            "items": {
              "$ref": "#/components/schemas/SegmentRule"
            },
            "description": "Specify the targeting rules that is used to set different property values for different segments."
          },
          "segment_exists": {
            "type": "boolean",
            "description": "Denotes if the targeting rules are specified for the property.",
            "readOnly": true
          },
          "collections": {
            "type": "array",
            "minItems": 0,
            "maxItems": 20,
            "items": {
              "$ref": "#/components/schemas/CollectionRef"
            },
            "description": "List of collection id representing the collections that are associated with the specified property."
          },
          "created_time": {
            "type": "string",
            "description": "Creation time of the property.",
            "format": "date-time",
            "readOnly": true,
            "example": "2021-05-12T23:20:50.52Z"
          },
          "updated_time": {
            "type": "string",
            "description": "Last modified time of the property data.",
            "readOnly": true,
            "format": "date-time",
            "example": "2021-05-12T23:20:50.52Z"
          },
          "evaluation_time": {
            "type": "string",
            "description": "The last occurrence of the property value evaluation.",
            "readOnly": true,
            "format": "date-time",
            "example": "2021-05-12T23:20:50.52Z"
          },
          "href": {
            "type": "string",
            "readOnly": true,
            "description": "Property URL."
          }
        },
        "example": {
          "name": "Email property",
          "property_id": "email-property",
          "description": "Property for email",
          "type": "BOOLEAN",
          "value": true,
          "tags": "version: 1.1, pre-release",
          "segment_rules": [
            {
              "rules": [
                {
                  "segments": [
                    "betausers",
                    "premiumusers"
                  ]
                }
              ],
              "value": true,
              "order": 1
            },
            {
              "rules": [
                {
                  "segments": [
                    "freeusers"
                  ]
                }
              ],
              "value": false,
              "order": 2
            }
          ],
          "segment_exists": true,
          "collections": [
            {
              "collection_id": "ghzinc"
            },
            {
              "collection_id": "phzsystems"
            },
            {
              "collection_id": "ghzglobal"
            }
          ],
          "created_time": "2021-05-12T23:20:50.52Z",
          "updated_time": "2021-05-12T23:20:50.52Z",
          "href": "https://us-south.apprapp.cloud.ibm.com/apprapp/feature/v1/instances/9xxxxx-xxxxx-xxxxx-b3cd-xxxxx/environments/dev/properties/email-property"
        }
      },
      "PropertiesList": {
        "title": "PropertiesList",
        "description": "List of all properties.",
        "required": [
          "properties",
          "limit",
          "offset",
          "total_count",
          "first",
          "last"
        ],
        "type": "object",
        "properties": {
          "properties": {
            "type": "array",
            "minItems": 0,
            "maxItems": 20,
            "description": "Array of properties.",
            "items": {
              "$ref": "#/components/schemas/Property"
            }
          },
          "limit": {
            "$ref": "#/components/schemas/PaginatedListLimit"
          },
          "offset": {
            "$ref": "#/components/schemas/PaginatedListOffset"
          },
          "total_count": {
            "$ref": "#/components/schemas/TotalCount"
          },
          "first": {
            "$ref": "#/components/schemas/PaginatedListFirst"
          },
          "previous": {
            "$ref": "#/components/schemas/PaginatedListPrevious"
          },
          "next": {
            "$ref": "#/components/schemas/PaginatedListNext"
          },
          "last": {
            "$ref": "#/components/schemas/PaginatedListLast"
          }
        },
        "example": {
          "properties": [
            {
              "name": "Email property",
              "property_id": "email-property",
              "description": "Property for email",
              "type": "BOOLEAN",
              "value": true,
              "tags": "version: 1.1, pre-release",
              "segment_rules": [
                {
                  "rules": [
                    {
                      "segments": [
                        "betausers",
                        "premiumusers"
                      ]
                    }
                  ],
                  "value": true,
                  "order": 1
                },
                {
                  "rules": [
                    {
                      "segments": [
                        "freeusers"
                      ]
                    }
                  ],
                  "value": false,
                  "order": 2
                }
              ],
              "segment_exists": true,
              "collections": [
                {
                  "collection_id": "ghzinc"
                },
                {
                  "collection_id": "phzsystems"
                },
                {
                  "collection_id": "ghzglobal"
                }
              ],
              "created_time": "2021-05-12T23:20:50.52Z",
              "updated_time": "2021-05-12T23:20:50.52Z",
              "href": "https://us-south.apprapp.cloud.ibm.com/apprapp/feature/v1/instances/9xxxxx-xxxxx-xxxxx-b3cd-xxxxx/environments/dev/properties/email-property"
            }
          ],
          "limit": 10,
          "offset": 0,
          "total_count": 1,
          "first": {
            "href": "https://us-south.apprapp.cloud.ibm.com/apprapp/feature/v1/instances/9xxxxx-xxxxx-xxxxx-b3cd-xxxxx/environments/dev/properties?limit=10&offset=0"
          },
          "last": {
            "href": "https://us-south.apprapp.cloud.ibm.com/apprapp/feature/v1/instances/9xxxxx-xxxxx-xxxxx-b3cd-xxxxx/environments/dev/properties?limit=10&offset=0"
          }
        }
      },
      "UpdateProperty": {
        "title": "UpdateProperty",
        "description": "Property attributes to be updated.",
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Property name. Allowed special characters are dot ( . ), hyphen( - ), underscore ( _ ) only",
            "maxLength": 256
          },
          "description": {
            "type": "string",
            "description": "Property description",
            "maxLength": 255
          },
          "value": {
            "description": "Value of the Property. The value can be Boolean, Numeric, SecretRef, String - TEXT, String - JSON, String - YAML as per the `type` and `format` attributes."
          },
          "tags": {
            "type": "string",
            "description": "Tags associated with the property, allowed special characters are [_. ,-:]",
            "pattern": "^[a-zA-Z0-9_\\. ,\\-]+(:[a-zA-Z0-9_\\. ,\\-]+)*$"
          },
          "segment_rules": {
            "type": "array",
            "minItems": 0,
            "maxItems": 20,
            "items": {
              "$ref": "#/components/schemas/SegmentRule"
            },
            "description": "Specify the targeting rules that is used to set different property values for different segments."
          },
          "collections": {
            "type": "array",
            "minItems": 0,
            "maxItems": 20,
            "items": {
              "$ref": "#/components/schemas/CollectionUpdateRef"
            },
            "description": "List of collection id representing the collections that are associated with the specified property."
          }
        },
        "example": {
          "name": "Email property",
          "description": "Property for email",
          "value": true,
          "tags": "version: 1.1, pre-release",
          "segment_rules": [
            {
              "rules": [
                {
                  "segments": [
                    "betausers",
                    "premiumusers"
                  ]
                }
              ],
              "value": true,
              "order": 1
            },
            {
              "rules": [
                {
                  "segments": [
                    "freeusers"
                  ]
                }
              ],
              "value": false,
              "order": 2
            }
          ],
          "collections": [
            {
              "collection_id": "ghzinc"
            },
            {
              "collection_id": "phzsystems"
            },
            {
              "collection_id": "ghzglobal"
            },
            {
              "collection_id": "default-collection",
              "deleted": true
            }
          ]
        }
      },
      "UpdatePropertyValues": {
        "title": "UpdatePropertyValues",
        "description": "Property attributes to be updated",
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Property name. Allowed special characters are dot ( . ), hyphen( - ), underscore ( _ ) only",
            "maxLength": 256
          },
          "description": {
            "type": "string",
            "description": "Property description",
            "maxLength": 255
          },
          "tags": {
            "type": "string",
            "description": "Tags associated with the property, allowed special characters are [_. ,-:]",
            "pattern": "^[a-zA-Z0-9_\\. ,\\-]+(:[a-zA-Z0-9_\\. ,\\-]+)*$"
          },
          "value": {
            "description": "Value of the Property. The value can be Boolean, Numeric, SecretRef, String - TEXT, String - JSON, String - YAML as per the `type` and `format` attributes."
          },
          "segment_rules": {
            "type": "array",
            "minItems": 0,
            "maxItems": 20,
            "items": {
              "$ref": "#/components/schemas/SegmentRule"
            },
            "description": "Specify the targeting rules that is used to set different property values for different segments."
          }
        },
        "example": {
          "name": "Email property",
          "description": "Property for email",
          "tags": "version: 1.1, pre-release",
          "value": true,
          "segment_rules": [
            {
              "rules": [
                {
                  "segments": [
                    "betausers",
                    "premiumusers"
                  ]
                }
              ],
              "value": true,
              "order": 1
            },
            {
              "rules": [
                {
                  "segments": [
                    "freeusers"
                  ]
                }
              ],
              "value": false,
              "order": 2
            }
          ]
        }
      },
      "Rule": {
        "title": "Rule",
        "description": "Rule is used to determine if the entity belongs to the segment during feature / property evaluation.",
        "required": [
          "attribute_name",
          "operator",
          "values"
        ],
        "type": "object",
        "properties": {
          "attribute_name": {
            "type": "string",
            "description": "Attribute name."
          },
          "operator": {
            "type": "string",
            "description": "Operator to be used for the evaluation if the entity belongs to the segment.",
            "enum": [
              "is",
              "isNot",
              "contains",
              "notContains",
              "startsWith",
              "notStartsWith",
              "endsWith",
              "notEndsWith",
              "greaterThan",
              "lesserThan",
              "greaterThanEquals",
              "lesserThanEquals"
            ]
          },
          "values": {
            "type": "array",
            "minItems": 0,
            "maxItems": 20,
            "items": {
              "type": "string",
              "description": "Value to be used to evaluate if the entity belongs to the segment."
            },
            "description": "List of values. Entities matching any of the given values will be considered to belong to the segment."
          }
        },
        "example": {
          "attribute_name": "email",
          "operator": "endsWith",
          "values": [
            "@in.mnc.com",
            "@us.mnc.com"
          ]
        }
      },
      "Segment": {
        "title": "Segment",
        "description": "Details of the segment.",
        "required": [
          "name",
          "segment_id",
          "rules"
        ],
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Segment name. Allowed special characters are dot ( . ), hyphen( - ), underscore ( _ ) only",
            "maxLength": 256
          },
          "segment_id": {
            "type": "string",
            "description": "Segment id. Allowed special characters are dot ( . ), hyphen( - ), underscore ( _ ) only",
            "maxLength": 256
          },
          "description": {
            "type": "string",
            "description": "Segment description",
            "maxLength": 255
          },
          "tags": {
            "type": "string",
            "description": "Tags associated with the segments, allowed special characters are [_. ,-:]",
            "pattern": "^[a-zA-Z0-9_\\. ,\\-]+(:[a-zA-Z0-9_\\. ,\\-]+)*$"
          },
          "rules": {
            "type": "array",
            "minItems": 0,
            "maxItems": 20,
            "items": {
              "$ref": "#/components/schemas/Rule"
            },
            "description": "List of rules that determine if the entity belongs to the segment during feature / property evaluation. An entity is identified by an unique identifier and the attributes that it defines. Any feature flag and property value evaluation is performed in the context of an entity when it is targeted to segments."
          },
          "created_time": {
            "type": "string",
            "description": "Creation time of the segment.",
            "format": "date-time",
            "readOnly": true,
            "example": "2021-05-12T23:20:50.52Z"
          },
          "updated_time": {
            "type": "string",
            "description": "Last modified time of the segment data.",
            "readOnly": true,
            "format": "date-time",
            "example": "2021-05-12T23:20:50.52Z"
          },
          "href": {
            "type": "string",
            "readOnly": true,
            "description": "Segment URL."
          },
          "features": {
            "type": "array",
            "minItems": 0,
            "maxItems": 20,
            "description": "List of Features associated with the segment.",
            "readOnly": true,
            "items": {
              "$ref": "#/components/schemas/FeatureOutput"
            }
          },
          "properties": {
            "type": "array",
            "minItems": 0,
            "maxItems": 20,
            "description": "List of properties associated with the segment.",
            "readOnly": true,
            "items": {
              "$ref": "#/components/schemas/PropertyOutput"
            }
          }
        },
        "example": {
          "name": "Beta Users",
          "segment_id": "beta-users",
          "description": "Segment containing the beta users",
          "tags": "version: 1.1, stage",
          "rules": [
            {
              "attribute_name": "email",
              "operator": "endsWith",
              "values": [
                "@in.mnc.com",
                "@us.mnc.com"
              ]
            },
            {
              "attribute_name": "country",
              "operator": "is",
              "values": [
                "India",
                "USA"
              ]
            }
          ],
          "created_time": "2021-05-12T23:20:50.52Z",
          "updated_time": "2021-05-12T23:20:50.52Z",
          "href": "https://us-south.apprapp.cloud.ibm.com/apprapp/feature/v1/instances/9xxxxx-xxxxx-xxxxx-b3cd-xxxxx/segments/beta-users"
        }
      },
      "SegmentsList": {
        "title": "SegmentsList",
        "description": "List of all segments.",
        "required": [
          "segments",
          "limit",
          "offset",
          "total_count",
          "first",
          "last"
        ],
        "type": "object",
        "properties": {
          "segments": {
            "type": "array",
            "minItems": 0,
            "maxItems": 20,
            "description": "Array of Segments.",
            "items": {
              "$ref": "#/components/schemas/Segment"
            }
          },
          "limit": {
            "$ref": "#/components/schemas/PaginatedListLimit"
          },
          "offset": {
            "$ref": "#/components/schemas/PaginatedListOffset"
          },
          "total_count": {
            "$ref": "#/components/schemas/TotalCount"
          },
          "first": {
            "$ref": "#/components/schemas/PaginatedListFirst"
          },
          "previous": {
            "$ref": "#/components/schemas/PaginatedListPrevious"
          },
          "next": {
            "$ref": "#/components/schemas/PaginatedListNext"
          },
          "last": {
            "$ref": "#/components/schemas/PaginatedListLast"
          }
        },
        "example": {
          "segments": [
            {
              "name": "Beta Users",
              "segment_id": "beta-users",
              "description": "Segment containing the beta users",
              "tags": "preprod, users, ghz",
              "created_time": "2020-06-09T00:16:07Z",
              "updated_time": "2020-06-09T12:16:07Z",
              "href": "https://us-south.apprapp.cloud.ibm.com/apprapp/feature/v1/instances/9xxxxx-xxxxx-xxxxx-b3cd-xxxxx/segments/beta-users",
              "rules": [
                {
                  "attribute_name": "email",
                  "operator": "endsWith",
                  "values": [
                    "@in.mnc.com",
                    "@us.mnc.com"
                  ]
                },
                {
                  "attribute_name": "country",
                  "operator": "is",
                  "values": [
                    "India",
                    "USA"
                  ]
                }
              ]
            }
          ],
          "limit": 10,
          "offset": 0,
          "total_count": 1,
          "first": {
            "href": "https://us-south.apprapp.cloud.ibm.com/apprapp/feature/v1/instances/9xxxxx-xxxxx-xxxxx-b3cd-xxxxx/segments?limit=10&offset=0"
          },
          "last": {
            "href": "https://us-south.apprapp.cloud.ibm.com/apprapp/feature/v1/instances/9xxxxx-xxxxx-xxxxx-b3cd-xxxxx/segments?limit=10&offset=0"
          }
        }
      },
      "UpdateSegment": {
        "title": "UpdateSegment",
        "description": "Segment attributes to be updated.",
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Segment name. Allowed special characters are dot ( . ), hyphen( - ), underscore ( _ ) only",
            "maxLength": 256
          },
          "description": {
            "type": "string",
            "description": "Segment description",
            "maxLength": 255
          },
          "tags": {
            "type": "string",
            "description": "Tags associated with segments, allowed special characters are [_. ,-:]",
            "pattern": "^[a-zA-Z0-9_\\. ,\\-]+(:[a-zA-Z0-9_\\. ,\\-]+)*$"
          },
          "rules": {
            "type": "array",
            "minItems": 0,
            "maxItems": 20,
            "items": {
              "$ref": "#/components/schemas/Rule"
            },
            "description": "List of rules that determine if the entity belongs to the segment during feature / property evaluation. An entity is identified by an unique identifier and the attributes that it defines. Any feature flag and property value evaluation is performed in the context of an entity when it is targeted to segments."
          }
        },
        "example": {
          "name": "Beta Users",
          "description": "Segment containing the beta users",
          "tags": "version: 1.1, pre-release",
          "rules": [
            {
              "attribute_name": "email",
              "operator": "endsWith",
              "values": [
                "@in.mnc.com",
                "@us.mnc.com"
              ]
            },
            {
              "attribute_name": "country",
              "operator": "is",
              "values": [
                "India",
                "USA"
              ]
            }
          ]
        }
      },
      "GitConfigCollection": {
        "type": "object",
        "description": "Details of the collection.",
        "required": [
          "name",
          "collection_id"
        ],
        "properties": {
          "name": {
            "type": "string",
            "description": "Collection name.",
            "readOnly": true
          },
          "collection_id": {
            "type": "string",
            "description": "Collection Id.",
            "readOnly": true
          }
        },
        "example": {
          "name": "Web Application",
          "collection_id": "web-app-collection"
        }
      },
      "GitConfigEnvironment": {
        "type": "object",
        "description": "Details of the environment.",
        "required": [
          "name",
          "environment_id",
          "color_code"
        ],
        "properties": {
          "name": {
            "type": "string",
            "description": "Environment name.",
            "readOnly": true
          },
          "environment_id": {
            "type": "string",
            "description": "Environment Id.",
            "readOnly": true
          },
          "color_code": {
            "type": "string",
            "description": "Environment color code.",
            "readOnly": true
          }
        },
        "example": {
          "name": "Dev",
          "environment_id": "dev",
          "color_code": "#FDD13A"
        }
      },
      "GitConfig": {
        "title": "GitConfig",
        "description": "Details of the Git Config.",
        "required": [
          "git_config_name",
          "git_config_id",
          "collection",
          "environment",
          "git_url",
          "git_branch",
          "git_file_path"
        ],
        "type": "object",
        "properties": {
          "git_config_name": {
            "type": "string",
            "description": "Git config name."
          },
          "git_config_id": {
            "type": "string",
            "description": "Git config id."
          },
          "collection": {
            "$ref": "#/components/schemas/GitConfigCollection"
          },
          "environment": {
            "$ref": "#/components/schemas/GitConfigEnvironment"
          },
          "git_url": {
            "type": "string",
            "description": "Git url which will be used to connect to the github account."
          },
          "git_branch": {
            "type": "string",
            "description": "Branch name to which you need to write or update the configuration."
          },
          "git_file_path": {
            "type": "string",
            "description": "Git file path, this is a path where your configuration file will be written."
          },
          "last_sync_time": {
            "type": "string",
            "description": "Latest time when the snapshot was synced to git.",
            "format": "date-time",
            "readOnly": true,
            "example": "2022-05-27T23:20:50.52Z"
          },
          "created_time": {
            "type": "string",
            "description": "Creation time of the git config.",
            "format": "date-time",
            "readOnly": true,
            "example": "2021-05-12T23:20:50.52Z"
          },
          "updated_time": {
            "type": "string",
            "description": "Last modified time of the git config data.",
            "readOnly": true,
            "format": "date-time",
            "example": "2021-05-12T23:20:50.52Z"
          },
          "href": {
            "type": "string",
            "readOnly": true,
            "description": "Git config URL."
          }
        },
        "example": {
          "git_config_name": "boot-strap-configuration",
          "git_config_id": "boot-strap-configuration",
          "collection": {
            "name": "Web Application",
            "collection_id": "web-app-collection"
          },
          "environment": {
            "name": "Dev",
            "environment_id": "dev",
            "color_code": "#FDD13A"
          },
          "git_url": "https://github.ibm.com/api/v3/repos/jhondoe-owner/my-test-repo",
          "git_branch": "main",
          "git_file_path": "code/development/README.json",
          "last_sync_time": "2022-05-27T23:20:50.52Z",
          "created_time": "2021-05-12T23:20:50.52Z",
          "updated_time": "2021-05-12T23:20:50.52Z",
          "href": "https://us-south.apprapp.cloud.ibm.com/apprapp/feature/v1/instances/9xxxxx-xxxxx-xxxxx-b3cd-xxxxx/gitconfigs/boot-strap-configuration"
        }
      },
      "GitConfigList": {
        "title": "GitConfigList",
        "description": "List of all Git Configs.",
        "required": [
          "git_config",
          "limit",
          "offset",
          "total_count",
          "first",
          "last"
        ],
        "type": "object",
        "properties": {
          "git_config": {
            "type": "array",
            "minItems": 0,
            "maxItems": 20,
            "description": "Array of Git Configs.",
            "items": {
              "$ref": "#/components/schemas/GitConfig"
            }
          },
          "limit": {
            "$ref": "#/components/schemas/PaginatedListLimit"
          },
          "offset": {
            "$ref": "#/components/schemas/PaginatedListOffset"
          },
          "total_count": {
            "$ref": "#/components/schemas/TotalCount"
          },
          "first": {
            "$ref": "#/components/schemas/PaginatedListFirst"
          },
          "previous": {
            "$ref": "#/components/schemas/PaginatedListPrevious"
          },
          "next": {
            "$ref": "#/components/schemas/PaginatedListNext"
          },
          "last": {
            "$ref": "#/components/schemas/PaginatedListLast"
          }
        },
        "example": {
          "git_config": [
            {
              "git_config_name": "boot-strap-configuration",
              "git_config_id": "boot-strap-configuration",
              "collection": {
                "name": "Web Application",
                "collection_id": "web-app-collection"
              },
              "environment": {
                "name": "Dev",
                "environment_id": "dev",
                "color_code": "#FDD13A"
              },
              "git_url": "https://github.ibm.com/api/v3/repos/jhondoe-owner/my-test-repo",
              "git_branch": "main",
              "git_file_path": "code/development/README.json",
              "last_sync_time": "2022-05-27T23:20:50.52Z",
              "created_time": "2021-05-12T23:20:50.52Z",
              "updated_time": "2021-05-12T23:20:50.52Z",
              "href": "https://us-south.apprapp.cloud.ibm.com/apprapp/feature/v1/instances/9xxxxx-xxxxx-xxxxx-b3cd-xxxxx/gitconfigs/boot-strap-configuration"
            }
          ],
          "limit": 10,
          "offset": 0,
          "total_count": 1,
          "first": {
            "href": "https://us-south.apprapp.cloud.ibm.com/apprapp/feature/v1/instances/9xxxxx-xxxxx-xxxxx-b3cd-xxxxx/gitconfigs?limit=10&offset=0"
          },
          "last": {
            "href": "https://us-south.apprapp.cloud.ibm.com/apprapp/feature/v1/instances/9xxxxx-xxxxx-xxxxx-b3cd-xxxxx/gitconfigs?limit=10&offset=0"
          }
        }
      },
      "CreateGitConfig": {
        "title": "CreateGitConfig",
        "description": "Create Git config.",
        "required": [
          "git_config_name",
          "git_config_id",
          "collection_id",
          "environment_id",
          "git_url",
          "git_branch",
          "git_file_path",
          "git_token"
        ],
        "type": "object",
        "properties": {
          "git_config_name": {
            "type": "string",
            "description": "Git config name. Allowed special characters are dot ( . ), hyphen( - ), underscore ( _ ) only",
            "maxLength": 256
          },
          "git_config_id": {
            "type": "string",
            "description": "Git config id. Allowed special characters are dot ( . ), hyphen( - ), underscore ( _ ) only",
            "maxLength": 256
          },
          "collection_id": {
            "type": "string",
            "description": "Collection Id."
          },
          "environment_id": {
            "type": "string",
            "description": "Environment Id."
          },
          "git_url": {
            "type": "string",
            "description": "Git url which will be used to connect to the github account. The url must be formed in this format, https://api.github.com/repos/{owner}/{repo_name} for the personal git account. If you are using the organization account then url must be in this format https://github.{organization_name}.com/api/v3/repos/{owner}/{repo_name} . Note do not provide /(slash) in the beginning or at the end of the url."
          },
          "git_branch": {
            "type": "string",
            "description": "Branch name to which you need to write or update the configuration. Just provide the branch name, do not provide any /(slashes) in the beginning or at the end of the branch name. Note make sure branch exists in your repository."
          },
          "git_file_path": {
            "type": "string",
            "description": "Git file path, this is a path where your configuration file will be written. The path must contain the file name with `json` extension. We only create or update `json` extension file. Note do not provide any /(slashes) in the beginning or at the end of the file path."
          },
          "git_token": {
            "type": "string",
            "description": "Git token, this needs to be provided with enough permission to write and update the file"
          }
        }
      },
      "CreateGitConfigResponse": {
        "title": "CreateGitConfigResponse",
        "description": "Details of the created Git config.",
        "required": [
          "git_config_name",
          "git_config_id",
          "collection_id",
          "environment_id",
          "git_url",
          "git_branch",
          "git_file_path",
          "created_time",
          "updated_time",
          "href"
        ],
        "type": "object",
        "properties": {
          "git_config_name": {
            "type": "string",
            "description": "Git config name."
          },
          "git_config_id": {
            "type": "string",
            "description": "Git config Id."
          },
          "collection_id": {
            "type": "string",
            "description": "Collection Id."
          },
          "environment_id": {
            "type": "string",
            "description": "Environment Id."
          },
          "git_url": {
            "type": "string",
            "description": "Git url which will be used to connect to the github account."
          },
          "git_branch": {
            "type": "string",
            "description": "Branch name to which you need to write or update the configuration."
          },
          "git_file_path": {
            "type": "string",
            "description": "Git file path, this is a path where your configuration file will be written."
          },
          "created_time": {
            "type": "string",
            "description": "Creation time of the git config.",
            "format": "date-time",
            "readOnly": true,
            "example": "2021-05-12T23:20:50.52Z"
          },
          "updated_time": {
            "type": "string",
            "description": "Last modified time of the git config data.",
            "readOnly": true,
            "format": "date-time",
            "example": "2021-05-12T23:20:50.52Z"
          },
          "href": {
            "type": "string",
            "readOnly": true,
            "description": "Git config URL."
          }
        },
        "example": {
          "git_config_name": "boot-strap-configuration",
          "git_config_id": "boot-strap-configuration",
          "collection_id": "web-app-collection",
          "environment_id": "dev",
          "git_url": "https://github.ibm.com/api/v3/repos/jhondoe-owner/my-test-repo",
          "git_branch": "main",
          "git_file_path": "code/development/README.json",
          "created_time": "2021-05-12T23:20:50.52Z",
          "updated_time": "2021-05-12T23:20:50.52Z",
          "href": "https://us-south.apprapp.cloud.ibm.com/apprapp/feature/v1/instances/9xxxxx-xxxxx-xxxxx-b3cd-xxxxx/gitconfigs/boot-strap-configuration"
        }
      },
      "UpdateGitConfig": {
        "title": "UpdateGitConfig",
        "description": "Git Config attributes to be updated.",
        "type": "object",
        "properties": {
          "git_config_name": {
            "type": "string",
            "description": "Git config name. Allowed special characters are dot ( . ), hyphen( - ), underscore ( _ ) only",
            "maxLength": 256
          },
          "collection_id": {
            "type": "string",
            "description": "Collection Id."
          },
          "environment_id": {
            "type": "string",
            "description": "Environment Id."
          },
          "git_url": {
            "type": "string",
            "description": "Git url which will be used to connect to the github account. The url must be formed in this format, https://api.github.com/repos/{owner}/{repo_name} for the personal git account. If you are using the organization account then url must be in this format https://github.{organization_name}.com/api/v3/repos/{owner}/{repo_name} . Note do not provide /(slash) in the beginning or at the end of the url."
          },
          "git_branch": {
            "type": "string",
            "description": "Branch name to which you need to write or update the configuration. Just provide the branch name, do not provide any /(slashes) in the beginning or at the end of the branch name. Note make sure branch exists in your repository."
          },
          "git_file_path": {
            "type": "string",
            "description": "Git file path, this is a path where your configuration file will be written. The path must contain the file name with `json` extension. We only create or update `json` extension file. Note do not provide any /(slashes) in the beginning or at the end of the file path."
          },
          "git_token": {
            "type": "string",
            "description": "Git token, this needs to be provided with enough permission to write and update the file"
          }
        },
        "example": {
          "git_config_name": "updated git config name",
          "collection_id": "web-app-collection",
          "environment_id": "dev",
          "git_url": "https://github.ibm.com/api/v3/repos/jhondoe-owner/my-test-repo",
          "git_branch": "newbranch",
          "git_file_path": "code/development/README.json",
          "git_token": "61a792eahhGHji223jijb55a6cfdd4d5cde4c8a67esjjhjhHVH"
        }
      },
      "GitConfigPromote": {
        "title": "GitConfigPromote",
        "description": "Details of the promote operation.",
        "type": "object",
        "required": [
          "git_commit_id",
          "git_commit_message",
          "last_sync_time"
        ],
        "properties": {
          "git_commit_id": {
            "type": "string",
            "description": "Git commit id will be given as part of the response upon successful git operation"
          },
          "git_commit_message": {
            "type": "string",
            "description": "Git commit message"
          },
          "last_sync_time": {
            "type": "string",
            "description": "Latest time when the snapshot was synced to git.",
            "format": "date-time",
            "readOnly": true,
            "example": "2022-05-27T23:20:50.52Z"
          }
        },
        "example": {
          "last_sync_time": "2022-05-30T05:33:41Z",
          "git_commit_message": "custom config data written from App config instance",
          "git_commit_id": "2fadfe4e71632f32c19ee97d795f1494be95caf8"
        }
      },
      "ImportFeatureRequestBody": {
        "title": "ImportFeatureRequestBody",
        "description": "Requset Body of the feature.",
        "required": [
          "name",
          "feature_id",
          "type",
          "enabled_value",
          "disabled_value"
        ],
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Feature name. Allowed special characters are dot ( . ), hyphen( - ), underscore ( _ ) only",
            "maxLength": 256
          },
          "feature_id": {
            "type": "string",
            "description": "Feature id. Allowed special characters are dot ( . ), hyphen( - ), underscore ( _ ) only",
            "maxLength": 256
          },
          "description": {
            "type": "string",
            "description": "Feature description",
            "maxLength": 255
          },
          "type": {
            "type": "string",
            "description": "Type of the feature (BOOLEAN, STRING, NUMERIC). If `type` is `STRING`, then `format` attribute is required.",
            "enum": [
              "BOOLEAN",
              "STRING",
              "NUMERIC"
            ]
          },
          "format": {
            "type": "string",
            "description": "Format of the feature (TEXT, JSON, YAML) and it is a required attribute when `type` is `STRING`. It is not required for `BOOLEAN` and `NUMERIC` types. This property is populated in the response body of `POST, PUT and GET` calls if the type `STRING` is used and not populated for `BOOLEAN` and `NUMERIC` types.",
            "enum": [
              "TEXT",
              "JSON",
              "YAML"
            ]
          },
          "enabled_value": {
            "description": "Value of the feature when it is enabled. The value can be Boolean, Numeric, String - TEXT, String - JSON, String - YAML value as per the `type` and `format` attributes."
          },
          "disabled_value": {
            "description": "Value of the feature when it is disabled. The value can be Boolean, Numeric, String - TEXT, String - JSON, String - YAML value as per the `type` and `format` attributes."
          },
          "enabled": {
            "type": "boolean",
            "description": "The state of the feature flag."
          },
          "rollout_percentage": {
            "type": "integer",
            "description": "Rollout percentage associated with feature flag. Supported only for Lite and Enterprise plans.",
            "minimum": 0,
            "maximum": 100,
            "default": 100
          },
          "tags": {
            "type": "string",
            "description": "Tags associated with the feature, allowed special characters are [_. ,-:]",
            "pattern": "^[a-zA-Z0-9_\\. ,\\-]+(:[a-zA-Z0-9_\\. ,\\-]+)*$"
          },
          "segment_rules": {
            "type": "array",
            "minItems": 0,
            "maxItems": 20,
            "items": {
              "$ref": "#/components/schemas/FeatureSegmentRule"
            },
            "description": "Specify the targeting rules that is used to set different feature flag values for different segments."
          },
          "collections": {
            "type": "array",
            "minItems": 0,
            "maxItems": 20,
            "items": {
              "$ref": "#/components/schemas/CollectionRef"
            },
            "description": "List of collection id representing the collections that are associated with the specified feature flag."
          }
        },
        "example": {
          "name": "Cycle Rentals",
          "feature_id": "cycle-rentals",
          "description": "Feature flag to enable Cycle Rentals",
          "type": "BOOLEAN",
          "enabled_value": true,
          "disabled_value": false,
          "enabled": true,
          "rollout_percentage": 90,
          "tags": "version: 1.1, pre-release",
          "segment_rules": [
            {
              "rules": [
                {
                  "segments": [
                    "betausers",
                    "premiumusers"
                  ]
                }
              ],
              "value": true,
              "order": 1,
              "rollout_percentage": 70
            },
            {
              "rules": [
                {
                  "segments": [
                    "freeusers"
                  ]
                }
              ],
              "value": false,
              "order": 2,
              "rollout_percentage": 20
            }
          ],
          "collections": [
            {
              "collection_id": "ghzinc",
              "name": "GHz Inc"
            },
            {
              "collection_id": "phzsystems",
              "name": "PHz Systems"
            },
            {
              "collection_id": "ghzglobal",
              "name": "GHz Global"
            }
          ]
        }
      },
      "ImportPropertyRequestBody": {
        "type": "object",
        "description": "Details of the property.",
        "required": [
          "name",
          "property_id",
          "type",
          "value"
        ],
        "properties": {
          "name": {
            "type": "string",
            "description": "Property name. Allowed special characters are dot ( . ), hyphen( - ), underscore ( _ ) only",
            "maxLength": 256
          },
          "property_id": {
            "type": "string",
            "description": "Property id. Allowed special characters are dot ( . ), hyphen( - ), underscore ( _ ) only",
            "maxLength": 256
          },
          "description": {
            "type": "string",
            "description": "Property description",
            "maxLength": 255
          },
          "type": {
            "type": "string",
            "description": "Type of the property (BOOLEAN, STRING, NUMERIC, SECRETREF). If `type` is `STRING`, then `format` attribute is required.",
            "enum": [
              "BOOLEAN",
              "STRING",
              "NUMERIC",
              "SECRETREF"
            ]
          },
          "format": {
            "type": "string",
            "description": "Format of the property (TEXT, JSON, YAML) and it is a required attribute when `type` is `STRING`. It is not required for `BOOLEAN`, `NUMERIC` or `SECRETREF` types. This attribute is populated in the response body of `POST, PUT and GET` calls if the type `STRING` is used and not populated for `BOOLEAN`, `NUMERIC` and `SECRETREF` types.",
            "enum": [
              "TEXT",
              "JSON",
              "YAML"
            ]
          },
          "value": {
            "description": "Value of the Property. The value can be Boolean, Numeric, SecretRef, String - TEXT, String - JSON, String - YAML as per the `type` and `format` attributes."
          },
          "tags": {
            "type": "string",
            "description": "Tags associated with the property, allowed special characters are [_. ,-:]",
            "pattern": "^[a-zA-Z0-9_\\. ,\\-]+(:[a-zA-Z0-9_\\. ,\\-]+)*$"
          },
          "segment_rules": {
            "type": "array",
            "minItems": 0,
            "maxItems": 20,
            "items": {
              "$ref": "#/components/schemas/SegmentRule"
            },
            "description": "Specify the targeting rules that is used to set different property values for different segments."
          },
          "collections": {
            "type": "array",
            "minItems": 0,
            "maxItems": 20,
            "items": {
              "$ref": "#/components/schemas/CollectionRef"
            },
            "description": "List of collection id representing the collections that are associated with the specified property."
          }
        },
        "example": {
          "name": "Email property",
          "property_id": "email-property",
          "description": "Property for email",
          "type": "BOOLEAN",
          "value": true,
          "tags": "version: 1.1, pre-release",
          "segment_rules": [
            {
              "rules": [
                {
                  "segments": [
                    "betausers",
                    "premiumusers"
                  ]
                }
              ],
              "value": true,
              "order": 1
            },
            {
              "rules": [
                {
                  "segments": [
                    "freeusers"
                  ]
                }
              ],
              "value": false,
              "order": 2
            }
          ],
          "collections": [
            {
              "collection_id": "ghzinc"
            },
            {
              "collection_id": "phzsystems"
            },
            {
              "collection_id": "ghzglobal"
            }
          ]
        }
      },
      "ImportEnvironmentSchema": {
        "type": "object",
        "description": "Environment attributes to import.",
        "required": [
          "name",
          "environment_id"
        ],
        "properties": {
          "name": {
            "type": "string",
            "description": "Environment name. Allowed special characters are dot ( . ), hyphen( - ), underscore ( _ ) only",
            "maxLength": 256
          },
          "environment_id": {
            "type": "string",
            "description": "Environment Id. Allowed special characters are dot ( . ), hyphen( - ), underscore ( _ ) only",
            "maxLength": 256
          },
          "description": {
            "type": "string",
            "description": "Environment description",
            "maxLength": 255
          },
          "tags": {
            "type": "string",
            "description": "Tags associated with the environment, allowed special characters are [_. ,-:]",
            "pattern": "^[a-zA-Z0-9_\\. ,\\-]+(:[a-zA-Z0-9_\\. ,\\-]+)*$"
          },
          "color_code": {
            "type": "string",
            "description": "Color code to distinguish the environment. The Hex code for the color. For example `#FF0000` for `red`.",
            "example": "#FDD13A"
          },
          "features": {
            "type": "array",
            "minItems": 0,
            "maxItems": 20,
            "description": "Array will contain features per environment.",
            "items": {
              "$ref": "#/components/schemas/ImportFeatureRequestBody"
            }
          },
          "properties": {
            "type": "array",
            "minItems": 0,
            "maxItems": 20,
            "description": "Array will contain properties per environment.",
            "items": {
              "$ref": "#/components/schemas/ImportPropertyRequestBody"
            }
          }
        },
        "example": {
          "name": "Dev environment",
          "environment_id": "dev",
          "description": "Dev environment description",
          "tags": "development",
          "color_code": "#FDD13A",
          "features": [],
          "properties": []
        }
      },
      "ImportSegmentSchema": {
        "title": "ImportSegmentSchema",
        "description": "Details of the segment.",
        "required": [
          "name",
          "segment_id",
          "rules"
        ],
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Segment name. Allowed special characters are dot ( . ), hyphen( - ), underscore ( _ ) only",
            "maxLength": 256
          },
          "segment_id": {
            "type": "string",
            "description": "Segment id. Allowed special characters are dot ( . ), hyphen( - ), underscore ( _ ) only",
            "maxLength": 256
          },
          "description": {
            "type": "string",
            "description": "Segment description",
            "maxLength": 255
          },
          "tags": {
            "type": "string",
            "description": "Tags associated with the segments, allowed special characters are [_. ,-:]",
            "pattern": "^[a-zA-Z0-9_\\. ,\\-]+(:[a-zA-Z0-9_\\. ,\\-]+)*$"
          },
          "rules": {
            "type": "array",
            "minItems": 0,
            "maxItems": 20,
            "items": {
              "$ref": "#/components/schemas/Rule"
            },
            "description": "List of rules that determine if the entity belongs to the segment during feature / property evaluation. An entity is identified by an unique identifier and the attributes that it defines. Any feature flag and property value evaluation is performed in the context of an entity when it is targeted to segments."
          }
        },
        "example": {
          "name": "Beta Users",
          "segment_id": "beta-users",
          "description": "Segment containing the beta users",
          "tags": "version: 1.1, stage",
          "rules": [
            {
              "attribute_name": "email",
              "operator": "endsWith",
              "values": [
                "@in.mnc.com",
                "@us.mnc.com"
              ]
            },
            {
              "attribute_name": "country",
              "operator": "is",
              "values": [
                "India",
                "USA"
              ]
            }
          ]
        }
      },
      "GitConfigRestore": {
        "title": "GitConfigRestore",
        "description": "Details of the restore operation.",
        "type": "object",
        "required": [
          "environments",
          "segments"
        ],
        "properties": {
          "environments": {
            "type": "array",
            "minItems": 0,
            "maxItems": 20,
            "description": "The environments array will contain the environment data and it will also contains properties array and features array that belongs to that environment.",
            "items": {
              "$ref": "#/components/schemas/ImportEnvironmentSchema"
            }
          },
          "segments": {
            "type": "array",
            "minItems": 0,
            "maxItems": 20,
            "description": "Segments that belongs to the features or properties",
            "items": {
              "$ref": "#/components/schemas/ImportSegmentSchema"
            }
          }
        },
        "example": {
          "environments": [
            {
              "name": "Dev",
              "environment_id": "dev",
              "description": "Environment created on instance creation",
              "tags": "",
              "color_code": "#FDD13A",
              "features": [
                {
                  "name": "Cycle Rentals",
                  "feature_id": "cycle-rentals",
                  "type": "NUMERIC",
                  "disabled_value": 2,
                  "enabled_value": 1,
                  "segment_rules": [],
                  "enabled": true,
                  "rollout_percentage": 100,
                  "collections": [
                    {
                      "collection_id": "web-app",
                      "name": "web-app"
                    }
                  ],
                  "isOverridden": true
                }
              ],
              "properties": [
                {
                  "name": "Daily Discount",
                  "property_id": "daily_discount",
                  "type": "NUMERIC",
                  "tags": "pre-release, v1.2",
                  "value": "100",
                  "segment_rules": [
                    {
                      "rules": [
                        {
                          "segments": [
                            "khpwj68h"
                          ]
                        }
                      ],
                      "value": 200,
                      "order": 1
                    },
                    {
                      "rules": [
                        {
                          "segments": [
                            "khpwjol7"
                          ]
                        }
                      ],
                      "value": 400,
                      "order": 2
                    }
                  ],
                  "collections": [
                    {
                      "collection_id": "web-app",
                      "name": "web-app"
                    }
                  ],
                  "isOverridden": true
                }
              ]
            }
          ],
          "segments": [
            {
              "name": "Testers",
              "segment_id": "khpwj68h",
              "description": "Testers",
              "tags": "test",
              "rules": [
                {
                  "values": [
                    "john@bluecharge.com",
                    "alice@bluecharge.com"
                  ],
                  "operator": "is",
                  "attribute_name": "email"
                }
              ]
            },
            {
              "name": "IBMers",
              "segment_id": "khpwjol7",
              "description": "IBMers",
              "tags": "company,ibm",
              "rules": [
                {
                  "values": [
                    "ibm.com"
                  ],
                  "operator": "endsWith",
                  "attribute_name": "email"
                }
              ]
            }
          ]
        }
      },
      "MetadataEnIntegration": {
        "type": "object",
        "description": "Metadata details of the retrieved EN integration.",
        "required": [
          "event_notifications_source_id",
          "event_notifications_endpoint",
          "event_notifications_instance_crn"
        ],
        "properties": {
          "event_notifications_source_id": {
            "type": "string",
            "description": "Event Notifications source id."
          },
          "event_notifications_endpoint": {
            "type": "string",
            "description": "Event Notifications URL endpoint."
          },
          "event_notifications_instance_crn": {
            "type": "string",
            "description": "Event Notifications instance CRN."
          }
        }
      },
      "MetadataKmsIntegration": {
        "type": "object",
        "description": "Metadata details of the retrieved Key Protect integration.",
        "required": [
          "root_key_id",
          "kms_endpoint",
          "kms_instance_crn"
        ],
        "properties": {
          "root_key_id": {
            "type": "string",
            "description": "Key Protect instance root key id."
          },
          "kms_endpoint": {
            "type": "string",
            "description": "Key Protect URL endpoint."
          },
          "kms_instance_crn": {
            "type": "string",
            "description": "Key Protect instance CRN."
          },
          "key_status": {
            "type": "string",
            "description": "Key Protect instance root key status.",
            "enum": [
              "USABLE",
              "NON_USABLE_DISABLE",
              "NON_USABLE_DELETE"
            ]
          },
          "kms_scheme_type": {
            "type": "string",
            "description": "For service name \"kms\" the schema type is \"BYOK\"."
          }
        }
      },
      "Integration": {
        "type": "object",
        "description": "Details of the integration.",
        "required": [
          "integration_id",
          "integration_type",
          "metadata"
        ],
        "properties": {
          "integration_id": {
            "type": "string",
            "description": "Integration id."
          },
          "integration_type": {
            "type": "string",
            "description": "Integration type."
          },
          "metadata": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/MetadataEnIntegration"
              },
              {
                "$ref": "#/components/schemas/MetadataKmsIntegration"
              }
            ]
          },
          "created_time": {
            "type": "string",
            "description": "Creation time of the integration.",
            "format": "date-time",
            "readOnly": true,
            "example": "2021-05-12T23:20:50.52Z"
          },
          "updated_time": {
            "type": "string",
            "description": "Last updated time of the integration.",
            "format": "date-time",
            "readOnly": true,
            "example": "2021-05-12T23:20:50.52Z"
          },
          "href": {
            "type": "string",
            "readOnly": true,
            "description": "Integration URL"
          }
        }
      },
      "IntegrationList": {
        "description": "List of all integrations.",
        "type": "object",
        "required": [
          "integrations",
          "offset",
          "limit",
          "total_count",
          "first",
          "last"
        ],
        "properties": {
          "integrations": {
            "type": "array",
            "minItems": 0,
            "maxItems": 20,
            "description": "Array of integrations.",
            "items": {
              "$ref": "#/components/schemas/Integration"
            }
          },
          "limit": {
            "$ref": "#/components/schemas/PaginatedListLimit"
          },
          "offset": {
            "$ref": "#/components/schemas/PaginatedListOffset"
          },
          "total_count": {
            "$ref": "#/components/schemas/TotalCount"
          },
          "first": {
            "$ref": "#/components/schemas/PaginatedListFirst"
          },
          "previous": {
            "$ref": "#/components/schemas/PaginatedListPrevious"
          },
          "next": {
            "$ref": "#/components/schemas/PaginatedListNext"
          },
          "last": {
            "$ref": "#/components/schemas/PaginatedListLast"
          }
        },
        "example": {
          "integrations": [
            {
              "integration_id": "lckkhp34t",
              "integration_type": "EVENT_NOTIFICATIONS",
              "metadata": {
                "event_notifications_endpoint": "https://eu-gb.event-notifications.cloud.ibm.com",
                "event_notifications_source_id": "crn:v1:bluemix:public:apprapp:eu-gb:a/4f631ea3b3204b2b878a295604994acf:34e45c66-3648-4a51-be67-22eac4a7561c::",
                "event_notifications_instance_crn": "crn:v1:bluemix:public:event-notifications:eu-gb:a/4f631ea3b3204b2b878a295604994acf:0eb42def-21aa-4f0a-a975-0812ead6ceee::"
              },
              "created_time": "2024-02-18T14:46:31Z",
              "updated_time": "2024-02-18T14:46:31Z",
              "href": "https://eu-gb.apprapp.cloud.ibm.com/feature/v1/instances/c6d52ad4-adaa-492b-941b-daa9e8d63d3a/integrations/lckkhp34t"
            },
            {
              "integration_id": "ldxktxso",
              "integration_type": "KMS",
              "metadata": {
                "key_status": "USABLE",
                "root_key_id": "094ab151-1e01-4d30-9e7a-f1311bc0fbc6",
                "kms_endpoint": "https://au-syd.kms.cloud.ibm.com",
                "kms_scheme_type": "BYOK",
                "kms_instance_crn": "crn:v1:bluemix:public:kms:au-syd:a/4f631ea3b3204b2b878a295604994acf:a3d454ea-38f4-4ae1-92e1-6a4aaac24e14::"
              },
              "created_time": "2023-05-26T02:46:33Z",
              "updated_time": "2023-05-26T02:46:34Z",
              "href": "https://eu-gb.apprapp.cloud.ibm.com/feature/v1/instances/c6d52ad4-adaa-492b-941b-daa9e8d63d3a/integrations/ldxktxso"
            }
          ],
          "offset": 0,
          "limit": 10,
          "total_count": 2,
          "first": {
            "href": "https://eu-gb.apprapp.cloud.ibm.com/feature/v1/instances/6e7b594d-3132-484f-9ace-39e30c5c67cd/integrations?offset=0&size=10"
          },
          "last": {
            "href": "https://eu-gb.apprapp.cloud.ibm.com/feature/v1/instances/6e7b594d-3132-484f-9ace-39e30c5c67cd/integrations?offset=0&size=10"
          }
        }
      },
      "CreateEnIntegrationMetadata": {
        "type": "object",
        "description": "Metadata required to create Event Notifications integration.",
        "required": [
          "event_notifications_instance_crn",
          "event_notifications_endpoint",
          "event_notifications_source_name"
        ],
        "properties": {
          "event_notifications_instance_crn": {
            "type": "string",
            "description": "The CRN of the Event Notifications service instance.",
            "example": "crn:v1:bluemix:public:event-notifications:eu-gb:a/4f631ea3b3204b2b878a295604994acf:0eb42def-21aa-4f0a-a975-0812ead6ceee::"
          },
          "event_notifications_endpoint": {
            "type": "string",
            "description": "The URL endpoint of the Event Notifications service instance.",
            "example": "https://eu-gb.event-notifications.cloud.ibm.com"
          },
          "event_notifications_source_name": {
            "type": "string",
            "description": "Source name. This name will be shown in your Event Notification instance sources page."
          },
          "event_notifications_source_description": {
            "type": "string",
            "description": "Source description. This description will be shown in your Event Notification instance sources page under above source name."
          }
        }
      },
      "CreateKmsIntegrationMetadata": {
        "type": "object",
        "description": "Metadata required to create KMS integration.",
        "required": [
          "kms_instance_crn",
          "kms_endpoint",
          "root_key_id"
        ],
        "properties": {
          "kms_instance_crn": {
            "type": "string",
            "description": "The CRN of the Key Protect service instance.",
            "example": "crn:v1:bluemix:public:kms:au-syd:a/4f631ea3b3204b2b878a295604994acf:a3d454ea-38f4-4ae1-92e1-6a4aaac24e14::"
          },
          "kms_endpoint": {
            "type": "string",
            "description": "The URL endpoint of Key Protect instance.",
            "example": "https://au-syd.kms.cloud.ibm.com"
          },
          "root_key_id": {
            "type": "string",
            "description": "The rootkey id of Key Protect instance."
          }
        }
      },
      "CreateIntegration": {
        "type": "object",
        "description": "Create integration.",
        "required": [
          "integration_id",
          "integration_type",
          "metadata"
        ],
        "properties": {
          "integration_id": {
            "type": "string",
            "description": "Integration id. Allowed special characters are dot ( . ), hyphen( - ), underscore ( _ ) only"
          },
          "integration_type": {
            "type": "string",
            "description": "Integration type.",
            "enum": [
              "KMS",
              "EVENT_NOTIFICATIONS"
            ]
          },
          "metadata": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/CreateEnIntegrationMetadata"
              },
              {
                "$ref": "#/components/schemas/CreateKmsIntegrationMetadata"
              }
            ]
          }
        }
      },
      "OriginConfigList": {
        "title": "OriginConfigList",
        "description": "List of all origin configs.",
        "required": [
          "allowed_origins",
          "created_time",
          "updated_time",
          "href"
        ],
        "type": "object",
        "properties": {
          "allowed_origins": {
            "type": "array",
            "minItems": 0,
            "maxItems": 20,
            "items": {
              "type": "string"
            },
            "description": "List of allowed origins. Specify the parameter as a list of comma separated origins."
          },
          "created_time": {
            "type": "string",
            "description": "Creation time of the origin configs.",
            "format": "date-time",
            "readOnly": true,
            "example": "2022-11-15T23:20:50Z"
          },
          "updated_time": {
            "type": "string",
            "description": "Last modified time of the origin configs.",
            "readOnly": true,
            "format": "date-time",
            "example": "2022-11-16T21:20:50Z"
          },
          "href": {
            "type": "string",
            "readOnly": true,
            "description": "Origin Config URL."
          }
        },
        "example": {
          "allowed_origins": [
            "https://www.bluecharge.com",
            "https://blog.hubspot.com",
            "http://127.0.0.1:3000"
          ],
          "created_time": "2022-11-15T23:20:50Z",
          "updated_time": "2022-11-16T21:20:50Z",
          "href": "https://us-south.apprapp.cloud.ibm.com/apprapp/feature/v1/instances/9xxxxx-xxxxx-xxxxx-b3cd-xxxxx/originconfigs"
        }
      },
      "UpdateOriginConfig": {
        "title": "UpdateOriginConfig",
        "type": "object",
        "description": "Allowed origins to be updated.",
        "required": [
          "allowed_origins"
        ],
        "properties": {
          "allowed_origins": {
            "type": "array",
            "minItems": 0,
            "maxItems": 20,
            "items": {
              "type": "string"
            },
            "description": "List of allowed origins. Specify the parameter as a list of comma separated origins."
          }
        },
        "example": {
          "allowed_origins": [
            "https://www.bluecharge.com",
            "https://blog.hubspot.com",
            "http://127.0.0.1:3000"
          ]
        }
      },
      "ExternalServiceNowCredentials": {
        "title": "ExternalServiceNowCredentials",
        "description": "The credentials of the External ServiceNow instance.",
        "type": "object",
        "required": [
          "username",
          "password",
          "client_id",
          "client_secret"
        ],
        "properties": {
          "username": {
            "type": "string",
            "description": "ServiceNow instance login username.",
            "example": "admin"
          },
          "password": {
            "type": "string",
            "description": "ServiceNow instance login password."
          },
          "client_id": {
            "type": "string",
            "description": "The auto-generated unique ID of the application in your ServiceNow instance.",
            "example": "f7b6379b55d08210f8ree233afc7256d"
          },
          "client_secret": {
            "type": "string",
            "description": "The secret string that both the ServiceNow instance and the client application use to authorize communications with one another."
          }
        },
        "example": {
          "username": "admin",
          "password": "Jy*1**Ef**q",
          "client_id": "f7b6378b57d08210f8bdd233afc7256d",
          "client_secret": "!xKxxxWTx"
        }
      },
      "ExternalServiceNow": {
        "type": "object",
        "description": "Details of the External ServiceNow workflow configuration.",
        "required": [
          "workflow_url",
          "workflow_credentials",
          "approval_group_name",
          "approval_expiration",
          "enabled"
        ],
        "properties": {
          "environment_name": {
            "type": "string",
            "description": "Environment name of workflow config in which it is created.",
            "readOnly": true
          },
          "environment_id": {
            "type": "string",
            "description": "Environment ID of workflow config in which it is created.",
            "readOnly": true
          },
          "workflow_url": {
            "type": "string",
            "description": "Only service now url https://xxxxx.service-now.com allowed, xxxxx is the service now instance id.",
            "maxLength": 200
          },
          "approval_group_name": {
            "type": "string",
            "description": "Group name of personals who can approve the Change Request on your ServiceNow. It must be first registered in your ServiceNow then it must be added here.",
            "maxLength": 100
          },
          "approval_expiration": {
            "type": "integer",
            "description": "Integer number identifies as hours which helps in adding approval start and end time to the created Change Request.",
            "minimum": 1,
            "maximum": 999
          },
          "workflow_credentials": {
            "$ref": "#/components/schemas/ExternalServiceNowCredentials"
          },
          "enabled": {
            "type": "boolean",
            "description": "This option enables the workflow configuration per environment. User must set it to true if they wish to create Change Request for flag state changes.",
            "default": false
          },
          "created_time": {
            "type": "string",
            "description": "Creation time of the workflow configs.",
            "format": "date-time",
            "readOnly": true,
            "example": "2022-11-15T23:20:50Z"
          },
          "updated_time": {
            "type": "string",
            "description": "Last modified time of the workflow configs.",
            "readOnly": true,
            "format": "date-time",
            "example": "2022-11-16T21:20:50Z"
          },
          "href": {
            "type": "string",
            "readOnly": true,
            "description": "Workflow Config URL."
          }
        }
      },
      "IBMServiceNow": {
        "type": "object",
        "description": "Details of the IBM ServiceNow workflow configuration.",
        "required": [
          "service_crn",
          "workflow_type",
          "sm_instance_crn",
          "secret_id",
          "approval_expiration",
          "enabled"
        ],
        "properties": {
          "environment_name": {
            "type": "string",
            "description": "Environment name of workflow config in which it is created.",
            "readOnly": true
          },
          "environment_id": {
            "type": "string",
            "description": "Environment ID of workflow config in which it is created.",
            "readOnly": true
          },
          "service_crn": {
            "type": "string",
            "description": "Only service crn will be allowed. Example: `crn:v1:staging:staging:appservice:us-south::::`",
            "maxLength": 255
          },
          "workflow_type": {
            "type": "string",
            "description": "Allowed value is `SERVICENOW_IBM` case-sensitive"
          },
          "approval_expiration": {
            "type": "integer",
            "description": "Integer number identifies as hours which helps in adding approval start and end time to the created Change Request.",
            "minimum": 1,
            "maximum": 999
          },
          "sm_instance_crn": {
            "type": "string",
            "description": "Only Secret Manager instance crn will be allowed. Example: `crn:v1:staging:public:secrets-manager:eu-gb:a/3268cfe9e25d411122f9a731a:0a23274-92d0a-4d42-b1fa-d15b4293cd::`",
            "maxLength": 255
          },
          "secret_id": {
            "type": "string",
            "description": "Provide the arbitary secret key id which holds the api key to interact with service now. This is required to perform action on ServiceNow like Create CR or Close CR.",
            "maxLength": 100
          },
          "enabled": {
            "type": "boolean",
            "description": "This option enables the workflow configuration per environment. User must set it to true if they wish to create Change Request for flag state changes.",
            "default": false
          },
          "created_time": {
            "type": "string",
            "description": "Creation time of the workflow configs.",
            "format": "date-time",
            "readOnly": true,
            "example": "2022-11-15T23:20:50Z"
          },
          "updated_time": {
            "type": "string",
            "description": "Last modified time of the workflow configs.",
            "readOnly": true,
            "format": "date-time",
            "example": "2022-11-16T21:20:50Z"
          },
          "href": {
            "type": "string",
            "readOnly": true,
            "description": "Workflow Config URL."
          }
        }
      },
      "UpdateExternalServiceNow": {
        "type": "object",
        "description": "External ServiceNow workflow configuration attributes to be updated.",
        "properties": {
          "workflow_url": {
            "type": "string",
            "description": "ServiceNow instance URL. Only url https://xxxxx.service-now.com allowed, xxxxx is the service now instance id.",
            "maxLength": 200
          },
          "approval_group_name": {
            "type": "string",
            "description": "Group name of personals who can approve the Change Request on your ServiceNow. It must be first registered in your ServiceNow then it must be added here.",
            "maxLength": 100
          },
          "approval_expiration": {
            "type": "integer",
            "description": "Integer number identifies as hours which helps in adding approval start and end time to the created Change Request.",
            "minimum": 1,
            "maximum": 999
          },
          "workflow_credentials": {
            "$ref": "#/components/schemas/ExternalServiceNowCredentials"
          },
          "enabled": {
            "type": "boolean",
            "description": "This option enables the workflow configuration per environment. User must set it to true if they wish to create Change Request for flag state changes.",
            "default": false
          }
        }
      },
      "UpdateIBMServiceNow": {
        "type": "object",
        "description": "IBM ServiceNow workflow configuration attributes to be updated.",
        "properties": {
          "service_crn": {
            "type": "string",
            "description": "Only service crn will be allowed. Example: `crn:v1:staging:staging:appservice:us-south::::`",
            "maxLength": 255
          },
          "approval_expiration": {
            "type": "integer",
            "description": "Integer number identifies as hours which helps in adding approval start and end time to the created Change Request.",
            "minimum": 1,
            "maximum": 999
          },
          "sm_instance_crn": {
            "type": "string",
            "description": "Only Secret Manager instance crn will be allowed. Example: `crn:v1:staging:public:secrets-manager:eu-gb:a/3268cfe9e25d411122f9a731a:0a23274-92d0a-4d42-b1fa-d15b4293cd::`",
            "maxLength": 255
          },
          "secret_id": {
            "type": "string",
            "description": "Provide the arbitary secret key id which holds the api key to interact with service now. This is required to perform action on ServiceNow like Create CR or Close CR.",
            "maxLength": 100
          },
          "enabled": {
            "type": "boolean",
            "description": "This option enables the workflow configuration per environment. User must set it to true if they wish to create Change Request for flag state changes.",
            "default": false
          }
        }
      },
      "ImportCollectionSchema": {
        "title": "ImportCollectionSchema",
        "description": "Collection to be created.",
        "type": "object",
        "required": [
          "name",
          "collection_id"
        ],
        "properties": {
          "collection_id": {
            "type": "string",
            "description": "Collection id. Allowed special characters are dot ( . ), hyphen( - ), underscore ( _ ) only",
            "maxLength": 256
          },
          "name": {
            "type": "string",
            "description": "Collection name. Allowed special characters are dot ( . ), hyphen( - ), underscore ( _ ) only",
            "maxLength": 256
          },
          "description": {
            "type": "string",
            "description": "Description of the collection",
            "maxLength": 255
          },
          "tags": {
            "type": "string",
            "description": "Tags associated with the collection, allowed special characters are [_. ,-:]",
            "pattern": "^[a-zA-Z0-9_\\. ,\\-]+(:[a-zA-Z0-9_\\. ,\\-]+)*$"
          }
        },
        "example": {
          "collection_id": "WebApplication",
          "name": "Web Application",
          "description": "Collection for Web Application.",
          "tags": "version: 1.1, pre-release"
        }
      },
      "ImportConfig": {
        "title": "Instance configuration",
        "description": "Full instance configuration.",
        "type": "object",
        "properties": {
          "environments": {
            "type": "array",
            "minItems": 0,
            "maxItems": 20,
            "items": {
              "$ref": "#/components/schemas/ImportEnvironmentSchema"
            },
            "description": "Array will contain features and properties per environment"
          },
          "collections": {
            "type": "array",
            "minItems": 0,
            "maxItems": 20,
            "items": {
              "$ref": "#/components/schemas/ImportCollectionSchema"
            },
            "description": "Array will contain collections details"
          },
          "segments": {
            "type": "array",
            "minItems": 0,
            "maxItems": 20,
            "items": {
              "$ref": "#/components/schemas/ImportSegmentSchema"
            },
            "description": "Array will contain segments details"
          }
        },
        "example": {
          "environments": [
            {
              "name": "Dev",
              "environment_id": "dev",
              "description": "Environment created on instance creation",
              "tags": "",
              "color_code": "#FDD13A",
              "features": [
                {
                  "name": "Cycle Rentals",
                  "feature_id": "cycle-rentals",
                  "description": "",
                  "tags": "",
                  "type": "NUMERIC",
                  "disabled_value": 2,
                  "enabled_value": 1,
                  "segment_rules": [],
                  "enabled": true,
                  "rollout_percentage": 100,
                  "collections": [
                    {
                      "collection_id": "web-app",
                      "name": "web-app"
                    }
                  ]
                }
              ],
              "properties": [
                {
                  "name": "Daily Discount",
                  "property_id": "daily_discount",
                  "description": "",
                  "tags": "pre-release, v1.2",
                  "type": "NUMERIC",
                  "value": "100",
                  "segment_rules": [
                    {
                      "rules": [
                        {
                          "segments": [
                            "khpwj68h"
                          ]
                        }
                      ],
                      "value": 200,
                      "order": 1
                    },
                    {
                      "rules": [
                        {
                          "segments": [
                            "khpwjol7"
                          ]
                        }
                      ],
                      "value": 400,
                      "order": 2
                    }
                  ],
                  "collections": [
                    {
                      "collection_id": "web-app",
                      "name": "web-app"
                    }
                  ]
                }
              ]
            }
          ],
          "collections": [
            {
              "name": "web-app",
              "collection_id": "web-app",
              "description": "web app collection",
              "tags": "v1"
            }
          ],
          "segments": [
            {
              "name": "Testers",
              "segment_id": "khpwj68h",
              "description": "Testers",
              "tags": "test",
              "rules": [
                {
                  "values": [
                    "john@bluecharge.com",
                    "alice@bluecharge.com"
                  ],
                  "operator": "is",
                  "attribute_name": "email"
                }
              ]
            },
            {
              "name": "IBMers",
              "segment_id": "khpwjol7",
              "description": "IBMers",
              "tags": "company,ibm",
              "rules": [
                {
                  "values": [
                    "ibm.com"
                  ],
                  "operator": "endsWith",
                  "attribute_name": "email"
                }
              ]
            }
          ]
        }
      },
      "InstanceConfigAcceptedResponse": {
        "type": "object",
        "description": "Config import & export operation status accepted response",
        "required": [
          "message",
          "referenceId"
        ],
        "properties": {
          "message": {
            "description": "The message describing the request status.",
            "type": "string"
          },
          "referenceId": {
            "description": "Reference id to check status of import/export operation.",
            "type": "string"
          }
        }
      },
      "ConfigActionType": {
        "type": "string",
        "enum": [
          "promote",
          "restore"
        ]
      },
      "ConfigAction": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/GitConfigPromote"
          },
          {
            "$ref": "#/components/schemas/GitConfigRestore"
          }
        ]
      },
      "ConfigStatusActionType": {
        "type": "string",
        "enum": [
          "import",
          "export"
        ]
      },
      "InstanceConfigStatusResponse": {
        "type": "object",
        "description": "Config import & export operation status",
        "required": [
          "action",
          "errors",
          "message",
          "status",
          "last_updated",
          "triggered_time"
        ],
        "properties": {
          "action": {
            "description": "Type of instance config operation(import/export)",
            "enum": [
              "import",
              "export"
            ],
            "type": "string"
          },
          "errors": {
            "description": "Accumulated errors during the operation",
            "type": "object"
          },
          "message": {
            "description": "Message describing operation status",
            "type": "string"
          },
          "status": {
            "description": "Status of the operation",
            "enum": [
              "inprogress",
              "completed",
              "failed"
            ],
            "type": "string"
          },
          "last_updated": {
            "description": "Latest time at which import/export status updated",
            "type": "string",
            "format": "date-time"
          },
          "triggered_time": {
            "description": "Time when import/export operation triggered",
            "type": "string",
            "format": "date-time"
          }
        }
      }
    },
    "requestBodies": {
      "CreateEnvironment": {
        "description": "The request body to create a new environment.",
        "required": true,
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Environment"
            },
            "example": {
              "name": "Dev environment",
              "environment_id": "dev-environment",
              "description": "Dev environment description",
              "tags": "development",
              "color_code": "#FDD13A"
            }
          }
        }
      },
      "UpdateEnvironment": {
        "description": "The request body to update a environment.",
        "required": true,
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/UpdateEnvironment"
            }
          }
        }
      },
      "CreateCollection": {
        "description": "The request body to create a new collection.",
        "required": true,
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Collection"
            },
            "example": {
              "name": "Web App Collection",
              "collection_id": "web-app-collection",
              "description": "Collection for Web application",
              "tags": "version: 1.1, pre-release"
            }
          }
        }
      },
      "UpdateCollection": {
        "description": "The request body to update a collection.",
        "required": true,
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/UpdateCollection"
            }
          }
        }
      },
      "CreateFeature": {
        "description": "The request body to create a new feature.",
        "required": true,
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/FeatureRequestBody"
            },
            "examples": {
              "type_boolean": {
                "value": {
                  "name": "Cycle Rentals",
                  "feature_id": "cycle-rentals",
                  "description": "Feature flag to enable Cycle Rentals",
                  "type": "BOOLEAN",
                  "enabled_value": true,
                  "disabled_value": false,
                  "enabled": true,
                  "rollout_percentage": 100,
                  "tags": "version: 1.1, pre-release",
                  "segment_rules": [
                    {
                      "rules": [
                        {
                          "segments": [
                            "betausers",
                            "premiumusers"
                          ]
                        }
                      ],
                      "value": true,
                      "order": 1,
                      "rollout_percentage": 50,
                      "rule_name": "rule-name-1",
                      "rule_id": "rule-id-1"
                    },
                    {
                      "rules": [
                        {
                          "segments": [
                            "freeusers"
                          ]
                        }
                      ],
                      "value": false,
                      "order": 2,
                      "rollout_percentage": 70,
                      "rule_name": "rule-name-2",
                      "rule_id": "rule-id-2"
                    }
                  ],
                  "collections": [
                    {
                      "collection_id": "ghzinc"
                    },
                    {
                      "collection_id": "phzsystems"
                    },
                    {
                      "collection_id": "ghzglobal"
                    }
                  ]
                },
                "summary": "BOOLEAN"
              },
              "type_numeric": {
                "value": {
                  "name": "Cycle Rentals",
                  "feature_id": "cycle-rentals",
                  "description": "Feature flag to enable Cycle Rentals",
                  "type": "NUMERIC",
                  "enabled_value": 1,
                  "disabled_value": 0,
                  "enabled": true,
                  "rollout_percentage": 100,
                  "tags": "version: 1.1, pre-release",
                  "segment_rules": [
                    {
                      "rules": [
                        {
                          "segments": [
                            "betausers",
                            "premiumusers"
                          ]
                        }
                      ],
                      "value": 10,
                      "order": 1,
                      "rollout_percentage": 40,
                      "rule_name": "rule-name-1",
                      "rule_id": "rule-id-1"
                    },
                    {
                      "rules": [
                        {
                          "segments": [
                            "freeusers"
                          ]
                        }
                      ],
                      "value": 5,
                      "order": 2,
                      "rollout_percentage": 70,
                      "rule_name": "rule-name-2",
                      "rule_id": "rule-id-2"
                    }
                  ],
                  "collections": [
                    {
                      "collection_id": "ghzinc"
                    },
                    {
                      "collection_id": "phzsystems"
                    },
                    {
                      "collection_id": "ghzglobal"
                    }
                  ]
                },
                "summary": "NUMERIC"
              },
              "type_string_text": {
                "value": {
                  "name": "Cycle Rentals",
                  "feature_id": "cycle-rentals",
                  "description": "Feature flag to enable Cycle Rentals",
                  "type": "STRING",
                  "format": "TEXT",
                  "enabled_value": "yes",
                  "disabled_value": "no",
                  "enabled": true,
                  "rollout_percentage": 100,
                  "tags": "version: 1.1, pre-release",
                  "segment_rules": [
                    {
                      "rules": [
                        {
                          "segments": [
                            "betausers",
                            "premiumusers"
                          ]
                        }
                      ],
                      "value": "not available",
                      "order": 1,
                      "rollout_percentage": 50,
                      "rule_name": "rule-name-1",
                      "rule_id": "rule-id-1"
                    },
                    {
                      "rules": [
                        {
                          "segments": [
                            "freeusers"
                          ]
                        }
                      ],
                      "value": "available",
                      "order": 2,
                      "rollout_percentage": 15,
                      "rule_name": "rule-name-2",
                      "rule_id": "rule-id-2"
                    }
                  ],
                  "collections": [
                    {
                      "collection_id": "ghzinc"
                    },
                    {
                      "collection_id": "phzsystems"
                    },
                    {
                      "collection_id": "ghzglobal"
                    }
                  ]
                },
                "summary": "STRING - TEXT"
              },
              "type_string_json": {
                "value": {
                  "name": "Cycle Rentals",
                  "feature_id": "cycle-rentals",
                  "description": "Feature flag to enable Cycle Rentals",
                  "type": "STRING",
                  "format": "JSON",
                  "enabled_value": {
                    "availability": "yes"
                  },
                  "disabled_value": {
                    "availability": "no"
                  },
                  "enabled": true,
                  "rollout_percentage": 100,
                  "tags": "version: 1.1, pre-release",
                  "segment_rules": [
                    {
                      "rules": [
                        {
                          "segments": [
                            "betausers",
                            "premiumusers"
                          ]
                        }
                      ],
                      "value": {
                        "availability": "yes",
                        "premium_user_ids": [
                          "custId1",
                          "custId2"
                        ]
                      },
                      "order": 1,
                      "rollout_percentage": 50,
                      "rule_name": "rule-name-1",
                      "rule_id": "rule-id-1"
                    },
                    {
                      "rules": [
                        {
                          "segments": [
                            "freeusers"
                          ]
                        }
                      ],
                      "value": {
                        "availability": "no"
                      },
                      "order": 2,
                      "rollout_percentage": 15,
                      "rule_name": "rule-name-2",
                      "rule_id": "rule-id-2"
                    }
                  ],
                  "collections": [
                    {
                      "collection_id": "ghzinc"
                    },
                    {
                      "collection_id": "phzsystems"
                    },
                    {
                      "collection_id": "ghzglobal"
                    }
                  ]
                },
                "summary": "STRING - JSON"
              },
              "type_string_yaml": {
                "value": {
                  "name": "Cycle Rentals",
                  "feature_id": "cycle-rentals",
                  "description": "Feature flag to enable Cycle Rentals",
                  "type": "STRING",
                  "format": "YAML",
                  "enabled_value": "---\navailability: 'yes'",
                  "disabled_value": "---\navailability: 'no'",
                  "enabled": true,
                  "rollout_percentage": 100,
                  "tags": "version: 1.1, pre-release",
                  "segment_rules": [
                    {
                      "rules": [
                        {
                          "segments": [
                            "betausers",
                            "premiumusers"
                          ]
                        }
                      ],
                      "value": "---\navailability: 'yes'\npremium_user_ids:\n- custId1\n- custId2",
                      "order": 1,
                      "rollout_percentage": 100,
                      "rule_name": "rule-name-1",
                      "rule_id": "rule-id-1"
                    },
                    {
                      "rules": [
                        {
                          "segments": [
                            "freeusers"
                          ]
                        }
                      ],
                      "value": "---\navailability: 'no'",
                      "order": 2,
                      "rollout_percentage": 100,
                      "rule_name": "rule-name-2",
                      "rule_id": "rule-id-2"
                    }
                  ],
                  "collections": [
                    {
                      "collection_id": "ghzinc"
                    },
                    {
                      "collection_id": "phzsystems"
                    },
                    {
                      "collection_id": "ghzglobal"
                    }
                  ]
                },
                "summary": "STRING - YAML"
              }
            }
          }
        }
      },
      "UpdateFeature": {
        "description": "The request body to update a feature.",
        "required": true,
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/UpdateFeature"
            },
            "examples": {
              "type_boolean": {
                "value": {
                  "name": "Cycle Rentals",
                  "description": "Feature flags to enable Cycle Rentals",
                  "enabled_value": true,
                  "disabled_value": false,
                  "enabled": true,
                  "rollout_percentage": 100,
                  "tags": "version: 1.1, yet-to-release",
                  "segment_rules": [
                    {
                      "rules": [
                        {
                          "segments": [
                            "betausers",
                            "premiumusers"
                          ]
                        }
                      ],
                      "value": true,
                      "order": 1,
                      "rollout_percentage": 90,
                      "rule_name": "rule-name-1",
                      "rule_id": "rule-id-1"
                    },
                    {
                      "rules": [
                        {
                          "segments": [
                            "freeusers"
                          ]
                        }
                      ],
                      "value": false,
                      "order": 2,
                      "rollout_percentage": 90,
                      "rule_name": "rule-name-2",
                      "rule_id": "rule-id-2"
                    }
                  ],
                  "collections": [
                    {
                      "collection_id": "ghzinc"
                    },
                    {
                      "collection_id": "phzsystems"
                    },
                    {
                      "collection_id": "default-collection",
                      "deleted": true
                    }
                  ]
                },
                "summary": "BOOLEAN"
              },
              "type_numeric": {
                "value": {
                  "name": "Cycle Rentals",
                  "description": "Feature flags to enable Cycle Rentals",
                  "enabled_value": 1,
                  "disabled_value": 0,
                  "enabled": true,
                  "rollout_percentage": 100,
                  "tags": "version: 1.1, yet-to-release",
                  "segment_rules": [
                    {
                      "rules": [
                        {
                          "segments": [
                            "betausers",
                            "premiumusers"
                          ]
                        }
                      ],
                      "value": 10,
                      "order": 1,
                      "rollout_percentage": 40,
                      "rule_name": "rule-name-1",
                      "rule_id": "rule-id-1"
                    },
                    {
                      "rules": [
                        {
                          "segments": [
                            "freeusers"
                          ]
                        }
                      ],
                      "value": 0,
                      "order": 2,
                      "rollout_percentage": 70,
                      "rule_name": "rule-name-2",
                      "rule_id": "rule-id-2"
                    }
                  ],
                  "collections": [
                    {
                      "collection_id": "ghzinc"
                    },
                    {
                      "collection_id": "phzsystems"
                    },
                    {
                      "collection_id": "default-collection",
                      "deleted": true
                    }
                  ]
                },
                "summary": "NUMERIC"
              },
              "type_string_text": {
                "value": {
                  "name": "Cycle Rentals",
                  "description": "Feature flags to enable Cycle Rentals",
                  "enabled_value": "yes",
                  "disabled_value": "no",
                  "enabled": true,
                  "rollout_percentage": 100,
                  "tags": "version: 1.1, yet-to-release",
                  "segment_rules": [
                    {
                      "rules": [
                        {
                          "segments": [
                            "betausers",
                            "premiumusers"
                          ]
                        }
                      ],
                      "value": "no",
                      "order": 1,
                      "rollout_percentage": 50,
                      "rule_name": "rule-name-1",
                      "rule_id": "rule-id-1"
                    },
                    {
                      "rules": [
                        {
                          "segments": [
                            "freeusers"
                          ]
                        }
                      ],
                      "value": "yes",
                      "order": 2,
                      "rollout_percentage": 15,
                      "rule_name": "rule-name-2",
                      "rule_id": "rule-id-2"
                    }
                  ],
                  "collections": [
                    {
                      "collection_id": "ghzinc"
                    },
                    {
                      "collection_id": "phzsystems"
                    },
                    {
                      "collection_id": "default-collection",
                      "deleted": true
                    }
                  ]
                },
                "summary": "STRING - TEXT"
              },
              "type_string_json": {
                "value": {
                  "name": "Cycle Rentals",
                  "description": "Feature flags to enable Cycle Rentals",
                  "enabled_value": {
                    "availability": "yes"
                  },
                  "disabled_value": {
                    "availability": "no"
                  },
                  "enabled": true,
                  "rollout_percentage": 100,
                  "tags": "version: 1.1, yet-to-release",
                  "segment_rules": [
                    {
                      "rules": [
                        {
                          "segments": [
                            "betausers",
                            "premiumusers"
                          ]
                        }
                      ],
                      "value": {
                        "availability": "no"
                      },
                      "order": 1,
                      "rollout_percentage": 100,
                      "rule_name": "rule-name-1",
                      "rule_id": "rule-id-1"
                    },
                    {
                      "rules": [
                        {
                          "segments": [
                            "freeusers"
                          ]
                        }
                      ],
                      "value": {
                        "availability": "no"
                      },
                      "order": 2,
                      "rollout_percentage": 100,
                      "rule_name": "rule-name-2",
                      "rule_id": "rule-id-2"
                    }
                  ],
                  "collections": [
                    {
                      "collection_id": "ghzinc"
                    },
                    {
                      "collection_id": "phzsystems"
                    },
                    {
                      "collection_id": "default-collection",
                      "deleted": true
                    }
                  ]
                },
                "summary": "STRING - JSON"
              },
              "type_string_yaml": {
                "value": {
                  "name": "Cycle Rentals",
                  "description": "Feature flags to enable Cycle Rentals",
                  "enabled_value": "---\navailability: 'yes'",
                  "disabled_value": "---\navailability: 'no'",
                  "enabled": true,
                  "rollout_percentage": 100,
                  "tags": "version: 1.1, yet-to-release",
                  "segment_rules": [
                    {
                      "rules": [
                        {
                          "segments": [
                            "betausers",
                            "premiumusers"
                          ]
                        }
                      ],
                      "value": "---\navailability: 'yes'\npremium_user_ids:\n- custId1\n- custId2",
                      "order": 1,
                      "rollout_percentage": 100,
                      "rule_name": "rule-name-1",
                      "rule_id": "rule-id-1"
                    },
                    {
                      "rules": [
                        {
                          "segments": [
                            "freeusers"
                          ]
                        }
                      ],
                      "value": "---\navailability: 'no'",
                      "order": 2,
                      "rollout_percentage": 100,
                      "rule_name": "rule-name-2",
                      "rule_id": "rule-id-2"
                    }
                  ],
                  "collections": [
                    {
                      "collection_id": "ghzinc"
                    },
                    {
                      "collection_id": "phzsystems"
                    },
                    {
                      "collection_id": "default-collection",
                      "deleted": true
                    }
                  ]
                },
                "summary": "STRING - YAML"
              }
            }
          }
        }
      },
      "UpdateFeatureValues": {
        "description": "The request body to update the feature values.",
        "required": true,
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/UpdateFeatureValues"
            },
            "examples": {
              "type_boolean": {
                "value": {
                  "name": "Cycle Rentals",
                  "description": "Feature flags to enable Cycle Rentals",
                  "enabled_value": true,
                  "disabled_value": false,
                  "rollout_percentage": 100,
                  "tags": "version: 1.1, yet-to-release",
                  "segment_rules": [
                    {
                      "rules": [
                        {
                          "segments": [
                            "betausers",
                            "premiumusers"
                          ]
                        }
                      ],
                      "value": true,
                      "order": 1,
                      "rollout_percentage": 100,
                      "rule_name": "rule-name-1",
                      "rule_id": "rule-id-1"
                    },
                    {
                      "rules": [
                        {
                          "segments": [
                            "freeusers"
                          ]
                        }
                      ],
                      "value": false,
                      "order": 2,
                      "rollout_percentage": 100,
                      "rule_name": "rule-name-1",
                      "rule_id": "rule-id-1"
                    }
                  ]
                },
                "summary": "BOOLEAN"
              },
              "type_numeric": {
                "value": {
                  "name": "Cycle Rentals",
                  "description": "Feature flags to enable Cycle Rentals",
                  "enabled_value": 1,
                  "disabled_value": 0,
                  "rollout_percentage": 100,
                  "tags": "version: 1.1, yet-to-release",
                  "segment_rules": [
                    {
                      "rules": [
                        {
                          "segments": [
                            "betausers",
                            "premiumusers"
                          ]
                        }
                      ],
                      "value": 10,
                      "order": 1,
                      "rollout_percentage": 100
                    },
                    {
                      "rules": [
                        {
                          "segments": [
                            "freeusers"
                          ]
                        }
                      ],
                      "value": 0,
                      "order": 2,
                      "rollout_percentage": 100
                    }
                  ]
                },
                "summary": "NUMERIC"
              },
              "type_string_text": {
                "value": {
                  "name": "Cycle Rentals",
                  "description": "Feature flags to enable Cycle Rentals",
                  "enabled_value": "yes",
                  "disabled_value": "no",
                  "rollout_percentage": 100,
                  "tags": "version: 1.1, yet-to-release",
                  "segment_rules": [
                    {
                      "rules": [
                        {
                          "segments": [
                            "betausers",
                            "premiumusers"
                          ]
                        }
                      ],
                      "value": "no",
                      "order": 1,
                      "rollout_percentage": 100
                    },
                    {
                      "rules": [
                        {
                          "segments": [
                            "freeusers"
                          ]
                        }
                      ],
                      "value": "yes",
                      "order": 2,
                      "rollout_percentage": 100
                    }
                  ]
                },
                "summary": "STRING - TEXT"
              },
              "type_string_json": {
                "value": {
                  "name": "Cycle Rentals",
                  "description": "Feature flags to enable Cycle Rentals",
                  "enabled_value": {
                    "availability": "yes"
                  },
                  "disabled_value": {
                    "availability": "no"
                  },
                  "rollout_percentage": 100,
                  "tags": "version: 1.1, yet-to-release",
                  "segment_rules": [
                    {
                      "rules": [
                        {
                          "segments": [
                            "betausers",
                            "premiumusers"
                          ]
                        }
                      ],
                      "value": {
                        "availability": "no"
                      },
                      "order": 1,
                      "rollout_percentage": 100
                    },
                    {
                      "rules": [
                        {
                          "segments": [
                            "freeusers"
                          ]
                        }
                      ],
                      "value": {
                        "availability": "no"
                      },
                      "order": 2,
                      "rollout_percentage": 100
                    }
                  ]
                },
                "summary": "STRING - JSON"
              },
              "type_string_yaml": {
                "value": {
                  "name": "Cycle Rentals",
                  "description": "Feature flags to enable Cycle Rentals",
                  "enabled_value": "---\navailability: 'yes'",
                  "disabled_value": "---\navailability: 'no'",
                  "tags": "version: 1.1, yet-to-release",
                  "rollout_percentage": 100,
                  "segment_rules": [
                    {
                      "rules": [
                        {
                          "segments": [
                            "betausers",
                            "premiumusers"
                          ]
                        }
                      ],
                      "value": "---\navailability: 'yes'\npremium_user_ids:\n- custId1\n- custId2",
                      "order": 1,
                      "rollout_percentage": 100
                    },
                    {
                      "rules": [
                        {
                          "segments": [
                            "freeusers"
                          ]
                        }
                      ],
                      "value": "---\navailability: 'no'",
                      "order": 2,
                      "rollout_percentage": 100
                    }
                  ]
                },
                "summary": "STRING - YAML"
              }
            }
          }
        }
      },
      "ToggleFeature": {
        "description": "The request body to toggle a feature.",
        "required": true,
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ToggleFeature"
            }
          }
        }
      },
      "CreateFeatureRule": {
        "description": "The request body to create a new feature rule.",
        "required": true,
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/FeatureSegmentRuleWithRuleIdCreateRequestBody"
            },
            "examples": {
              "type_boolean": {
                "value": {
                  "rules": [
                    {
                      "segments": [
                        "betausers",
                        "premiumusers"
                      ]
                    }
                  ],
                  "value": true,
                  "rollout_percentage": 50,
                  "rule_id": "RuleA",
                  "rule_name": "Rule Name"
                },
                "summary": "BOOLEAN"
              },
              "type_numeric": {
                "value": {
                  "rules": [
                    {
                      "segments": [
                        "betausers",
                        "premiumusers"
                      ]
                    }
                  ],
                  "value": 10,
                  "rollout_percentage": 40,
                  "rule_id": "RuleA",
                  "rule_name": "Rule Name"
                },
                "summary": "NUMERIC"
              },
              "type_string_text": {
                "value": {
                  "rules": [
                    {
                      "segments": [
                        "betausers",
                        "premiumusers"
                      ]
                    }
                  ],
                  "value": "not available",
                  "rollout_percentage": 50,
                  "rule_id": "RuleA",
                  "rule_name": "Rule Name"
                },
                "summary": "STRING - TEXT"
              },
              "type_string_json": {
                "value": {
                  "rules": [
                    {
                      "segments": [
                        "betausers",
                        "premiumusers"
                      ]
                    }
                  ],
                  "value": {
                    "availability": "no"
                  },
                  "rollout_percentage": 50,
                  "rule_id": "RuleA",
                  "rule_name": "Rule Name"
                },
                "summary": "STRING - JSON"
              },
              "type_string_yaml": {
                "value": {
                  "rules": [
                    {
                      "segments": [
                        "betausers",
                        "premiumusers"
                      ]
                    }
                  ],
                  "value": "---\navailability: 'yes'\npremium_user_ids:\n- custId1\n- custId2",
                  "rollout_percentage": 100,
                  "rule_id": "RuleA",
                  "rule_name": "Rule Name"
                },
                "summary": "STRING - YAML"
              }
            }
          }
        }
      },
      "UpdateFeatureRule": {
        "description": "The request body to update existing feature rule.",
        "required": true,
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/FeatureSegmentRuleWithRuleIdUpdateRequestBody"
            },
            "examples": {
              "type_boolean": {
                "value": {
                  "rules": [
                    {
                      "segments": [
                        "betausers",
                        "premiumusers"
                      ]
                    }
                  ],
                  "value": true,
                  "rollout_percentage": 50,
                  "rule_name": "rule-name-1"
                },
                "summary": "BOOLEAN"
              },
              "type_numeric": {
                "value": {
                  "rules": [
                    {
                      "segments": [
                        "betausers",
                        "premiumusers"
                      ]
                    }
                  ],
                  "value": 10,
                  "rollout_percentage": 40,
                  "rule_name": "rule-name-1"
                },
                "summary": "NUMERIC"
              },
              "type_string_text": {
                "value": {
                  "rules": [
                    {
                      "segments": [
                        "betausers",
                        "premiumusers"
                      ]
                    }
                  ],
                  "value": "not available",
                  "rollout_percentage": 50,
                  "rule_name": "rule-name-1"
                },
                "summary": "STRING - TEXT"
              },
              "type_string_json": {
                "value": {
                  "rules": [
                    {
                      "segments": [
                        "betausers",
                        "premiumusers"
                      ]
                    }
                  ],
                  "value": {
                    "availability": "no"
                  },
                  "rollout_percentage": 50,
                  "rule_name": "rule-name-1"
                },
                "summary": "STRING - JSON"
              },
              "type_string_yaml": {
                "value": {
                  "rules": [
                    {
                      "segments": [
                        "betausers",
                        "premiumusers"
                      ]
                    }
                  ],
                  "value": "---\navailability: 'yes'\npremium_user_ids:\n- custId1\n- custId2",
                  "rollout_percentage": 100,
                  "rule_name": "rule-name-1"
                },
                "summary": "STRING - YAML"
              }
            }
          }
        }
      },
      "ReorderFeatureRules": {
        "description": "The request body to re-order feature rule.",
        "required": true,
        "content": {
          "application/json": {
            "schema": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/ReoderFeatureRulesByMove"
                },
                {
                  "$ref": "#/components/schemas/ReorderFeatureRulesBySwap"
                }
              ]
            },
            "examples": {
              "move": {
                "value": {
                  "action": "move",
                  "rule_id": "RuleA",
                  "order": 1
                },
                "summary": "MOVE"
              },
              "swap": {
                "value": {
                  "action": "swap",
                  "source_rule_id": "RuleM",
                  "target_rule_id": "RuleE"
                },
                "summary": "SWAP"
              }
            }
          }
        }
      },
      "CreateProperty": {
        "description": "The request body to create a new property.",
        "required": true,
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Property"
            },
            "examples": {
              "type_boolean": {
                "value": {
                  "name": "Email property",
                  "property_id": "email-property",
                  "description": "Property for email",
                  "type": "BOOLEAN",
                  "value": true,
                  "tags": "version: 1.1, pre-release",
                  "segment_rules": [
                    {
                      "rules": [
                        {
                          "segments": [
                            "betausers",
                            "premiumusers"
                          ]
                        }
                      ],
                      "value": true,
                      "order": 1
                    },
                    {
                      "rules": [
                        {
                          "segments": [
                            "freeusers"
                          ]
                        }
                      ],
                      "value": false,
                      "order": 2
                    }
                  ],
                  "collections": [
                    {
                      "collection_id": "ghzinc"
                    },
                    {
                      "collection_id": "phzsystems"
                    },
                    {
                      "collection_id": "ghzglobal"
                    }
                  ]
                },
                "summary": "BOOLEAN"
              },
              "type_numeric": {
                "value": {
                  "name": "Email property",
                  "property_id": "email-property",
                  "description": "Property for email",
                  "type": "NUMERIC",
                  "value": 1,
                  "tags": "version: 1.1, pre-release",
                  "segment_rules": [
                    {
                      "rules": [
                        {
                          "segments": [
                            "betausers",
                            "premiumusers"
                          ]
                        }
                      ],
                      "value": 10,
                      "order": 1
                    },
                    {
                      "rules": [
                        {
                          "segments": [
                            "freeusers"
                          ]
                        }
                      ],
                      "value": 0,
                      "order": 2
                    }
                  ],
                  "collections": [
                    {
                      "collection_id": "ghzinc"
                    },
                    {
                      "collection_id": "phzsystems"
                    },
                    {
                      "collection_id": "ghzglobal"
                    }
                  ]
                },
                "summary": "NUMERIC"
              },
              "type_secretref": {
                "value": {
                  "name": "Email property",
                  "property_id": "email-property",
                  "description": "Property for email",
                  "type": "SECRETREF",
                  "value": {
                    "secret_type": "kv",
                    "id": "1312414-12341243ff-324dsg-43ffg",
                    "sm_instance_crn": "crn:v1:staging:public:apprapp_dev:us-south:a/7bf663503fc5e2e06b03d2ada843bf54:ssfffgr-f6ee-48a5-a11b-ade4aecfe378::"
                  },
                  "tags": "version: 1.1, pre-release",
                  "segment_rules": [
                    {
                      "rules": [
                        {
                          "segments": [
                            "betausers",
                            "premiumusers"
                          ]
                        }
                      ],
                      "value": {
                        "id": "2234566-334g566ghjj-222-4000123fg"
                      },
                      "order": 1
                    },
                    {
                      "rules": [
                        {
                          "segments": [
                            "freeusers"
                          ]
                        }
                      ],
                      "value": {
                        "id": "2234566-334g566ghjj-222-4000123fg"
                      },
                      "order": 2
                    }
                  ],
                  "collections": [
                    {
                      "collection_id": "ghzinc"
                    },
                    {
                      "collection_id": "phzsystems"
                    },
                    {
                      "collection_id": "ghzglobal"
                    }
                  ]
                },
                "summary": "SECRETREF"
              },
              "type_string_text": {
                "value": {
                  "name": "Email property",
                  "property_id": "email-property",
                  "description": "Property for email",
                  "type": "STRING",
                  "format": "TEXT",
                  "value": "success",
                  "tags": "version: 1.1, pre-release",
                  "segment_rules": [
                    {
                      "rules": [
                        {
                          "segments": [
                            "betausers",
                            "premiumusers"
                          ]
                        }
                      ],
                      "value": "failed",
                      "order": 1
                    },
                    {
                      "rules": [
                        {
                          "segments": [
                            "freeusers"
                          ]
                        }
                      ],
                      "value": "success",
                      "order": 2
                    }
                  ],
                  "collections": [
                    {
                      "collection_id": "ghzinc"
                    },
                    {
                      "collection_id": "phzsystems"
                    },
                    {
                      "collection_id": "ghzglobal"
                    }
                  ]
                },
                "summary": "STRING - TEXT"
              },
              "type_string_json": {
                "value": {
                  "name": "Email property",
                  "property_id": "email-property",
                  "description": "Property for email",
                  "type": "STRING",
                  "format": "JSON",
                  "value": {
                    "name": "email configuration",
                    "id": "email-config-1",
                    "description": "This email configuration for internal use",
                    "value": {
                      "Name": "ABC Inc",
                      "Location": "India"
                    },
                    "tags": "internal",
                    "employees_id": [
                      "empId1",
                      "empId2",
                      "empId3",
                      "empId4",
                      "empId5"
                    ]
                  },
                  "tags": "version: 1.1, pre-release",
                  "segment_rules": [
                    {
                      "rules": [
                        {
                          "segments": [
                            "betausers",
                            "premiumusers"
                          ]
                        }
                      ],
                      "value": {
                        "employees_id": [
                          "empId100"
                        ]
                      },
                      "order": 1
                    },
                    {
                      "rules": [
                        {
                          "segments": [
                            "freeusers"
                          ]
                        }
                      ],
                      "value": {
                        "employees_id": [
                          "empId11",
                          "empId22",
                          "empId33",
                          "empId44",
                          "empId55"
                        ]
                      },
                      "order": 2
                    }
                  ],
                  "collections": [
                    {
                      "collection_id": "ghzinc"
                    },
                    {
                      "collection_id": "phzsystems"
                    },
                    {
                      "collection_id": "ghzglobal"
                    }
                  ]
                },
                "summary": "STRING - JSON"
              },
              "type_string_yaml": {
                "value": {
                  "name": "Email property",
                  "property_id": "email-property",
                  "description": "Property for email",
                  "type": "STRING",
                  "format": "YAML",
                  "value": "---\nname: email configuration\nid: email-config-1\ndescription: This email configuration for internal use\nvalue:\n Name: ABC Inc\n Location: India\ntags: internal\nemployees_id:\n- empId1\n- empId2\n- empId3\n- empId4\n- empId5",
                  "tags": "version: 1.1, pre-release",
                  "segment_rules": [
                    {
                      "rules": [
                        {
                          "segments": [
                            "betausers",
                            "premiumusers"
                          ]
                        }
                      ],
                      "value": "---\nemployees_id:\n- empId100",
                      "order": 1
                    },
                    {
                      "rules": [
                        {
                          "segments": [
                            "freeusers"
                          ]
                        }
                      ],
                      "value": "---\nemployees_id:\n- empId11\n- empId22\n- empId33\n- empId44\n- empId55",
                      "order": 2
                    }
                  ],
                  "collections": [
                    {
                      "collection_id": "ghzinc"
                    },
                    {
                      "collection_id": "phzsystems"
                    },
                    {
                      "collection_id": "ghzglobal"
                    }
                  ]
                },
                "summary": "STRING - YAML"
              }
            }
          }
        }
      },
      "UpdateProperty": {
        "description": "The request body to update a property.",
        "required": true,
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/UpdateProperty"
            },
            "examples": {
              "type_boolean": {
                "value": {
                  "name": "Email property",
                  "description": "Property for email",
                  "value": true,
                  "tags": "version: 1.1, pre-release",
                  "segment_rules": [
                    {
                      "rules": [
                        {
                          "segments": [
                            "betausers",
                            "premiumusers"
                          ]
                        }
                      ],
                      "value": true,
                      "order": 1
                    },
                    {
                      "rules": [
                        {
                          "segments": [
                            "freeusers"
                          ]
                        }
                      ],
                      "value": false,
                      "order": 2
                    }
                  ],
                  "collections": [
                    {
                      "collection_id": "ghzinc"
                    },
                    {
                      "collection_id": "phzsystems"
                    },
                    {
                      "collection_id": "ghzglobal"
                    },
                    {
                      "collection_id": "default-collection",
                      "deleted": true
                    }
                  ]
                },
                "summary": "BOOLEAN"
              },
              "type_numeric": {
                "value": {
                  "name": "Email property",
                  "description": "Property for email",
                  "value": 10,
                  "tags": "version: 1.1, pre-release",
                  "segment_rules": [
                    {
                      "rules": [
                        {
                          "segments": [
                            "betausers",
                            "premiumusers"
                          ]
                        }
                      ],
                      "value": 100,
                      "order": 1
                    },
                    {
                      "rules": [
                        {
                          "segments": [
                            "freeusers"
                          ]
                        }
                      ],
                      "value": 0,
                      "order": 2
                    }
                  ],
                  "collections": [
                    {
                      "collection_id": "ghzinc"
                    },
                    {
                      "collection_id": "phzsystems"
                    },
                    {
                      "collection_id": "ghzglobal"
                    },
                    {
                      "collection_id": "default-collection",
                      "deleted": true
                    }
                  ]
                },
                "summary": "NUMERIC"
              },
              "type_secretref": {
                "value": {
                  "name": "Email property",
                  "description": "Property for email",
                  "value": {
                    "secret_type": "kv",
                    "id": "1312414-12341243fdsf-324dfsg-43fffg",
                    "sm_instance_crn": "crn:v1:staging:public:apprapp_dev:us-south:a/7bf663503fc5e2e06b03d2ada843bf54:ssfffgr-f6ee-48a5-a11b-ade4aecfe378::"
                  },
                  "tags": "version: 1.1, pre-release",
                  "segment_rules": [
                    {
                      "rules": [
                        {
                          "segments": [
                            "betausers",
                            "premiumusers"
                          ]
                        }
                      ],
                      "value": {
                        "id": "2234566-334g566ghjj-222-4000123fg"
                      },
                      "order": 1
                    },
                    {
                      "rules": [
                        {
                          "segments": [
                            "freeusers"
                          ]
                        }
                      ],
                      "value": {
                        "id": "2234566-334g566ghjj-222-4000123fg"
                      },
                      "order": 2
                    }
                  ],
                  "collections": [
                    {
                      "collection_id": "ghzinc"
                    },
                    {
                      "collection_id": "phzsystems"
                    },
                    {
                      "collection_id": "ghzglobal"
                    },
                    {
                      "collection_id": "default-collection",
                      "deleted": true
                    }
                  ]
                },
                "summary": "SECRETREF"
              },
              "type_string_text": {
                "value": {
                  "name": "Email property",
                  "description": "Property for email",
                  "value": "success",
                  "tags": "version: 1.1, pre-release",
                  "segment_rules": [
                    {
                      "rules": [
                        {
                          "segments": [
                            "betausers",
                            "premiumusers"
                          ]
                        }
                      ],
                      "value": "fail",
                      "order": 1
                    },
                    {
                      "rules": [
                        {
                          "segments": [
                            "freeusers"
                          ]
                        }
                      ],
                      "value": "success",
                      "order": 2
                    }
                  ],
                  "collections": [
                    {
                      "collection_id": "ghzinc"
                    },
                    {
                      "collection_id": "phzsystems"
                    },
                    {
                      "collection_id": "ghzglobal"
                    },
                    {
                      "collection_id": "default-collection",
                      "deleted": true
                    }
                  ]
                },
                "summary": "STRING - TEXT"
              },
              "type_string_json": {
                "value": {
                  "name": "Email property",
                  "description": "Property for email",
                  "value": {
                    "activate": "yes",
                    "employees_id": [
                      "empId1",
                      "empId2",
                      "empId3",
                      "empId4",
                      "empId5"
                    ]
                  },
                  "tags": "version: 1.1, pre-release",
                  "segment_rules": [
                    {
                      "rules": [
                        {
                          "segments": [
                            "betausers",
                            "premiumusers"
                          ]
                        }
                      ],
                      "value": {
                        "activate": "no"
                      },
                      "order": 1
                    },
                    {
                      "rules": [
                        {
                          "segments": [
                            "freeusers"
                          ]
                        }
                      ],
                      "value": {
                        "employees_id": [
                          "empId100"
                        ]
                      },
                      "order": 2
                    }
                  ],
                  "collections": [
                    {
                      "collection_id": "ghzinc"
                    },
                    {
                      "collection_id": "phzsystems"
                    },
                    {
                      "collection_id": "ghzglobal"
                    },
                    {
                      "collection_id": "default-collection",
                      "deleted": true
                    }
                  ]
                },
                "summary": "STRING - JSON"
              },
              "type_string_yaml": {
                "value": {
                  "name": "Email property",
                  "description": "Property for email",
                  "value": "activate: 'yes'\nemployees_id:\n- empId1\n- empId2\n- empId3\n- empId4\n- empId5",
                  "tags": "version: 1.1, pre-release",
                  "segment_rules": [
                    {
                      "rules": [
                        {
                          "segments": [
                            "betausers",
                            "premiumusers"
                          ]
                        }
                      ],
                      "value": "---\nactivate: 'no'",
                      "order": 1
                    },
                    {
                      "rules": [
                        {
                          "segments": [
                            "freeusers"
                          ]
                        }
                      ],
                      "value": "---\nemployees_id:\n- empId100",
                      "order": 2
                    }
                  ],
                  "collections": [
                    {
                      "collection_id": "ghzinc"
                    },
                    {
                      "collection_id": "phzsystems"
                    },
                    {
                      "collection_id": "ghzglobal"
                    },
                    {
                      "collection_id": "default-collection",
                      "deleted": true
                    }
                  ]
                },
                "summary": "STRING - YAML"
              }
            }
          }
        }
      },
      "UpdatePropertyValues": {
        "description": "The request body update the property values.",
        "required": true,
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/UpdatePropertyValues"
            },
            "examples": {
              "type_boolean": {
                "value": {
                  "name": "Email property",
                  "description": "Property for email",
                  "value": true,
                  "tags": "version: 1.1, pre-release",
                  "segment_rules": [
                    {
                      "rules": [
                        {
                          "segments": [
                            "betausers",
                            "premiumusers"
                          ]
                        }
                      ],
                      "value": true,
                      "order": 1
                    },
                    {
                      "rules": [
                        {
                          "segments": [
                            "freeusers"
                          ]
                        }
                      ],
                      "value": false,
                      "order": 2
                    }
                  ]
                },
                "summary": "BOOLEAN"
              },
              "type_numeric": {
                "value": {
                  "name": "Email property",
                  "description": "Property for email",
                  "value": 10,
                  "tags": "version: 1.1, pre-release",
                  "segment_rules": [
                    {
                      "rules": [
                        {
                          "segments": [
                            "betausers",
                            "premiumusers"
                          ]
                        }
                      ],
                      "value": 100,
                      "order": 1
                    },
                    {
                      "rules": [
                        {
                          "segments": [
                            "freeusers"
                          ]
                        }
                      ],
                      "value": 0,
                      "order": 2
                    }
                  ]
                },
                "summary": "NUMERIC"
              },
              "type_secretref": {
                "value": {
                  "name": "Email property",
                  "description": "Property for email",
                  "value": {
                    "secret_type": "kv",
                    "id": "1312414-12341243fdsf-324dfsg-43fffg",
                    "sm_instance_crn": "crn:v1:staging:public:apprapp_dev:us-south:a/7bf663503fc5e2e06b03d2ada843bf54:ssfffgr-f6ee-48a5-a11b-ade4aecfe378::"
                  },
                  "tags": "version: 1.1, pre-release",
                  "segment_rules": [
                    {
                      "rules": [
                        {
                          "segments": [
                            "betausers",
                            "premiumusers"
                          ]
                        }
                      ],
                      "value": {
                        "id": "2234566-334g566ghjj-222-4000123fg"
                      },
                      "order": 1
                    },
                    {
                      "rules": [
                        {
                          "segments": [
                            "freeusers"
                          ]
                        }
                      ],
                      "value": {
                        "id": "2234566-334g566ghjj-222-4000123fg"
                      },
                      "order": 2
                    }
                  ]
                },
                "summary": "SECRETREF"
              },
              "type_string_text": {
                "value": {
                  "name": "Email property",
                  "description": "Property for email",
                  "value": "success",
                  "tags": "version: 1.1, pre-release",
                  "segment_rules": [
                    {
                      "rules": [
                        {
                          "segments": [
                            "betausers",
                            "premiumusers"
                          ]
                        }
                      ],
                      "value": "fail",
                      "order": 1
                    },
                    {
                      "rules": [
                        {
                          "segments": [
                            "freeusers"
                          ]
                        }
                      ],
                      "value": "success",
                      "order": 2
                    }
                  ]
                },
                "summary": "STRING - TEXT"
              },
              "type_string_json": {
                "value": {
                  "name": "Email property",
                  "description": "Property for email",
                  "value": {
                    "activate": "yes",
                    "employees_id": [
                      "empId1",
                      "empId2",
                      "empId3",
                      "empId4",
                      "empId5"
                    ]
                  },
                  "tags": "version: 1.1, pre-release",
                  "segment_rules": [
                    {
                      "rules": [
                        {
                          "segments": [
                            "betausers",
                            "premiumusers"
                          ]
                        }
                      ],
                      "value": {
                        "activate": "no"
                      },
                      "order": 1
                    },
                    {
                      "rules": [
                        {
                          "segments": [
                            "freeusers"
                          ]
                        }
                      ],
                      "value": {
                        "employees_id": [
                          "empId100"
                        ]
                      },
                      "order": 2
                    }
                  ]
                },
                "summary": "STRING - JSON"
              },
              "type_string_yaml": {
                "value": {
                  "name": "Email property",
                  "description": "Property for email",
                  "value": "activate: 'yes'\nemployees_id:\n- empId1\n- empId2\n- empId3\n- empId4\n- empId5",
                  "tags": "version: 1.1, pre-release",
                  "segment_rules": [
                    {
                      "rules": [
                        {
                          "segments": [
                            "betausers",
                            "premiumusers"
                          ]
                        }
                      ],
                      "value": "---\nactivate: 'no'",
                      "order": 1
                    },
                    {
                      "rules": [
                        {
                          "segments": [
                            "freeusers"
                          ]
                        }
                      ],
                      "value": "---\nemployees_id:\n- empId100",
                      "order": 2
                    }
                  ]
                },
                "summary": "STRING - YAML"
              }
            }
          }
        }
      },
      "CreateSegment": {
        "description": "The request body to create a new segment.",
        "required": true,
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Segment"
            },
            "example": {
              "name": "Beta Users",
              "segment_id": "beta-users",
              "description": "Segment containing the beta users",
              "tags": "version: 1.1, stage",
              "rules": [
                {
                  "attribute_name": "email",
                  "operator": "endsWith",
                  "values": [
                    "@in.mnc.com",
                    "@us.mnc.com"
                  ]
                },
                {
                  "attribute_name": "country",
                  "operator": "is",
                  "values": [
                    "India",
                    "USA"
                  ]
                }
              ]
            }
          }
        }
      },
      "UpdateSegment": {
        "description": "The request body to update a segment.",
        "required": true,
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/UpdateSegment"
            }
          }
        }
      },
      "CreateGitConfig": {
        "description": "The request body to create a new Git config.",
        "required": true,
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/CreateGitConfig"
            },
            "example": {
              "git_config_name": "boot-strap-configuration",
              "git_config_id": "boot-strap-configuration",
              "collection_id": "web-app-collection",
              "environment_id": "dev",
              "git_url": "https://github.ibm.com/api/v3/repos/jhondoe-owner/my-test-repo",
              "git_branch": "main",
              "git_file_path": "code/development/README.json",
              "git_token": "61a792eahhGHji223jijb55a6cfdd4d5cde4c8a67esjjhjhHVH"
            }
          }
        }
      },
      "UpdateGitConfig": {
        "description": "The request body to update a Git config.",
        "required": true,
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/UpdateGitConfig"
            }
          }
        }
      },
      "CreateIntegration": {
        "description": "The request body to create a new integration. Currently, integration with Key Protect and Event Notifications service is supported.",
        "required": true,
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/CreateIntegration"
            },
            "examples": {
              "EventNotifications": {
                "value": {
                  "integration_id": "lckkhp34t",
                  "integration_type": "EVENT_NOTIFICATIONS",
                  "metadata": {
                    "event_notifications_instance_crn": "crn:v1:bluemix:public:event-notifications:eu-gb:a/4f631ea3b3204b2b878a295604994acf:0eb42def-21aa-4f0a-a975-0812ead6ceee::",
                    "event_notifications_endpoint": "https://eu-gb.event-notifications.cloud.ibm.com",
                    "event_notifications_source_name": "My App Config",
                    "event_notifications_source_description": "All the events from App Configuration instance"
                  }
                }
              },
              "KMS": {
                "value": {
                  "integration_id": "ldxktxso",
                  "integration_type": "KMS",
                  "metadata": {
                    "kms_instance_crn": "crn:v1:bluemix:public:kms:au-syd:a/4f631ea3b3204b2b878a295604994acf:a3d454ea-38f4-4ae1-92e1-6a4aaac24e14::",
                    "kms_endpoint": "https://au-syd.kms.cloud.ibm.com",
                    "root_key_id": "094ab151-1e01-4d30-9e7a-f1311bc0fbc6"
                  }
                }
              }
            }
          }
        }
      },
      "UpdateOriginConfig": {
        "description": "The request body to update origin config.",
        "required": true,
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/UpdateOriginConfig"
            }
          }
        }
      },
      "CreateWorkflowConfig": {
        "description": "The request body to create a new workflow config.",
        "required": true,
        "content": {
          "application/json": {
            "schema": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/ExternalServiceNow"
                },
                {
                  "$ref": "#/components/schemas/IBMServiceNow"
                }
              ]
            },
            "examples": {
              "ExternalServiceNow": {
                "value": {
                  "workflow_url": "https://xxxxx.service-now.com",
                  "approval_group_name": "WorkflowCRApprovers",
                  "approval_expiration": 10,
                  "workflow_credentials": {
                    "client_id": "client id value",
                    "client_secret": "clientsecret",
                    "password": "pwd",
                    "username": "user"
                  },
                  "enabled": true
                }
              },
              "IBMServiceNow": {
                "value": {
                  "service_crn": "crn:v1:staging:staging:appservice:us-south::::",
                  "sm_instance_crn": "crn:v1:staging:public:secrets-manager:eu-gb:a/3268cfe9e25d411122f9a731a:0a23274-92d0a-4d42-b1fa-d15b4293cd::",
                  "approval_expiration": 4,
                  "secret_id": "Secret ID",
                  "workflow_type": "SERVICENOW_IBM",
                  "enabled": true
                }
              }
            }
          }
        }
      },
      "UpdateWorkflowConfig": {
        "description": "The request body to update an existing workflow config.",
        "required": true,
        "content": {
          "application/json": {
            "schema": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/UpdateExternalServiceNow"
                },
                {
                  "$ref": "#/components/schemas/UpdateIBMServiceNow"
                }
              ]
            },
            "examples": {
              "UpdateExternalServiceNow": {
                "value": {
                  "workflow_url": "https://xxxxx.service-now.com",
                  "approval_group_name": "WorkflowCRApprovers",
                  "approval_expiration": 5,
                  "workflow_credentials": {
                    "client_id": "client id value",
                    "client_secret": "updated client secret",
                    "password": "updated password",
                    "username": "user"
                  },
                  "enabled": true
                }
              },
              "UpdateIBMServiceNow": {
                "value": {
                  "service_crn": "crn:v1:staging:staging:appservice:us-south::::",
                  "sm_instance_crn": "crn:v1:staging:public:secrets-manager:eu-gb:a/3268cfe9e25d411122f9a731a:0a23274-92d0a-4d42-b1fa-d15b4293cd::",
                  "approval_expiration": 4,
                  "secret_id": "Secret ID",
                  "enabled": true
                }
              }
            }
          }
        }
      },
      "ImportConfig": {
        "description": "The request body to import configurations.",
        "required": true,
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ImportConfig"
            },
            "example": {
              "environments": [
                {
                  "name": "Dev",
                  "environment_id": "dev",
                  "description": "Environment created on instance creation",
                  "tags": "",
                  "color_code": "#FDD13A",
                  "features": [
                    {
                      "name": "Cycle Rentals",
                      "feature_id": "cycle-rentals",
                      "description": "",
                      "tags": "",
                      "type": "NUMERIC",
                      "disabled_value": 2,
                      "enabled_value": 1,
                      "segment_rules": [],
                      "enabled": true,
                      "rollout_percentage": 100,
                      "collections": [
                        {
                          "collection_id": "web-app",
                          "name": "web-app"
                        }
                      ]
                    }
                  ],
                  "properties": [
                    {
                      "name": "Daily Discount",
                      "property_id": "daily_discount",
                      "description": "",
                      "tags": "pre-release, v1.2",
                      "type": "NUMERIC",
                      "value": "100",
                      "segment_rules": [
                        {
                          "rules": [
                            {
                              "segments": [
                                "khpwj68h"
                              ]
                            }
                          ],
                          "value": 200,
                          "order": 1
                        },
                        {
                          "rules": [
                            {
                              "segments": [
                                "khpwjol7"
                              ]
                            }
                          ],
                          "value": 400,
                          "order": 2
                        }
                      ],
                      "collections": [
                        {
                          "collection_id": "web-app",
                          "name": "web-app"
                        }
                      ]
                    }
                  ]
                }
              ],
              "collections": [
                {
                  "name": "web-app",
                  "collection_id": "web-app",
                  "description": "web app collection",
                  "tags": "v1"
                }
              ],
              "segments": [
                {
                  "name": "Testers",
                  "segment_id": "khpwj68h",
                  "description": "Testers",
                  "tags": "test",
                  "rules": [
                    {
                      "values": [
                        "john@bluecharge.com",
                        "alice@bluecharge.com"
                      ],
                      "operator": "is",
                      "attribute_name": "email"
                    }
                  ]
                },
                {
                  "name": "IBMers",
                  "segment_id": "khpwjol7",
                  "description": "IBMers",
                  "tags": "company,ibm",
                  "rules": [
                    {
                      "values": [
                        "ibm.com"
                      ],
                      "operator": "endsWith",
                      "attribute_name": "email"
                    }
                  ]
                }
              ]
            }
          }
        }
      }
    },
    "examples": {
      "EventNotifications": {
        "description": "Example EN integration.",
        "value": {
          "integration_id": "lckkhp34t",
          "integration_type": "event_notifications",
          "metadata": {
            "event_notifications_endpoint": "https://eu-gb.event-notifications.cloud.ibm.com",
            "event_notifications_source_id": "crn:v1:bluemix:public:apprapp:eu-gb:a/4f631ea3b3204b2b878a295604994acf:34e45c66-3648-4a51-be67-22eac4a7561c::",
            "event_notifications_instance_crn": "crn:v1:bluemix:public:event-notifications:eu-gb:a/4f631ea3b3204b2b878a295604994acf:0eb42def-21aa-4f0a-a975-0812ead6ceee::"
          },
          "created_time": "2024-02-18T14:46:31Z",
          "updated_time": "2024-02-18T14:46:31Z",
          "href": "https://eu-gb.apprapp.cloud.ibm.com/feature/v1/instances/c6d52ad4-adaa-492b-941b-daa9e8d63d3a/integrations/lckkhp34t"
        }
      },
      "KMS": {
        "description": "Example KMS integration.",
        "value": {
          "integration_id": "ldxktxso",
          "integration_type": "KMS",
          "metadata": {
            "key_status": "USABLE",
            "root_key_id": "094ab151-1e01-4d30-9e7a-f1311bc0fbc6",
            "kms_endpoint": "https://au-syd.kms.cloud.ibm.com",
            "kms_scheme_type": "BYOK",
            "kms_instance_crn": "crn:v1:bluemix:public:kms:au-syd:a/4f631ea3b3204b2b878a295604994acf:a3d454ea-38f4-4ae1-92e1-6a4aaac24e14::"
          },
          "created_time": "2023-05-26T02:46:33Z",
          "updated_time": "2023-05-26T02:46:34Z",
          "href": "https://eu-gb.apprapp.cloud.ibm.com/feature/v1/instances/c6d52ad4-adaa-492b-941b-daa9e8d63d3a/integrations/ldxktxso"
        }
      },
      "ExternalServiceNow": {
        "description": "Example external servicenow integration.",
        "value": {
          "environment_name": "Dev",
          "environment_id": "dev",
          "workflow_url": "https://xxxxx.service-now.com",
          "approval_group_name": "WorkflowCRApprovers",
          "approval_expiration": 10,
          "workflow_credentials": {
            "client_id": "client id value",
            "client_secret": "clientsecret",
            "password": "pwd",
            "username": "user"
          },
          "enabled": true,
          "created_time": "2022-11-15T23:20:50Z",
          "updated_time": "2022-11-16T21:20:50Z",
          "href": "https://us-south.containers.appdomain.cloud/feature/v1/instances/31232860ac-c4c3-4a6a-9aa4-3dd82affbe1/environments/dev/workflowconfigs"
        }
      },
      "IBMServiceNow": {
        "description": "Example IBM servicenow integration.",
        "value": {
          "environment_name": "Dev",
          "environment_id": "dev",
          "service_crn": "crn:v1:staging:staging:appservice:us-south::::",
          "sm_instance_crn": "crn:v1:staging:public:secrets-manager:eu-gb:a/3268cfe9e25d411122f9a731a:0a23274-92d0a-4d42-b1fa-d15b4293cd::",
          "approval_expiration": 4,
          "secret_id": "Secret ID",
          "workflow_type": "SERVICENOW_IBM",
          "enabled": true,
          "created_time": "2022-11-15T23:20:50Z",
          "updated_time": "2022-11-16T21:20:50Z",
          "href": "https://us-south.containers.appdomain.cloud/feature/v1/instances/31232860ac-c4c3-4a6a-9aa4-3dd82affbe1/environments/dev/workflowconfigs"
        }
      }
    }
  }
}