{
  "openapi": "3.0.0",
  "info": {
    "version": "4",
    "title": "App ID Management",
    "x-ibm-name": "AppIdManagement",
    "description": "## Introduction\n\nWith IBM Cloud® App ID, you can secure resources and add authentication, even when you don't have a lot of security experience. By requiring users to sign in to your app, you can store user data such as preferences or information from their public social profiles that you can use to customize each experience of your app.\n\nYou can more easily access the API from your code with the available SDKs for Android, iOS, Node.js, Swift, and Javascript. The client libraries that are provided by the SDKs implement best practices for using the API and reduce the amount of code that you need to write.\n\n* [Android client SDK](https://github.com/ibm-cloud-security/appid-clientsdk-android)\n* [iOS Swift client SDK](https://github.com/ibm-cloud-security/appid-clientsdk-swift)\n* [Node.js server SDK](https://github.com/ibm-cloud-security/appid-serversdk-nodejs)\n* [JavaScript SDK](https://github.com/ibm-cloud-security/appid-clientsdk-js)\n\nTo learn more about using the SDKs, see the [IBM Cloud SDK Common project](https://github.com/IBM/ibm-cloud-sdk-common) on Github. For more information about getting started with App ID, check out the [docs](https://cloud.ibm.com/docs/appid).\n\nYou can more easily access the API from your code with the available SDKs for Android, iOS, Node.js, Swift, and Javascript. The client libraries that are provided by the SDKs implement best practices for using the API and reduce the amount of code that you need to write.\n\n* [Android client SDK](https://github.com/ibm-cloud-security/appid-clientsdk-android)\n* [iOS Swift client SDK](https://github.com/ibm-cloud-security/appid-clientsdk-swift)\n* [Node.js server SDK](https://github.com/ibm-cloud-security/appid-serversdk-nodejs)\n* [JavaScript SDK](https://github.com/ibm-cloud-security/appid-clientsdk-js)\n\nTo learn more about using the SDKs, see the [IBM Cloud SDK Common project](https://github.com/IBM/ibm-cloud-sdk-common) on Github. For more information about getting started with App ID, check out the [docs](https://cloud.ibm.com/docs/appid).\n\n## Endpoint URLs\n\nApp ID supports region-specific endpoint URLs that you can use to interact with the service over [public service endpoints](https://cloud.ibm.com/docs/appid?topic=appid-regions-endpoints). To make requests to the Management API, you supply the endpoint URL that corresponds with the location where your App ID service instance resides.\n\n**Endpoint URLs by location**\n\n- Dallas: `https://us-south.appid.cloud.ibm.com`\n- Frankfurt: `https://eu-de.appid.cloud.ibm.com`\n- London: `https://eu-gb.appid.cloud.ibm.com`\n- Osaka: `https://jp-osa.appid.cloud.ibm.com`\n- Sao Paulo: `https://br-sao.appid.cloud.ibm.com` \n- Sydney: `https://au-syd.appid.cloud.ibm.com`\n- Tokyo: `https://jp-tok.appid.cloud.ibm.com`\n- Toronto: `https://ca-tor.appid.cloud.ibm.com`\n- Washington: `https://us-east.appid.cloud.ibm.com`\n\nBase URL\n```\nhttps://{region}.appid.cloud.ibm.com\n```\n\n## Authentication\n\nThis API uses token-based IBM Cloud® Identity and Access Management (IAM) authentication.\n\nTo work with the Management APIs, you need to provide a valid IAM token in each request to the service. You can generate an IAM token by first [creating an IBM Cloud 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.\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\nTo generate an access token from your API key, use the following cURL command.\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 IBM Cloud API key. To learn more, check out the [IAM docs](https://cloud.ibm.com/docs/account?topic=account-iamtoken_from_apikey).\n\nExample that uses IAM authentication\n\n```bash\ncurl -X {request_method} \"{base_url}/api/v1/{method_endpoint}\" --header \"Authorization: Bearer {IAM_token}\"\n```\n\nReplace `{IAM_token}` with your IBM Cloud IAM access token.\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 ID activity, see [Activity tracking events for App ID](https://cloud.ibm.com/docs/appid?topic=appid-at_events).\n\n## Error handling\n\nThe App ID APIs use standard [HTTP status codes](https://cloud.ibm.com/docs/api-handbook?topic=api-handbook-status-codes) to indicate whether a method completed successfully. HTTP response codes in the `2xx` range indicate success. A response in the `4xx` range is some sort of failure, and a response in the `5xx` range usually indicates an internal system error.\n\n<table>\n    <caption>Status code summary</caption>\n    <thead>\n        <tr>\n            <th>Status code</th>\n            <th>Description</th>\n        </tr>\n    </thead>\n    <tbody>\n        <tr>\n            <td>200\n            <span class=\"type\">OK</span></td>\n            <td>Everything worked as expected.</td>\n        </tr>\n        <tr>\n            <td>201\n            <span class=\"type\">OK</span></td>\n            <td>Everything worked as expected. No content is returned.</td>\n        </tr>\n        <tr>\n            <td>400\n            <span class=\"type\">Bad Request</span></td>\n            <td>The request was unsuccessful, often due to a missing required parameter.</td>\n        </tr>\n        <tr>\n            <td>401\n            <span class=\"type\">Unauthorized</span></td>\n            <td>The parameters were valid but the request failed due insufficient permissions.</td>\n        </tr>\n        <tr>\n            <td>404\n            <span class=\"type\">Not Found</span></td>\n            <td>The requested resource doesn't exist.</td>\n        </tr>\n         <tr>\n            <td>409\n            <span class=\"type\">Conflict</span></td>\n            <td>The requested resource conflicts with an already existing resource.</td>\n        </tr>\n        <tr>\n            <td>410\n            <span class=\"type\">Gone</span></td>\n            <td>The requested resource was deleted and no longer exists.</td>\n        </tr>\n        <tr>\n            <td>429\n            <span class=\"type\">Too Many Requests</span></td>\n            <td>Too many requests hit the API too quickly.</td>\n        </tr>\n        <tr>\n            <td>500\n            <span class=\"type\">Internal Server Error</span></td>\n            <td>Something went wrong on App ID's end.</td>\n        </tr>\n    </tbody>\n</table>\n\n## Related APIs\n\nDon't see the API endpoint that you're looking for? Check out the other APIs for [Authorization and authentication](https://cloud.ibm.com/apidocs/app-id/auth) and [Profiles](https://cloud.ibm.com/apidocs/app-id/profiles).",
    "x-github": "https://github.ibm.com/cloud-api-docs/app-id",
    "x-github-issues": "https://github.ibm.com/cloud-api-docs/app-id/issues/new",
    "x-last-updated": "2025-04-15"
  },
  "paths": {
    "/management/v4/{tenantId}/config/idps/facebook": {
      "get": {
        "security": [
          {
            "IAM_Token": []
          }
        ],
        "operationId": "get_facebook_idp",
        "tags": [
          "Identity Providers"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/tenantId"
          }
        ],
        "responses": {
          "200": {
            "description": "The Facebook identity provider configuration is returned as a JSON object, including the status and credentials. [Learn more](/docs/appid?topic=appid-social#facebook).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/facebookConfigParams"
                }
              }
            }
          },
          "400": {
            "description": "The tenant ID or request body is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "The user is unauthorized. To be authorized, a user needs an IAM token with the valid permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "The user has insufficient permissions. Contact the service owner or admin to verify user permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "500": {
            "description": "Returned because of an internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        },
        "description": "Get the Facebook identity provider configuration. [Learn more](/docs/appid?topic=appid-social#facebook).",
        "summary": "Get Facebook IDP configuration",
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X 'GET' \\ 'https://{region}.appid.cloud.ibm.com/management/v4/{tenant_ID}/config/idps/facebook'\\\n -H 'accept: application/json' \\\n -H 'Authorization: Bearer {IAM_token}\"'"
                    ]
                  }
                ]
              }
            ]
          }
        }
      },
      "put": {
        "security": [
          {
            "IAM_Token": []
          }
        ],
        "operationId": "set_facebook_idp",
        "tags": [
          "Identity Providers"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/tenantId"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/facebookGoogleConfigParams"
        },
        "x-codegen-request-body-name": "idp",
        "responses": {
          "200": {
            "description": "The Facebook configuration was updated. The identity provider data is returned as a JSON object.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/facebookConfigParamsPUT"
                }
              }
            }
          },
          "400": {
            "description": "The tenant ID or request body is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "The user is unauthorized. To be authorized, a user needs an IAM token with the valid permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "The user has insufficient permissions. Contact the service owner or admin to verify user permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "500": {
            "description": "Returned due to an internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        },
        "summary": "Update Facebook IDP configuration",
        "description": "Configure Facebook to set up a single sign-on experience for your users. By using Facebook, your users are able to sign in with credentials with which they are already familiar. [Learn more](/docs/appid?topic=appid-social#facebook).",
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X 'PUT' \\'https://{region}.appid.cloud.ibm.com/management/v4/{tenant_ID}/config/idps/facebook'\\\n  -H 'accept: application/json' \\\n  -H 'Authorization: Bearer {IAM_token}' \\\n  -H 'Content-Type: application/json' \\\n  -d '{\n  \"isActive\": true,\n  \"config\": {\n    \"idpId\": \"appID\",\n    \"secret\": \"appsecret\"\n  },\n  \"additionalProp1\": {}\n  }'"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/management/v4/{tenantId}/config/idps/google": {
      "get": {
        "security": [
          {
            "IAM_Token": []
          }
        ],
        "operationId": "get_google_idp",
        "tags": [
          "Identity Providers"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/tenantId"
          }
        ],
        "responses": {
          "200": {
            "description": "The Google identity provider configuration is returned as a JSON object, including the status and credentials. [Learn more](/docs/appid?topic=appid-social#google).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/googleConfigParams"
                }
              }
            }
          },
          "400": {
            "description": "The tenant ID or request body is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "The user is unauthorized. To be authorized, a user needs an IAM token with the valid permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "The user has insufficient permissions. Contact the service owner or admin to verify user permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "500": {
            "description": "Returned because of an internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        },
        "description": "Get the Google identity provider configuration.",
        "summary": "Get Google IDP configuration",
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X 'GET' \\ 'https://{region}.appid.cloud.ibm.com/management/v4/{tenant_ID}/config/idps/google'\\\n -H 'accept: application/json' \\\n -H 'Authorization: Bearer {IAM_token}\"'"
                    ]
                  }
                ]
              }
            ]
          }
        }
      },
      "put": {
        "security": [
          {
            "IAM_Token": []
          }
        ],
        "operationId": "set_google_idp",
        "tags": [
          "Identity Providers"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/tenantId"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/facebookGoogleConfigParams"
        },
        "x-codegen-request-body-name": "idp",
        "responses": {
          "200": {
            "description": "The Google configuration was updated. The identity provider data is returned as a JSON object.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/googleConfigParamsPUT"
                }
              }
            }
          },
          "400": {
            "description": "The tenant ID or request body is missing or invalid. The tenant ID can be found in the service credentials.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "The user is unauthorized. To be authorized, a user needs an IAM token with the valid permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "The user has insufficient permissions. Contact the service owner or admin to verify user permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "500": {
            "description": "Returned due to an internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        },
        "summary": "Update Google IDP configuration",
        "description": "Configure Google to set up a single sign-on experience for your users. By using Google, your users are able to sign in with credentials with which they are already familiar. [Learn more](/docs/appid?topic=appid-social#google).",
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X 'PUT' \\'https://{region}.appid.cloud.ibm.com/management/v4/{tenant_ID}/config/idps/google'\\\n  -H 'accept: application/json' \\\n  -H 'Authorization: Bearer {IAM_token}' \\\n  -H 'Content-Type: application/json' \\\n  -d '{\n  \"isActive\": true,\n  \"config\": {\n    \"idpId\": \"appID\",\n    \"secret\": \"appsecret\"\n  },\n  \"additionalProp1\": {}\n}'"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/management/v4/{tenantId}/config/idps/ibmid": {
      "get": {
        "x-dev": true,
        "security": [
          {
            "IAM_Token": []
          }
        ],
        "operationId": "get_ibmid_idp",
        "tags": [
          "Identity Providers"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/tenantId"
          }
        ],
        "responses": {
          "200": {
            "description": "The IBMid identity provider configuration is returned as a JSON object, including the status and credentials.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ibmidConfigParams"
                }
              }
            }
          },
          "400": {
            "description": "The tenant ID or request body is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "The user is unauthorized. To be authorized, a user needs an IAM token with the valid permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "The user has insufficient permissions. Contact the service owner or admin to verify user permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "500": {
            "description": "Returned because of an internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        },
        "description": "Get the IBMid identity provider configuration.",
        "summary": "Get IBMid IDP configuration",
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X 'GET' \\'https://{region}.appid.cloud.ibm.com/management/v4/{tenant_ID}/config/idps/ibmid'\\\n -H 'accept: application/json' \\\n -H 'Authorization: Bearer {IAM_token}'"
                    ]
                  }
                ]
              }
            ]
          }
        }
      },
      "put": {
        "x-dev": true,
        "security": [
          {
            "IAM_Token": []
          }
        ],
        "operationId": "set_ibmid_idp",
        "tags": [
          "Identity Providers"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/tenantId"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ibmidConfigParams"
              }
            },
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/ibmidConfigParams"
              }
            },
            "multipart/form-data": {
              "schema": {
                "$ref": "#/components/schemas/ibmidConfigParams"
              }
            }
          },
          "description": "The identity provider configuration as a JSON object. If the configuration is not set, IBM default credentials are used.",
          "required": true
        },
        "x-codegen-request-body-name": "idp",
        "responses": {
          "200": {
            "description": "The IBMid configuration was updated. The identity provider data is returned as a JSON object.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ibmidConfigParamsPUT"
                }
              }
            }
          },
          "400": {
            "description": "The tenant ID or request body is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "The user is unauthorized. To be authorized, a user needs an IAM token with the valid permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "The user has insufficient permissions. Contact the service owner or admin to verify user permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "500": {
            "description": "Returned because of an internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        },
        "summary": "Update IBMid IDP configuration",
        "description": "Configure IBMid to set up a single sign-on experience for your users. [Learn more](/docs/appid?topic=appid-ibmid).",
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X 'PUT' \\'https://{region}.appid.cloud.ibm.com/management/v4/{tenant_ID}/config/idps/ibmid' \\\n  -H 'accept: application/json' \\\n  -H 'Authorization: Bearer {IAM_token}' \\\n  -H 'Content-Type: application/json' \\\n  -d '{\n  \"isActive\": true,\n  \"config\": {\n    \"idpId\": \"appID\",\n    \"secret\": \"appsecret\",\n    \"preProd\": true,\n    \"ciBased\": true\n  },\n  \"additionalProp1\": {}\n}'"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/management/v4/{tenantId}/config/idps/custom": {
      "get": {
        "security": [
          {
            "IAM_Token": []
          }
        ],
        "operationId": "get_custom_idp",
        "tags": [
          "Identity Providers"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/tenantId"
          }
        ],
        "responses": {
          "200": {
            "description": "The Custom identity configuration is returned as a JSON object that contains the PEM public key and the isActive status.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/customIdPConfigParams"
                }
              }
            }
          },
          "400": {
            "description": "The tenant ID or request body is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "The user is unauthorized. To be authorized, a user needs an IAM token with the valid permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "The user has insufficient permissions. Contact the service owner or admin to verify user permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "500": {
            "description": "Returned because of an internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        },
        "summary": "Get Custom identity configuration",
        "description": "Get the Custom identity configuration. ",
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X 'GET' \\'https://{region}.appid.cloud.ibm.com/management/v4/{tenant_ID}/config/idps/custom'\\\n -H 'accept: application/json' \\\n -H 'Authorization: Bearer {IAM_token}'"
                    ]
                  }
                ]
              }
            ]
          }
        }
      },
      "put": {
        "security": [
          {
            "IAM_Token": []
          }
        ],
        "operationId": "set_custom_idp",
        "tags": [
          "Identity Providers"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/tenantId"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/customIdPConfigParams"
              }
            },
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/customIdPConfigParams"
              }
            },
            "multipart/form-data": {
              "schema": {
                "$ref": "#/components/schemas/customIdPConfigParams"
              }
            }
          },
          "description": "The identity provider configuration as a JSON object.",
          "required": true
        },
        "x-codegen-request-body-name": "idp",
        "responses": {
          "200": {
            "description": "The Custom identity configuration was updated. The updated configuration is returned as a JSON object.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/customIdPConfigParams"
                }
              }
            }
          },
          "400": {
            "description": "The tenant ID or request body is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "The user is unauthorized. To be authorized, a user needs an IAM token with the valid permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "The user has insufficient permissions. Contact the service owner or admin to verify user permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "500": {
            "description": "Returned because of an internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        },
        "summary": "Update or change the configuration of the Custom identity.",
        "description": "Configure App ID Custom identity to allow users to sign in by using your own identity provider.",
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X 'PUT' \\'https://{region}.appid.cloud.ibm.com/management/v4/{tenant_ID}/config/idps/custom'\\\n  -H 'accept: application/json' \\\n  -H 'Authorization: Bearer {IAM_token}'\n  -H 'Content-Type: application/json' \\\n  -d '{\n  \"isActive\": true,\n  \"config\": {\n    \"publicKey\": \"[enter_rsa_public_key]\"\n  }\n}'"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/management/v4/{tenantId}/config/idps/cloud_directory": {
      "get": {
        "security": [
          {
            "IAM_Token": []
          }
        ],
        "operationId": "get_cloud_directory_idp",
        "tags": [
          "Identity Providers"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/tenantId"
          }
        ],
        "responses": {
          "200": {
            "description": "The Cloud Directory identity provider configuration is returned as a JSON object, including the status and credentials.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/cloudDirectoryResponse"
                }
              }
            }
          },
          "400": {
            "description": "The tenant ID or request body is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "The user is unauthorized. To be authorized, a user needs an IAM token with the valid permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "The user has insufficient permissions. Contact the service owner or admin to verify user permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "500": {
            "description": "Returned because of an internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        },
        "summary": "Get Cloud Directory IDP configuration",
        "description": "Get the Cloud Directory identity provider configuration. [Learn more](/docs/appid?topic=appid-cloud-directory).",
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X 'GET' \\'https://{region}.appid.cloud.ibm.com/management/v4/{tenant_ID}/config/idps/cloud_directory'\\\n -H 'accept: application/json' \\\n -H 'Authorization: Bearer {IAM_token}'"
                    ]
                  }
                ]
              }
            ]
          }
        }
      },
      "put": {
        "security": [
          {
            "IAM_Token": []
          }
        ],
        "operationId": "set_cloud_directory_idp",
        "tags": [
          "Identity Providers"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/tenantId"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "isActive",
                  "config"
                ],
                "properties": {
                  "isActive": {
                    "type": "boolean",
                    "description": "The status of the configuration.",
                    "example": true
                  },
                  "config": {
                    "$ref": "#/components/schemas/cloudDirectoryConfigParams"
                  }
                },
                "additionalProperties": false
              }
            },
            "application/x-www-form-urlencoded": {
              "schema": {
                "type": "object",
                "required": [
                  "isActive",
                  "config"
                ],
                "properties": {
                  "isActive": {
                    "type": "boolean",
                    "description": "The status of the configuration.",
                    "example": true
                  },
                  "config": {
                    "$ref": "#/components/schemas/cloudDirectoryConfigParams"
                  }
                },
                "additionalProperties": false
              }
            },
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "required": [
                  "isActive",
                  "config"
                ],
                "properties": {
                  "isActive": {
                    "type": "boolean",
                    "description": "The status of the configuration.",
                    "example": true
                  },
                  "config": {
                    "$ref": "#/components/schemas/cloudDirectoryConfigParams"
                  }
                },
                "additionalProperties": false
              }
            }
          },
          "description": "The identity provider configuration as a JSON object. If the configuration is not set, IBM default credentials are used.",
          "required": true
        },
        "x-codegen-request-body-name": "idp",
        "responses": {
          "200": {
            "description": "The Cloud Directory configuration was updated. The identity provider data is returned as a JSON object.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/cloudDirectoryResponse"
                }
              }
            }
          },
          "400": {
            "description": "The tenant ID or request body is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "The user is unauthorized. To be authorized, a user needs an IAM token with the valid permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "The user has insufficient permissions. Contact the service owner or admin to verify user permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "500": {
            "description": "Returned because of an internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        },
        "summary": "Update Cloud Directory IDP configuration",
        "description": "Configure Cloud Directory to set up a single sign-on experience for your users. With Cloud Directory, users can use their email and a password of their choice to log in to your applications. [Learn more](/docs/appid?topic=appid-cloud-directory).",
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X 'PUT'\\'https://{region}.appid.cloud.ibm.com/management/v4/{tenant_ID}/config/idps/cloud_directory'\\\n  -H 'accept: application/json' \\\n  -H 'Authorization: Bearer {IAM_token}' \\\n  -H 'Content-Type: application/json' \\\n  -d '{\n  \"isActive\": true,\n  \"config\": {\n    \"selfServiceEnabled\": true,\n    \"signupEnabled\": true,\n    \"interactions\": {\n      \"identityConfirmation\": {\n        \"accessMode\": \"FULL\",\n        \"methods\": [\n          \"email\"\n        ]\n      },\n      \"welcomeEnabled\": false,\n      \"resetPasswordEnabled\": false,\n      \"resetPasswordNotificationEnable\": true\n    },\n    \"identityField\": \"email\"\n  }\n}'"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/management/v4/{tenantId}/config/idps/saml": {
      "get": {
        "security": [
          {
            "IAM_Token": []
          }
        ],
        "operationId": "get_saml_idp",
        "tags": [
          "Identity Providers"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/tenantId"
          }
        ],
        "responses": {
          "200": {
            "description": "The identity provider configuration for SAML is returned as a JSON object.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/samlResponse"
                }
              }
            }
          },
          "400": {
            "description": "The tenant ID or request body is missing or invalid. The tenant ID can be found in the service credentials.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "The user is unauthorized. To be authorized, a user needs an IAM token with the valid permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "The user has insufficient permissions. Contact the service owner or admin to verify user permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "500": {
            "description": "Returned because of an internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        },
        "summary": "Get SAML IDP configuration",
        "description": "Get the SAML identity provider configuration, including status and credentials. [Learn more](/docs/appid?topic=appid-enterprise).",
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X 'GET'\\'https://{region}.appid.cloud.ibm.com/management/v4/{tenant_ID}/config/idps/saml' \\\n -H 'accept: application/json' \\\n -H 'Authorization: Bearer {IAM_token}'"
                    ]
                  }
                ]
              }
            ]
          }
        }
      },
      "put": {
        "security": [
          {
            "IAM_Token": []
          }
        ],
        "operationId": "set_saml_idp",
        "tags": [
          "Identity Providers"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/tenantId"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "isActive"
                ],
                "properties": {
                  "isActive": {
                    "type": "boolean",
                    "description": "The status of the configuration.",
                    "example": true
                  },
                  "config": {
                    "$ref": "#/components/schemas/samlConfigParams"
                  }
                },
                "additionalProperties": false
              }
            },
            "application/x-www-form-urlencoded": {
              "schema": {
                "type": "object",
                "required": [
                  "isActive"
                ],
                "properties": {
                  "isActive": {
                    "type": "boolean",
                    "description": "The status of the configuration.",
                    "example": true
                  },
                  "config": {
                    "$ref": "#/components/schemas/samlConfigParams"
                  }
                },
                "additionalProperties": false
              }
            },
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "required": [
                  "isActive"
                ],
                "properties": {
                  "isActive": {
                    "type": "boolean",
                    "description": "The status of the configuration.",
                    "example": true
                  },
                  "config": {
                    "$ref": "#/components/schemas/samlConfigParams"
                  }
                },
                "additionalProperties": false
              }
            }
          },
          "description": "The identity provider configuration as a JSON object.",
          "required": true
        },
        "x-codegen-request-body-name": "idp",
        "responses": {
          "200": {
            "description": "The SAML configuration was updated. The idp data is returned as a JSON object.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/samlResponseWithValidationData"
                }
              }
            }
          },
          "400": {
            "description": "The tenant ID or request body is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "The user is unauthorized. To be authorized, a user needs an IAM token with the valid permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "The user has insufficient permissions. Contact the service owner or admin to verify user permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "500": {
            "description": "Returned because of an internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        },
        "summary": "Update SAML IDP configuration",
        "description": "Configure SAML to set up a single sign-on experience for your users. [Learn more](/docs/appid?topic=appid-enterprise).",
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X 'PUT' \\'https://{region}.appid.cloud.ibm.com/management/v4/{tenant_ID}/config/idps/saml' \\\n  -H 'accept: application/json' \\\n  -H 'Authorization: Bearer {IAM_token}'\n  -H 'Content-Type: application/json' \\\n  -d '{\n  \"isActive\": true,\n  \"config\": {\n    \"entityID\": \"https://example.com/saml2/metadata/706634\",\n    \"signInUrl\": \"https://example.com/saml2/sso-redirect/706634\",\n    \"certificates\": [\n      \"certificate-example-pem-format\"\n    ],\n    \"displayName\": \"my_saml_example\",\n    \"authnContext\": {\n      \"class\": [\n        \"urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport\"\n      ],\n      \"comparison\": \"exact\"\n    },\n    \"signRequest\": false,\n    \"encryptResponse\": false\n  }\n}'"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/management/v4/{tenantId}/config/tokens": {
      "get": {
        "security": [
          {
            "IAM_Token": []
          }
        ],
        "operationId": "get_tokens_config",
        "tags": [
          "Config"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/tenantId"
          }
        ],
        "responses": {
          "200": {
            "description": "Returns a JSON object of the App ID tokens properties.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/tokensConfigResponse"
                }
              }
            }
          },
          "400": {
            "description": "The tenant ID or request body is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "The user is unauthorized. To be authorized, a user needs an IAM token with the valid permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "The user has insufficient permissions. Contact the service owner or admin to verify user permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        },
        "summary": "Get tokens configuration",
        "description": "Get the token configuration. [Learn more](/docs/appid?topic=appid-key-concepts).",
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X 'GET'\\'https://{region}.appid.cloud.ibm.com/management/v4/{tenant_ID}/config/tokens' \\\n -H 'accept: application/json' \\\n -H 'Authorization: Bearer {IAM_token}'"
                    ]
                  }
                ]
              }
            ]
          }
        }
      },
      "put": {
        "security": [
          {
            "IAM_Token": []
          }
        ],
        "operationId": "put_tokens_config",
        "tags": [
          "Config"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/tenantId"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/tokensConfigResponse"
              }
            },
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/tokensConfigResponse"
              }
            },
            "multipart/form-data": {
              "schema": {
                "$ref": "#/components/schemas/tokensConfigResponse"
              }
            }
          },
          "description": "Set of App ID token objects.\n'expires_in' is set in seconds.\n",
          "required": true
        },
        "x-codegen-request-body-name": "tokens",
        "responses": {
          "200": {
            "description": "The token configuration was updated.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/tokensConfigResponse"
                }
              }
            }
          },
          "400": {
            "description": "The tenant ID or request body is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "The user is unauthorized. To be authorized, a user needs an IAM token with the valid permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "The user has insufficient permissions. Contact the service owner or admin to verify user permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        },
        "summary": "Update tokens configuration",
        "description": "Update the tokens' configuration to fine-tune the expiration times of access, ID, and refresh tokens to enable or disable refresh and anonymous tokens, and to configure custom claims. When a token config object is not included in the set, its value is reset back to default. \nFor more information, check out the [key concepts](/docs/appid?topic=appid-key-concepts).",
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X 'PUT'\\'https://{region}.appid.cloud.ibm.com/management/v4/tenant_ID}/config/tokens' \\\n  -H 'accept: application/json' \\\n  -H 'Authorization: Bearer {IAM_token}'\n  -H 'Content-Type: application/json' \\\n  -d '{\n  \"idTokenClaims\": [\n    {\n      \"source\": \"attributes\",\n      \"sourceClaim\": \"theme\"\n    }\n  ],\n  \"accessTokenClaims\": [\n    {\n      \"source\": \"saml\",\n      \"sourceClaim\": \"user_type\",\n      \"destinationClaim\": \"type\"\n    }\n  ],\n  \"access\": {\n    \"expires_in\": 3600\n  },\n  \"refresh\": {\n    \"expires_in\": 2592000,\n    \"enabled\": true\n  },\n  \"anonymousAccess\": {\n    \"expires_in\": 2592000,\n    \"enabled\": true\n  }\n}'"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/management/v4/{tenantId}/config/redirect_uris": {
      "get": {
        "security": [
          {
            "IAM_Token": []
          }
        ],
        "operationId": "getRedirectUris",
        "tags": [
          "Config"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/tenantId"
          }
        ],
        "responses": {
          "200": {
            "description": "An array of the redirect URIs is returned as a JSON object.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/redirectUriResponse"
                }
              }
            }
          },
          "400": {
            "description": "The tenant ID parameter is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "The user is unauthorized. To be authorized, a user needs an IAM token with the valid permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "The user has insufficient permissions. Contact the service owner or admin to verify user permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        },
        "summary": "Get redirect URIs",
        "description": "Get the list of the redirect URIs that can be used as callbacks of App ID authentication flow. [Learn more](/docs/appid?topic=appid-managing-idp#add-redirect-uri).",
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X 'GET'\\'https://{region}.appid.cloud.ibm.com/management/v4/{tenant_ID}/config/redirect_uris'\\\n -H 'accept: application/json' \\\n -H 'Authorization: Bearer {IAM_token}'"
                    ]
                  }
                ]
              }
            ]
          }
        }
      },
      "put": {
        "security": [
          {
            "IAM_Token": []
          }
        ],
        "operationId": "updateRedirectUris",
        "tags": [
          "Config"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/tenantId"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/redirectUriConfig"
              }
            },
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/redirectUriConfig"
              }
            },
            "multipart/form-data": {
              "schema": {
                "$ref": "#/components/schemas/redirectUriConfig"
              }
            }
          },
          "description": "The redirect URIs JSON object. If IBM default credentials are used, the redirect URIs are ignored.",
          "required": true
        },
        "x-codegen-request-body-name": "redirect uris array",
        "responses": {
          "204": {
            "description": "No content. The redirect URIs were updated."
          },
          "400": {
            "description": "The tenant ID or request body is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "The user is unauthorized. To be authorized, a user needs an IAM token with the valid permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "The user has insufficient permissions. Contact the service owner or admin to verify permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        },
        "summary": "Update redirect URIs",
        "description": "Update the list of the redirect URIs that can be used as callbacks of App ID authentication flow. [Learn more](/docs/appid?topic=appid-managing-idp#add-redirect-uri).",
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X 'PUT'\\'https://{region}.appid.cloud.ibm.com/management/v4/{tenant_ID}/config/redirect_uris'\\\n  -H 'accept: application/json' \\\n  -H 'Authorization: Bearer {IAM_token}'\n  -H 'Content-Type: application/json' \\\n  -d '{\n  \"redirectUris\": [\n    \"http://localhost:3000/oauth-callback\"\n  ],\n  \"additionalProp1\": {}\n}'"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/management/v4/{tenantId}/config/users_profile": {
      "get": {
        "security": [
          {
            "IAM_Token": []
          }
        ],
        "operationId": "getUserProfilesConfig",
        "tags": [
          "Config"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/tenantId"
          }
        ],
        "responses": {
          "200": {
            "description": "The current profiles status is returned as a JSON object.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "isActive"
                  ],
                  "properties": {
                    "isActive": {
                      "type": "boolean",
                      "description": "The status of the configuration."
                    }
                  },
                  "example": {
                    "isActive": false
                  }
                }
              }
            }
          },
          "400": {
            "description": "The tenant ID is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "The user is unauthorized. To be authorized, a user needs an IAM token with the valid permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "The user has insufficient permissions. Contact the service owner or admin to verify permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        },
        "description": "Get the user profiles configuration. A user profile is an entity that is stored and maintained by App ID. The profile holds a user's attributes and identity. It can be anonymous or linked to an identity that is managed by an identity provider. [Learn more](/docs/appid?topic=appid-profiles).",
        "summary": "Get user profiles configuration",
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X 'GET'\\'https://{region}.appid.cloud.ibm.com/management/v4/{tenant_ID}/config/users_profile'\\\n -H 'accept: application/json' \\\n -H 'Authorization: Bearer {IAM_token}'"
                    ]
                  }
                ]
              }
            ]
          }
        }
      },
      "put": {
        "security": [
          {
            "IAM_Token": []
          }
        ],
        "operationId": "updateUserProfilesConfig",
        "tags": [
          "Config"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/tenantId"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/profiles"
              }
            },
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/profiles"
              }
            },
            "multipart/form-data": {
              "schema": {
                "$ref": "#/components/schemas/profiles"
              }
            }
          },
          "description": "The user profile data. It can be enabled or disabled.",
          "required": true
        },
        "x-codegen-request-body-name": "user profiles status",
        "responses": {
          "204": {
            "description": "No content. The user profiles status was updated."
          },
          "400": {
            "description": "The tenant ID or request body is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "The user is unauthorized. To be authorized, a user needs an IAM token with the valid permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "The user has insufficient permissions. Contact the service owner or admin to verify permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        },
        "summary": "Update user profiles configuration",
        "description": "Update the user profiles configuration. A user profile is an entity that is stored and maintained by App ID. The profile holds a user's attributes and identity. It can be anonymous or linked to an identity that is managed by an identity provider.[Learn more](/docs/appid?topic=appid-profiles).",
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X 'PUT'\\'https://{region}.appid.cloud.ibm.com/management/v4/{tenant_ID}/config/users_profile'\\\n  -H 'accept: application/json' \\\n  -H 'Authorization: Bearer {IAM_token}'\n  -H 'Content-Type: application/json' \\\n  -d '{\n  \"isActive\": true\n}'"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/management/v4/{tenantId}/config/ui/theme_text": {
      "get": {
        "security": [
          {
            "IAM_Token": []
          }
        ],
        "operationId": "GetThemeText",
        "tags": [
          "Config"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/tenantId"
          }
        ],
        "responses": {
          "200": {
            "description": "The current color configuration is returned as a JSON object.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "footnote",
                    "tabTitle"
                  ],
                  "properties": {
                    "footnote": {
                      "type": "string",
                      "description": "The footnote."
                    },
                    "tabTitle": {
                      "type": "string",
                      "description": "The tab title."
                    }
                  },
                  "example": {
                    "tabTitle": "Login",
                    "footnote": "Powered by App ID"
                  }
                }
              }
            }
          },
          "400": {
            "description": "The tenant ID is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "The user is unauthorized. To be authorized, a user needs an IAM token with the valid permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "The user has insufficient permissions. Contact the service owner or admin to verify permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        },
        "summary": "Get widget texts",
        "description": "Get the theme texts of the App ID login widget. [Learn more](/docs/appid?topic=appid-login-widget).",
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X 'GET'\\'https://{region}.appid.cloud.ibm.com/management/v4/{tenant_ID}/config/ui/theme_text'\\\n -H 'accept: application/json' \\\n -H 'Authorization: Bearer {IAM_token}'"
                    ]
                  }
                ]
              }
            ]
          }
        }
      },
      "put": {
        "security": [
          {
            "IAM_Token": []
          }
        ],
        "operationId": "PostThemeText",
        "tags": [
          "Config"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/tenantId"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/themeTextConfigParam"
              }
            },
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/themeTextConfigParam"
              }
            },
            "multipart/form-data": {
              "schema": {
                "$ref": "#/components/schemas/themeTextConfigParam"
              }
            }
          },
          "description": "The texts of the widget.",
          "required": true
        },
        "x-codegen-request-body-name": "theme texts",
        "responses": {
          "204": {
            "description": "No content, the service login widget header color was updated."
          },
          "400": {
            "description": "The tenant ID or request body is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "The user is unauthorized. To be authorized, a user needs an IAM token with the valid permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "The user has insufficient permissions. Contact the service owner or admin to verify permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        },
        "summary": "Update widget texts",
        "description": "Update the texts of the App ID login widget. [Learn more](/docs/appid?topic=appid-login-widget).",
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X 'PUT'\\'https://{region}.appid.cloud.ibm.com/management/v4/{tenant_ID}/config/ui/theme_text'\\\n  -H 'accept: application/json' \\\n  -H 'Authorization: Bearer {IAM_token}\"\n  -H 'Content-Type: application/json' \\\n  -d '{\n  \"tabTitle\": \"Login api-test\",\n  \"footnote\": \"Powered by App ID\"\n}'"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/management/v4/{tenantId}/config/ui/theme_color": {
      "get": {
        "security": [
          {
            "IAM_Token": []
          }
        ],
        "operationId": "GetThemeColor",
        "tags": [
          "Config"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/tenantId"
          }
        ],
        "responses": {
          "200": {
            "description": "The current color configuration is returned as a JSON object.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "headerColor"
                  ],
                  "properties": {
                    "headerColor": {
                      "type": "string",
                      "description": "The color of the header."
                    }
                  },
                  "example": {
                    "headerColor": "#EEF2F5"
                  }
                }
              }
            }
          },
          "400": {
            "description": "The tenant ID is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "The user is unauthorized. To be authorized, a user needs an IAM token with the valid permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "The user has insufficient permissions. Contact the service owner or admin to verify permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        },
        "summary": "Get widget colors",
        "description": "Get the colors of the App ID login widget. [Learn more](/docs/appid?topic=appid-login-widget).",
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X 'GET'\\'{base_url}/management/v4/{tenant_ID}/config/ui/theme_color'\\\n -H 'accept: application/json' \\\n -H 'Authorization: Bearer {IAM_token}'"
                    ]
                  }
                ]
              }
            ]
          }
        }
      },
      "put": {
        "security": [
          {
            "IAM_Token": []
          }
        ],
        "operationId": "PostThemeColor",
        "tags": [
          "Config"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/tenantId"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/themeColorConfigParam"
              }
            },
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/themeColorConfigParam"
              }
            },
            "multipart/form-data": {
              "schema": {
                "$ref": "#/components/schemas/themeColorConfigParam"
              }
            }
          },
          "description": "The colors of the widget.",
          "required": true
        },
        "x-codegen-request-body-name": "theme colors",
        "responses": {
          "204": {
            "description": "No content, the service login widget header color was updated."
          },
          "400": {
            "description": "The tenant ID or request body is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "The user is unauthorized. To be authorized, a user needs an IAM token with the valid permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "The user has insufficient permissions. Contact the service owner or admin to verify permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        },
        "summary": "Update widget colors",
        "description": "Update the colors of the App ID login widget. [Learn more](/docs/appid?topic=appid-login-widget).",
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X 'PUT'\\'https://{region}.appid.cloud.ibm.com/management/v4/{tenant_ID}/config/ui/theme_color'\\\n  -H 'accept: application/json' \\\n  -H 'Authorization: Bearer {IAM_token}\"\n  -H 'Content-Type: application/json' \\\n  -d '{\n  \"headerColor\": \"{#EEF2F5}\"\n}'"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/management/v4/{tenantId}/config/ui/media": {
      "delete": {
        "x-dev": true,
        "security": [
          {
            "IAM_Token": []
          }
        ],
        "operationId": "deleteMedia",
        "tags": [
          "Config"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/tenantId"
          },
          {
            "$ref": "#/components/parameters/media-type"
          }
        ],
        "responses": {
          "204": {
            "description": "The logo was deleted."
          },
          "400": {
            "description": "The tenant ID or file type is missing.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "The user is unauthorized. To be authorized, a user needs an IAM token with the valid permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "The user has insufficient permissions. Contact the service owner or admin to verify permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        },
        "summary": "Delete widget logo",
        "description": "Delete the image file shown in the login widget. [Learn more](/docs/appid?topic=appid-login-widget).",
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X 'DELETE' \\'https://{region}.appid.cloud.ibm.com/management/v4/{tenant_ID}/config/ui/media?mediaType=logo'\\\n -H 'accept: application/json' \\\n -H 'Authorization: Bearer {IAM_token}''"
                    ]
                  }
                ]
              }
            ]
          }
        }
      },
      "get": {
        "security": [
          {
            "IAM_Token": []
          }
        ],
        "operationId": "getMedia",
        "tags": [
          "Config"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/tenantId"
          }
        ],
        "responses": {
          "200": {
            "description": "The current media configurations are returned as a JSON object.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "image"
                  ],
                  "properties": {
                    "image": {
                      "type": "string",
                      "description": "The custom logo image of the login widget."
                    }
                  },
                  "example": {
                    "image": "image-url"
                  }
                }
              }
            }
          },
          "400": {
            "description": "The tenant ID, file type, or file size are invalid or missing. The file must be either a JPG or PNG that is less than 100 kb.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "The user is unauthorized. To be authorized, a user needs an IAM token with the valid permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "The user has insufficient permissions. Contact the service owner or admin to verify permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        },
        "summary": "Get widget logo",
        "description": "Get the link to the custom logo image of the login widget. [Learn more](/docs/appid?topic=appid-login-widget).",
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X 'GET'\\'https://{region}.appid.cloud.ibm.com/management/v4/{tenant_ID}/config/ui/media' \\\n -H 'accept: application/json' \\\n -H 'Authorization: Bearer {IAM_token}''"
                    ]
                  }
                ]
              }
            ]
          }
        }
      },
      "post": {
        "security": [
          {
            "IAM_Token": []
          }
        ],
        "operationId": "postMedia",
        "tags": [
          "Config"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/tenantId"
          },
          {
            "$ref": "#/components/parameters/media-type"
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "properties": {
                  "file": {
                    "description": "The image file. The recommended size is 320x320 px. The maximum files size is 100 kb.",
                    "type": "string",
                    "format": "binary"
                  }
                },
                "required": [
                  "file"
                ]
              }
            }
          },
          "required": true
        },
        "responses": {
          "204": {
            "description": "No content. The service login widget logo was updated."
          },
          "400": {
            "description": "The tenant ID, file type, or file size are invalid or missing. The file must be either a JPG or PNG that is less than 100 kb.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "The user is unauthorized. To be authorized, a user needs an IAM token with the valid permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "The user has insufficient permissions. Contact the service owner or admin to verify permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        },
        "summary": "Update widget logo",
        "description": "Update the image file shown in the login widget. [Learn more](/docs/appid?topic=appid-login-widget).",
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X 'POST'\\'https://{region}.appid.cloud.ibm.com/management/v4/{tenant_ID}/config/ui/media?mediaType=logo'\\\n  -H 'accept: application/json' \\\n  -H 'Authorization: Bearer {IAM_token}\"\n  -H 'Content-Type: multipart/form-data' \\\n  -F 'file=unsplash.jpg;type=image/jpeg'"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/management/v4/{tenantId}/config/saml_metadata": {
      "get": {
        "security": [
          {
            "IAM_Token": []
          }
        ],
        "operationId": "getSamlMetadata",
        "summary": "Get the SAML metadata",
        "description": "Get the SAML metadata that you need to integrate App ID with a SAML identity provider. [Learn more](/docs/appid?topic=appid-enterprise).",
        "tags": [
          "Config"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/tenantId"
          }
        ],
        "responses": {
          "200": {
            "description": "The metadata for using SAML as a service provider is returned as an xml snippet.",
            "content": {
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/EntityDescriptor"
                }
              }
            }
          },
          "400": {
            "description": "The tenant ID parameter is missing or invalid.",
            "content": {
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "500": {
            "description": "Returned because of an internal server error.",
            "content": {
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X 'GET' \\'https://{region}.appid.cloud.ibm.com/management/v4/{tenant_ID}/config/saml_metadata'\\\n -H 'accept: application/json' \\\n -H 'Authorization: Bearer {IAM_token}''"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/management/v4/{tenantId}/config/cloud_directory/templates/{templateName}/{language}": {
      "get": {
        "security": [
          {
            "IAM_Token": []
          }
        ],
        "operationId": "getTemplate",
        "summary": "Get an email template",
        "description": "Get the content of a custom email template or the default template in case it wasn't customized. [Learn more](/docs/appid?topic=appid-cd-types).",
        "tags": [
          "Config"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/tenantId"
          },
          {
            "$ref": "#/components/parameters/templateNameWithMFAVerification"
          },
          {
            "$ref": "#/components/parameters/language"
          }
        ],
        "responses": {
          "200": {
            "description": "The email template data is returned as a JSON object. If the language template does not exist yet, the english template (en) is returned.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/getTemplate"
                }
              }
            }
          },
          "400": {
            "description": "The tenant ID or templateName are missing or invalid or language is not in the app localization configuration.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "The user is unauthorized. To be authorized, a user needs an IAM token with valid permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "The user has insufficient permissions. Contact the service owner or admin to verify permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X 'GET'\\'https://{region}.appid.cloud.ibm.com/management/v4/{tenant_ID}/config/cloud_directory/templates/{USER_VERIFICATION}/en'\\\n -H 'accept: application/json' \\\n -H 'Authorization: Bearer {IAM_token}'"
                    ]
                  }
                ]
              }
            ]
          }
        }
      },
      "put": {
        "security": [
          {
            "IAM_Token": []
          }
        ],
        "operationId": "updateTemplate",
        "summary": "Update an email template",
        "description": "Update the Cloud Directory email template. [Learn more](/docs/appid?topic=appid-cd-types).",
        "tags": [
          "Config"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/tenantId"
          },
          {
            "$ref": "#/components/parameters/templateNameWithMFAVerification"
          },
          {
            "$ref": "#/components/parameters/language"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/setTemplate"
              }
            },
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/setTemplate"
              }
            },
            "multipart/form-data": {
              "schema": {
                "$ref": "#/components/schemas/setTemplate"
              }
            }
          },
          "description": "Email template object.\nSee documentation for available placeholder for each email template.\n",
          "required": true
        },
        "x-codegen-request-body-name": "Email Template",
        "responses": {
          "200": {
            "description": "The email template properties are returned as a JSON object.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/getTemplate"
                }
              }
            }
          },
          "201": {
            "description": "The created email template properties are returned as a JSON object.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/getTemplate"
                }
              }
            }
          },
          "204": {
            "description": "No content. The template configuration was updated (in case the request Prefer header is return_minimal)."
          },
          "400": {
            "description": "The tenant ID or request body is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "The user is unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "The user has insufficient permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X 'PUT'\\'https://{region}.appid.cloud.ibm.com/management/v4/{tenant_ID}/config/cloud_directory/templates/{USER_VERIFICATION}/en'\\\n  -H 'accept: application/json' \\\n  -H 'Authorization: Bearer {IAM_token}\"\n  -H 'Content-Type: application/json' \\\n  -d '{\n  \"subject\": \"Verify Your Email for %{user.displayName}\",\n  \"base64_encoded_html_body\": \"PGgzPkhlbGxvICV7dX\"\n}'"
                    ]
                  }
                ]
              }
            ]
          }
        }
      },
      "delete": {
        "security": [
          {
            "IAM_Token": []
          }
        ],
        "operationId": "deleteTemplate",
        "summary": "Delete an email template",
        "description": "Delete the customized email template and reverts to App ID default template. [Learn more](/docs/appid?topic=appid-cd-users).",
        "tags": [
          "Config"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/tenantId"
          },
          {
            "$ref": "#/components/parameters/templateNameWithMFAVerification"
          },
          {
            "$ref": "#/components/parameters/language"
          }
        ],
        "responses": {
          "204": {
            "description": "The template was deleted."
          },
          "400": {
            "description": "The tenant ID is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "The user is unauthorized. To be authorized, a user needs an IAM token with the valid permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "The user has insufficient permissions. Contact a service owner or admin to verify permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "description": "The template does not exist.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X 'DELETE'\\'https://{region}.appid.cloud.ibm.com/management/v4/{tenant_ID}/config/cloud_directory/templates/{USER_VERIFICATION}/en'\\ -H 'accept: application/json' \\ -H 'Authorization: Bearer {IAM_token}''"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/management/v4/{tenantId}/cloud_directory/sign_up": {
      "post": {
        "security": [
          {
            "IAM_Token": []
          }
        ],
        "operationId": "startSignUp",
        "summary": "Sign up",
        "description": "Start the sign-up process. [Learn more](/docs/appid?topic=appid-branded).",
        "tags": [
          "Cloud Directory Workflows"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/tenantId"
          },
          {
            "$ref": "#/components/parameters/shouldCreateProfile"
          },
          {
            "$ref": "#/components/parameters/languageQuery"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/createNewUser"
        },
        "x-codegen-request-body-name": "Cloud Directory user data",
        "responses": {
          "201": {
            "description": "The new Cloud Directory user data is returned as a JSON object. Full user data can be found [here](https://tools.ietf.org/html/rfc7643#section-8.2){: external}.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/getUser"
                }
              }
            }
          },
          "400": {
            "description": "The tenant ID or request body is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "The user is unauthorized. To be authorized, a user needs an IAM token with the valid permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "The user has insufficient permissions. Contact the service owner or admin to verify user permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "409": {
            "description": "The email address exists.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X 'POST'\\'https://{region}.appid.cloud.ibm.com/management/v4/{tenant_ID}/cloud_directory/sign_up?shouldCreateProfile={true}&language=en'\\\n  -H 'accept: application/json' \\\n  -H 'Authorization: Bearer {IAM_token}\"\n  -H 'Content-Type: application/json' \\\n  -d '{\n  \"active\": true,\n  \"emails\": [\n    {\n      \"value\": \"email@example.com\",\n      \"primary\": true\n    }\n  ],\n  \"userName\": \"user_name\",\n  \"password\": \"userPassword\"\n}'"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/management/v4/{tenantId}/cloud_directory/sign_up/confirmation_result": {
      "post": {
        "security": [
          {
            "IAM_Token": []
          }
        ],
        "operationId": "userVerificationResult",
        "summary": "Get signup confirmation result",
        "description": "Get the sign-up confirmation result. [Learn more](/docs/appid?topic=appid-branded).",
        "tags": [
          "Cloud Directory Workflows"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/tenantId"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/userVerificationResult"
        },
        "responses": {
          "200": {
            "description": "The sign-up confirmation result is returned as a JSON object.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/confirmationResultOK"
                }
              }
            }
          },
          "400": {
            "description": "The tenant ID or context is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "The user is unauthorized. To be authorized, a user needs an IAM token with the valid permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "The user has insufficient permissions. Contact the service owner or admin to verify user permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "description": "The context was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/confirmationResultFailure"
                }
              }
            }
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X 'POST'\\'https://{region}.appid.cloud.ibm.com/management/v4/{tenant_ID}/cloud_directory/sign_up/confirmation_result'\\\n  -H 'accept: application/json' \\\n  -H 'Authorization: Bearer {IAM_token}\"\n  -H 'Content-Type: application/x-www-form-urlencoded' \\\n  -d 'context=context'"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/management/v4/{tenantId}/cloud_directory/forgot_password": {
      "post": {
        "security": [
          {
            "IAM_Token": []
          }
        ],
        "operationId": "startForgotPassword",
        "summary": "Forgot password",
        "description": "Start the forgot password process. [Learn more](/docs/appid?topic=appid-branded).",
        "tags": [
          "Cloud Directory Workflows"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/tenantId"
          },
          {
            "$ref": "#/components/parameters/languageQuery"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "type": "object",
                "properties": {
                  "user": {
                    "description": "The user identifier - email or userName based on the identityField property in <a href=\"#!/Identity_Providers/set_cloud_directory_idp\" target=\"_blank\"> cloud directory configuration.</a>",
                    "type": "string",
                    "maxLength": 200
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The Cloud Directory user data is returned as a JSON object. Full user data can be found [here](https://tools.ietf.org/html/rfc7643#section-8.2){: external}.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/getUser"
                }
              }
            }
          },
          "400": {
            "description": "The tenant ID or request body is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "The user is unauthorized. To be authorized, a user needs an IAM token with the valid permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "The user has insufficient permissions. Contact the service owner or admin to verify user permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "409": {
            "description": "The user account was not verified.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X 'POST'\\'https://{region}.appid.cloud.ibm.com/management/v4/{tenant_ID}/cloud_directory/forgot_password?language=en'\\\n  -H 'accept: application/json' \\\n  -H 'Authorization: Bearer {IAM_token}\"\n  -H 'Content-Type: application/x-www-form-urlencoded' \\\n  -d 'user=user@example.com'"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/management/v4/{tenantId}/cloud_directory/forgot_password/confirmation_result": {
      "post": {
        "security": [
          {
            "IAM_Token": []
          }
        ],
        "operationId": "forgotPasswordResult",
        "summary": "Forgot password confirmation result",
        "description": "Get the forgot password flow confirmation result. [Learn more](/docs/appid?topic=appid-branded).",
        "tags": [
          "Cloud Directory Workflows"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/tenantId"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/userVerificationResult"
        },
        "responses": {
          "200": {
            "description": "The forgot password confirmation result is returned as a JSON object.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/confirmationResultOK"
                }
              }
            }
          },
          "400": {
            "description": "The tenant ID or context is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "The user is unauthorized. To be authorized, a user needs an IAM token with the valid permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "The user has insufficient permissions. Contact the service owner or admin to verify user permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "description": "The context was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/confirmationResultFailure"
                }
              }
            }
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X 'POST'\\'https://{region}.appid.cloud.ibm.com/management/v4/{tenantId}/cloud_directory/forgot_password/confirmation_result'\\\n  -H 'accept: application/json' \\\n  -H 'Authorization: Bearer {IAM_token}\"\n  -H 'Content-Type: application/x-www-form-urlencoded' \\\n  -d 'context=context'"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/management/v4/{tenantId}/cloud_directory/change_password": {
      "post": {
        "security": [
          {
            "IAM_Token": []
          }
        ],
        "operationId": "changePassword",
        "summary": "Change password",
        "description": "Change the Cloud Directory user password. [Learn more](/docs/appid?topic=appid-branded).",
        "tags": [
          "Cloud Directory Workflows"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/tenantId"
          },
          {
            "$ref": "#/components/parameters/languageQuery"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "type": "object",
                "properties": {
                  "newPassword": {
                    "description": "The new password.",
                    "type": "string"
                  },
                  "uuid": {
                    "description": "The Cloud Directory unique user Id.",
                    "type": "string"
                  },
                  "changedIpAddress": {
                    "description": "The IP address and the changed password.",
                    "type": "string"
                  }
                },
                "required": [
                  "newPassword",
                  "uuid"
                ]
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "The Cloud Directory user data is returned as a JSON object. Full user data can be found [here](https://tools.ietf.org/html/rfc7643#section-8.2){: external}.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/getUser"
                }
              }
            }
          },
          "400": {
            "description": "The tenant ID, uuid, or newPassword is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "The user is unauthorized. To be authorized, a user needs an IAM token with the valid permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "The user has insufficient permissions. Contact the service owner or admin to verify user permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X 'POST'\\'https://{region}.appid.cloud.ibm.com/management/v4/{tenantId}/cloud_directory/change_password?language=en'\\\n  -H 'accept: application/json' \\\n  -H 'Authorization: Bearer {IAM_token}\"\n  -H 'Content-Type: application/x-www-form-urlencoded' \\\n  -d 'newPassword=new_password.&uuid=unique_user_id'"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/management/v4/{tenantId}/cloud_directory/resend/{templateName}": {
      "post": {
        "security": [
          {
            "IAM_Token": []
          }
        ],
        "operationId": "resendNotification",
        "summary": "Resend user notifications",
        "description": "Resend user email notifications (for example, resend user verification email). [Learn more](/docs/appid?topic=appid-branded).",
        "tags": [
          "Cloud Directory Workflows"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/tenantId"
          },
          {
            "$ref": "#/components/parameters/templateName"
          },
          {
            "$ref": "#/components/parameters/languageQuery"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "type": "object",
                "properties": {
                  "uuid": {
                    "description": "The Cloud Directory unique user Id.",
                    "type": "string"
                  }
                },
                "required": [
                  "uuid"
                ]
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "The notification is sent.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string",
                      "description": "The message of the notification sent to the user."
                    }
                  },
                  "example": {
                    "message": "Email is queued to be delivered."
                  }
                }
              }
            }
          },
          "400": {
            "description": "The tenant ID or request body is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "The user is unauthorized. To be authorized, a user needs an IAM token with the valid permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "The user has insufficient permissions. Contact the service owner or admin to verify user permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "409": {
            "description": "The user account is not verified in cases when the template name is RESET_PASSOWRD.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "410": {
            "description": "The user account is already confirmed in cases when the template name is CONFIRMATION.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X 'POST'\\'https://{region}.appid.cloud.ibm.com/management/v4/{tenantId}/cloud_directory/resend/USER_VERIFICATION?language=en'\\\n  -H 'accept: application/json' \\\n  -H 'Authorization: Bearer {IAM_token}\"\n  -H 'Content-Type: application/x-www-form-urlencoded' \\\n  -d 'uuid=unique_user_id'"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/management/v4/{tenantId}/cloud_directory/remove/{userId}": {
      "delete": {
        "security": [
          {
            "IAM_Token": []
          }
        ],
        "operationId": "cloud_directory_remove",
        "summary": "Delete Cloud Directory User and Profile",
        "description": "Delete an existing Cloud Directory user and the associated profile. [Learn more](/docs/appid?topic=appid-cd-users). **Note: This action cannot be undone.**",
        "tags": [
          "Cloud Directory Workflows"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/tenantId"
          },
          {
            "$ref": "#/components/parameters/userId"
          }
        ],
        "responses": {
          "204": {
            "description": "The user and profile were deleted."
          },
          "400": {
            "description": "Invalid tenant ID or user ID.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "The user is unauthorized. To be authorized, a user needs an IAM token with the valid permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "The user has insufficient permissions. Contact the service owner or admin to verify permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X 'DELETE' \\'https://{region}.appid.cloud.ibm.com/management/v4/{tenant_ID}/cloud_directory/remove/{userId}'\\\n -H 'accept: application/json' \\\n -H 'Authorization: Bearer {IAM_token}''"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/management/v4/{tenantId}/config/ui/languages": {
      "get": {
        "security": [
          {
            "IAM_Token": []
          }
        ],
        "operationId": "getLocalization",
        "summary": "Get languages",
        "description": "Get the list of languages that can be used to customize email templates for Cloud Directory.",
        "tags": [
          "Config"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/tenantId"
          }
        ],
        "responses": {
          "200": {
            "description": "The localization data is returned as a JSON object.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/getLanguages"
                }
              }
            }
          },
          "400": {
            "description": "The tenant ID or languages are missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "The user is unauthorized. To be authorized, a user needs an IAM token with valid permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "The user has insufficient permissions. Contact the service owner or admin to verify permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X 'GET'\\'https://{region}.appid.cloud.ibm.com/management/v4/{tenant_ID}/config/ui/languages'\\\n -H 'accept: application/json' \\\n -H 'Authorization: Bearer {IAM_token}''"
                    ]
                  }
                ]
              }
            ]
          }
        }
      },
      "put": {
        "security": [
          {
            "IAM_Token": []
          }
        ],
        "operationId": "updateLocalization",
        "summary": "Update languages",
        "description": "Update the list of languages that can be used to customize email templates for Cloud Directory.",
        "tags": [
          "Config"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/tenantId"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/getLanguages"
              }
            },
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/getLanguages"
              }
            },
            "multipart/form-data": {
              "schema": {
                "$ref": "#/components/schemas/getLanguages"
              }
            }
          },
          "description": "User localization configuration. Available [languages codes](https://cloud.ibm.com/docs/appid?topic=appid-cd-types#cd-languages)"
        },
        "x-codegen-request-body-name": "languages",
        "responses": {
          "204": {
            "description": "'No content. The localization configuration was updated.'"
          },
          "400": {
            "description": "The tenant ID or request body is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "The user is unauthorized. To be authorized, a user needs an IAM token with valid permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "The user has insufficient permissions. Contact the service owner or admin to verify permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X 'PUT'\\'https://{region}.appid.cloud.ibm.com/management/v4/{tenant_ID}/config/ui/languages'\\\n  -H 'accept: application/json' \\\n  -H 'Authorization: Bearer {IAM_token}\"\n  -H 'Content-Type: application/json' \\\n  -d '{\n  \"languages\": [\n    \"en\",\n    \"en-US\",\n    \"fr-FR\"\n  ]\n}'"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/management/v4/{tenantId}/recent_authentications": {
      "get": {
        "x-dev": true,
        "security": [
          {
            "IAM_Token": []
          }
        ],
        "operationId": "recentActivitiesOld",
        "summary": "Get recent activity",
        "description": "This endpoint is deprecated, use [recent_authentications_hidden](/apidocs/app-id/management#recentactivities) instead.",
        "tags": [
          "Recent Authentications"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/tenantId"
          }
        ],
        "responses": {
          "200": {
            "description": "An array of recent activity is returned as a JSON object.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "required": [
                      "idp",
                      "displayName",
                      "timeStamp"
                    ],
                    "properties": {
                      "idp": {
                        "type": "string",
                        "description": "The identity provider.",
                        "example": "Facebook"
                      },
                      "displayName": {
                        "type": "string",
                        "description": "The user's display name.",
                        "example": "App ID User"
                      },
                      "timeStamp": {
                        "type": "number",
                        "description": "The timestamp.",
                        "example": 1495024442136
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The tenant ID parameter is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "The user is unauthorized. To be authorized, a user needs an IAM token with the valid permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "The user has insufficient permissions. Contact the service owner or admin to verify permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": []
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/management/v4/{tenantId}/recent_authentications_hidden": {
      "get": {
        "x-dev": true,
        "security": [
          {
            "IAM_Token": []
          }
        ],
        "operationId": "recentActivities",
        "summary": "Get recent activity",
        "description": "Get the recent activity for the App ID instance. [Learn more](/docs/appid?topic=appid-service-access-management).",
        "tags": [
          "Recent Authentications"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/tenantId"
          }
        ],
        "responses": {
          "200": {
            "description": "An array of recent activity is returned as a JSON object.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "results": {
                      "type": "array",
                      "description": "The details of the recent activity for the App instance.",
                      "items": {
                        "type": "object",
                        "required": [
                          "idp",
                          "displayName",
                          "timeStamp"
                        ],
                        "properties": {
                          "idp": {
                            "type": "string",
                            "description": "The identity provider.",
                            "example": "Facebook"
                          },
                          "displayName": {
                            "type": "string",
                            "description": "The display name of the user.",
                            "example": "App ID User"
                          },
                          "timeStamp": {
                            "type": "number",
                            "description": "The timestamp.",
                            "example": 1495024442136
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The tenant ID parameter is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "The user is unauthorized. To be authorized, a user needs an IAM token with the valid permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "The user has insufficient permissions. Contact the service owner or admin to verify permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X 'GET'\\'https://{region}.appid.cloud.ibm.com/management/v4/{tenant_ID}/recent_authentications_hidden'\\\n -H 'accept: application/json' \\\n -H 'Authorization: Bearer {IAM_token}''"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/management/v4/{tenantId}/config/cloud_directory/sender_details": {
      "get": {
        "security": [
          {
            "IAM_Token": []
          }
        ],
        "operationId": "get_cloud_directory_sender_details",
        "summary": "Get sender details",
        "description": "Get the sender details configuration that is used by Cloud Directory when you are sending emails to your users. [Learn more](/docs/appid?topic=appid-cd-types).",
        "tags": [
          "Config"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/tenantId"
          }
        ],
        "responses": {
          "200": {
            "description": "The sender details configuration for a Cloud Directory email is returned as a JSON object.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/cloudDirectorySenderDetails"
                }
              }
            }
          },
          "400": {
            "description": "The tenant ID parameter is missing or the request is invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "The user is unauthorized. To be authorized, a user needs an IAM token with valid permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "The user has insufficient permissions. Contact the service owner or admin to verify user permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X 'GET'\\'https://{region}.appid.cloud.ibm.com/management/v4/{tenant_ID}/config/cloud_directory/sender_details'\\\n -H 'accept: application/json' \\\n -H 'Authorization: Bearer {IAM_token}''"
                    ]
                  }
                ]
              }
            ]
          }
        }
      },
      "put": {
        "security": [
          {
            "IAM_Token": []
          }
        ],
        "operationId": "set_cloud_directory_sender_details",
        "summary": "Update the sender details",
        "description": "Update the sender details configuration that is used by Cloud Directory when you are sending emails to your users. [Learn more](/docs/appid?topic=appid-cd-types).",
        "tags": [
          "Config"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/tenantId"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/cloudDirectorySenderDetails"
              }
            },
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/cloudDirectorySenderDetails"
              }
            },
            "multipart/form-data": {
              "schema": {
                "$ref": "#/components/schemas/cloudDirectorySenderDetails"
              }
            }
          },
          "description": "A JSON object that contains the sender details.",
          "required": true
        },
        "x-codegen-request-body-name": "senderDetails",
        "responses": {
          "204": {
            "description": "No content. The identity provider configuration was updated."
          },
          "400": {
            "description": "The tenant ID or request body is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "The user is unauthorized. To be authorized, a user needs an IAM token with valid permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "The user has insufficient permissions. Contact the service owner or admin to verify user permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X 'PUT'\\'https://{region}.appid.cloud.ibm.com/management/v4/{tenant_ID}/config/cloud_directory/sender_details'\\\n  -H 'accept: application/json' \\\n  -H 'Authorization: Bearer {IAM_token}\"\n  -H 'Content-Type: application/json' \\\n  -d '{\n  \"senderDetails\": {\n    \"from\": {\n      \"name\": \"no-reply\",\n      \"email\": \"no-reply@appid.cloud.net\"\n    },\n    \"reply_to\": {\n      \"name\": \"Reply-to\",\n      \"email\": \"reply-to@example.com\"\n    },\n    \"linkExpirationSec\": 86400\n  }\n}'"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/management/v4/{tenantId}/config/cloud_directory/action_url/{action}": {
      "get": {
        "security": [
          {
            "IAM_Token": []
          }
        ],
        "operationId": "get_cloud_directory_action_url",
        "summary": "Get action url",
        "description": "Get the custom url to redirect to when **action** is run. [Learn more](/docs/appid?topic=appid-cloud-directory).",
        "tags": [
          "Config"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/tenantId"
          },
          {
            "$ref": "#/components/parameters/action"
          }
        ],
        "responses": {
          "200": {
            "description": "The action URL is returned as a JSON object.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/actionUrlResponse"
                }
              }
            }
          },
          "400": {
            "description": "The tenant ID or action parameters are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "The user is unauthorized. To be authorized, a user needs an IAM token with valid permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "The user has insufficient permissions. Contact the service owner or admin to verify user permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X 'GET'\\'https://{region}.appid.cloud.ibm.com/management/v4/{tenant_ID}/config/cloud_directory/action_url/on_user_verified'\\\n -H 'accept: application/json' \\\n -H 'Authorization: Bearer {IAM_token}''"
                    ]
                  }
                ]
              }
            ]
          }
        }
      },
      "put": {
        "security": [
          {
            "IAM_Token": []
          }
        ],
        "operationId": "set_cloud_directory_action",
        "summary": "Update action url",
        "description": "Update the custom url to redirect to when *action* is run. [Learn more](/docs/appid?topic=appid-cloud-directory).",
        "tags": [
          "Config"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/tenantId"
          },
          {
            "$ref": "#/components/parameters/action"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "type": "object",
                "properties": {
                  "actionUrl": {
                    "description": "The action URL.",
                    "type": "string"
                  }
                },
                "required": [
                  "actionUrl"
                ]
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "The action url is returned as a JSON object.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/actionUrlResponse"
                }
              }
            }
          },
          "400": {
            "description": "The tenant ID or action parameters are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "The user is unauthorized. To be authorized, a user needs an IAM token with valid permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "The user has insufficient permissions. Contact the service owner or admin to verify user permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X 'PUT'\\'https://{region}.appid.cloud.ibm.com/management/v4/{tenant_ID}/config/cloud_directory/action_url/on_user_verified'\\\n -H 'accept: application/json' \\\n -H 'Authorization: Bearer {IAM_token}' \\\n -H 'Content-Type: application/x-www-form-urlencoded' \\\n -d 'actionUrl=<enter_action_url>'"
                    ]
                  }
                ]
              }
            ]
          }
        }
      },
      "delete": {
        "security": [
          {
            "IAM_Token": []
          }
        ],
        "operationId": "deleteActionUrl",
        "summary": "Delete action url",
        "description": "Delete the custom url to redirect to when **action** is run. [Learn more](/docs/appid?topic=appid-cloud-directory).",
        "tags": [
          "Config"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/tenantId"
          },
          {
            "$ref": "#/components/parameters/action"
          }
        ],
        "responses": {
          "204": {
            "description": "No content. The action url was deleted."
          },
          "400": {
            "description": "The tenant ID or action parameters are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "The user is unauthorized. To be authorized, a user needs an IAM token with the valid permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "The user has insufficient permissions. Contact a service owner or admin to verify permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "description": "The template does not exist.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X 'DELETE'\\'https://{region}.appid.cloud.ibm.com/management/v4/{tenant_ID}/config/cloud_directory/action_url/{on_user_verified}'\\\n -H 'accept: application/json' \\\n -H 'Authorization: Bearer {IAM_token}'"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/management/v4/{tenantId}/config/cloud_directory/password_regex": {
      "get": {
        "security": [
          {
            "IAM_Token": []
          }
        ],
        "operationId": "get_cloud_directory_password_regex",
        "summary": "Get password regex",
        "description": "Get the regular expression used by App ID for password strength validation. [Learn more](/docs/appid?topic=appid-cd-strength).",
        "tags": [
          "Config"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/tenantId"
          }
        ],
        "responses": {
          "200": {
            "description": "The defined regex expression escaped rule for acceptable password, base64 encoded regex expression and custom error message are returned as a JSON object.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/passwordRegexConfigParamsGet"
                }
              }
            }
          },
          "400": {
            "description": "The tenant ID is invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "The user is unauthorized. To be authorized, a user needs an IAM token with valid permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "The user has insufficient permissions. Contact the service owner or admin to verify user permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X 'GET'\\'https://{region}.appid.cloud.ibm.com/management/v4/{tenant_ID}/config/cloud_directory/password_regex'\\\n -H 'accept: application/json' \\\n -H 'Authorization: Bearer {IAM_token}'"
                    ]
                  }
                ]
              }
            ]
          }
        }
      },
      "put": {
        "security": [
          {
            "IAM_Token": []
          }
        ],
        "operationId": "set_cloud_directory_password_regex",
        "summary": "Update password regex",
        "description": "Update the regular expression used by App ID for password strength validation.\nFor example, the regular expression: `^[A-Za-z\\d]*$` must be passed as:\n```\n{\n  &nbsp;&nbsp;\"base64_encoded_regex\": \"XltBLVphLXpcZF0qJA==\", \n  &nbsp;&nbsp;\"error_message\": \"Must only contain letters and digits\"} [Learn more](/docs/appid?topic=appid-cd-strength).\n```",
        "tags": [
          "Config"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/tenantId"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/passwordRegexConfigParams"
              }
            },
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/passwordRegexConfigParams"
              }
            },
            "multipart/form-data": {
              "schema": {
                "$ref": "#/components/schemas/passwordRegexConfigParams"
              }
            }
          },
          "description": "The Cloud Directory password regex configuration as a JSON object. If the configuration is not set, IBM App ID basic password regex is used.\n",
          "required": true
        },
        "x-codegen-request-body-name": "passwordRegex",
        "responses": {
          "200": {
            "description": "The password regex was updated.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/passwordRegexConfigParamsGet"
                }
              }
            }
          },
          "400": {
            "description": "The tenant ID or password regex parameters are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "The user is unauthorized. To be authorized, a user needs an IAM token with valid permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "The user has insufficient permissions. Contact the service owner or admin to verify user permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X 'PUT'\\'https://{region}.appid.cloud.ibm.com/management/v4/{tenant_ID}/config/cloud_directory/password_regex'\\\n  -H 'accept: application/json' \\\n  -H 'Authorization: Bearer {IAM_token}' \\\n  -H 'Content-Type: application/json' \\\n  -d '{\n  \"base64_encoded_regex\": \"Lipbssdkcsjklcq\",\n  \"error_message\": \"The password must contain at least 1 lowercase alphabetical character\"\n}"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/management/v4/{tenantId}/config/cloud_directory/email_dispatcher": {
      "get": {
        "security": [
          {
            "IAM_Token": []
          }
        ],
        "operationId": "get_cloud_directory_email_dispatcher",
        "summary": "Get email dispatcher configuration",
        "description": "Get the configuration of email dispatcher that is used by Cloud Directory when you are sending emails to your users.",
        "tags": [
          "Config"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/tenantId"
          }
        ],
        "responses": {
          "200": {
            "description": "The email dispatcher configuration is returned as a JSON object.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/emailDispatcherParams"
                }
              }
            }
          },
          "400": {
            "description": "The tenant ID is invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "The user is unauthorized. To be authorized, a user needs an IAM token with valid permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "The user has insufficient permissions. Contact the service owner or admin to verify user permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X 'GET'\\'https://{region}.appid.cloud.ibm.com/management/v4/{tenant_ID}/config/cloud_directory/email_dispatcher'\\\n -H 'accept: application/json' \\\n -H 'Authorization: Bearer {IAM_token}'"
                    ]
                  }
                ]
              }
            ]
          }
        }
      },
      "put": {
        "security": [
          {
            "IAM_Token": []
          }
        ],
        "operationId": "set_cloud_directory_email_dispatcher",
        "summary": "Update email dispatcher configuration",
        "description": "Update the configuration of email dispatcher that is used by Cloud Directory when you are sending emails to your users. You can use your own email provider with App ID. You can use your own Sendgrid account by providing your Sendgrind API key.\n\nAlternatively, you can define a custom email dispatcher by providing App ID with URL. The URL is called for sending emails. If needed, you can determine a specific authorization method – either basic, such as a username and password, or a custom value. By default, App ID's email provider is used. [Learn more](/docs/appid?topic=appid-cd-types).",
        "tags": [
          "Config"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/tenantId"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/emailDispatcherParams"
              }
            },
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/emailDispatcherParams"
              }
            },
            "multipart/form-data": {
              "schema": {
                "$ref": "#/components/schemas/emailDispatcherParams"
              }
            }
          },
          "description": "The Cloud Directory email dispatcher configuration, which is specified as a JSON object.",
          "required": true
        },
        "x-codegen-request-body-name": "body",
        "responses": {
          "200": {
            "description": "The email dispatcher was updated.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/emailDispatcherParams"
                }
              }
            }
          },
          "400": {
            "description": "The tenant ID or custom email dispatcher config are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "The user is unauthorized. To be authorized, a user needs an IAM token with valid permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "The user has insufficient permissions. Contact the service owner or admin to verify user permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X 'PUT'\\'https://{region}.appid.cloud.ibm.com/management/v4/{tenant_ID}/config/cloud_directory/email_dispatcher'\\\n  -H 'accept: application/json' \\\n  -H 'Authorization: Bearer {IAM_token}\"\n  -H 'Content-Type: application/json' \\\n  -d '{\n  \"provider\": \"sendgrid\",\n  \"sendgrid\": {\n    \"apiKey\": \"SG.xxxxx.yyyyy\"\"\n  },\n  \"custom\": {\n    \"url\": \"https://custom_email_dispatcher.com/send\",\n    \"authorization\": {\n      \"type\": \"value\",\n      \"value\": \"verySecureSecret\"\n    }\n  }\n}"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/management/v4/{tenantId}/config/cloud_directory/email_settings/test": {
      "post": {
        "security": [
          {
            "IAM_Token": []
          }
        ],
        "operationId": "email_setting_test",
        "summary": "Test the email provider configuration",
        "description": "Send a message to a specific email to test your settings.",
        "tags": [
          "Config"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/tenantId"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/emailSettingsTestParams"
              }
            }
          },
          "description": "The email dispatcher settings, which are specified as a JSON object.",
          "required": true
        },
        "x-codegen-request-body-name": "body",
        "responses": {
          "200": {
            "description": "The response status code and additional information from the email provider because of a failure are returned as a JSON object.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/respEmailSettingsTest"
                }
              }
            }
          },
          "400": {
            "description": "The tenant ID or request body is invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "The user is unauthorized. To be authorized, a user needs an IAM token with valid permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "The user has insufficient permissions. Contact the service owner or admin to verify user permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X 'POST'\\'https://{region}.appid.cloud.ibm.com/management/v4/{tenant_ID}/config/cloud_directory/email_settings/test'\\\n  -H 'accept: application/json' \\\n  -H 'Authorization: Bearer {IAM_token}\"\n  -H 'Content-Type: application/json' \\\n  -d '{\n  \"emailTo\": \"example@mail.com\",\n  \"emailSettings\": {\n    \"provider\": \"sendgrid\",\n    \"sendgrid\": {\n      \"apiKey\": \"SG.xxxxx.yyyyy\"\n    }\n  },\n  \"senderDetails\": {\n    \"from\": {\n      \"email\": \"no-reply@mail.com\",\n      \"name\": \"no-reply\"\n    },\n    \"reply_to\": {\n      \"email\": \"reply-to@mail.com\",\n      \"name\": \"Reply-to\"\n    }\n  }\n}"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/management/v4/{tenantId}/config/cloud_directory/email_dispatcher/test": {
      "post": {
        "security": [
          {
            "IAM_Token": []
          }
        ],
        "operationId": "post_email_dispatcher_test",
        "summary": "Test the email dispatcher configuration",
        "description": "Send a message to a specific email to test your configuration.",
        "tags": [
          "Config"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/tenantId"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "type": "object",
                "properties": {
                  "email": {
                    "description": "The email address to which you want to send your test message.",
                    "type": "string"
                  }
                },
                "required": [
                  "email"
                ]
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "The response status code and headers from the custom email dispatcher are returned as a JSON object.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/respCustomEmailDisParams"
                }
              }
            }
          },
          "400": {
            "description": "The tenant ID or email value is invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "The user is unauthorized. To be authorized, a user needs an IAM token with valid permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "The user has insufficient permissions. Contact the service owner or admin to verify user permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X 'POST'\\'https://{region}.appid.cloud.ibm.com/management/v4/{tenant_ID}/config/cloud_directory/email_dispatcher/test'\\\n  -H 'accept: application/json' \\\n  -H 'Authorization: Bearer {IAM_token}\"\n  -H 'Content-Type: application/x-www-form-urlencoded' \\\n  -d 'email=email@example.com'"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/management/v4/{tenantId}/config/cloud_directory/sms_dispatcher/test": {
      "post": {
        "security": [
          {
            "IAM_Token": []
          }
        ],
        "operationId": "post_sms_dispatcher_test",
        "summary": "Test the MFA SMS dispatcher configuration",
        "description": "Send a message to a specific phone number to test your MFA SMS configuration.",
        "tags": [
          "Config"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/tenantId"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/smsDispatcherTest"
              }
            },
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/smsDispatcherTest"
              }
            },
            "multipart/form-data": {
              "schema": {
                "$ref": "#/components/schemas/smsDispatcherTest"
              }
            }
          },
          "description": "The phone number to which you want to send your test SMS message.",
          "required": true
        },
        "x-codegen-request-body-name": "body",
        "responses": {
          "200": {
            "description": "The response status code and headers from the SMS dispatcher are returned as a JSON object.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/respSMSDisParams"
                }
              }
            }
          },
          "400": {
            "description": "The tenant ID or SMS channel configuration is invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "The user is unauthorized. To be authorized, a user needs an IAM token with valid permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "The user has insufficient permissions. Contact the service owner or admin to verify user permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X 'POST'\\'https://{region}.appid.cloud.ibm.com/management/v4/{tenant_ID}/config/cloud_directory/sms_dispatcher/test'\\\n  -H 'accept: application/json' \\\n  -H 'Authorization: Bearer {IAM_token}\"\n  -H 'Content-Type: application/json' \\\n  -d '{\n  \"phone_number\": \"+1-999-999-9999\"\n}'"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/management/v4/{tenantId}/config/cloud_directory/advanced_password_management": {
      "get": {
        "security": [
          {
            "IAM_Token": []
          }
        ],
        "operationId": "get_cloud_directory_advanced_password_management",
        "summary": "Get APM configuration",
        "description": "Get the configuration of advanced password management.",
        "tags": [
          "Config"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/tenantId"
          }
        ],
        "responses": {
          "200": {
            "description": "View the advanced password management configuration.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/apmSchema"
                }
              }
            }
          },
          "400": {
            "description": "The tenant ID is invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "The user is unauthorized. To be authorized, a user needs an IAM token with valid permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "The user has insufficient permissions. Contact the service owner or admin to verify user permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X 'GET'\\'https://{region}.appid.cloud.ibm.com/management/v4/{tenant_ID}/config/cloud_directory/advanced_password_management'\\\n -H 'accept: application/json' \\\n -H 'Authorization: Bearer {IAM_token}'"
                    ]
                  }
                ]
              }
            ]
          }
        }
      },
      "put": {
        "security": [
          {
            "IAM_Token": []
          }
        ],
        "operationId": "set_cloud_directory_advanced_password_management",
        "summary": "Update APM configuration",
        "description": "Update the advanced password management configuration for the provided tenant ID. By enabling the configuration, any authentication event is also charged as advanced security event. [Learn more](/docs/appid?topic=appid-cd-strength).",
        "tags": [
          "Config"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/tenantId"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/apmSchema"
              }
            },
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/apmSchema"
              }
            },
            "multipart/form-data": {
              "schema": {
                "$ref": "#/components/schemas/apmSchema"
              }
            }
          },
          "description": "The Cloud Directory APM configuration, which is specified as a JSON object.",
          "required": true
        },
        "x-codegen-request-body-name": "body",
        "responses": {
          "200": {
            "description": "The advanced password management configuration is updated.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/apmSchema"
                }
              }
            }
          },
          "400": {
            "description": "The tenant ID or advanced password management configuration is invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "The user is unauthorized. To be authorized, a user needs an IAM token with valid permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "The user has insufficient permissions. Contact the service owner or admin to verify user permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X 'PUT'\\'https://{region}.appid.cloud.ibm.com/management/v4/{tenant_ID}/config/cloud_directory/advanced_password_management'\\\n  -H 'accept: application/json' \\\n  -H 'Authorization: Bearer {IAM_token}\"\n  -H 'Content-Type: application/json' \\\n  -d '{\n  \"advancedPasswordManagement\": {\n    \"enabled\": true,\n    \"passwordReuse\": {\n      \"enabled\": true,\n      \"config\": {\n        \"maxPasswordReuse\": 8\n      }\n    },\n    \"preventPasswordWithUsername\": {\n      \"enabled\": true\n    },\n    \"passwordExpiration\": {\n      \"enabled\": true,\n      \"config\": {\n        \"daysToExpire\": 30\n      }\n    },\n    \"lockOutPolicy\": {\n      \"enabled\": true,\n      \"config\": {\n        \"lockOutTimeSec\": 1800,\n        \"numOfAttempts\": 3\n      }\n    },\n    \"minPasswordChangeInterval\": {\n      \"enabled\": true,\n      \"config\": {\n        \"minHoursToChangePassword\": 0\n      }\n    }\n  }\n}'"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/management/v4/{tenantId}/users": {
      "get": {
        "security": [
          {
            "IAM_Token": []
          }
        ],
        "operationId": "users_search_user_profile",
        "summary": "Search users",
        "description": "Get the list of users. If you provide the email or ID, you can view only users that match the email or ID, not including anonymous profiles. [Learn more](/docs/appid?topic=appid-profiles). ",
        "tags": [
          "Users"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/tenantId"
          },
          {
            "$ref": "#/components/parameters/profileEmail"
          },
          {
            "$ref": "#/components/parameters/identityId"
          },
          {
            "$ref": "#/components/parameters/dataScope"
          },
          {
            "$ref": "#/components/parameters/start-index"
          },
          {
            "$ref": "#/components/parameters/count"
          }
        ],
        "responses": {
          "200": {
            "description": "An array of results is returned as a JSON object.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/userSearchResponse"
                }
              }
            }
          },
          "400": {
            "description": "The tenant ID is missing or invalid, or the request is missing the email or ID.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "The request is unauthorized by the platform. To be authorized, an IAM token with the valid permissions must be provided in the authorization header of your request.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "You are not authorized to complete this operation. Contact the service owner or admin to verify your permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "500": {
            "description": "Returned because of an internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X 'GET'\\'https://{region}.appid.cloud.ibm.com/management/v4/{tenant_ID}/users?dataScope=index'\\\n -H 'accept: application/json' \\\n -H 'Authorization: Bearer {IAM_token}'"
                    ]
                  }
                ]
              }
            ]
          }
        }
      },
      "post": {
        "security": [
          {
            "IAM_Token": []
          }
        ],
        "operationId": "users_nominate_user",
        "summary": "Pre-register a user profile",
        "description": "Create a profile for a user that you know needs access to your app before they sign in to your app for the first time. [Learn more](/docs/appid?topic=appid-preregister).",
        "tags": [
          "Users"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/tenantId"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "required": [
                  "idp",
                  "idp-identity"
                ],
                "type": "object",
                "additionalProperties": false,
                "properties": {
                  "idp": {
                    "enum": [
                      "saml",
                      "cloud_directory",
                      "facebook",
                      "google",
                      "appid_custom",
                      "ibmid"
                    ],
                    "description": "The identity provider.",
                    "example": "saml"
                  },
                  "idp-identity": {
                    "type": "string",
                    "description": "The identity details of the user.",
                    "example": "appid@ibm.com",
                    "minLength": 1
                  },
                  "profile": {
                    "type": "object",
                    "description": "The profile.",
                    "additionalProperties": false,
                    "properties": {
                      "attributes": {
                        "type": "object",
                        "description": "The custom attributes.",
                        "additionalProperties": true,
                        "example": {
                          "points": "150"
                        }
                      }
                    }
                  }
                }
              }
            },
            "application/x-www-form-urlencoded": {
              "schema": {
                "required": [
                  "idp",
                  "idp-identity"
                ],
                "type": "object",
                "additionalProperties": false,
                "properties": {
                  "idp": {
                    "enum": [
                      "saml",
                      "cloud_directory",
                      "facebook",
                      "google",
                      "appid_custom",
                      "ibmid"
                    ],
                    "description": "The identity provider.",
                    "example": "saml"
                  },
                  "idp-identity": {
                    "type": "string",
                    "description": "The identity details of the user.",
                    "example": "appid@ibm.com",
                    "minLength": 1
                  },
                  "profile": {
                    "type": "object",
                    "description": "The profile.",
                    "additionalProperties": false,
                    "properties": {
                      "attributes": {
                        "type": "object",
                        "description": "The custom attributes.",
                        "additionalProperties": true,
                        "example": {
                          "points": "150"
                        }
                      }
                    }
                  }
                }
              }
            },
            "multipart/form-data": {
              "schema": {
                "required": [
                  "idp",
                  "idp-identity"
                ],
                "type": "object",
                "additionalProperties": false,
                "properties": {
                  "idp": {
                    "enum": [
                      "saml",
                      "cloud_directory",
                      "facebook",
                      "google",
                      "appid_custom",
                      "ibmid"
                    ],
                    "description": "The identity provider.",
                    "example": "saml"
                  },
                  "idp-identity": {
                    "type": "string",
                    "description": "The identity details of the user.",
                    "example": "appid@ibm.com",
                    "minLength": 1
                  },
                  "profile": {
                    "type": "object",
                    "description": "The profile.",
                    "additionalProperties": false,
                    "properties": {
                      "attributes": {
                        "type": "object",
                        "description": "The custom attributes.",
                        "additionalProperties": true,
                        "example": {
                          "points": "150"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "description": "The user configuration and attributes.",
          "required": true
        },
        "x-codegen-request-body-name": "User Configuration",
        "responses": {
          "201": {
            "description": "View the ID of the created user.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "example": {
                    "id": "111c22c3-38ea-4de8-b5d4-338744d83b0f"
                  }
                }
              }
            }
          },
          "400": {
            "description": "The tenant ID, IdP type, or IdP identity ID is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "The request is unauthorized by the platform. To be authorized, an IAM token with the valid permissions must be provided in Authorization header.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "You are not authorized to complete this operation. Contact the service owner or admin to verify your permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "409": {
            "description": "The user ID for the provided IdP exists.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "500": {
            "description": "Returned because of an internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X 'POST'\\'https://{region}.appid.cloud.ibm.com/management/v4/{tenant_ID}/users' \\\n  -H 'accept: application/json' \\\n  -H 'Authorization: Bearer {IAM_token}\"\n  -H 'Content-Type: application/json' \\\n  -d '{\n  \"idp\": \"saml\",\n  \"idp-identity\": \"email@example.com\",\n  \"profile\": {\n    \"attributes\": {\n      \"points\": \"150\"\n    }\n  }\n}'"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/management/v4/{tenantId}/users/export": {
      "get": {
        "security": [
          {
            "IAM_Token": []
          }
        ],
        "operationId": "userProfilesExport",
        "tags": [
          "Users"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/tenantId"
          },
          {
            "$ref": "#/components/parameters/start-index"
          },
          {
            "$ref": "#/components/parameters/count"
          }
        ],
        "responses": {
          "200": {
            "description": "View a list of the App ID user profiles. You can see up to 50 users per request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/exportUserProfile"
                }
              }
            }
          },
          "400": {
            "description": "The tenant ID is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "The request is unauthorized by the platform. To be authorized, an IAM token with the valid permissions must be provided in the authorization header.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "You are not authorized to complete this operation. Contact the service owner or admin to verify your permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "description": "The tenant ID is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        },
        "summary": "Export user profiles",
        "description": "Export App ID user profiles, not including Cloud Directory and anonymous users. [Learn more](/docs/appid?topic=appid-cd-users).",
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X 'GET'\\'https://{region}.appid.cloud.ibm.com/management/v4/{tenant_ID}/users/export' \\\n -H 'accept: application/json' \\\n -H 'Authorization: Bearer {IAM_token}'"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/management/v4/{tenantId}/users/import": {
      "post": {
        "security": [
          {
            "IAM_Token": []
          }
        ],
        "operationId": "userProfilesImport",
        "tags": [
          "Users"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/tenantId"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/exportUserProfile"
              }
            },
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/exportUserProfile"
              }
            },
            "multipart/form-data": {
              "schema": {
                "$ref": "#/components/schemas/exportUserProfile"
              }
            }
          },
          "description": "The exported users as a JSON object (as returned by the [export](/#!/Users/userProfilesExport) endpoint).",
          "required": true
        },
        "x-codegen-request-body-name": "body",
        "responses": {
          "200": {
            "description": "Import users from another instance of App ID. The format for import is the same format in which the users are exported from the initial instance. You can add up to 50 users per request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/importProfilesResponse"
                }
              }
            }
          },
          "400": {
            "description": "The tenant ID or request body is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "The request is unauthorized by the platform. To be authorized, an IAM token with the valid permissions must be provided in the authorization header of your request.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "You are not authorized to complete this operation. Contact the service owner or admin to verify your permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "description": "The tenant ID is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        },
        "summary": "Import user profiles",
        "description": "Import App ID user profiles, not including Cloud Directory and anonymous users. [Learn more](/docs/appid?topic=appid-cd-users).",
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X 'POST'\\'https://{region}.appid.cloud.ibm.com/management/v4/{tenantId}/users/import' \\\n  -H 'accept: application/json' \\\n  -H 'Authorization: Bearer {IAM_token}\"\n  -H 'Content-Type: application/json' \\\n  -d '{\n  \"itemsPerPage\": 2,\n  \"totalResults\": 2,\n  \"requestOptions\": {},\n  \"users\": [\n    {\n      \"id\": \"7a1c6af868e6d6\",\n      \"name\": \"App ID Google User profile\",\n      \"email\": \"your@mail.com\",\n      \"identities\": [\n        {\n          \"provider\": \"google\",\n          \"id\": \"105646725068605084546\",\n          \"idpUserInfo\": {\n            \"id\": \"105646725068605084546\",\n            \"email\": \"your@mail.com\",\n            \"picture\": \"profilePic.jpg\"\n          }\n        }\n      ],\n      \"attributes\": {\n        \"points\": 150\n      },\n      \"roles\": []\n    },\n    {\n      \"id\": \"1439d777185dc4e8142b87ea\",\n      \"name\": \"App ID Facebook User profile\",\n      \"email\": \"mail@mail.com\",\n      \"identities\": [\n        {\n          \"provider\": \"facebook\",\n          \"id\": \"100195207128541\",\n          \"picture\": {\n            \"data\": {\n              \"height\": 50,\n              \"width\": 50,\n              \"url\": \"https://profilePic.com\"\n            }\n          },\n          \"first_name\": \"AppID\",\n          \"last_name\": \"Development\"\n        }\n      ],\n      \"attributes\": {\n        \"points\": 250\n      },\n      \"roles\": [\n        \"adult\",\n        \"child\"\n      ]\n    }\n  ]\n}'"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/management/v4/{tenantId}/cloud_directory/export/all": {
      "post": {
        "security": [
          {
            "IAM_Token": []
          }
        ],
        "operationId": "cloudDirectoryExportAll",
        "tags": [
          "Cloud Directory Users"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/tenantId"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/exportAllUsersInput"
              }
            },
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/exportAllUsersInput"
              }
            },
            "multipart/form-data": {
              "schema": {
                "$ref": "#/components/schemas/exportAllUsersInput"
              }
            }
          },
          "description": "The encryption secret, email address, and expiration information as a JSON object. ",
          "required": true
        },
        "x-codegen-request-body-name": "body",
        "responses": {
          "200": {
            "description": "An export job ID that can be used in the <a href=\"/swagger-ui/#/Management API - Cloud Directory Users/mgmt.cloudDirectoryExportStatus\" target=\"_blank\">export-status</a> API to query the status of your request is returned.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/exportAllUsers"
                }
              }
            }
          },
          "400": {
            "description": "The tenant ID, encryption secret, or email address is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "The user is unauthorized. To be authorized, a user needs an IAM token with the valid permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "The user has insufficient permissions. Contact the service owner or admin to verify permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        },
        "summary": "Export all Cloud Directory users",
        "description": "Export all of the Cloud Directory users who are associated with a specific App ID instance. You can track the [export status](/apidocs/app-id/management#clouddirectoryexportstatus) of your request as needed. When the export is ready or if the request fails, an email is sent to the email address provided. \n\nIf the request is successful, you can download a JSON file that contains the exported list of users that you can import into another App ID instance with the [import all users](/apidocs/app-id/management#clouddirectoryimportall) endpoint. To access the requested data, [download the exported file](/apidocs/app-id/management#clouddirectorydownloadexport) of all Cloud Directory users. \n\nNote: An export JSON file is created only when the export request is successful. If the request fails, to lower your vulnerability risk, the data that is gathered is deleted. \nThe export is automatically deleted after 7 days or the number of days that you specify in the body of the request (in the range of 1 - 30 days). You can choose to manually delete the export by sending a request to the\n[delete](/apidocs/app-id/management#clouddirectorydownloadexportdelete) API endpoint.",
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X POST 'https://{region}.appid.cloud.ibm.com/management/v4/{tenant_ID}/export/all' \\ --header 'Content-Type: application/json' \\ --header 'Authorization: Bearer {IAM_token}' \\ --data-raw '{\"encryptionSecret\" : \"encryptionSecret\",  \"emailAddress\" : \"jdoe@example.com\"}'  "
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/management/v4/{tenantId}/cloud_directory/export/status": {
      "get": {
        "security": [
          {
            "IAM_Token": []
          }
        ],
        "operationId": "cloudDirectoryExportStatus",
        "tags": [
          "Cloud Directory Users"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/tenantId"
          },
          {
            "$ref": "#/components/parameters/exportJobId"
          }
        ],
        "responses": {
          "200": {
            "description": "The details about the job status, when it was requested, started, completed, and expired are returned as a JSON object.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/exportAllStatus"
                }
              }
            }
          },
          "400": {
            "description": "The tenant ID or export job ID is missing or invalid. ",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "The user is unauthorized. To be authorized, a user needs an IAM token with the valid permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "The user has insufficient permissions. Contact the service owner or admin to verify permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        },
        "summary": "Get the export status of all Cloud Directory users",
        "description": "Get the status of the request that was made to export all of your Cloud Directory users from an instance of App ID. ",
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X GET 'https://{region}.appid.cloud.ibm.com/management/v4/{tenant_ID}/export/status?id=abc123' \\ --header 'Accept: application/json' \\ --header 'Content-Type: application/json' \\ --header 'Authorization: Bearer {IAM_token}'"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/management/v4/{tenantId}/cloud_directory/export/download": {
      "get": {
        "security": [
          {
            "IAM_Token": []
          }
        ],
        "operationId": "cloudDirectoryDownloadExport",
        "tags": [
          "Cloud Directory Users"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/tenantId"
          },
          {
            "$ref": "#/components/parameters/exportJobId"
          }
        ],
        "responses": {
          "200": {
            "description": "The full list of users in your Cloud Directory and their profiles is returned as a JSON attachment.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/downloadExport"
                }
              }
            }
          },
          "204": {
            "description": "The file that contains the list of users in your Cloud Directory and their profiles was not found."
          },
          "400": {
            "description": "The tenant ID or export job ID is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "The user is unauthorized. To be authorized, a user needs an IAM token with the valid permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "The user has insufficient permissions. Contact the service owner or admin to verify permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        },
        "summary": "Download exported file of all Cloud Directory users",
        "description": "Download a JSON file of all of the Cloud Directory users from an instance of App ID. Before you can download the file, you must generate it by running the\n[export all users](/apidocs/app-id/management#clouddirectoryexportall) API endpoint.\n\nNote: You must regenerate the exported file if the deadline you configured before you ran the export request (or the 7-day default deadline) is expired. You can choose to manually delete the export by sending a request to the\n[delete](/apidocs/app-id/management#clouddirectorydownloadexportdelete) endpoint.",
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X GET 'https://{region}.appid.cloud.ibm.com/management/v4/{tenant_ID}/export/download?id=abc123' \\ --header 'Content-Type: application/json' \\ --header 'Authorization: Bearer {IAM_token}'"
                    ]
                  }
                ]
              }
            ]
          }
        }
      },
      "delete": {
        "security": [
          {
            "IAM_Token": []
          }
        ],
        "operationId": "cloudDirectoryDownloadExportDelete",
        "tags": [
          "Cloud Directory Users"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/tenantId"
          },
          {
            "$ref": "#/components/parameters/exportJobId"
          }
        ],
        "responses": {
          "200": {
            "description": "All content that is associated with the export job ID {{id}} was successfully deleted."
          },
          "400": {
            "description": "The tenant ID or export job ID is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "The user is unauthorized. To be authorized, a user needs an IAM token with the valid permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "The user has insufficient permissions. Contact the service owner or admin to verify permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "description": "No content found to delete."
          }
        },
        "summary": "Delete exported file of all Cloud Directory users",
        "description": "Submit a request to delete the JSON file that contains the exported list of Cloud Directory users from a specific instance of App ID. \n\nWhen you send the request, the file is scheduled for deletion. You can [track the status](/apidocs/app-id/management#clouddirectoryexportstatus) of your request as needed. When the file is successfully deleted, the status of your request changes from `scheduled_for_deletion` to `expired`. ",
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X DELETE 'https://{region}.appid.cloud.ibm.com/management/v4/{tenant-ID}/export/download?id=abc123' \\ --header 'Content-Type: application/json' \\ --header 'Authorization: Bearer {IAM_token}'"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/management/v4/{tenantId}/cloud_directory/import/all": {
      "post": {
        "security": [
          {
            "IAM_Token": []
          }
        ],
        "operationId": "cloudDirectoryImportAll",
        "tags": [
          "Cloud Directory Users"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/tenantId"
          },
          {
            "$ref": "#/components/parameters/encryption_secret"
          },
          {
            "$ref": "#/components/parameters/emailAddress"
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "properties": {
                  "file": {
                    "description": "The output from the <a href=\"/swagger-ui/#/Management API - Cloud Directory Users/mgmt.cloudDirectoryDownloadExport\" target=\"_blank\">export-download</a> endpoint.",
                    "type": "string",
                    "format": "binary"
                  }
                },
                "required": [
                  "file"
                ]
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "'An import ID that can be used to get the [import status](/apidocs/app-id/management#clouddirectoryimportstatus) of your request is returned.'",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/exportAllUsers"
                }
              }
            }
          },
          "400": {
            "description": "The tenant ID, encryption secret, email address, or request body is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "The user is unauthorized. To be authorized, a user needs an IAM token with the valid permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "The user has insufficient permissions. Contact the service owner or admin to verify permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        },
        "summary": "Import all Cloud Directory users",
        "description": "Import all of the Cloud Directory users that are associated with a specific instance of App ID. You can [track the status](/apidocs/app-id/management#clouddirectoryimportstatus) of\nyour request as needed.\n\nWhen the import is ready or if the request fails, an email is sent to the email address provided.",
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X POST 'https://{region}.appid.cloud.ibm.com/management/v4/{tenant_ID}/import/all' \\ --header 'Content-Type: application/json' \\ --header 'Authorization: Bearer {IAM_token}' \\ --form 'file=@\"User/desktop/user_list.json\"' \\ --form 'encryption_secret=\"encryptionSecret123\"' \\ --form 'emailAddress=\"jdoe@example.com\"'"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/management/v4/{tenantId}/cloud_directory/import/status": {
      "get": {
        "security": [
          {
            "IAM_Token": []
          }
        ],
        "operationId": "cloudDirectoryImportStatus",
        "tags": [
          "Cloud Directory Users"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/tenantId"
          },
          {
            "$ref": "#/components/parameters/importJobId"
          }
        ],
        "responses": {
          "200": {
            "description": "Details about the job status, when it was requested, started, and completed are returned as a JSON object.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/importAllStatus"
                }
              }
            }
          },
          "400": {
            "description": "The tenant ID or import job ID is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "The user is unauthorized. To be authorized, a user needs an IAM token with the valid permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "The user has insufficient permissions. Contact the service owner or admin to verify permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        },
        "summary": "Get the import status of all Cloud Directory users",
        "description": "Get the status of the request to import all Cloud Directory users that are associated with the specific import job ID and tenant ID.",
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X GET 'https://{region}.appid.cloud.ibm.com/management/v4/{tenant_ID}/import/status?id=abc123' \\ --header 'Accept: application/json' \\ --header 'Content-Type: application/json' \\ --header 'Authorization: Bearer {IAM_token}'                                                                                            "
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/management/v4/{tenantId}/roles": {
      "get": {
        "security": [
          {
            "IAM_Token": []
          }
        ],
        "operationId": "getRoles",
        "summary": "View all roles",
        "description": "Obtain a list of the roles that are associated with your registered application.",
        "tags": [
          "Roles"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/tenantId"
          }
        ],
        "responses": {
          "200": {
            "description": "The roles for the registered application are returned as a JSON object.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/getRolesResponse"
                }
              }
            }
          },
          "400": {
            "description": "The tenant ID or user ID is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "The request is unauthorized. Be sure that you pass a valid IAM token in the authorization header of your request.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "You have insufficient permissions. Contact your administrator to verify your permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X 'GET'\\'https://{region}.appid.cloud.ibm.com/management/v4/{tenant_ID}/roles' \\\n -H 'accept: application/json' \\\n -H 'Authorization: Bearer {IAM_token}'"
                    ]
                  }
                ]
              }
            ]
          }
        }
      },
      "post": {
        "security": [
          {
            "IAM_Token": []
          }
        ],
        "operationId": "createRole",
        "summary": "Create a role",
        "description": "Create a role for a registered application.",
        "tags": [
          "Roles"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/tenantId"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "required": [
                  "name",
                  "access"
                ],
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string",
                    "description": "The role name.",
                    "example": "child",
                    "maxLength": 50
                  },
                  "description": {
                    "type": "string",
                    "description": "The role description.",
                    "example": "Limits the available movie options to films that might be more appropriate for younger viewers.",
                    "maxLength": 100
                  },
                  "access": {
                    "type": "array",
                    "description": "The access data.",
                    "items": {
                      "required": [
                        "application_id",
                        "scopes"
                      ],
                      "type": "object",
                      "properties": {
                        "application_id": {
                          "type": "string",
                          "description": "The application ID.",
                          "example": "de33d272-f8a7-4406-8fe8-ab28fd457be5"
                        },
                        "scopes": {
                          "type": "array",
                          "description": "The scopes.",
                          "example": [
                            "cartoons"
                          ],
                          "items": {
                            "type": "string"
                          }
                        }
                      }
                    }
                  }
                }
              }
            },
            "application/x-www-form-urlencoded": {
              "schema": {
                "required": [
                  "name",
                  "access"
                ],
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string",
                    "description": "The role name.",
                    "example": "child",
                    "maxLength": 50
                  },
                  "description": {
                    "type": "string",
                    "description": "The role description.",
                    "example": "Limits the available movie options to films that might be more appropriate for younger viewers.",
                    "maxLength": 100
                  },
                  "access": {
                    "type": "array",
                    "description": "The access data.",
                    "items": {
                      "required": [
                        "application_id",
                        "scopes"
                      ],
                      "type": "object",
                      "properties": {
                        "application_id": {
                          "type": "string",
                          "description": "The application ID.",
                          "example": "de33d272-f8a7-4406-8fe8-ab28fd457be5"
                        },
                        "scopes": {
                          "type": "array",
                          "description": "The scopes.",
                          "example": [
                            "cartoons"
                          ],
                          "items": {
                            "type": "string"
                          }
                        }
                      }
                    }
                  }
                }
              }
            },
            "multipart/form-data": {
              "schema": {
                "required": [
                  "name",
                  "access"
                ],
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string",
                    "description": "The role name.",
                    "example": "child",
                    "maxLength": 50
                  },
                  "description": {
                    "type": "string",
                    "description": "The role description.",
                    "example": "Limits the available movie options to films that might be more appropriate for younger viewers.",
                    "maxLength": 100
                  },
                  "access": {
                    "type": "array",
                    "description": "The access data.",
                    "items": {
                      "required": [
                        "application_id",
                        "scopes"
                      ],
                      "type": "object",
                      "properties": {
                        "application_id": {
                          "type": "string",
                          "description": "The application ID.",
                          "example": "de33d272-f8a7-4406-8fe8-ab28fd457be5"
                        },
                        "scopes": {
                          "type": "array",
                          "description": "The scopes.",
                          "example": [
                            "cartoons"
                          ],
                          "items": {
                            "type": "string"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "description": "A JSON object that defines the role that you want to create. For example, the associated model is one that you might see in a video streaming service.",
          "required": true
        },
        "x-codegen-request-body-name": "body",
        "responses": {
          "201": {
            "description": "The role for the registered application is created and returned as a JSON object.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/createRolesResponse"
                }
              }
            }
          },
          "400": {
            "description": "The payload is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "The request is unauthorized. Be sure that you pass a valid IAM token in the authorization header of your request.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "You have insufficient permissions. Contact your administrator to verify your permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "409": {
            "description": "The role exists. Choose a new name or update your existing role.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X 'POST'\\'https://{region}.appid.cloud.ibm.com/management/v4/{tenant_ID}/users/{id}/roles' \\\n -H 'accept: application/json' \\\n -H 'Authorization: Bearer {IAM_token}' \\\n -H 'Content-Type: application/json' \\\n -d '{\n  \"name\":\"child\",\n  \"description\":\"Limits the available movie options to those that might be more appropriate for younger viewers.\",\n  \"access\":\n [\n  {\n    \"application_id\":\"<enter_application_id>\",\n  \"scopes\":\n [\n   \"cartoons\"\n    ]\n  }\n   ]\n  }\n  '"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/management/v4/{tenantId}/roles/{roleId}": {
      "get": {
        "security": [
          {
            "IAM_Token": []
          }
        ],
        "operationId": "getRole",
        "summary": "View a specific role",
        "description": "By using the role ID, obtain the information for a specific role that is associated with a registered application.",
        "tags": [
          "Roles"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/tenantId"
          },
          {
            "$ref": "#/components/parameters/roleId"
          }
        ],
        "responses": {
          "200": {
            "description": "The data that is associated with the role is returned as a JSON object.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/getRoleResponse"
                }
              }
            }
          },
          "400": {
            "description": "The tenant ID or user ID is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "The request is unauthorized. Be sure that you pass a valid IAM token in the authorization header of your request.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "You have insufficient permissions. Contact your administrator to verify your permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "description": "The role was not found. Verify your role ID by listing all of the roles that are associated with your application.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X 'GET'\\'https://{region}.appid.cloud.ibm.com/management/v4/{tenant_ID}/roles/{roleId}' \\\n -H 'accept: application/json' \\\n -H 'Authorization: Bearer {IAM_token}'"
                    ]
                  }
                ]
              }
            ]
          }
        }
      },
      "put": {
        "security": [
          {
            "IAM_Token": []
          }
        ],
        "operationId": "updateRole",
        "summary": "Update a role",
        "description": "Update an existing role. [Learn more](/docs/appid?topic=appid-access-control).",
        "tags": [
          "Roles"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/tenantId"
          },
          {
            "$ref": "#/components/parameters/roleId"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "required": [
                  "access",
                  "name"
                ],
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string",
                    "description": "The role name.",
                    "example": "child",
                    "maxLength": 50
                  },
                  "description": {
                    "type": "string",
                    "description": "The role description.",
                    "example": "Limits the available movie options to films that might be more appropriate for younger viewers.",
                    "maxLength": 100
                  },
                  "access": {
                    "type": "array",
                    "description": "The access data.",
                    "items": {
                      "required": [
                        "application_id",
                        "scopes"
                      ],
                      "type": "object",
                      "properties": {
                        "application_id": {
                          "type": "string",
                          "description": "The application ID.",
                          "example": "de33d272-f8a7-4406-8fe8-ab28fd457be5"
                        },
                        "scopes": {
                          "type": "array",
                          "description": "The scopes.",
                          "example": [
                            "cartoons",
                            "animated"
                          ],
                          "items": {
                            "type": "string"
                          }
                        }
                      }
                    }
                  }
                }
              }
            },
            "application/x-www-form-urlencoded": {
              "schema": {
                "required": [
                  "access",
                  "name"
                ],
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string",
                    "description": "The role name.",
                    "example": "child",
                    "maxLength": 50
                  },
                  "description": {
                    "type": "string",
                    "description": "The role description.",
                    "example": "Limits the available movie options to films that might be more appropriate for younger viewers.",
                    "maxLength": 100
                  },
                  "access": {
                    "type": "array",
                    "description": "The access data.",
                    "items": {
                      "required": [
                        "application_id",
                        "scopes"
                      ],
                      "type": "object",
                      "properties": {
                        "application_id": {
                          "type": "string",
                          "description": "The application ID.",
                          "example": "de33d272-f8a7-4406-8fe8-ab28fd457be5"
                        },
                        "scopes": {
                          "type": "array",
                          "description": "The scopes.",
                          "example": [
                            "cartoons",
                            "animated"
                          ],
                          "items": {
                            "type": "string"
                          }
                        }
                      }
                    }
                  }
                }
              }
            },
            "multipart/form-data": {
              "schema": {
                "required": [
                  "access",
                  "name"
                ],
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string",
                    "description": "The role name.",
                    "example": "child",
                    "maxLength": 50
                  },
                  "description": {
                    "type": "string",
                    "description": "The role description.",
                    "example": "Limits the available movie options to films that might be more appropriate for younger viewers.",
                    "maxLength": 100
                  },
                  "access": {
                    "type": "array",
                    "description": "The access data.",
                    "items": {
                      "required": [
                        "application_id",
                        "scopes"
                      ],
                      "type": "object",
                      "properties": {
                        "application_id": {
                          "type": "string",
                          "description": "The application ID.",
                          "example": "de33d272-f8a7-4406-8fe8-ab28fd457be5"
                        },
                        "scopes": {
                          "type": "array",
                          "description": "The scopes.",
                          "example": [
                            "cartoons",
                            "animated"
                          ],
                          "items": {
                            "type": "string"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "description": "A JSON object that defines the role that you want to update. Continuing the previous example, you can see that an extra scope is added to the payload.",
          "required": true
        },
        "x-codegen-request-body-name": "body",
        "responses": {
          "200": {
            "description": "The role is updated and the data that is associated with the role is returned as a JSON object.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/updateRolesResponse"
                }
              }
            }
          },
          "400": {
            "description": "The payload is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "The request is unauthorized. Be sure that you pass a valid IAM token in the authorization header of your request.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "You have insufficient permissions. Contact your administrator to verify your permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "description": "The role was not found. Verify your role ID by listing all of the roles that are associated with your application.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X 'PUT'\\'https://{region}.appid.cloud.ibm.com/management/v4/{tenant_ID}/users/{id}/roles/{roleId}'\\\n -H 'accept: application/json' \\\n -H 'Authorization: Bearer {IAM_token}' \\\n -H 'Content-Type: application/json' \\\n -d '{\n  \"name\":\"child\",\n    \"description\":\"Limits the available movie options to those that might be more appropriate for younger viewers.\",\n  \"access\":\n [\n  {\n    \"application_id\":\"<enter_application_id>\",\n  \"scopes\":\n [\n   \"cartoons\",\n   \"animated\"\n   ]\n  }\n   ]\n  }\n  '"
                    ]
                  }
                ]
              }
            ]
          }
        }
      },
      "delete": {
        "security": [
          {
            "IAM_Token": []
          }
        ],
        "operationId": "deleteRole",
        "summary": "Delete a role",
        "description": "Delete an existing role.",
        "tags": [
          "Roles"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/tenantId"
          },
          {
            "$ref": "#/components/parameters/roleId"
          }
        ],
        "responses": {
          "202": {
            "description": "The Delete request is accepted."
          },
          "401": {
            "description": "The request is unauthorized. Be sure that you pass a valid IAM token in the authorization header of your request.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "You have insufficient permissions. Contact your administrator to verify your permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X 'DELETE'\\'https://{region}.appid.cloud.ibm.com/management/v4/{tenant_ID}/roles/{roleId}' \\\n -H 'accept: application/json' \\\n -H 'Authorization: Bearer {IAM_token}'"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/management/v4/{tenantId}/users/{id}": {
      "delete": {
        "security": [
          {
            "IAM_Token": []
          }
        ],
        "operationId": "users_delete_user_profile",
        "summary": "Delete user",
        "description": "Delete a user by ID. [Learn more](/docs/appid?topic=appid-profiles).",
        "tags": [
          "Users"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/tenantId"
          },
          {
            "$ref": "#/components/parameters/userProfileId"
          }
        ],
        "responses": {
          "204": {
            "description": "The user was deleted successfully."
          },
          "400": {
            "description": "The tenant ID or user ID is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "The request is unauthorized by the platform. To be authorized, an IAM token with the valid permissions must be provided in the authorization header of your request.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "You are not authorized to complete this operation. Contact the service owner or admin to verify your permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "description": "The user is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "500": {
            "description": "Returned because of an internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X 'DELETE'\\'https://{region}.appid.cloud.ibm.com/management/v4/{tenant_ID}/users/export' \\\n -H 'accept: application/json' \\\n -H 'Authorization: Bearer {IAM_token}'"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/management/v4/{tenantId}/users/{id}/revoke_refresh_token": {
      "post": {
        "security": [
          {
            "IAM_Token": []
          }
        ],
        "operationId": "users_revoke_refresh_token",
        "summary": "Revoke refresh token",
        "description": "Revoke all the refresh tokens that are issued for the specific user. [Learn more](/docs/appid?topic=appid-profiles).",
        "tags": [
          "Users"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/tenantId"
          },
          {
            "$ref": "#/components/parameters/userProfileId"
          }
        ],
        "responses": {
          "204": {
            "description": "No content. The users refresh token was revoked."
          },
          "400": {
            "description": "The tenant ID or user ID is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "The request is unauthorized by the platform. To be authorized, an IAM token with the valid permissions must be provided in the authorization header.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "You are not authorized to complete this operation. Contact the service owner or admin to verify your permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "description": "The user is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "500": {
            "description": "Returned because of an internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X 'POST'\\'https://{region}.appid.cloud.ibm.com/management/v4/{tenant_ID}/users/{id}/revoke_refresh_token'\\\n -H 'accept: application/json' \\\n -H 'Authorization: Bearer {IAM_token}' \\\n -H 'Content-Type: application/json' \\\n -d ''"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/management/v4/{tenantId}/users/{id}/profile": {
      "get": {
        "security": [
          {
            "IAM_Token": []
          }
        ],
        "operationId": "users_get_user_profile",
        "summary": "Get user profile",
        "description": "Get the profile of a specific user. [Learn more](/docs/appid?topic=appid-profiles).",
        "tags": [
          "Users"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/tenantId"
          },
          {
            "$ref": "#/components/parameters/userProfileId"
          }
        ],
        "responses": {
          "200": {
            "description": "The user profile is returned as a JSON object.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/getProfileResponse"
                }
              }
            }
          },
          "400": {
            "description": "The tenant ID or ID is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "The request is unauthorized by the platform. To be authorized, an IAM token with the valid permissions must be provided in the authorization header of your request.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "You are not authorized to complete this operation. Contact the service owner or admin to verify your permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "description": "The user is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "500": {
            "description": "Returned because of an internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X 'GET' \\'https://{region}.appid.cloud.ibm.com/management/v4/{tenant_ID}/users/{id}/profile'\\\n -H 'accept: application/json' \\\n -H 'Authorization: Bearer {IAM_token}'"
                    ]
                  }
                ]
              }
            ]
          }
        }
      },
      "put": {
        "security": [
          {
            "IAM_Token": []
          }
        ],
        "operationId": "users_set_user_profile",
        "summary": "Update user profile",
        "description": "Update a user profile. [Learn more](/docs/appid?topic=appid-profiles).",
        "tags": [
          "Users"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/tenantId"
          },
          {
            "$ref": "#/components/parameters/userProfileId"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "required": [
                  "attributes"
                ],
                "type": "object",
                "additionalProperties": false,
                "properties": {
                  "attributes": {
                    "type": "object",
                    "description": "The profile attributes.",
                    "additionalProperties": false,
                    "example": {
                      "points": "150"
                    }
                  }
                }
              }
            },
            "application/x-www-form-urlencoded": {
              "schema": {
                "required": [
                  "attributes"
                ],
                "type": "object",
                "additionalProperties": false,
                "properties": {
                  "attributes": {
                    "type": "object",
                    "description": "The profile attributes.",
                    "additionalProperties": false,
                    "example": {
                      "points": "150"
                    }
                  }
                }
              }
            },
            "multipart/form-data": {
              "schema": {
                "required": [
                  "attributes"
                ],
                "type": "object",
                "additionalProperties": false,
                "properties": {
                  "attributes": {
                    "type": "object",
                    "description": "The profile attributes.",
                    "additionalProperties": false,
                    "example": {
                      "points": "150"
                    }
                  }
                }
              }
            }
          },
          "description": "The user's profile as a JSON object. Only the 'attributes' field is accepted.",
          "required": true
        },
        "x-codegen-request-body-name": "userProfile",
        "responses": {
          "200": {
            "description": "The updated user profile is returned as a JSON object.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/getProfileResponse"
                }
              }
            }
          },
          "400": {
            "description": "The tenant ID, user ID, or request body is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "The request is unauthorized by the platform. To be authorized, an IAM token with the valid permissions must be provided in the authorization header of your request.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "You are not authorized to complete this operation. Contact the service owner or admin to verify your permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "description": "The user is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "500": {
            "description": "Returned because of an internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X 'PUT'\\'https://{region}.appid.cloud.ibm.com/management/v4/{tenant_ID}/users/{id}/profile'\\\n -H 'accept: application/json' \\\n -H 'Authorization: Bearer {IAM_token}' \\\n -H 'Content-Type: application/json' \\\n -d '{\n  \"attributes\":\n {\n  \"points\":\"150\"\n  }\n }'"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/management/v4/{tenantId}/users/{id}/roles": {
      "get": {
        "security": [
          {
            "IAM_Token": []
          }
        ],
        "operationId": "getUserRoles",
        "summary": "Get a user's roles",
        "description": "View a list of roles that are associated with a specific user.",
        "tags": [
          "Users"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/tenantId"
          },
          {
            "$ref": "#/components/parameters/userProfileId"
          }
        ],
        "responses": {
          "200": {
            "description": "The list of roles is returned as a JSON object.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/getUserRolesResponse"
                }
              }
            }
          },
          "400": {
            "description": "The tenant ID or user ID is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "The request is unauthorized. Be sure that you pass a valid IAM token in the authorization header of your request.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "You have insufficient permissions. Contact your administrator to verify your permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "description": "The user wasn't found.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X 'GET'\\'https://{region}.appid.cloud.ibm.com/management/v4/{tenant_ID}/users/{id}/roles' \\\n -H 'accept: application/json' \\\n -H 'Authorization: Bearer {IAM_token}'"
                    ]
                  }
                ]
              }
            ]
          }
        }
      },
      "put": {
        "security": [
          {
            "IAM_Token": []
          }
        ],
        "operationId": "updateUserRoles",
        "summary": "Update a user's roles",
        "description": "Update which roles are associated with a specific user or assign a role to a user for the first time. [Learn more](/docs/appid?topic=appid-access-control).",
        "tags": [
          "Users"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/tenantId"
          },
          {
            "$ref": "#/components/parameters/userProfileId"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/updateUserRolesBody"
        },
        "x-codegen-request-body-name": "body",
        "responses": {
          "200": {
            "description": "The role is successfully associated with the user.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/assignRoleToUser"
                }
              }
            }
          },
          "400": {
            "description": "The tenant ID or user ID is missing or invalid. ",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "The request is unauthorized. Be sure that you pass a valid IAM token in the authorization header of your request.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "You have insufficient permissions. Contact your administrator to verify your permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "description": "One or more of the roles that you want to assign was not found. List all of your available roles by calling the Roles API.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X 'PUT' \\'https://{region}.appid.cloud.ibm.com/management/v4/{tenant_ID}/users/{id}/roles' \\\n  -H 'accept: application/json' \\\n  -H 'Authorization: Bearer {IAM_token}' \\\n  -H 'Content-Type: application/json' \\\n  -d '{\n  \"roles\": {\n    \"ids\": [\n      \"338744d83b0f\"\n    ]\n  }\n}'"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/management/v4/{tenantId}/applications": {
      "get": {
        "security": [
          {
            "IAM_Token": []
          }
        ],
        "operationId": "getAllApplications",
        "summary": "Get applications",
        "description": "View all applications registered with the App ID Instance.",
        "tags": [
          "Applications"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/tenantId"
          }
        ],
        "responses": {
          "200": {
            "description": "A list of all the applications that are registered with the App ID tenant ID is returned as a JSON object.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/getAllServerAppClients"
                }
              }
            }
          },
          "400": {
            "description": "The tenant ID is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "The user is unauthorized. To be authorized, a user needs an IAM token with valid permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "The user has insufficient permissions. Contact the service owner or admin to verify permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X 'GET'\\'https://{region}.appid.cloud.ibm.com/management/v4/{tenant_ID}/applications' \\\n -H 'accept: application/json' \\\n -H 'Authorization: Bearer {IAM_token}'"
                    ]
                  }
                ]
              }
            ]
          }
        }
      },
      "post": {
        "security": [
          {
            "IAM_Token": []
          }
        ],
        "operationId": "registerApplication",
        "summary": "Create application",
        "description": "Register a new application with the App ID instance.",
        "tags": [
          "Applications"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/tenantId"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/registerServerApp"
              }
            },
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/registerServerApp"
              }
            },
            "multipart/form-data": {
              "schema": {
                "$ref": "#/components/schemas/registerServerApp"
              }
            }
          },
          "description": "The application registration payload. Application name cannot exceed 50 characters.",
          "required": true
        },
        "x-codegen-request-body-name": "application",
        "responses": {
          "200": {
            "description": "The new registered application data is returned as a JSON object.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/getAllServerAppClients"
                }
              }
            }
          },
          "400": {
            "description": "The tenant ID or request body is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "The user is unauthorized. To be authorized, a user needs an IAM token with the valid permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "The user has insufficient permissions. Contact the service owner or admin to verify user permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "500": {
            "description": "Returned because of an internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X 'POST'\\'https://{region}.appid.cloud.ibm.com/management/v4/{tenant_ID}/applications' \\\n  -H 'accept: application/json' \\\n  -H 'Authorization: Bearer {IAM_token}' \\\n  -H 'Content-Type: application/json' \\\n  -d '{\n  \"name\": \"App1-test\",\n  \"type\": \"regularwebapp\"\n}'"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/management/v4/{tenantId}/applications/{clientId}": {
      "get": {
        "security": [
          {
            "IAM_Token": []
          }
        ],
        "operationId": "getApplication",
        "summary": "Get application",
        "description": "Get a specific application registered with the App ID Instance.",
        "tags": [
          "Applications"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/tenantId"
          },
          {
            "$ref": "#/components/parameters/clientId"
          }
        ],
        "responses": {
          "200": {
            "description": "A specific application that is registered with the App ID tenant ID is returned as a JSON object.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/getAllServerAppClients"
                }
              }
            }
          },
          "400": {
            "description": "The tenant ID is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "The user is unauthorized. To be authorized, a user needs an IAM token with valid permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "The user has insufficient permissions. Contact the service owner or admin to verify permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X 'GET'\\'https://{region}.appid.cloud.ibm.com/management/v4/{tenant_ID}/applications/{clientId}'\\\n -H 'accept: application/json' \\\n -H 'Authorization: Bearer {IAM_token}'"
                    ]
                  }
                ]
              }
            ]
          }
        }
      },
      "put": {
        "security": [
          {
            "IAM_Token": []
          }
        ],
        "operationId": "updateApplication",
        "summary": "Update application",
        "description": "Update an application registered with the App ID instance.",
        "tags": [
          "Applications"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/tenantId"
          },
          {
            "$ref": "#/components/parameters/clientId"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/updateApp"
              }
            },
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/updateApp"
              }
            },
            "multipart/form-data": {
              "schema": {
                "$ref": "#/components/schemas/updateApp"
              }
            }
          },
          "description": "The application registration payload. Application name cannot exceed 50 characters.",
          "required": true
        },
        "x-codegen-request-body-name": "application",
        "responses": {
          "201": {
            "description": "The updated application data is returned as a JSON object.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/getAllServerAppClients"
                }
              }
            }
          },
          "400": {
            "description": "The tenant ID or request body is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "The user is unauthorized. To be authorized, a user needs an IAM token with the valid permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "The user has insufficient permissions. Contact the service owner or admin to verify user permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "description": "The application was not be found.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "500": {
            "description": "Returned because of an internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X 'PUT'\\'https://{region}.appid.cloud.ibm.com/management/v4/{tenant_ID}/applications/{clientId}'\\\n  -H 'accept: application/json' \\\n  -H 'Authorization: Bearer {IAM_token}' \\\n  -H 'Content-Type: application/json' \\\n  -d '{\n  \"name\": \"App1-test\"\n}'"
                    ]
                  }
                ]
              }
            ]
          }
        }
      },
      "delete": {
        "security": [
          {
            "IAM_Token": []
          }
        ],
        "operationId": "deleteApplication",
        "summary": "Delete application",
        "description": "Delete an application registered with the App ID instance. \n*Note: This action cannot be undone.*",
        "tags": [
          "Applications"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/tenantId"
          },
          {
            "$ref": "#/components/parameters/clientId"
          }
        ],
        "responses": {
          "204": {
            "description": "The application was deleted."
          },
          "400": {
            "description": "The tenant ID is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "The user is unauthorized. To be authorized, a user needs an IAM token with the valid permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "The user has insufficient permissions. Contact the service owner or admin to verify permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "description": "The application was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X 'DELETE' \\'https://{region}.appid.cloud.ibm.com/management/v4/{tenant_ID}/applications/{clientId}'\\\n -H 'accept: application/json' \\\n -H 'Authorization: Bearer {IAM_token}'"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/management/v4/{tenantId}/applications/{clientId}/scopes": {
      "get": {
        "security": [
          {
            "IAM_Token": []
          }
        ],
        "operationId": "getApplicationScopes",
        "summary": "Get application scopes",
        "description": "View the defined scopes for an application that is registered with an App ID instance.",
        "tags": [
          "Applications"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/tenantId"
          },
          {
            "$ref": "#/components/parameters/clientId"
          }
        ],
        "responses": {
          "200": {
            "description": "The scopes for the registered application are returned as a JSON object.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/getScopesForApplication"
                }
              }
            }
          },
          "400": {
            "description": "The tenant ID or client ID is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "The request is unauthorized. Be sure that you pass a valid IAM token in the authorization header of your request.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "You have insufficient permissions. Contact your administrator to verify your permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X 'GET' \\'https://{region}.appid.cloud.ibm.com/management/v4/{tenant_ID}/applications/{clientId}/scopes'\\\n -H 'accept: application/json' \\\n -H 'Authorization: Bearer {IAM_token}'"
                    ]
                  }
                ]
              }
            ]
          }
        }
      },
      "put": {
        "security": [
          {
            "IAM_Token": []
          }
        ],
        "operationId": "putApplicationsScopes",
        "summary": "Add application scope",
        "description": "Update the scopes for a registered application. [Learn more](/docs/appid?topic=appid-access-control).\n**Important**: Removing a scope from an array deletes it from any roles that it is associated with and the action cannot be undone.",
        "tags": [
          "Applications"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/tenantId"
          },
          {
            "$ref": "#/components/parameters/clientId"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "scopes"
                ],
                "properties": {
                  "scopes": {
                    "type": "array",
                    "description": "The scopes.",
                    "maxItems": 50,
                    "example": [
                      "cartoons",
                      "horror",
                      "animated"
                    ],
                    "items": {
                      "type": "string",
                      "maxLength": 20
                    }
                  }
                }
              }
            },
            "application/x-www-form-urlencoded": {
              "schema": {
                "type": "object",
                "required": [
                  "scopes"
                ],
                "properties": {
                  "scopes": {
                    "type": "array",
                    "description": "The scopes.",
                    "maxItems": 50,
                    "example": [
                      "cartoons",
                      "horror",
                      "animated"
                    ],
                    "items": {
                      "type": "string",
                      "maxLength": 20
                    }
                  }
                }
              }
            },
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "required": [
                  "scopes"
                ],
                "properties": {
                  "scopes": {
                    "type": "array",
                    "description": "The scopes.",
                    "maxItems": 50,
                    "example": [
                      "cartoons",
                      "horror",
                      "animated"
                    ],
                    "items": {
                      "type": "string",
                      "maxLength": 20
                    }
                  }
                }
              }
            }
          }
        },
        "x-codegen-request-body-name": "body",
        "responses": {
          "200": {
            "description": "The updated scopes for the registered application are returned as a JSON object.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/getScopesForApplication"
                }
              }
            }
          },
          "400": {
            "description": "The tenant ID, client ID, or request body is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "The request is unauthorized. Be sure that you pass a valid IAM token in the authorization header of your request.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "You have insufficient permissions. Contact your administrator to verify your permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "description": "The application cannot be found.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X 'PUT' \\'https://{region}.appid.cloud.ibm.com/management/v4/{tenant_ID}/applications/{clientId}/scopes'\\\n  -H 'accept: application/json' \\\n  -H 'Authorization: Bearer {IAM_token}' \\\n  -H 'Content-Type: application/json' \\\n  -d '{\n  \"scopes\": [\n    \"cartoons\",\n    \"horror\",\n    \"animated\"\n  ]\n}'"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/management/v4/{tenantId}/applications/{clientId}/roles": {
      "get": {
        "security": [
          {
            "IAM_Token": []
          }
        ],
        "operationId": "getApplicationRoles",
        "summary": "Get application roles",
        "description": "View the defined roles for an application that is registered with an App ID instance.",
        "tags": [
          "Applications"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/tenantId"
          },
          {
            "$ref": "#/components/parameters/clientId"
          }
        ],
        "responses": {
          "200": {
            "description": "The roles for the registered application are returned as a JSON object.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/getUserRolesResponse"
                }
              }
            }
          },
          "400": {
            "description": "The tenant ID or client ID is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "The request is unauthorized. Be sure that you pass a valid IAM token in the authorization header of your request.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "You have insufficient permissions. Contact your administrator to verify your permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X 'GET'\\'https://{region}.appid.cloud.ibm.com/management/v4/{tenant_ID}/applications/{clientId}/roles'\\\n -H 'accept: application/json' \\\n -H 'Authorization: Bearer {IAM_token}'"
                    ]
                  }
                ]
              }
            ]
          }
        }
      },
      "put": {
        "security": [
          {
            "IAM_Token": []
          }
        ],
        "operationId": "putApplicationsRoles",
        "summary": "Add application role",
        "description": "Update the roles for a registered application.",
        "tags": [
          "Applications"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/tenantId"
          },
          {
            "$ref": "#/components/parameters/clientId"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/updateUserRolesBody"
        },
        "x-codegen-request-body-name": "body",
        "responses": {
          "200": {
            "description": "The role is successfully associated with the application.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/assignRoleToUser"
                }
              }
            }
          },
          "400": {
            "description": "The tenant ID, client ID, or request body is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "The request is unauthorized. Be sure that you pass a valid IAM token in the authorization header of your request.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "You have insufficient permissions. Contact your administrator to verify your permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "description": "The application cannot be found.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X 'PUT' \\'https://{region}.appid.cloud.ibm.com/management/v4/{tenant_ID}/applications/{clientId}/roles'\\\n  -H 'accept: application/json' \\\n  -H 'Authorization: Bearer {IAM_token}' \\\n  -H 'Content-Type: application/json' \\\n  -d '{\n  \"roles\": {\n    \"ids\": [\n      \"cc89a2c33a4d15863f0d\"\n    ]\n  }\n}'"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/management/v4/{tenantId}/config/capture_runtime_activity": {
      "get": {
        "security": [
          {
            "IAM_Token": []
          }
        ],
        "operationId": "getAuditStatus",
        "summary": "Get tenant audit status",
        "description": "Get a JSON object that contains the auditing status of the tenant.",
        "tags": [
          "Config"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/tenantId"
          }
        ],
        "responses": {
          "200": {
            "description": "The auditing status of the tenant is returned as a JSON object.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "example": {
                    "isActive": true
                  }
                }
              }
            }
          },
          "400": {
            "description": "The tenant ID is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "The user is unauthorized. To be authorized, a user needs an IAM token with valid permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "The user has insufficient permissions. Contact the service owner or admin to verify permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X 'GET'\\'https://{region}.appid.cloud.ibm.com/management/v4/{tenant_ID}/config/capture_runtime_activity'\\\n -H 'accept: application/json' \\\n -H 'Authorization: Bearer {IAM_token}'"
                    ]
                  }
                ]
              }
            ]
          }
        }
      },
      "put": {
        "security": [
          {
            "IAM_Token": []
          }
        ],
        "operationId": "setAuditStatus",
        "summary": "Update tenant audit status",
        "description": "Capture app user sign-in's, sign-up's, and other runtime events in Cloud Logs that you can search, analyze, and report. By turning on Cloud Logs, any authentication event is also charged as advanced security event. IBM Cloud Logs is available in select regions. [Learn more](/docs/appid?topic=appid-at-events).",
        "tags": [
          "Config"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/tenantId"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "required": [
                  "isActive"
                ],
                "type": "object",
                "additionalProperties": false,
                "properties": {
                  "isActive": {
                    "type": "boolean",
                    "description": "The status of the configuration.",
                    "example": true
                  }
                }
              }
            },
            "application/x-www-form-urlencoded": {
              "schema": {
                "required": [
                  "isActive"
                ],
                "type": "object",
                "additionalProperties": false,
                "properties": {
                  "isActive": {
                    "type": "boolean",
                    "description": "The status of the configuration.",
                    "example": true
                  }
                }
              }
            },
            "multipart/form-data": {
              "schema": {
                "required": [
                  "isActive"
                ],
                "type": "object",
                "additionalProperties": false,
                "properties": {
                  "isActive": {
                    "type": "boolean",
                    "description": "The status of the configuration.",
                    "example": true
                  }
                }
              }
            }
          },
          "description": "The new audit status, which is specified as a JSON object.",
          "required": true
        },
        "x-codegen-request-body-name": "body",
        "responses": {
          "204": {
            "description": "The tenant was updated."
          },
          "400": {
            "description": "The tenant ID or request body is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "The user is unauthorized. To be authorized, a user needs an IAM token with the valid permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "The user has insufficient permissions. Contact the service owner or admin to verify user permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X 'PUT' \\'https://{region}.appid.cloud.ibm.com/management/v4/{tenant_ID}/config/capture_runtime_activity'\\\n  -H 'accept: application/json' \\\n  -H 'Authorization: Bearer {IAM_token}' \\\n  -H 'Content-Type: application/json' \\\n  -d '{\n  \"isActive\": true\n}'"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/management/v4/{tenantId}/config/cloud_directory/mfa/channels": {
      "get": {
        "security": [
          {
            "IAM_Token": []
          }
        ],
        "operationId": "getAllChannels",
        "summary": "Get channels",
        "description": "Get all the MFA channels registered with the App ID Instance.",
        "tags": [
          "Config"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/tenantId"
          }
        ],
        "responses": {
          "200": {
            "description": "A list of all the MFA channels that are registered with the App ID tenant ID is returned as a JSON object.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/getAllMfaChannels"
                }
              }
            }
          },
          "400": {
            "description": "The tenant ID is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "The user is unauthorized. To be authorized, a user needs an IAM token with valid permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "The user has insufficient permissions. Contact the service owner or admin to verify permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X 'GET'\\'https://{region}.appid.cloud.ibm.com/management/v4/{tenant_ID}/config/cloud_directory/mfa/channels'\\\n -H 'accept: application/json' \\\n -H 'Authorization: Bearer {IAM_token}'"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/management/v4/{tenantId}/config/cloud_directory/mfa/channels/{channel}": {
      "get": {
        "security": [
          {
            "IAM_Token": []
          }
        ],
        "operationId": "getChannel",
        "summary": "Get channel",
        "description": "Get a specific MFA channel registered with the App ID Instance.",
        "tags": [
          "Config"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/tenantId"
          },
          {
            "$ref": "#/components/parameters/channelType"
          }
        ],
        "responses": {
          "200": {
            "description": "A specific channel that is registered with the App ID tenant ID is returned as a JSON object.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/getSMSChannel"
                }
              }
            }
          },
          "400": {
            "description": "The tenant ID is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "The user is unauthorized. To be authorized, a user needs an IAM token with valid permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "The user has insufficient permissions. Contact the service owner or admin to verify permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X 'GET'\\'https://{region}.appid.cloud.ibm.com/management/v4/{tenant_ID}/config/cloud_directory/mfa/channels/email'\\\n -H 'accept: application/json' \\\n -H 'Authorization: Bearer {IAM_token}'"
                    ]
                  }
                ]
              }
            ]
          }
        }
      },
      "put": {
        "security": [
          {
            "IAM_Token": []
          }
        ],
        "operationId": "updateChannel",
        "summary": "Update channel",
        "description": "Enable or disable a registered MFA channel on the App ID instance. [Learn more](/docs/appid?topic=appid-cd-mfa).",
        "tags": [
          "Config"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/tenantId"
          },
          {
            "$ref": "#/components/parameters/channelType"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/updateMfaChannel"
              }
            },
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/updateMfaChannel"
              }
            },
            "multipart/form-data": {
              "schema": {
                "$ref": "#/components/schemas/updateMfaChannel"
              }
            }
          },
          "description": "The MFA channel payload.",
          "required": true
        },
        "x-codegen-request-body-name": "update MFA channel data",
        "responses": {
          "200": {
            "description": "The updated channel data is returned as a JSON object.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/getSMSChannel"
                }
              }
            }
          },
          "400": {
            "description": "The tenant ID or request body is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "The user is unauthorized. To be authorized, a user needs an IAM token with the valid permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "The user has insufficient permissions. Contact the service owner or admin to verify user permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "description": "The channel was not be found.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "500": {
            "description": "Returned because of an internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X 'PUT'\\'https://{region}.appid.cloud.ibm.com/management/management/v4/{tenant_ID}/config/cloud_directory/mfa/channels/email'\\\n  -H 'accept: application/json' \\\n  -H 'Authorization: Bearer {IAM_token}' \\\n  -H 'Content-Type: application/json' \\\n  -d '{\n  \"isActive\": true,\n  \"config\": {\n    \"key\": \"key\",\n    \"secret\": \"secret\",\n    \"from\": \"1234567890\"\n  }\n}'"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/management/v4/{tenantId}/config/cloud_directory/mfa/extensions/{name}": {
      "get": {
        "security": [
          {
            "IAM_Token": []
          }
        ],
        "operationId": "getExtensionConfig",
        "summary": "Get an extension configuration",
        "description": "View a registered extension's configuration for an instance of App ID. [Learn more](/docs/appid?topic=appid-cd-mfa#cd-mfa-extensions).",
        "tags": [
          "Config"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/tenantId"
          },
          {
            "$ref": "#/components/parameters/extensionName"
          }
        ],
        "responses": {
          "200": {
            "description": "The extension configuration is returned as a JSON object.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/updateExtensionConfig"
                }
              }
            }
          },
          "400": {
            "description": "The tenant ID or request body is either missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "The request is unauthorized. Be sure that you pass a valid IAM token in the authorization header of your request.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "You have insufficient permissions. Contact your administrator or service owner to verify your permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error. Try again in a few minutes.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X 'GET'\\'https://{region}.appid.cloud.ibm.com/management/v4/{tenant_ID}/config/cloud_directory/mfa/extensions/premfa'\\\n -H 'accept: application/json' \\\n -H 'Authorization: Bearer {IAM_token}'"
                    ]
                  }
                ]
              }
            ]
          }
        }
      },
      "put": {
        "security": [
          {
            "IAM_Token": []
          }
        ],
        "operationId": "updateExtensionConfig",
        "summary": "Update an extension configuration",
        "description": "Set or update a registered extension's configuration for an instance of App ID. [Learn more](/docs/appid?topic=appid-cd-mfa#cd-mfa-extensions).",
        "tags": [
          "Config"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/tenantId"
          },
          {
            "$ref": "#/components/parameters/extensionName"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/updateExtensionConfig"
              }
            }
          },
          "description": "The extension configuration payload.",
          "required": true
        },
        "x-codegen-request-body-name": "update extension configuration",
        "responses": {
          "200": {
            "description": "A JSON object that contains either true or false is returned, depending on your configuration.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/updateExtensionConfig"
                }
              }
            }
          },
          "400": {
            "description": "The tenant ID or request body is either missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "The request is unauthorized. Be sure that you pass a valid IAM token in the authorization header of your request.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "You have insufficient permissions. Contact your administrator or service owner to verify your permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error. Try again in a few minutes.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X 'PUT'\\'https://{region}.appid.cloud.ibm.com/management/v4/{tenant_ID}/config/cloud_directory/mfa/extensions/premfa'\\\n  -H 'accept: application/json' \\\n  -H 'Authorization: Bearer {IAM_token}' \\\n  -H 'Content-Type: application/json' \\\n  -d '{\n  \"isActive\": true,\n  \"config\": {\n    \"url\": \"https://example.com/extension\",\n    \"headers\": {\n      \"authorization\": \"Bearer <IAM_token>\"\n    }\n  }\n}'"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/management/v4/{tenantId}/config/cloud_directory/mfa/extensions/{name}/active": {
      "put": {
        "security": [
          {
            "IAM_Token": []
          }
        ],
        "operationId": "updateExtensionActive",
        "summary": "Enable or disable an extension",
        "description": "Update the status of a registered extension for an instance of App ID to enabled or disabled. [Learn more](/docs/appid?topic=appid-cd-mfa#cd-mfa-extensions).",
        "tags": [
          "Config"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/tenantId"
          },
          {
            "$ref": "#/components/parameters/extensionName"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/extensionActive"
              }
            }
          },
          "description": "The extension enabled.",
          "required": true
        },
        "x-codegen-request-body-name": "update extension configuration",
        "responses": {
          "200": {
            "description": "A JSON object that contains either true or false is returned, depending on your configuration.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/extensionActive"
                }
              }
            }
          },
          "400": {
            "description": "The tenant ID or request body is either missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "The request is unauthorized. Be sure that you pass a valid IAM token in the authorization header of your request.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "You have insufficient permissions. Contact your administrator or service owner to verify your permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error. Try again in a few minutes.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X 'PUT'\\'https://{region}.appid.cloud.ibm.com/management/v4/{tenantId}/config/cloud_directory/mfa/extensions/premfa/active'\\\n  -H 'accept: application/json' \\\n  -H 'Authorization: Bearer {IAM_token}' \\\n  -H 'Content-Type: application/json' \\\n  -d '{\n  \"isActive\": true\n}'"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/management/v4/{tenantId}/config/cloud_directory/mfa/extensions/{name}/test": {
      "post": {
        "security": [
          {
            "IAM_Token": []
          }
        ],
        "operationId": "postExtensionsTest",
        "summary": "Test the extension configuration",
        "description": "Test an extension configuration. [Learn more](/docs/appid?topic=appid-cd-mfa#cd-mfa-extensions).",
        "tags": [
          "Config"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/tenantId"
          },
          {
            "$ref": "#/components/parameters/extensionName"
          }
        ],
        "responses": {
          "200": {
            "description": "The response status code, the response body, and headers from the extension's URL are returned.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/extensionTest"
                }
              }
            }
          },
          "400": {
            "description": "The tenant ID or extension name is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "The request is unauthorized. Be sure that you pass a valid IAM token in the authorization header of your request.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "You have insufficient permissions. Contact your administrator or service owner to verify your permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X 'POST'\\'https://{region}.appid.cloud.ibm.com/management/v4/{tenantId}/config/cloud_directory/mfa/extensions/premfa/test'\\\n  -H 'accept: application/json' \\\n  -H 'Authorization: Bearer {IAM_token}' \\\n  -d ''"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/management/v4/{tenantId}/config/cloud_directory/mfa": {
      "get": {
        "security": [
          {
            "IAM_Token": []
          }
        ],
        "operationId": "getMFAConfig",
        "summary": "Get MFA configuration",
        "description": "Get the MFA configuration registered with the App ID Instance.",
        "tags": [
          "Config"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/tenantId"
          }
        ],
        "responses": {
          "200": {
            "description": "The MFA configuration that is registered with the App ID tenant is returned as a JSON object.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/getMFAConfiguration"
                }
              }
            }
          },
          "400": {
            "description": "The tenant ID is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "The user is unauthorized. To be authorized, a user needs an IAM token with valid permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "The user has insufficient permissions. Contact the service owner or admin to verify permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X 'GET'\\'https://{region}.appid.cloud.ibm.com/management/v4/{tenant_ID}/config/cloud_directory/mfa'\\\n -H 'accept: application/json' \\\n -H 'Authorization: Bearer {IAM_token}'"
                    ]
                  }
                ]
              }
            ]
          }
        }
      },
      "put": {
        "security": [
          {
            "IAM_Token": []
          }
        ],
        "operationId": "updateMFAConfig",
        "summary": "Update MFA configuration",
        "description": "Update MFA configuration on the App ID instance.",
        "tags": [
          "Config"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/tenantId"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/updateMfaConfig"
              }
            },
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/updateMfaConfig"
              }
            },
            "multipart/form-data": {
              "schema": {
                "$ref": "#/components/schemas/updateMfaConfig"
              }
            }
          },
          "description": "The MFA configuration payload.",
          "required": true
        },
        "x-codegen-request-body-name": "update MFA configuration",
        "responses": {
          "200": {
            "description": "The updated MFA configuration data is returned as a JSON object.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/getMFAConfiguration"
                }
              }
            }
          },
          "400": {
            "description": "The tenant ID or request body is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "The user is unauthorized. To be authorized, a user needs an IAM token with the valid permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "The user has insufficient permissions. Contact the service owner or admin to verify user permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "500": {
            "description": "Returned because of an internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X 'PUT'\\'https://{region}.appid.cloud.ibm.com/management/v4/{tenant_ID}/config/cloud_directory/mfa'\\\n  -H 'accept: application/json' \\\n  -H 'Authorization: Bearer {IAM_token}' \\\n  -H 'Content-Type: application/json' \\\n  -d '{\n  \"isActive\": true\n}'"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/management/v4/{tenantId}/config/cloud_directory/sso": {
      "get": {
        "security": [
          {
            "IAM_Token": []
          }
        ],
        "operationId": "getSSOConfig",
        "summary": "Get SSO configuration",
        "description": "View the Single sign-on (SSO) configuration registered with the App ID Instance.",
        "tags": [
          "Config"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/tenantId"
          }
        ],
        "responses": {
          "200": {
            "description": "The SSO configuration that is registered with the App ID tenant ID is returned as a JSON object.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "example": {
                    "isActive": true,
                    "inactivityTimeoutSeconds": 86400,
                    "logoutRedirectUris": [
                      "http://localhost:3000/logout-callback"
                    ]
                  }
                }
              }
            }
          },
          "400": {
            "description": "The tenant ID is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "The user is unauthorized. To be authorized, a user needs an IAM token with valid permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "The user has insufficient permissions. Contact the service owner or admin to verify permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X 'GET' \\'https://{region}.appid.cloud.ibm.com/management/v4/{tenant_ID}/config/cloud_directory/sso'\\\n -H 'accept: application/json' \\\n -H 'Authorization: Bearer {IAM_token}'"
                    ]
                  }
                ]
              }
            ]
          }
        }
      },
      "put": {
        "security": [
          {
            "IAM_Token": []
          }
        ],
        "operationId": "updateSSOConfig",
        "summary": "Update SSO configuration",
        "description": "Update the Single sign-on (SSO) configuration on the App ID instance. [Learn more](/docs/appid?topic=appid-cd-sso).",
        "tags": [
          "Config"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/tenantId"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/updateSSOConfig"
              }
            },
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/updateSSOConfig"
              }
            },
            "multipart/form-data": {
              "schema": {
                "$ref": "#/components/schemas/updateSSOConfig"
              }
            }
          },
          "description": "The SSO configuration payload.",
          "required": true
        },
        "x-codegen-request-body-name": "update SSO configuration",
        "responses": {
          "201": {
            "description": "The updated SSO configuration data is returned as a JSON object.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "example": {
                    "isActive": true,
                    "inactivityTimeoutSeconds": 86400,
                    "logoutRedirectUris": [
                      "http://localhost:3000/logout-callback"
                    ]
                  }
                }
              }
            }
          },
          "400": {
            "description": "The tenant ID or request body is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "The user is unauthorized. To be authorized, a user needs an IAM token with the valid permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "The user has insufficient permissions. Contact the service owner or admin to verify user permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "500": {
            "description": "Returned because of an internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X 'PUT'\\'https://{region}.appid.cloud.ibm.com/management/v4/{tenant_ID}/config/cloud_directory/sso'\\\n  -H 'accept: application/json' \\\n  -H 'Authorization: Bearer {IAM_token}' \\\n  -H 'Content-Type: application/json' \\\n  -d '{\n  \"isActive\": true,\n  \"inactivityTimeoutSeconds\": 86400,\n  \"logoutRedirectUris\": [\n    \"http://localhost:3000/logout-callback\"\n  ]\n}'"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/management/v4/{tenantId}/config/cloud_directory/rate_limit": {
      "get": {
        "security": [
          {
            "IAM_Token": []
          }
        ],
        "operationId": "getRateLimitConfig",
        "summary": "Get the rate limit configuration",
        "description": "Get the rate limit configuration registered with the App ID Instance.",
        "tags": [
          "Config"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/tenantId"
          }
        ],
        "responses": {
          "200": {
            "description": "The rate limit configuration that is registered with the App ID tenant is returned as a JSON object.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "example": {
                    "signUpLimitPerMinute": 50,
                    "signInLimitPerMinute": 60
                  }
                }
              }
            }
          },
          "400": {
            "description": "The tenant ID or request body is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "The user is unauthorized. To be authorized, a user needs an IAM token with the valid permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "The user has insufficient permissions. Contact the service owner or admin to verify user permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X 'GET'\\'https://{region}.appid.cloud.ibm.com/management/v4/{tenant_ID}/config/cloud_directory/rate_limit'\\\n -H 'accept: application/json' \\\n -H 'Authorization: Bearer {IAM_token}'"
                    ]
                  }
                ]
              }
            ]
          }
        }
      },
      "put": {
        "security": [
          {
            "IAM_Token": []
          }
        ],
        "operationId": "updateRateLimitConfig",
        "summary": "Update the rate limit configuration",
        "description": "Update the rate limit configuration on the App ID instance. [Learn more](/docs/appid?topic=appid-known-issues-limits).",
        "tags": [
          "Config"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/tenantId"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/updateRateLimitConfig"
              }
            },
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/updateRateLimitConfig"
              }
            },
            "multipart/form-data": {
              "schema": {
                "$ref": "#/components/schemas/updateRateLimitConfig"
              }
            }
          },
          "description": "The rate limit configuration payload.",
          "required": true
        },
        "x-codegen-request-body-name": "update rate limit configuration",
        "responses": {
          "201": {
            "description": "The updated rate limit configuration data is returned as a JSON object.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "example": {
                    "signUpLimitPerMinute": 50,
                    "signInLimitPerMinute": 60
                  }
                }
              }
            }
          },
          "400": {
            "description": "The tenant ID or request body is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "The user is unauthorized. To be authorized, a user needs an IAM token with the valid permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "The user has insufficient permissions. Contact the service owner or admin to verify user permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X 'PUT'\\'https://{region}.appid.cloud.ibm.com/management/v4/{tenant_ID}/config/cloud_directory/rate_limit'\\\n  -H 'accept: application/json' \\\n  -H 'Authorization: Bearer {IAM_token}' \\\n  -H 'Content-Type: application/json' \\\n  -d '{\n  \"signUpLimitPerMinute\": 50,\n  \"signInLimitPerMinute\": 60\n}'"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/management/v4/{tenantId}/cloud_directory/Users": {
      "get": {
        "security": [
          {
            "IAM_Token": []
          }
        ],
        "operationId": "getCloudDirectoryUsers",
        "tags": [
          "Cloud Directory Users"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/tenantId"
          },
          {
            "$ref": "#/components/parameters/start-index"
          },
          {
            "$ref": "#/components/parameters/count"
          },
          {
            "$ref": "#/components/parameters/query"
          }
        ],
        "responses": {
          "200": {
            "description": "The Cloud Directory users data is returned as a JSON object. Find more information about full user data [here](https://tools.ietf.org/html/rfc7643#section-8.2){: external}.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/getAllUsers"
                }
              }
            }
          },
          "400": {
            "description": "The tenant ID is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "The user is unauthorized. To be authorized, a user needs an IAM token with valid permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "The user has insufficient permissions. Contact the service owner or admin to verify permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        },
        "description": "Get the list of Cloud Directory users. [Learn more](/docs/appid?topic=appid-cloud-directory).",
        "summary": "Get Cloud Directory users",
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X 'GET'\\'https://{region}.appid.cloud.ibm.com/management/v4/{tenant_ID}/cloud_directory/Users'\\\n -H 'accept: application/json' \\\n -H 'Authorization: Bearer {IAM_token}'"
                    ]
                  }
                ]
              }
            ]
          }
        }
      },
      "post": {
        "security": [
          {
            "IAM_Token": []
          }
        ],
        "operationId": "createCloudDirectoryUser",
        "tags": [
          "Cloud Directory Users"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/tenantId"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/createNewUser"
        },
        "x-codegen-request-body-name": "Cloud Directory user data",
        "responses": {
          "201": {
            "description": "The new Cloud Directory user data is returned as a JSON object. Full user data can be found [here](https://tools.ietf.org/html/rfc7643#section-8.2){: external}.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/getUser"
                }
              }
            }
          },
          "400": {
            "description": "The tenant ID or request body is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "The user is unauthorized. To be authorized, a user needs an IAM token with the valid permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "The user has insufficient permissions. Contact the service owner or admin to verify user permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "409": {
            "description": "The email exists in the directory. You can try searching for the user or registering a different email.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        },
        "summary": "Create a Cloud Directory user",
        "description": "Create a record for Cloud Directory (no verification email is sent, and no profile is created).\nTo create a new Cloud Directory user, use the [Sign up API](/apidocs/app-id/management#startsignup). [Learn more](/docs/appid?topic=appid-cloud-directory).",
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X 'POST'\\'https://{region}.appid.cloud.ibm.com/management/v4/{tenant_ID}/cloud_directory/Users'\\\n -H 'accept: application/json' \\\n -H 'Authorization: Bearer {IAM_token}' \\\n -H 'Content-Type: application/json' \\\n -d '{\n  \"active\":true,\n   \"emails\":\n [\n  {\n  \"value\":\"jdoe@example.com\",\n  \"primary\":true,\n   }\n  ]\n   \"userName\":\"jdoe\",\n   \"password\":\"password123\",\n    }\n  '"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/management/v4/{tenantId}/cloud_directory/Users/{userId}": {
      "get": {
        "security": [
          {
            "IAM_Token": []
          }
        ],
        "operationId": "getCloudDirectoryUser",
        "tags": [
          "Cloud Directory Users"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/tenantId"
          },
          {
            "$ref": "#/components/parameters/userId"
          }
        ],
        "responses": {
          "200": {
            "description": "The updated Cloud Directory user data is returned as a JSON object. Full user data can be found [here](https://tools.ietf.org/html/rfc7643#section-8.2){: external}.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/getUser"
                }
              }
            }
          },
          "400": {
            "description": "The tenant ID or user ID is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "The user is unauthorized. To be authorized, a user needs an IAM token with the valid permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "The user has insufficient permissions. Contact the service owner or admin to verify permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "description": "The Cloud Directory user was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        },
        "summary": "Get a Cloud Directory user",
        "description": "Get the requested Cloud Directory user object. [Learn more](/docs/appid?topic=appid-cloud-directory).",
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X 'GET'\\'https://{region}.appid.cloud.ibm.com/management/v4/{tenant_ID}/cloud_directory/Users/{userId}'\\\n -H 'accept: application/json' \\\n -H 'Authorization: Bearer {IAM_token}'"
                    ]
                  }
                ]
              }
            ]
          }
        }
      },
      "put": {
        "security": [
          {
            "IAM_Token": []
          }
        ],
        "operationId": "updateCloudDirectoryUser",
        "tags": [
          "Cloud Directory Users"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/tenantId"
          },
          {
            "$ref": "#/components/parameters/userId"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/updateUser"
              }
            },
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/updateUser"
              }
            },
            "multipart/form-data": {
              "schema": {
                "$ref": "#/components/schemas/updateUser"
              }
            }
          },
          "description": "The Cloud Directory user data.",
          "required": true
        },
        "x-codegen-request-body-name": "Cloud Directory user data",
        "responses": {
          "200": {
            "description": "The updated Cloud Directory user data is returned as a JSON object. Full user data can be found [here](https://tools.ietf.org/html/rfc7643#section-8.2){: external}.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/getUser"
                }
              }
            }
          },
          "400": {
            "description": "The tenant ID or request body is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "The user is unauthorized. To be authorized, a user needs an IAM token with the valid permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "The user has insufficient permissions. Contact the service owner or admin to verify user permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "description": "The Cloud Directory user was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "409": {
            "description": "The email exists in the directory. You can try searching for the user or registering a different email.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        },
        "summary": "Update a Cloud Directory user",
        "description": "Update an existing Cloud Directory user. [Learn more](/docs/appid?topic=appid-cd-users).",
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X 'PUT'\\'https://{region}.appid.cloud.ibm.com/management/v4/{tenant_ID}/cloud_directory/Users/{userId}'\\\n -H 'accept: application/json' \\\n -H 'Authorization: Bearer {IAM_token}' \\\n -H 'Content-Type: application/json' \\\n -d '{\n  \"active\":false,\n  \"lockedUntil\":1834879417592,\n  \"emails\":\n [\n  {\n    \"value\":\"jdoe@example.com\",\n  \"primary\":true,\n   }\n  ]\n   \"userName\":\"jdoe\",\n   \"password\":\"password123\",\n    }\n  '"
                    ]
                  }
                ]
              }
            ]
          }
        }
      },
      "delete": {
        "security": [
          {
            "IAM_Token": []
          }
        ],
        "operationId": "deleteCloudDirectoryUser",
        "tags": [
          "Cloud Directory Users"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/tenantId"
          },
          {
            "$ref": "#/components/parameters/userId"
          }
        ],
        "responses": {
          "204": {
            "description": "The user was deleted from the Cloud Directory."
          },
          "400": {
            "description": "The tenant ID is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "The user is unauthorized. To be authorized, a user needs an IAM token with the valid permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "The user has insufficient permissions. Contact the service owner or admin to verify permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "description": "The Cloud Directory user was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        },
        "summary": "Delete a Cloud Directory user",
        "description": "Delete an existing Cloud Directory record (without removing the associated profile). [Learn more](/docs/appid?topic=appid-cd-users).\nTo remove a Cloud Directory user, use the [Delete Cloud Directory user and profile](/apidocs/app-id/management#cloud-directory-remove) API.\n**Note: This action cannot be undone.**",
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X 'DELETE'\\'https://{region}.appid.cloud.ibm.com/management/v4/{tenant_ID}/cloud_directory/Users/{userId}'\\\n -H 'accept: application/json' \\\n -H 'Authorization: Bearer {IAM_token}'"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/management/v4/{tenantId}/cloud_directory/Users/{userId}/sso/logout": {
      "post": {
        "security": [
          {
            "IAM_Token": []
          }
        ],
        "operationId": "ssoLogoutFromAllApps",
        "tags": [
          "Cloud Directory Users"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/tenantId"
          },
          {
            "$ref": "#/components/parameters/userId"
          }
        ],
        "responses": {
          "204": {
            "description": "No content. All SSO sessions of the user were invalidated."
          },
          "400": {
            "description": "The tenant ID is invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "The user is unauthorized. To be authorized, a user needs an IAM token with the valid permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "The user has insufficient permissions. Contact the service owner or admin to verify user permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "description": "The Cloud Directory user was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        },
        "summary": "Invalidate all SSO sessions",
        "description": "Invalidate all the user's SSO sessions. [Learn more](/docs/appid?topic=appid-cd-sso#ending-all-sessions-for-a-user).",
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X 'POST'\\'https://{region}.appid.cloud.ibm.com/management/v4/{tenant_ID}/cloud_directory/Users/{userId}/sso/logout'\\\n -H 'accept: application/json' \\\n -H 'Authorization: Bearer {IAM_token} \\\n -d ''"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/management/v4/{tenantId}/cloud_directory/export": {
      "get": {
        "security": [
          {
            "IAM_Token": []
          }
        ],
        "operationId": "cloudDirectoryExport",
        "tags": [
          "Cloud Directory Users"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/encryption_secret"
          },
          {
            "$ref": "#/components/parameters/tenantId"
          },
          {
            "$ref": "#/components/parameters/start-index"
          },
          {
            "$ref": "#/components/parameters/countExport"
          }
        ],
        "responses": {
          "200": {
            "description": "A list of the users in your Cloud Directory and their profiles is returned as a JSON object. You can see up to 50 users per request.'",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/exportUser"
                }
              }
            }
          },
          "400": {
            "description": "The tenant ID or user ID is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "The user is unauthorized. To be authorized, a user needs an IAM token with the valid permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "The user has insufficient permissions. Contact the service owner or admin to verify permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "description": "The Cloud Directory user was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        },
        "summary": "Export Cloud Directory users",
        "description": "Export Cloud Directory users with their profile attributes and hashed passwords.\n\nNote: This endpoint is reserved for smaller exports of approximately less than 16,000 users. To export all of your Cloud Directory users who are associated with a specific tenant ID, use the [export all users](/apidocs/app-id/management#clouddirectoryexportall) API endpoint. [Learn more](/docs/appid?topic=appid-cd-users).",
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X 'GET'\\'https://{region}.appid.cloud.ibm.com/management/v4/{tenant_ID}/cloud_directory/export?encryption_secret=encryption123\\\n -H 'accept: application/json' \\\n -H 'Authorization: Bearer {IAM_token}'"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/management/v4/{tenantId}/cloud_directory/import": {
      "post": {
        "security": [
          {
            "IAM_Token": []
          }
        ],
        "operationId": "cloudDirectoryImport",
        "tags": [
          "Cloud Directory Users"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/encryption_secret"
          },
          {
            "$ref": "#/components/parameters/tenantId"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/exportUser"
              }
            },
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/exportUser"
              }
            },
            "multipart/form-data": {
              "schema": {
                "$ref": "#/components/schemas/exportUser"
              }
            }
          },
          "description": "The exported Cloud Directory users as a JSON object (as returned by the [export](#!/Cloud_Directory_Users/cloudDirectoryExport) endpoint).",
          "required": true
        },
        "x-codegen-request-body-name": "body",
        "responses": {
          "200": {
            "description": "Import Cloud Directory users from another instance of App ID. The format for import is the same format in which the users are exported from the initial instance. You can add up to 50 users per request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/importResponse"
                }
              }
            }
          },
          "400": {
            "description": "The tenant ID or user ID is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "The user is unauthorized. To be authorized, a user needs an IAM token with the valid permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "The user has insufficient permissions. Contact the service owner or admin to verify permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "description": "The Cloud Directory user was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        },
        "summary": "Import Cloud Directory users",
        "description": "Import Cloud Directory users list that was exported by using the [export](/apidocs/app-id/management#clouddirectoryimport) endpoint. The format for import is the same format in which the users are exported from the initial instance. You can add up to only 50 users per request. To add all of your users through a single request, use the [import all users](/apidocs/app-id/management#clouddirectoryimportall) API endpoint. [Learn more](/docs/appid?topic=appid-cd-users).",
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X 'POST'\\'https://{region}.appid.cloud.ibm.com/management/v4/{tenant_ID}/cloud_directory/import?encryption_secret=encryption123'\\\n  -H 'accept: application/json' \\\n -H 'Authorization: Bearer {IAM_token}' \\\n  -H 'Content-Type: application/json' \\\n  -d '{\n  \"itemsPerPage\": 2,\n  \"totalResults\": 2,\n  \"users\": [\n    {\n      \"scimUser\": {\n        \"originalId\": \"e403878c-3ab5bb57b05387d8\",\n        \"name\": {\n          \"givenName\": \"Jane\",\n          \"familyName\": \"Doe\",\n          \"formatted\": \"Jane Doe\"\n        },\n        \"displayName\": \"Jane Doe\",\n        \"active\": true,\n        \"emails\": [\n          {\n            \"value\": \"user09857654@mail.com\",\n            \"primary\": true\n          }\n        ]\n      },\n      \"passwordHash\": \"xveImwVxuO7jxRQlRveKg\",\n      \"passwordHashAlg\": \"PBKDF2WithHmacSHA512\",\n      \"profile\": {\n        \"attributes\": {\n          \"points\": 100\n        }\n      },\n      \"roles\": []\n    },\n    {\n      \"scimUser\": {\n        \"originalId\": \"66ad35223e3aad66b650\",\n        \"userName\": \"myUserName\",\n        \"name\": {\n          \"givenName\": \"John\",\n          \"familyName\": \"Doe\",\n          \"formatted\": \"John Doe\"\n        },\n        \"displayName\": \"John Doe\",\n        \"active\": true,\n        \"emails\": [\n          {\n            \"value\": \"user0987654@mail.com\",\n            \"primary\": true\n          }\n        ]\n      },\n      \"passwordHash\": \"YKmBYObTprREAKqjl8F\",\n      \"passwordHashAlg\": \"PBKDF2WithHmacSHA512\",\n      \"profile\": {\n        \"attributes\": {\n          \"points\": 150\n        }\n      },\n      \"roles\": [\n        \"adult\",\n        \"child\"\n      ]\n    }\n  ]\n}'"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/management/v4/{tenantId}/cloud_directory/{userId}/userinfo": {
      "get": {
        "security": [
          {
            "IAM_Token": []
          }
        ],
        "operationId": "cloud_directory_get_userinfo",
        "summary": "Get Cloud Directory SCIM and Attributes",
        "description": "Get the Cloud Directory user System for Cross-domain Identity Management (SCIM) and the profile related to it. [Learn more](/docs/appid?topic=appid-cd-users).",
        "tags": [
          "Cloud Directory Users"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/tenantId"
          },
          {
            "$ref": "#/components/parameters/userId"
          }
        ],
        "responses": {
          "200": {
            "description": "The user's data is returned as a JSON object.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/getUserAndProfile"
                }
              }
            }
          },
          "400": {
            "description": "Invalid tenant ID/user ID.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "The user is unauthorized. To be authorized, a user needs an IAM token with the valid permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "The user has insufficient permissions. Contact the service owner or admin to verify permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "description": "The user is not found."
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X 'GET' \\'https://{region}.appid.cloud.ibm.com/management/v4/{tenant_ID}/cloud_directory/{userId}/userinfo\\\n -H 'accept: application/json' \\\n -H 'Authorization: Bearer {IAM_token}'"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/management/v4/{tenantId}/cloud_directory/Users/{userId}/mfa/totp": {
      "delete": {
        "x-dev": true,
        "security": [
          {
            "IAM_Token": []
          }
        ],
        "operationId": "If a user has configured a time-based one-time password (TOTP), sending a request to the TOTP endpoint resets the password settings.",
        "summary": "Delete a TOTP registration",
        "description": "Delete a user's time-based one-time passcode (TOTP) registration. If a user never used TOTP, this operation has no effect.",
        "tags": [
          "Cloud Directory Users"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/tenantId"
          },
          {
            "$ref": "#/components/parameters/userId"
          }
        ],
        "responses": {
          "200": {
            "description": "The TOTP registration was deleted successfully."
          },
          "400": {
            "description": "The tenant ID or user ID is missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "The request is unauthorized by the platform. To be authorized, an IAM token with the valid permissions must be provided in the authorization header of your request.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "You are not authorized to complete this operation. Contact the service owner or admin to verify your permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "description": "The user was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "500": {
            "description": "Returned because of an internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X 'DELETE' \\'https://{region}.appid.cloud.ibm.com/management/v4/{tenant_ID}/cloud_directory/Users/{userId}/mfa/totp\\\n -H 'accept: application/json' \\\n -H 'Authorization: Bearer {IAM_token}'"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/swagger": {
      "x-swagger-pipe": "swagger_raw"
    }
  },
  "x-ibm-configuration": {
    "categories": [
      "Security"
    ]
  },
  "servers": [
    {
      "url": "/"
    }
  ],
  "components": {
    "parameters": {
      "encryption_secret": {
        "name": "encryption_secret",
        "in": "query",
        "description": "The encryption secret is a custom string that is used to encrypt and decrypt the exported data.  Retain the encryption secret as you need it to use the <a href=\"/swagger-ui/#/Management API - Cloud Directory Users/mgmt.cloudDirectoryImportAll\" target=\"_blank\">import all users</a> API. Note: IBM does not store the secret so if the secret is lost, you can't access the exported data.",
        "required": true,
        "schema": {
          "type": "string"
        }
      },
      "tenantId": {
        "name": "tenantId",
        "in": "path",
        "description": "The service tenant ID. The tenant ID can be found in the service credentials. You can create a service credential if one does not exist.",
        "required": true,
        "schema": {
          "type": "string"
        }
      },
      "exportJobId": {
        "name": "id",
        "in": "query",
        "description": "The export job ID that is returned from the <a href=\"/swagger-ui/#/Management API - Cloud Directory Users/mgmt.cloudDirectoryExportAll\" target=\"_blank\">export all users</a> API.",
        "required": true,
        "schema": {
          "type": "string",
          "minLength": 36,
          "maxLength": 36
        }
      },
      "importJobId": {
        "name": "id",
        "in": "query",
        "description": "The import job ID that is returned from the <a href=\"/swagger-ui/#/Management API - Cloud Directory Users/mgmt.cloudDirectoryImportAll\" target=\"_blank\">import all users</a> API.",
        "required": true,
        "schema": {
          "type": "string",
          "minLength": 36,
          "maxLength": 36
        }
      },
      "clientId": {
        "name": "clientId",
        "in": "path",
        "description": "The application client ID. The client ID can be found in the application credentials or service credentials. You might need to create a service credential if one does not exist.",
        "required": true,
        "schema": {
          "type": "string"
        }
      },
      "shouldCreateProfile": {
        "name": "shouldCreateProfile",
        "in": "query",
        "description": "A boolean indication if a profile must be created for the Cloud Directory user.",
        "required": true,
        "schema": {
          "type": "boolean"
        }
      },
      "channelType": {
        "name": "channel",
        "in": "path",
        "description": "The MFA channel.",
        "required": true,
        "schema": {
          "type": "string",
          "enum": [
            "email",
            "nexmo"
          ]
        }
      },
      "extensionName": {
        "name": "name",
        "in": "path",
        "description": "The name of the extension.",
        "required": true,
        "schema": {
          "type": "string",
          "enum": [
            "premfa",
            "postmfa"
          ]
        }
      },
      "policyType": {
        "name": "policyType",
        "in": "path",
        "description": "The MFA policy Type.",
        "required": true,
        "schema": {
          "type": "string",
          "enum": [
            "on_sign_up",
            "on_every_sign_in",
            "on_change_details",
            "on_new_device",
            "periodically"
          ]
        }
      },
      "profileId": {
        "name": "profileId",
        "in": "path",
        "description": "The profile's identifier ('subject' in identity token). \nYou can find the profileID by navigating to **App ID > Profiles and roles > User Profiles** in the UI.",
        "required": true,
        "schema": {
          "type": "string"
        }
      },
      "userProfileId": {
        "name": "id",
        "in": "path",
        "description": "The user's identifier ('subject' in identity token). You can find the userProfileId by navigating to **App ID > Cloud Directory > Users** in the UI and clicking the user's email.",
        "required": true,
        "schema": {
          "type": "string"
        }
      },
      "roleId": {
        "name": "roleId",
        "in": "path",
        "description": "The role identifier. You can find the roleId by navigating to **App ID > Profiles and roles > Roles** in the UI.",
        "required": true,
        "schema": {
          "type": "string"
        }
      },
      "start-index": {
        "name": "startIndex",
        "in": "query",
        "description": "The first result in a set list of results.",
        "required": false,
        "schema": {
          "type": "integer"
        }
      },
      "countExport": {
        "name": "count",
        "in": "query",
        "description": "The maximum number of results per page. Limit to 50 users per request.",
        "required": false,
        "schema": {
          "type": "integer",
          "minimum": 0
        }
      },
      "dataScope": {
        "name": "dataScope",
        "in": "query",
        "description": "The user data.",
        "required": true,
        "schema": {
          "type": "string",
          "enum": [
            "index",
            "full"
          ]
        }
      },
      "count": {
        "name": "count",
        "in": "query",
        "description": "The maximum number of results per page.",
        "required": false,
        "schema": {
          "type": "integer",
          "minimum": 0,
          "maximum": 100
        }
      },
      "query": {
        "name": "query",
        "in": "query",
        "description": "The users by identity field.",
        "required": false,
        "schema": {
          "type": "string"
        }
      },
      "userId": {
        "name": "userId",
        "in": "path",
        "description": "The ID assigned to a user when they sign in by using Cloud Directory.\nYou can find the userId by navigating to **App ID > Cloud Directory > Users** in the UI and clicking the user's email.",
        "required": true,
        "schema": {
          "type": "string"
        }
      },
      "templateName": {
        "name": "templateName",
        "in": "path",
        "description": "The type of email template. The type can be \"USER_VERIFICATION\", \"WELCOME\", \"PASSWORD_CHANGED\" or \"RESET_PASSWORD\".",
        "required": true,
        "schema": {
          "type": "string",
          "enum": [
            "USER_VERIFICATION",
            "RESET_PASSWORD",
            "WELCOME",
            "PASSWORD_CHANGED"
          ]
        }
      },
      "media-type": {
        "name": "mediaType",
        "in": "query",
        "description": "The type of media. You can upload JPG or PNG files.",
        "required": true,
        "schema": {
          "type": "string",
          "enum": [
            "logo"
          ]
        }
      },
      "action": {
        "name": "action",
        "in": "path",
        "description": "The type of the action. on_user_verified - the URL of your custom user verified page, on_reset_password - the URL of your custom reset password page.",
        "required": true,
        "schema": {
          "type": "string",
          "enum": [
            "on_user_verified",
            "on_reset_password"
          ]
        }
      },
      "language": {
        "name": "language",
        "in": "path",
        "description": "Preferred language for resource. Format as described at RFC5646. According to the configured languages codes returned from the `GET /management/v4/{tenantId}/config/ui/languages` API.",
        "required": true,
        "schema": {
          "type": "string"
        }
      },
      "languageQuery": {
        "name": "language",
        "in": "query",
        "description": "Preferred language for resource. Format as described at RFC5646.",
        "required": false,
        "schema": {
          "type": "string",
          "default": "en"
        }
      },
      "identityId": {
        "name": "id",
        "in": "query",
        "description": "The IdP specific user identifier.",
        "required": false,
        "schema": {
          "type": "string"
        }
      },
      "profileEmail": {
        "name": "email",
        "in": "query",
        "description": "Email (as retrieved from the Identity Provider).",
        "required": false,
        "schema": {
          "type": "string"
        }
      },
      "emailAddress": {
        "name": "emailAddress",
        "in": "query",
        "description": "The email address to which the notification is sent.",
        "required": true,
        "schema": {
          "type": "string"
        }
      },
      "templateNameWithMFAVerification": {
        "name": "templateName",
        "in": "path",
        "description": "The type of email template. The type can be \"USER_VERIFICATION\", \"WELCOME\", \"PASSWORD_CHANGED\", \"RESET_PASSWORD\" or \"MFA_VERIFICATION\".",
        "required": true,
        "schema": {
          "type": "string",
          "enum": [
            "USER_VERIFICATION",
            "RESET_PASSWORD",
            "WELCOME",
            "PASSWORD_CHANGED",
            "MFA_VERIFICATION"
          ]
        }
      },
      "scopeName": {
        "name": "scopeName",
        "in": "path",
        "description": "The name of the scope.",
        "required": true,
        "schema": {
          "type": "string"
        }
      }
    },
    "requestBodies": {
      "userVerificationResult": {
        "content": {
          "application/x-www-form-urlencoded": {
            "schema": {
              "type": "object",
              "properties": {
                "context": {
                  "description": "The context that is used to get the verification or forgot password confirmation result.",
                  "type": "string"
                }
              },
              "required": [
                "context"
              ]
            }
          }
        },
        "required": true
      },
      "facebookGoogleConfigParams": {
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/facebookGoogleConfigParams"
            }
          },
          "application/x-www-form-urlencoded": {
            "schema": {
              "$ref": "#/components/schemas/facebookGoogleConfigParams"
            }
          },
          "multipart/form-data": {
            "schema": {
              "$ref": "#/components/schemas/facebookGoogleConfigParams"
            }
          }
        },
        "description": "The identity provider configuration as a JSON object. If the configuration is not set, IBM default credentials are used.",
        "required": true
      },
      "createNewUser": {
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/createNewUser"
            }
          },
          "application/x-www-form-urlencoded": {
            "schema": {
              "$ref": "#/components/schemas/createNewUser"
            }
          },
          "multipart/form-data": {
            "schema": {
              "$ref": "#/components/schemas/createNewUser"
            }
          }
        },
        "description": "The stored Cloud Directory user data.",
        "required": true
      },
      "updateUserRolesBody": {
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "required": [
                "roles"
              ],
              "properties": {
                "roles": {
                  "type": "object",
                  "description": "The user's roles.",
                  "properties": {
                    "ids": {
                      "type": "array",
                      "description": "The role IDs.",
                      "maxItems": 50,
                      "items": {
                        "type": "string",
                        "example": "111c22c3-38ea-4de8-b5d4-338744d83b0f"
                      }
                    }
                  }
                }
              }
            }
          },
          "application/x-www-form-urlencoded": {
            "schema": {
              "type": "object",
              "required": [
                "roles"
              ],
              "properties": {
                "roles": {
                  "type": "object",
                  "description": "The user's roles.",
                  "properties": {
                    "ids": {
                      "type": "array",
                      "description": "The role IDs.",
                      "maxItems": 50,
                      "items": {
                        "type": "string",
                        "example": "111c22c3-38ea-4de8-b5d4-338744d83b0f"
                      }
                    }
                  }
                }
              }
            }
          },
          "multipart/form-data": {
            "schema": {
              "type": "object",
              "required": [
                "roles"
              ],
              "properties": {
                "roles": {
                  "type": "object",
                  "description": "The user's roles.",
                  "properties": {
                    "ids": {
                      "type": "array",
                      "description": "The role IDs.",
                      "maxItems": 50,
                      "items": {
                        "type": "string",
                        "example": "111c22c3-38ea-4de8-b5d4-338744d83b0f"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "description": "A JSON array of roles. The Array can have either names or IDs but not both.",
        "required": true
      }
    },
    "securitySchemes": {
      "IAM_Token": {
        "type": "apiKey",
        "name": "Authorization",
        "in": "header",
        "description": "You must have a Cloud IAM access token to access the Management APIs. The token must be provided in the following format \"Bearer [token]\", for example \"Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJkdW1teSJ9.J2qaJ4pTWnidXQ3XbMmpAllL2ZiCCNkSoh0k1d7_ct1\"."
      }
    },
    "schemas": {
      "emails": {
        "type": "array",
        "description": "The email details.",
        "items": {
          "type": "object",
          "required": [
            "value"
          ],
          "properties": {
            "value": {
              "type": "string",
              "description": "The email.",
              "example": "user@mail.com"
            },
            "primary": {
              "type": "boolean",
              "description": "The email is the user's primary email.",
              "example": true
            }
          }
        }
      },
      "userName": {
        "type": "string",
        "description": "The user's username.",
        "example": "myUserName",
        "maxLength": 200
      },
      "customIdPConfigParams": {
        "type": "object",
        "required": [
          "isActive"
        ],
        "properties": {
          "isActive": {
            "type": "boolean",
            "description": "The status of the configuration."
          },
          "config": {
            "type": "object",
            "description": "The details of the configuration.",
            "properties": {
              "publicKey": {
                "type": "string",
                "description": "The public key."
              }
            }
          }
        },
        "example": {
          "isActive": true,
          "config": {
            "publicKey": "-----BEGIN RSA PUBLIC KEY-----u0mGFYvwLArEZNrK5SBwd...vPeBHF3Kq2xDfvhTBsl79j-----END RSA PUBLIC KEY-----"
          }
        }
      },
      "facebookConfigParams": {
        "type": "object",
        "required": [
          "isActive"
        ],
        "properties": {
          "isActive": {
            "type": "boolean",
            "description": "The status of the configuration."
          },
          "config": {
            "type": "object",
            "description": "The details of the configuration.",
            "required": [
              "idpId",
              "secret"
            ],
            "properties": {
              "idpId": {
                "type": "string",
                "description": "The application ID. By default, Facebook is enabled as an identity provider by using IBM credentials. You can add your own credentials by creating an account on the [Facebook Developers site](https://developers.facebook.com/){ :external} and obtaining a client ID and secret."
              },
              "secret": {
                "type": "string",
                "description": "The application secret. By default, Facebook is enabled as an identity provider by using IBM credentials. You can add your own credentials by creating an account on the [Facebook Developers site](https://developers.facebook.com/){ :external} and obtaining a client ID and secret."
              }
            }
          }
        },
        "example": {
          "isActive": true,
          "config": {
            "idpId": "facebook_appID",
            "secret": "facebook_appsecret"
          },
          "redirectURL": "https://us-south.appid.cloud.ibm.com/oauth/v4/39a37f57-a227-4bfe-a044-93b6e6060b61/Facebook/callback"
        }
      },
      "facebookConfigParamsPUT": {
        "type": "object",
        "required": [
          "isActive"
        ],
        "properties": {
          "isActive": {
            "type": "boolean",
            "description": "The status of the configuration."
          },
          "config": {
            "type": "object",
            "description": "The details of the configuration.",
            "required": [
              "idpId",
              "secret"
            ],
            "properties": {
              "idpId": {
                "type": "string",
                "description": "The application ID. By default, Facebook is enabled as an identity provider by using IBM credentials. You can add your own credentials by creating an account on the [Facebook Developers site](https://developers.facebook.com/){ :external} and obtaining a client ID and secret."
              },
              "secret": {
                "type": "string",
                "description": "The application secret. By default, Facebook is enabled as an identity provider by using IBM credentials. You can add your own credentials by creating an account on the [Facebook Developers site](https://developers.facebook.com/){ :external} and obtaining a client ID and secret."
              }
            }
          }
        },
        "example": {
          "isActive": true,
          "config": {
            "idpId": "facebook_appID",
            "secret": "facebook_appsecret"
          }
        }
      },
      "googleConfigParams": {
        "type": "object",
        "required": [
          "isActive"
        ],
        "properties": {
          "isActive": {
            "type": "boolean",
            "description": "The status of the configuration."
          },
          "config": {
            "type": "object",
            "description": "The details of the configuration.",
            "required": [
              "idpId",
              "secret"
            ],
            "properties": {
              "idpId": {
                "type": "string",
                "description": "The client ID. By default, Google is enabled as an identity provider by using IBM credentials. You can add your own credentials by creating an account on the [Google Developer Console](https://console.cloud.google.com/){ :external} and obtaining a client ID and secret."
              },
              "secret": {
                "type": "string",
                "description": "The client secret. By default, Google is enabled as an identity provider by using IBM credentials. You can add your own credentials by creating an account on the [Google Developer Console](https://console.cloud.google.com/){ :external} and obtaining a client ID and secret."
              }
            }
          }
        },
        "example": {
          "isActive": true,
          "config": {
            "idpId": "google_appID",
            "secret": "google_appsecret"
          },
          "redirectURL": "https://us-south.appid.cloud.ibm.com/oauth/v4/3ghfjh7-a227-4bfe-a044-93bihjgjgh1/Google/callback"
        }
      },
      "googleConfigParamsPUT": {
        "type": "object",
        "required": [
          "isActive"
        ],
        "properties": {
          "isActive": {
            "type": "boolean",
            "description": "The status of the configuration."
          },
          "config": {
            "type": "object",
            "description": "The details of the configuration.",
            "required": [
              "idpId",
              "secret"
            ],
            "properties": {
              "idpId": {
                "type": "string",
                "description": "The client ID. By default, Google is enabled as an identity provider by using IBM credentials. You can add your own credentials by creating an account on the [Google Developer Console](https://console.cloud.google.com/){ :external} and obtaining a client ID and secret."
              },
              "secret": {
                "type": "string",
                "description": "The client secret. By default, Google is enabled as an identity provider by using IBM credentials. You can add your own credentials by creating an account on the [Google Developer Console](https://console.cloud.google.com/){ :external} and obtaining a client ID and secret."
              }
            }
          }
        },
        "example": {
          "isActive": true,
          "config": {
            "idpId": "google_appID",
            "secret": "google_appsecret"
          }
        }
      },
      "redirectUriResponse": {
        "type": "object",
        "properties": {
          "redirectUris": {
            "type": "array",
            "description": "The redirect URLs.",
            "items": {
              "type": "string"
            }
          }
        },
        "example": {
          "redirectUris": [
            "https://example.com/oauth-callback"
          ]
        }
      },
      "facebookGoogleConfigParams": {
        "type": "object",
        "required": [
          "isActive"
        ],
        "properties": {
          "isActive": {
            "type": "boolean",
            "example": true,
            "description": "The status of the configuration."
          },
          "config": {
            "type": "object",
            "description": "The details of the configuration.",
            "required": [
              "idpId",
              "secret"
            ],
            "properties": {
              "idpId": {
                "type": "string",
                "example": "appID",
                "description": "The application ID.    "
              },
              "secret": {
                "type": "string",
                "example": "appsecret",
                "description": "The application secret. "
              }
            },
            "additionalProperties": false
          }
        }
      },
      "ibmidConfigParams": {
        "type": "object",
        "required": [
          "isActive"
        ],
        "properties": {
          "isActive": {
            "type": "boolean",
            "example": true,
            "description": "The status of the configuration."
          },
          "config": {
            "type": "object",
            "description": "The details of the configuration.",
            "required": [
              "idpId",
              "secret",
              "preProd"
            ],
            "properties": {
              "idpId": {
                "type": "string",
                "example": "appID",
                "description": "The IBMid client ID. You can find the IBMid client ID, secret, and phase can be found on the IBMid application registration page. For more details, see our [documentation](/docs/appid?topic=appid-ibmid)."
              },
              "secret": {
                "type": "string",
                "example": "appsecret",
                "description": "The IBMid client secret. You can find the IBMid client ID, secret, and phase can be found on the IBMid application registration page. For more details, see our [documentation](/docs/appid?topic=appid-ibmid)."
              },
              "preProd": {
                "type": "boolean",
                "example": true,
                "description": "The IBMid pre-production phase. You can find the IBMid client ID, secret and phase can be found on the IBMid application registration page. For more details, see our [documentation](/docs/appid?topic=appid-ibmid)."
              },
              "ciBased": {
                "type": "boolean",
                "example": true,
                "description": "The IBMid production phase. You can find the IBMid client ID, secret and phase can be found on the IBMid application registration page. For more details, see our [documentation](/docs/appid?topic=appid-ibmid)."
              }
            },
            "additionalProperties": false
          }
        }
      },
      "ibmidConfigParamsPUT": {
        "type": "object",
        "required": [
          "isActive"
        ],
        "properties": {
          "isActive": {
            "type": "boolean",
            "description": "The status of the configuration.."
          },
          "redirectURL": {
            "type": "string",
            "description": "The redirect URL."
          },
          "config": {
            "type": "object",
            "description": "The details of the configuration.",
            "required": [
              "idpId",
              "secret",
              "preProd"
            ],
            "properties": {
              "idpId": {
                "type": "string",
                "description": "The IBMid client ID. You can find the IBMid client ID, secret, and phase can be found on the IBMid application registration page. For more details, see our [documentation](/docs/appid?topic=appid-ibmid)."
              },
              "secret": {
                "type": "string",
                "description": "The IBMid client secret. You can find the IBMid client ID, secret, and phase can be found on the IBMid application registration page. For more details, see our [documentation](/docs/appid?topic=appid-ibmid)."
              },
              "preProd": {
                "type": "boolean",
                "description": "The IBMid pre-production phase. You can find the IBMid client ID, secret and phase can be found on the IBMid application registration page. For more details, see our [documentation](/docs/appid?topic=appid-ibmid)."
              },
              "ciBased": {
                "type": "boolean",
                "description": "The IBMid production phase. You can find the IBMid client ID, secret and phase can be found on the IBMid application registration page. For more details, see our [documentation](/docs/appid?topic=appid-ibmid)."
              }
            }
          }
        },
        "example": {
          "isActive": true,
          "config": {
            "idpId": "client_id",
            "secret": "client_secret",
            "preProd": false,
            "ciBased": true
          },
          "redirectURL": "https://example.com"
        }
      },
      "tokenConfigParams": {
        "type": "object",
        "required": [
          "expires_in"
        ],
        "properties": {
          "expires_in": {
            "type": "number"
          }
        }
      },
      "tokenClaimMapping": {
        "type": "object",
        "required": [
          "source"
        ],
        "properties": {
          "source": {
            "type": "string",
            "description": "The source of the claim of the token.",
            "enum": [
              "saml",
              "cloud_directory",
              "appid_custom",
              "facebook",
              "google",
              "ibmid",
              "attributes",
              "roles"
            ]
          },
          "sourceClaim": {
            "type": "string",
            "description": "The source claim."
          },
          "destinationClaim": {
            "type": "string",
            "description": "The destination claim.",
            "maxLength": 300
          }
        },
        "additionalProperties": false
      },
      "refreshTokenConfigParams": {
        "type": "object",
        "required": [
          "expires_in",
          "enabled"
        ],
        "properties": {
          "expires_in": {
            "type": "number"
          },
          "enabled": {
            "type": "boolean"
          }
        }
      },
      "cloudDirectoryConfigParams": {
        "type": "object",
        "required": [
          "selfServiceEnabled",
          "interactions"
        ],
        "properties": {
          "selfServiceEnabled": {
            "type": "boolean",
            "description": "You allow your users to manage their account from your application.",
            "example": true
          },
          "signupEnabled": {
            "type": "boolean",
            "description": "You allow your users to sgn-up to your application.",
            "example": true
          },
          "interactions": {
            "type": "object",
            "description": "The interactions that you allow your users to have with your application.",
            "required": [
              "identityConfirmation",
              "welcomeEnabled",
              "resetPasswordEnabled",
              "resetPasswordNotificationEnable"
            ],
            "properties": {
              "identityConfirmation": {
                "type": "object",
                "description": "You ask your users to verify their identity (i.e, email address).",
                "required": [
                  "accessMode"
                ],
                "properties": {
                  "accessMode": {
                    "type": "string",
                    "description": "The type of access that you allow your users to have.",
                    "enum": [
                      "FULL",
                      "RESTRICTIVE",
                      "OFF"
                    ]
                  },
                  "methods": {
                    "type": "array",
                    "description": "The method through which your users can verify their identity.",
                    "items": {
                      "type": "string",
                      "enum": [
                        "email"
                      ]
                    }
                  }
                },
                "additionalProperties": false
              },
              "welcomeEnabled": {
                "type": "boolean",
                "description": "The welcome email that is used to welcome users to your application after they've signed up is enabled.",
                "example": false
              },
              "resetPasswordEnabled": {
                "type": "boolean",
                "description": "The forgot password email is enabled. You can use it to allow a user to request a reset of their password. A user must have validated their email prior to resetting their password.",
                "example": false
              },
              "resetPasswordNotificationEnable": {
                "type": "boolean",
                "description": "The password changed email is enabled. You can use it to notify the user about changes to their password.",
                "example": true
              }
            },
            "additionalProperties": false
          },
          "identityField": {
            "type": "string",
            "description": "The identity field.",
            "enum": [
              "email",
              "userName"
            ]
          }
        },
        "additionalProperties": false
      },
      "subjectSearchResponse": {
        "type": "object",
        "properties": {
          "profiles": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "profileId": {
                  "type": "string"
                },
                "idp": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "userSearchResponse": {
        "type": "object",
        "properties": {
          "totalResults": {
            "type": "number",
            "description": "The number of search results."
          },
          "itemsPerPage": {
            "type": "number",
            "description": "The number of items per page."
          },
          "requestOptions": {
            "type": "object",
            "description": "The details of the request options.",
            "properties": {
              "startIndex": {
                "type": "number",
                "description": "The start index."
              },
              "count": {
                "type": "number",
                "description": "The count."
              }
            }
          },
          "users": {
            "type": "array",
            "description": "The user details.",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "description": "The user ID."
                },
                "idp": {
                  "type": "string",
                  "description": "The user's identity provider."
                },
                "email": {
                  "type": "string",
                  "description": "The user's email."
                }
              }
            }
          }
        },
        "example": {
          "totalResults": 7,
          "itemsPerPage": 3,
          "requestOptions": {
            "startIndex": 5,
            "count": 5
          },
          "users": [
            {
              "idp": "cloud_directory",
              "id": "e782661a-efdb-4540-9ed8-d6a3e26713ca",
              "email": "your@mail.com"
            },
            {
              "idp": "facebook",
              "id": "d6f32b32-90d9-4d60-82f2-f503bc244174",
              "email": "your@mail.com"
            },
            {
              "idp": "google",
              "id": "238c75c4-38ea-4de8-b5d4-338744d83b0f",
              "email": "your@mail.com"
            }
          ]
        }
      },
      "getProfileResponse": {
        "type": "object",
        "example": {
          "id": "111c22c3-38ea-4de8-b5d4-338744d83b0f",
          "name": "John Doe",
          "email": "johndoe@gmail.com",
          "picture": "https://lh5.googleusercontent.com/-dddddddQ/AAAAAAAAAAI/AAAAAAAAAAA/jondohw/photo.jpg",
          "gender": "male",
          "identities": [
            {
              "provider": "google",
              "id": "12341234123412341234",
              "idpUserInfo": {
                "id": "12341234123412341234",
                "email": "johndoe@gmail.com",
                "verified_email": true,
                "name": "John Doe",
                "given_name": "John",
                "family_name": "Doe",
                "link": "https://plus.google.com/12341234123412341234",
                "picture": "https://lh5.googleusercontent.com/-dddddddQ/AAAAAAAAAAI/AAAAAAAAAAA/jondohw/photo.jpg",
                "gender": "male",
                "idpType": "google"
              }
            }
          ],
          "attributes": {
            "points": "150"
          }
        }
      },
      "tokensConfigResponse": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "idTokenClaims": {
            "type": "array",
            "description": "The claims of the identity token.",
            "items": {
              "allOf": [
                {
                  "$ref": "#/components/schemas/tokenClaimMapping"
                },
                {
                  "example": {
                    "source": "attributes",
                    "sourceClaim": "theme"
                  }
                }
              ]
            }
          },
          "accessTokenClaims": {
            "type": "array",
            "description": "The claims of the access token.",
            "items": {
              "allOf": [
                {
                  "$ref": "#/components/schemas/tokenClaimMapping"
                },
                {
                  "example": {
                    "source": "saml",
                    "sourceClaim": "user_type",
                    "destinationClaim": "type"
                  }
                }
              ]
            }
          },
          "access": {
            "type": "object",
            "description": "The expiration data of the access token.",
            "items": {
              "$ref": "#/components/schemas/tokenConfigParams"
            },
            "example": {
              "expires_in": 3600
            }
          },
          "refresh": {
            "type": "object",
            "description": "The expiration and activity data of the refresh token.",
            "items": {
              "$ref": "#/components/schemas/refreshTokenConfigParams"
            },
            "example": {
              "expires_in": 2592000,
              "enabled": true
            }
          },
          "anonymousAccess": {
            "type": "object",
            "description": "The expiration and activity data of the anonymous token.",
            "items": {
              "$ref": "#/components/schemas/tokenConfigParams"
            },
            "example": {
              "expires_in": 2592000,
              "enabled": true
            }
          }
        },
        "example": {
          "idTokenClaims": [
            {
              "source": "attributes",
              "sourceClaim": "theme"
            }
          ],
          "accessTokenClaims": [
            {
              "source": "saml",
              "sourceClaim": "user_type",
              "destinationClaim": "type"
            }
          ],
          "access": {
            "expires_in": 3600
          },
          "refresh": {
            "expires_in": 2592000,
            "enabled": true
          },
          "anonymousAccess": {
            "expires_in": 2592000,
            "enabled": true
          }
        }
      },
      "cloudDirectoryResponse": {
        "type": "object",
        "required": [
          "isActive"
        ],
        "properties": {
          "isActive": {
            "type": "boolean",
            "example": true,
            "description": "The status of the configuration."
          },
          "config": {
            "allOf": [
              {
                "$ref": "#/components/schemas/cloudDirectoryConfigParams"
              },
              {
                "description": "The details of the configuration."
              }
            ]
          }
        },
        "example": {
          "isActive": true,
          "config": {
            "selfServiceEnabled": true,
            "signupEnabled": true,
            "interactions": {
              "identityConfirmation": {
                "accessMode": "FULL",
                "methods": [
                  "email"
                ]
              },
              "welcomeEnabled": false,
              "resetPasswordEnabled": false,
              "resetPasswordNotificationEnable": true
            },
            "identityField": "email"
          }
        }
      },
      "passwordRegexConfigParams": {
        "type": "object",
        "properties": {
          "regex": {
            "type": "string",
            "description": "The regular expression that is used by App ID for password strength validation."
          },
          "base64_encoded_regex": {
            "type": "string",
            "description": "The regular expression that is used by App ID for password strength validation encoded in Base64."
          },
          "error_message": {
            "type": "string",
            "description": "The error message.",
            "maxLength": 200
          }
        },
        "additionalProperties": false,
        "example": {
          "base64_encoded_regex": "LipbYS16XS4q",
          "error_message": "The password must contain at least 1 lowercase alphabetical character"
        }
      },
      "passwordRegexConfigParamsGet": {
        "type": "object",
        "properties": {
          "regex": {
            "type": "string",
            "description": "The regular expression that is used by App ID for password strength validation."
          },
          "base64_encoded_regex": {
            "type": "string",
            "description": "The regular expression that is used by App ID for password strength validation encoded in Base64."
          },
          "error_message": {
            "type": "string",
            "description": "The error message.",
            "maxLength": 200
          }
        },
        "additionalProperties": false,
        "example": {
          "base64_encoded_regex": "LipbYS16XS4q",
          "error_message": "The password must contain at least 1 lowercase alphabetical character",
          "regex": ".*[a-z].*"
        }
      },
      "emailDispatcherParams": {
        "type": "object",
        "required": [
          "provider"
        ],
        "properties": {
          "provider": {
            "type": "string",
            "description": "The email provider.",
            "enum": [
              "sendgrid",
              "custom",
              "appid"
            ]
          },
          "sendgrid": {
            "type": "object",
            "description": "The Sendgrid details.",
            "required": [
              "apiKey"
            ],
            "properties": {
              "apiKey": {
                "type": "string",
                "description": "The Sendgrid API key.",
                "maxLength": 100
              }
            }
          },
          "custom": {
            "type": "object",
            "description": "The custom details.",
            "required": [
              "url",
              "authorization"
            ],
            "properties": {
              "url": {
                "type": "string",
                "description": "The URL.",
                "maxLength": 300
              },
              "authorization": {
                "type": "object",
                "description": "The authorization data.",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "description": "The type of authorization.",
                    "enum": [
                      "value",
                      "basic",
                      "none"
                    ]
                  },
                  "value": {
                    "type": "string",
                    "description": "The value."
                  },
                  "username": {
                    "type": "string",
                    "description": "The username."
                  },
                  "password": {
                    "type": "string",
                    "description": "The password."
                  }
                },
                "additionalProperties": false
              }
            },
            "additionalProperties": false
          }
        },
        "additionalProperties": false,
        "example": {
          "provider": "sendgrid",
          "sendgrid": {
            "apiKey": "sendgridApiKey"
          },
          "custom": {
            "url": "https://custom_email_dispatcher.com/send",
            "authorization": {
              "type": "value",
              "value": "verySecureSecret"
            }
          }
        }
      },
      "apmSchema": {
        "required": [
          "advancedPasswordManagement"
        ],
        "type": "object",
        "description": "The configuration of advanced password management.",
        "properties": {
          "advancedPasswordManagement": {
            "type": "object",
            "description": "The configuration details of advanced password management.",
            "required": [
              "enabled",
              "passwordReuse",
              "preventPasswordWithUsername",
              "passwordExpiration",
              "lockOutPolicy"
            ],
            "properties": {
              "enabled": {
                "type": "boolean",
                "description": "The status of the configuration."
              },
              "passwordReuse": {
                "type": "object",
                "description": "The configuration of password reuse.",
                "required": [
                  "enabled"
                ],
                "properties": {
                  "enabled": {
                    "type": "boolean",
                    "description": "The status of the configuration."
                  },
                  "config": {
                    "type": "object",
                    "description": "The limits of password reuse.",
                    "required": [
                      "maxPasswordReuse"
                    ],
                    "properties": {
                      "maxPasswordReuse": {
                        "type": "number",
                        "description": "The maximum times that a password can be reused.",
                        "minimum": 1,
                        "maximum": 8
                      }
                    },
                    "additionalProperties": false
                  }
                },
                "additionalProperties": false
              },
              "preventPasswordWithUsername": {
                "type": "object",
                "description": "The configuration of the prevention of password reuse.",
                "required": [
                  "enabled"
                ],
                "properties": {
                  "enabled": {
                    "type": "boolean",
                    "description": "The status of the configuration."
                  }
                },
                "additionalProperties": false
              },
              "passwordExpiration": {
                "type": "object",
                "description": "The configuration of password expiration.",
                "required": [
                  "enabled"
                ],
                "properties": {
                  "enabled": {
                    "type": "boolean",
                    "description": "The status of the configuration."
                  },
                  "config": {
                    "type": "object",
                    "description": "The limits of password expiration.",
                    "required": [
                      "daysToExpire"
                    ],
                    "properties": {
                      "daysToExpire": {
                        "type": "number",
                        "description": "The expiration limits of passwords.",
                        "minimum": 1,
                        "maximum": 90
                      }
                    },
                    "additionalProperties": false
                  }
                },
                "additionalProperties": false
              },
              "lockOutPolicy": {
                "type": "object",
                "description": "The configuration of the lockout policy.",
                "required": [
                  "enabled"
                ],
                "properties": {
                  "enabled": {
                    "type": "boolean",
                    "description": "The status of the configuration."
                  },
                  "config": {
                    "type": "object",
                    "description": "The details of the configuration.",
                    "required": [
                      "lockOutTimeSec",
                      "numOfAttempts"
                    ],
                    "properties": {
                      "lockOutTimeSec": {
                        "type": "number",
                        "description": "The duration of lockout.",
                        "minimum": 60,
                        "maximum": 86400
                      },
                      "numOfAttempts": {
                        "type": "number",
                        "description": "The number of failed attempts after which users will be locked out of their accounts.",
                        "minimum": 1,
                        "maximum": 10
                      }
                    },
                    "additionalProperties": false
                  }
                },
                "additionalProperties": false
              },
              "minPasswordChangeInterval": {
                "type": "object",
                "description": "The configuration of the minimum interval for password change.",
                "required": [
                  "enabled"
                ],
                "properties": {
                  "enabled": {
                    "type": "boolean",
                    "description": "The status of the configuration."
                  },
                  "config": {
                    "type": "object",
                    "description": "The configuration details.",
                    "required": [
                      "minHoursToChangePassword"
                    ],
                    "properties": {
                      "minHoursToChangePassword": {
                        "type": "number",
                        "description": "The minimum hours after which users must change their password.",
                        "minimum": 0,
                        "maximum": 720
                      }
                    },
                    "additionalProperties": false
                  }
                },
                "additionalProperties": false
              }
            },
            "additionalProperties": false
          }
        },
        "additionalProperties": false,
        "example": {
          "advancedPasswordManagement": {
            "enabled": true,
            "passwordReuse": {
              "enabled": true,
              "config": {
                "maxPasswordReuse": 8
              }
            },
            "preventPasswordWithUsername": {
              "enabled": true
            },
            "passwordExpiration": {
              "enabled": true,
              "config": {
                "daysToExpire": 30
              }
            },
            "lockOutPolicy": {
              "enabled": true,
              "config": {
                "lockOutTimeSec": 1800,
                "numOfAttempts": 3
              }
            },
            "minPasswordChangeInterval": {
              "enabled": true,
              "config": {
                "minHoursToChangePassword": 0
              }
            }
          }
        }
      },
      "emailSettingsTestParams": {
        "type": "object",
        "required": [
          "emailTo",
          "emailSettings",
          "senderDetails"
        ],
        "properties": {
          "emailTo": {
            "type": "string",
            "description": "The email address to which the email will be sent."
          },
          "emailSettings": {
            "type": "object",
            "description": "The email settings.",
            "required": [
              "provider"
            ],
            "properties": {
              "provider": {
                "type": "string",
                "description": "The email provider.",
                "enum": [
                  "sendgrid",
                  "custom"
                ]
              },
              "sendgrid": {
                "type": "object",
                "description": "The Sendgrid details.",
                "required": [
                  "apiKey"
                ],
                "properties": {
                  "apiKey": {
                    "type": "string",
                    "description": "The Sendgrid API key.",
                    "maxLength": 100
                  }
                }
              },
              "custom": {
                "type": "object",
                "description": "The custom details.",
                "required": [
                  "url",
                  "authorization"
                ],
                "properties": {
                  "url": {
                    "type": "string",
                    "description": "The URL.",
                    "maxLength": 300
                  },
                  "authorization": {
                    "type": "object",
                    "description": "The authorization details.",
                    "required": [
                      "type"
                    ],
                    "properties": {
                      "type": {
                        "type": "string",
                        "description": "The type of authorization.",
                        "enum": [
                          "value",
                          "basic",
                          "none"
                        ]
                      },
                      "value": {
                        "type": "string",
                        "description": "The value."
                      },
                      "username": {
                        "type": "string",
                        "description": "The username."
                      },
                      "password": {
                        "type": "string",
                        "description": "The password."
                      }
                    }
                  }
                }
              }
            }
          },
          "senderDetails": {
            "type": "object",
            "description": "The details of the sender.",
            "required": [
              "from"
            ],
            "properties": {
              "from": {
                "type": "object",
                "description": "The details of the sender.",
                "required": [
                  "email"
                ],
                "properties": {
                  "email": {
                    "type": "string",
                    "description": "The email of the sender."
                  },
                  "name": {
                    "type": "string",
                    "description": "The name of the sender."
                  }
                }
              },
              "reply_to": {
                "type": "object",
                "description": "The details that users can use to reply to the emails.",
                "required": [
                  "email"
                ],
                "properties": {
                  "email": {
                    "type": "string",
                    "description": "The email to which users can reply."
                  },
                  "name": {
                    "type": "string",
                    "description": "The name to which users can reply."
                  }
                }
              }
            }
          }
        },
        "example": {
          "emailTo": "example@mail.com",
          "emailSettings": {
            "provider": "sendgrid",
            "sendgrid": {
              "apiKey": "SG.xxxxx.yyyyy"
            }
          },
          "senderDetails": {
            "from": {
              "email": "no-reply@mail.com",
              "name": "no-reply"
            },
            "reply_to": {
              "email": "reply-to@mail.com",
              "name": "Reply-to"
            }
          }
        }
      },
      "respEmailSettingsTest": {
        "type": "object",
        "required": [
          "success",
          "dispatcherStatusCode"
        ],
        "properties": {
          "success": {
            "type": "boolean",
            "description": "The status of the request."
          },
          "dispatcherStatusCode": {
            "type": "number",
            "description": "The status code of the dispatch request."
          },
          "dispatcherResponse": {
            "type": "object",
            "description": "The response of the dispatcher."
          }
        },
        "example": {
          "success": true,
          "dispatcherStatusCode": 202
        }
      },
      "respCustomEmailDisParams": {
        "type": "object",
        "properties": {
          "statusCode": {
            "type": "number",
            "description": "The status code of the request."
          },
          "headers": {
            "type": "object",
            "description": "The headers of the email."
          }
        },
        "example": {
          "statusCode": 400,
          "headers": {
            "server": "nginx",
            "date": "Tue, 24 Jul 2018 09:50:25 GMT",
            "content-type": "application/json",
            "access-control-allow-headers": "Authorization, Content-Type"
          }
        }
      },
      "respSMSDisParams": {
        "type": "object",
        "properties": {
          "confirmationCode": {
            "type": "number",
            "description": "The confirmation code."
          },
          "phoneNumber": {
            "type": "string",
            "description": "The phone number."
          }
        },
        "example": {
          "confirmationCode": 979469,
          "phoneNumber": "+1-999-999-9999"
        }
      },
      "cloudDirectorySenderDetails": {
        "type": "object",
        "required": [
          "senderDetails"
        ],
        "properties": {
          "senderDetails": {
            "type": "object",
            "description": "The sender details of emails sent to your Cloud Directory users from App ID.",
            "required": [
              "from"
            ],
            "properties": {
              "from": {
                "type": "object",
                "description": "The sender details of the emails.",
                "required": [
                  "email"
                ],
                "properties": {
                  "name": {
                    "type": "string",
                    "description": "The name of the sender."
                  },
                  "email": {
                    "type": "string",
                    "description": "The email of the sender."
                  }
                }
              },
              "reply_to": {
                "type": "object",
                "description": "The details that users can use to reply to the emails.",
                "properties": {
                  "name": {
                    "type": "string",
                    "description": "The name to which the users can reply."
                  },
                  "email": {
                    "type": "string",
                    "description": "The email to which the users can reply."
                  }
                }
              },
              "linkExpirationSec": {
                "type": "number",
                "description": "The expiration data of the link.",
                "minimum": 900,
                "maximum": 604800
              }
            }
          }
        },
        "example": {
          "senderDetails": {
            "from": {
              "name": "no-reply",
              "email": "no-reply@appid.cloud.net"
            },
            "reply_to": {
              "name": "Reply-to",
              "email": "reply-to@example.com"
            },
            "linkExpirationSec": 86400
          }
        }
      },
      "actionUrlResponse": {
        "type": "object",
        "required": [
          "actionUrl"
        ],
        "properties": {
          "actionUrl": {
            "type": "string",
            "description": "The action URL."
          }
        },
        "example": {
          "actionUrl": "https://example.com/myCustomPage"
        }
      },
      "samlConfigParams": {
        "type": "object",
        "description": "The configuration of the SAML IDP.",
        "required": [
          "entityID",
          "signInUrl",
          "certificates"
        ],
        "properties": {
          "entityID": {
            "type": "string",
            "description": "The entity ID."
          },
          "signInUrl": {
            "type": "string",
            "description": "The sign-in URL."
          },
          "certificates": {
            "type": "array",
            "description": "The certificates issued by your SAML identity provider. Certificates are used for signing and validating SAML assertions. Supply the certificate in PEM format.",
            "items": {
              "type": "string"
            }
          },
          "displayName": {
            "type": "string",
            "description": "The display name."
          },
          "authnContext": {
            "type": "object",
            "description": "The authorization context.",
            "properties": {
              "comparison": {
                "type": "string",
                "description": "The comparison.",
                "enum": [
                  "exact",
                  "maximum",
                  "minimum",
                  "better"
                ]
              }
            }
          },
          "signRequest": {
            "type": "boolean",
            "description": "The sign request.",
            "example": false
          },
          "encryptResponse": {
            "type": "boolean",
            "description": "The encrypted response.",
            "example": false,
            "additionalProperties": false
          },
          "includeScoping": {
            "type": "boolean",
            "description": "Scoping is included.",
            "example": false
          }
        },
        "additionalProperties": false,
        "example": {
          "entityID": "https://example.com/saml2/metadata/706634",
          "signInUrl": "https://example.com/saml2/sso-redirect/706634",
          "certificates": [
            "certificate-example-pem-format"
          ],
          "displayName": "my saml example",
          "authnContext": {
            "comparison": "exact"
          },
          "signRequest": false,
          "encryptResponse": false
        }
      },
      "samlResponse": {
        "type": "object",
        "required": [
          "isActive"
        ],
        "properties": {
          "isActive": {
            "type": "boolean",
            "description": "The status of the configuration."
          },
          "config": {
            "$ref": "#/components/schemas/samlConfigParams"
          }
        },
        "example": {
          "isActive": true,
          "config": {
            "entityID": "https://example.com/saml2/metadata/706634",
            "signInUrl": "https://example.com/saml2/sso-redirect/706634",
            "certificates": [
              "certificate-example-pem-format"
            ],
            "displayName": "my saml example",
            "authnContext": {
              "comparison": "exact"
            },
            "signRequest": false,
            "encryptResponse": false
          }
        }
      },
      "samlResponseWithValidationData": {
        "type": "object",
        "required": [
          "isActive"
        ],
        "properties": {
          "isActive": {
            "type": "boolean",
            "description": "The status of the configuration."
          },
          "config": {
            "$ref": "#/components/schemas/samlConfigParams"
          },
          "validation_data": {
            "type": "object",
            "required": [
              "certificates"
            ],
            "properties": {
              "certificates": {
                "type": "array",
                "description": "The certificates that are issued by your SAML identity provider. It is used for signing and validating SAML assertions. Supply the certificate in PEM format.",
                "items": {
                  "type": "object",
                  "required": [
                    "certificate_index",
                    "expiration_timestamp"
                  ],
                  "properties": {
                    "certificate_index": {
                      "type": "number",
                      "description": "The certificate index."
                    },
                    "expiration_timestamp": {
                      "type": "number",
                      "description": "The expiration data."
                    },
                    "warning": {
                      "type": "string",
                      "description": "The expiration warning."
                    }
                  }
                }
              }
            }
          }
        },
        "example": {
          "isActive": true,
          "config": {
            "entityID": "https://example.com/saml2/metadata/706634",
            "signInUrl": "https://example.com/saml2/sso-redirect/706634",
            "certificates": [
              "certificate-example-pem-format"
            ],
            "displayName": "my saml example",
            "authnContext": {
              "comparison": "exact"
            },
            "signRequest": false,
            "encryptResponse": false
          },
          "validation_data": {
            "certificates": [
              {
                "certificate_index": 0,
                "expiration_timestamp": 1674473996,
                "warning": "Your certificate will expire in 18 days."
              }
            ]
          }
        }
      },
      "redirectUriConfig": {
        "type": "object",
        "properties": {
          "redirectUris": {
            "type": "array",
            "description": "The redirect URLs.",
            "items": {
              "type": "string",
              "example": "http://localhost:3000/oauth-callback"
            }
          },
          "trustCloudIAMRedirectUris": {
            "type": "boolean",
            "description": "The redirect URLs of trusted cloud IAM.",
            "x-hide": true
          }
        }
      },
      "themeColorConfigParam": {
        "properties": {
          "headerColor": {
            "type": "string",
            "description": "The color of the header.",
            "example": "#EEF2F5"
          }
        }
      },
      "themeTextConfigParam": {
        "properties": {
          "tabTitle": {
            "type": "string",
            "description": "The tab title.",
            "maxLength": 100,
            "example": "Login"
          },
          "footnote": {
            "type": "string",
            "description": "The footnote.",
            "maxLength": 3000,
            "example": "Powered by App ID"
          }
        }
      },
      "profiles": {
        "required": [
          "isActive"
        ],
        "properties": {
          "isActive": {
            "type": "boolean",
            "description": "The status of the configuration.",
            "example": true
          }
        }
      },
      "getAllUsers": {
        "type": "object",
        "required": [
          "Resources"
        ],
        "properties": {
          "totalResults": {
            "type": "number",
            "description": "The number of results."
          },
          "itemsPerPage": {
            "type": "number",
            "description": "The number of items per page."
          },
          "active": {
            "type": "boolean",
            "description": "The status of the user profile.",
            "example": false
          },
          "lockedUntil": {
            "type": "integer",
            "description": "The time limit until which the user is locked out of their account.",
            "example": 1834879417592
          },
          "Resources": {
            "type": "array",
            "description": "The list of Cloud Directory users.",
            "items": {
              "type": "object"
            }
          }
        },
        "example": {
          "totalResults": 2,
          "itemsPerPage": 2,
          "schemas": [
            "urn:ietf:params:scim:api:messages:2.0:ListResponse"
          ],
          "Resources": [
            {
              "displayName": "John Doe",
              "active": true,
              "emails": [
                {
                  "value": "johndoe@example.com",
                  "primary": true
                }
              ],
              "meta": {
                "created": "2019-05-29T12:45:30.671Z",
                "lastModified": "2019-05-29T12:45:30.671Z",
                "resourceType": "User"
              },
              "schemas": [
                "urn:ietf:params:scim:schemas:core:2.0:User"
              ],
              "name": {
                "givenName": "John",
                "familyName": "Doe",
                "formatted": "John Doe"
              },
              "id": "66ad3522-2251-4531-abff-3e3aad66b650"
            },
            {
              "displayName": "Jane Doe",
              "active": true,
              "emails": [
                {
                  "value": "jane@example.com",
                  "primary": true
                }
              ],
              "meta": {
                "created": "2019-05-29T12:47:20.509Z",
                "lastModified": "2019-05-29T12:47:20.509Z",
                "resourceType": "User"
              },
              "schemas": [
                "urn:ietf:params:scim:schemas:core:2.0:User"
              ],
              "name": {
                "givenName": "Jane",
                "familyName": "Doe",
                "formatted": "Jane Doe"
              },
              "id": "e403878c-3ab5-4e99-8953-bb57b05387d8"
            }
          ]
        }
      },
      "createNewUser": {
        "required": [
          "emails",
          "password"
        ],
        "properties": {
          "emails": {
            "$ref": "#/components/schemas/emails"
          },
          "userName": {
            "$ref": "#/components/schemas/userName"
          },
          "password": {
            "type": "string",
            "description": "The password.",
            "example": "userPassword"
          },
          "status": {
            "type": "string",
            "example": "PENDING",
            "description": "The status of the request. Accepted values \"PENDING\" or \"CONFIRMED\"."
          }
        }
      },
      "updateUser": {
        "required": [
          "emails"
        ],
        "properties": {
          "emails": {
            "$ref": "#/components/schemas/emails"
          },
          "userName": {
            "$ref": "#/components/schemas/userName"
          },
          "password": {
            "type": "string",
            "description": "The password.",
            "example": "userPassword"
          },
          "active": {
            "type": "boolean",
            "description": "The status of the user. This parameter determines whether the user account is active or not.\n\nIf both parameters are passed (active: false and lockedUntil) - the user account is locked until the time that is configured.\n\nIf only (active: false) is passed, the user account is locked forever (or until it changes again).",
            "example": false
          },
          "lockedUntil": {
            "type": "integer",
            "description": "The number of milliseconds after which the user account is locked.\n\nIf both parameters are passed (active: false and lockedUntil) - the user account is locked until the time that is configured.\n\nIf only (active: false) is passed, the user account is locked forever (or until it changes again).",
            "example": 1834879417592
          }
        }
      },
      "getUser": {
        "type": "object",
        "example": {
          "displayName": "John Doe",
          "active": true,
          "emails": [
            {
              "value": "johndoe@example.com",
              "primary": true
            }
          ],
          "meta": {
            "created": "2019-05-29T12:45:30.671Z",
            "lastModified": "2019-05-29T12:45:30.671Z",
            "resourceType": "User"
          },
          "schemas": [
            "urn:ietf:params:scim:schemas:core:2.0:User"
          ],
          "name": {
            "givenName": "John",
            "familyName": "Doe",
            "formatted": "John Doe"
          },
          "id": "66ad3522-2251-4531-abff-3e3aad66b650"
        }
      },
      "getUserAndProfile": {
        "properties": {
          "sub": {
            "type": "string",
            "description": "The request's ID."
          },
          "identities": {
            "type": "array",
            "description": "The details of the user's identity.",
            "items": {
              "type": "object",
              "properties": {
                "provider": {
                  "type": "string",
                  "description": "The identity provider."
                },
                "id": {
                  "type": "string",
                  "description": "The ID."
                },
                "idpUserInfo": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/getUser"
                    },
                    {
                      "type": "object",
                      "description": "The user information from the identity provider."
                    }
                  ]
                }
              }
            }
          },
          "attributes": {
            "type": "object",
            "description": "The user's profile attributes."
          }
        },
        "example": {
          "sub": "122e1dd7-2a7f-18fb-b8ed-ed78c3f92c2b",
          "identities": [
            {
              "provider": "cloud_directory",
              "id": "773f85b4-72f4-480d-aca8-755f517c4508",
              "idpUserInfo": {
                "displayName": "John Doe",
                "active": true,
                "emails": [
                  {
                    "value": "johndoe@example.com",
                    "primary": true
                  }
                ],
                "meta": {
                  "created": "2019-05-29T12:45:30.671Z",
                  "lastModified": "2019-05-29T12:45:30.671Z",
                  "resourceType": "User"
                },
                "schemas": [
                  "urn:ietf:params:scim:schemas:core:2.0:User"
                ],
                "name": {
                  "givenName": "John",
                  "familyName": "Doe",
                  "formatted": "John Doe"
                },
                "id": "66ad3522-2251-4531-abff-3e3aad66b650"
              }
            }
          ],
          "attributes": {
            "points": 150
          }
        }
      },
      "exportUserProfile": {
        "required": [
          "users"
        ],
        "properties": {
          "users": {
            "type": "array",
            "description": "The list of App ID user profiles, not including Cloud Directory and anonymous users.",
            "items": {
              "type": "object",
              "required": [
                "id",
                "identities",
                "attributes"
              ],
              "properties": {
                "id": {
                  "type": "string",
                  "description": "The user's ID."
                },
                "identities": {
                  "type": "array",
                  "description": "The details of the user's identity.",
                  "items": {
                    "type": "object",
                    "properties": {
                      "provider": {
                        "type": "string",
                        "description": "The user's identity provider."
                      },
                      "id": {
                        "type": "string",
                        "description": "The identity provider's ID."
                      },
                      "idpUserInfo": {
                        "type": "object",
                        "description": "The user's identity information."
                      }
                    },
                    "additionalProperties": false
                  }
                },
                "attributes": {
                  "type": "object",
                  "description": "The user's profile attributes."
                },
                "name": {
                  "type": "string",
                  "description": "The user's name."
                },
                "email": {
                  "type": "string",
                  "description": "The user's email."
                },
                "picture": {
                  "type": "string",
                  "description": "The user's picture."
                },
                "gender": {
                  "type": "string",
                  "description": "The user's gender."
                },
                "locale": {
                  "type": "string",
                  "description": "The user's locale."
                },
                "preferred_username": {
                  "type": "string",
                  "description": "The user's preferred username."
                },
                "idp": {
                  "type": "string",
                  "description": "The user's identity provider."
                },
                "hashedIdpId": {
                  "type": "string",
                  "description": "The hashed ID of the identity provider."
                },
                "hashedEmail": {
                  "type": "string",
                  "description": "The hashed email."
                },
                "roles": {
                  "type": "array",
                  "description": "The roles.",
                  "items": {
                    "type": "string"
                  }
                }
              }
            },
            "maxItems": 50
          }
        },
        "example": {
          "itemsPerPage": 2,
          "totalResults": 2,
          "requestOptions": {},
          "users": [
            {
              "id": "7ae804f3-0ed3-45f0-bc6b-1c6af868e6d6",
              "name": "App ID Google User profile",
              "email": "your@mail.com",
              "identities": [
                {
                  "provider": "google",
                  "id": "105646725068605084546",
                  "idpUserInfo": {
                    "id": "105646725068605084546",
                    "email": "your@mail.com",
                    "picture": "profilePic.jpg"
                  }
                }
              ],
              "attributes": {
                "points": 150
              },
              "roles": []
            },
            {
              "id": "1439d777-185d-4be1-8f4a-c4e8142b87ea",
              "name": "App ID Facebook User profile",
              "email": "mail@mail.com",
              "identities": [
                {
                  "provider": "facebook",
                  "id": "100195207128541",
                  "picture": {
                    "data": {
                      "height": 50,
                      "width": 50,
                      "url": "https://profilePic.com"
                    }
                  },
                  "first_name": "AppID",
                  "last_name": "Development"
                }
              ],
              "attributes": {
                "points": 250
              },
              "roles": [
                "adult",
                "child"
              ]
            }
          ]
        }
      },
      "exportUser": {
        "required": [
          "users"
        ],
        "properties": {
          "users": {
            "type": "array",
            "description": "The list of Cloud Directory users with their profile attributes and hashed passwords.",
            "items": {}
          },
          "active": {
            "type": "boolean",
            "description": "The status of the user profile.",
            "example": false
          },
          "lockedUntil": {
            "type": "integer",
            "description": "The number of milliseconds of inactivity after which users will be locked out of their account.",
            "example": 1834879417592,
            "items": {
              "type": "object",
              "required": [
                "scimUser",
                "passwordHash",
                "passwordHashAlg",
                "profile",
                "roles"
              ],
              "properties": {
                "scimUser": {
                  "type": "object"
                },
                "passwordHash": {
                  "type": "string"
                },
                "passwordHashAlg": {
                  "type": "string"
                },
                "profile": {
                  "type": "object",
                  "required": [
                    "attributes"
                  ],
                  "properties": {
                    "attributes": {
                      "type": "object",
                      "description": "The profile attributes."
                    }
                  }
                },
                "roles": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              },
              "additionalProperties": false
            },
            "maxItems": 50
          }
        },
        "example": {
          "itemsPerPage": 2,
          "totalResults": 2,
          "users": [
            {
              "scimUser": {
                "originalId": "e403878c-3ab5-4e99-8953-bb57b05387d8",
                "name": {
                  "givenName": "Jane",
                  "familyName": "Doe",
                  "formatted": "Jane Doe"
                },
                "displayName": "Jane Doe",
                "active": true,
                "emails": [
                  {
                    "value": "user09857654@mail.com",
                    "primary": true
                  }
                ]
              },
              "passwordHash": "xveImwVxuO7jxRQlRveKgBXD4WoAG0aIHVTY0GLSuTQbfTIsTNy753LFE9kdReAnBTIbSOeQ69UKJdnIxBZZkm9oWf8wsmwWeZwU9njZDDdhxzJWfvAv6Y/XjAqvNdWvJfV3Tag/zwQtKaET6Sc2gSbFL8L1X1wRR/msNA+NSfg=",
              "passwordHashAlg": "PBKDF2WithHmacSHA512",
              "profile": {
                "attributes": {
                  "points": 100
                }
              },
              "roles": []
            },
            {
              "scimUser": {
                "originalId": "66ad3522-2251-4531-abff-3e3aad66b650",
                "userName": "myUserName",
                "name": {
                  "givenName": "John",
                  "familyName": "Doe",
                  "formatted": "John Doe"
                },
                "displayName": "John Doe",
                "active": true,
                "emails": [
                  {
                    "value": "user0987654@mail.com",
                    "primary": true
                  }
                ]
              },
              "passwordHash": "YKmBYObTprREAKqjl8F94ofE5lF5lr7Zuc/eJ0Sylvx6IOgI97M56n16U0aGWqBVTu2/P8xayrr6utoH/Uok5v/3Ct9jddXlxhkA1odqgQslJdXiCcBHn/49xU9iejCu6p3PL/81vBfcBGxTll2xeHzF+0qF4rxzn91H6TuNH4o=",
              "passwordHashAlg": "PBKDF2WithHmacSHA512",
              "profile": {
                "attributes": {
                  "points": 150
                }
              },
              "roles": [
                "adult",
                "child"
              ]
            }
          ]
        }
      },
      "downloadExport": {
        "required": [
          "users"
        ],
        "properties": {
          "users": {
            "type": "array",
            "description": "The full list of users in your Cloud Directory and their profiles as a JSON object.",
            "items": {
              "type": "object",
              "required": [
                "scimUser",
                "passwordHash",
                "passwordHashAlg",
                "profile",
                "roles"
              ],
              "properties": {
                "scimUser": {
                  "type": "object",
                  "description": "The user's identity."
                },
                "passwordHash": {
                  "type": "string",
                  "description": "The hashed password."
                },
                "passwordHashAlg": {
                  "type": "string",
                  "description": "The algorithm that is used to hash the password."
                },
                "profile": {
                  "type": "object",
                  "description": "The user's profile.",
                  "required": [
                    "attributes"
                  ],
                  "properties": {
                    "attributes": {
                      "type": "object",
                      "description": "The user's profile attributes."
                    }
                  }
                },
                "roles": {
                  "type": "array",
                  "description": "The user's role.",
                  "items": {
                    "type": "string"
                  }
                }
              },
              "additionalProperties": false
            }
          }
        },
        "example": [
          {
            "scimUser": {
              "originalId": "e403878c-3ab5-4e99-8953-bb57b05387d8",
              "name": {
                "givenName": "Jane",
                "familyName": "Doe",
                "formatted": "Jane Doe"
              },
              "displayName": "Jane Doe",
              "active": true,
              "emails": [
                {
                  "value": "user09857654@mail.com",
                  "primary": true
                }
              ]
            },
            "passwordHash": "xveImwVxuO7jxRQlRveKgBXD4WoAG0aIHVTY0GLSuTQbfTIsTNy753LFE9kdReAnBTIbSOeQ69UKJdnIxBZZkm9oWf8wsmwWeZwU9njZDDdhxzJWfvAv6Y/XjAqvNdWvJfV3Tag/zwQtKaET6Sc2gSbFL8L1X1wRR/msNA+NSfg=",
            "passwordHashAlg": "PBKDF2WithHmacSHA512",
            "profile": {
              "attributes": {
                "points": 100
              }
            },
            "roles": []
          },
          {
            "scimUser": {
              "originalId": "66ad3522-2251-4531-abff-3e3aad66b650",
              "userName": "myUserName",
              "name": {
                "givenName": "John",
                "familyName": "Doe",
                "formatted": "John Doe"
              },
              "displayName": "John Doe",
              "active": true,
              "emails": [
                {
                  "value": "user0987654@mail.com",
                  "primary": true
                }
              ]
            },
            "passwordHash": "YKmBYObTprREAKqjl8F94ofE5lF5lr7Zuc/eJ0Sylvx6IOgI97M56n16U0aGWqBVTu2/P8xayrr6utoH/Uok5v/3Ct9jddXlxhkA1odqgQslJdXiCcBHn/49xU9iejCu6p3PL/81vBfcBGxTll2xeHzF+0qF4rxzn91H6TuNH4o=",
            "passwordHashAlg": "PBKDF2WithHmacSHA512",
            "profile": {
              "attributes": {
                "points": 150
              }
            },
            "roles": [
              "adult",
              "child"
            ]
          }
        ]
      },
      "exportAllUsersInput": {
        "required": [
          "emailAddress",
          "encryptionSecret"
        ],
        "properties": {
          "emailAddress": {
            "type": "string",
            "minLength": 3,
            "maxLength": 254,
            "description": "The email address to which the notification is sent."
          },
          "encryptionSecret": {
            "type": "string",
            "minLength": 16,
            "maxLength": 64,
            "description": "The encryption secret is a custom string that is used to encrypt and decrypt the exported data.  Retain the encryption secret as you need it to use the <a href=\"/swagger-ui/#/Management API - Cloud Directory Users/mgmt.cloudDirectoryImportAll\" target=\"_blank\">import all users</a> API. Note: IBM does not store the secret so if the secret is lost, you can't access the exported data."
          },
          "expires": {
            "type": "number",
            "minimum": 1,
            "maximum": 30,
            "description": "You can specify after how many days the export must expire with an integer in the range of 1 - 30. If you do not specify the expiration information, the export is automatically deleted after 7 days."
          }
        },
        "example": {
          "encryptionSecret": "f5R3D2aH&4@",
          "emailAddress": "test@ibm.com",
          "expires": 7
        }
      },
      "exportAllUsers": {
        "required": [
          "id"
        ],
        "properties": {
          "id": {
            "type": "string",
            "minLength": 36,
            "maxLength": 36,
            "description": "The export job ID that is returned from the <a href=\"/swagger-ui/#/Management API - Cloud Directory Users/mgmt.cloudDirectoryExportAll\" target=\"_blank\">export all users</a> API endpoint."
          }
        },
        "example": {
          "id": "b72fd036-81b1-4e79-b84f-23c8020f4191"
        }
      },
      "exportAllStatus": {
        "required": [
          "id",
          "status",
          "requested",
          "started",
          "completed"
        ],
        "properties": {
          "id": {
            "type": "string",
            "description": "The export job ID that is returned from the <a href=\"/swagger-ui/#/Management API - Cloud Directory Users/mgmt.cloudDirectoryExportAll\" target=\"_blank\">export all users</a> API endpoint.",
            "minLength": 36,
            "maxLength": 36
          },
          "status": {
            "type": "string",
            "description": "The status of your export request.",
            "enum": [
              "PENDING",
              "IN_PROGRESS",
              "READY",
              "ERROR",
              "ERROR_DELETED",
              "EXPIRED",
              "SCHEDULED_FOR_DELETION"
            ]
          },
          "requested": {
            "type": "string",
            "description": "When the job was requested in UTC (ISO 8601)."
          },
          "started": {
            "type": "string",
            "description": "When the job started to be processed in UTC (ISO 8601)."
          },
          "completed": {
            "type": "string",
            "description": "When the job completed in UTC (ISO 8601)."
          },
          "expires": {
            "type": "string",
            "description": "When the download is no longer available."
          }
        },
        "example": {
          "id": "b72fd036-81b1-4e79-b84f-23c8020f4191",
          "status": "READY",
          "requested": "2021-07-16T19:20:11.000Z",
          "started": "2021-07-16T19:21:30.000Z",
          "completed": "2021-07-16T19:22:45.000Z",
          "expires": "2021-07-23T19:20:11.000Z"
        }
      },
      "importAllStatus": {
        "required": [
          "id",
          "status",
          "requested",
          "started",
          "completed"
        ],
        "properties": {
          "id": {
            "type": "string",
            "description": "The import job ID.",
            "minLength": 36,
            "maxLength": 36
          },
          "status": {
            "type": "string",
            "description": "The status of your import request.",
            "enum": [
              "PENDING_UPLOAD",
              "PENDING",
              "IN_PROGRESS",
              "COMPLETE",
              "ERROR",
              "ERROR_DELETED",
              "EXPIRED",
              "COMPLETE_WITH_FAILURES",
              "SCHEDULED_FOR_DELETION"
            ]
          },
          "requested": {
            "type": "string",
            "description": "When the job was requested in UTC (ISO 8601)"
          },
          "started": {
            "type": "string",
            "description": "When the job started to be processed in UTC (ISO 8601)"
          },
          "completed": {
            "type": "string",
            "description": "When the job completed in UTC (ISO 8601)"
          },
          "expires": {
            "type": "string",
            "description": "When the download will no longer be available"
          },
          "result": {
            "type": "object",
            "description": "The result of the import"
          }
        },
        "example": {
          "id": "b72fd036-81b1-4e79-b84f-23c8020f4191",
          "status": "READY",
          "requested": "2021-07-16T19:20:11.000Z",
          "started": "2021-07-16T19:21:30.000Z",
          "completed": "2021-07-16T19:22:45.000Z",
          "expires": "2021-07-23T19:20:11.000Z",
          "result": {
            "added": 30,
            "failed": 1,
            "failReasons": [
              {
                "originalId": "773f85b4-72f4-480d-aca8-755f517c4508",
                "id": "664f85b4-72f4-480d-aca8-755f517c4909",
                "email": "user@mail.com",
                "userName": "myUserName",
                "error": {
                  "message": "The email that you entered is already taken.",
                  "status": 409
                }
              }
            ]
          }
        }
      },
      "importResponse": {
        "type": "object",
        "properties": {
          "added": {
            "type": "number",
            "description": "The number of profiles that are imported successfully."
          },
          "active": {
            "type": "boolean",
            "description": "The status of the request.",
            "example": false
          },
          "lockedUntil": {
            "type": "integer",
            "description": "The number of milliseconds of inactivity after which users will be locked of their accounts.",
            "example": 1834879417592
          },
          "failed": {
            "type": "number",
            "description": "The number of users that failed to import."
          },
          "failReasons": {
            "type": "array",
            "description": "The reasons why users failed to import.",
            "items": {
              "type": "object",
              "properties": {
                "originalId": {
                  "type": "string",
                  "description": "The original ID."
                },
                "id": {
                  "type": "string",
                  "description": "The ID."
                },
                "email": {
                  "type": "string",
                  "description": "The email."
                },
                "userName": {
                  "type": "string",
                  "description": "THe username."
                },
                "error": {
                  "type": "object",
                  "description": "The error message."
                }
              }
            }
          }
        },
        "example": {
          "added": 30,
          "failed": 1,
          "failReasons": [
            {
              "originalId": "773f85b4-72f4-480d-aca8-755f517c4508",
              "id": "664f85b4-72f4-480d-aca8-755f517c4909",
              "email": "user@mail.com",
              "userName": "myUserName",
              "error": {
                "message": "The email that you entered is already taken.",
                "status": 409
              }
            }
          ]
        }
      },
      "importProfilesResponse": {
        "type": "object",
        "properties": {
          "added": {
            "type": "number",
            "description": "The number of added user profiles."
          },
          "failed": {
            "type": "number",
            "description": "THe number of user profiles that failed to import."
          },
          "failReasons": {
            "type": "array",
            "description": "The reasons why user profiles failed to import.",
            "items": {
              "type": "object",
              "properties": {
                "originalId": {
                  "type": "string",
                  "description": "The original profile ID."
                },
                "idp": {
                  "type": "string",
                  "description": "THe identity provider."
                },
                "error": {
                  "type": "object",
                  "description": "The error message that indicates the reasons why user profiles failed to import."
                }
              }
            }
          }
        },
        "example": {
          "added": 30,
          "failed": 1,
          "failReasons": [
            {
              "originalId": "773f85b4-72f4-480d-aca8-755f517c4508",
              "idp": "facebook",
              "error": {
                "message": "The user exists."
              }
            }
          ]
        }
      },
      "getTemplate": {
        "required": [
          "subject"
        ],
        "properties": {
          "subject": {
            "type": "string",
            "description": "The subject of the email."
          },
          "html_body": {
            "type": "string",
            "description": "The HTML body of the email."
          },
          "base64_encoded_html_body": {
            "type": "string",
            "description": "The HTML body of the email encoded in Base64."
          },
          "plain_text_body": {
            "type": "string",
            "description": "The plain text body of the email."
          }
        },
        "example": {
          "subject": "Verify your email for %{user.displayName}",
          "html_body": "<h3>Hello %{user.displayName}</h3>\\n<p>Follow this link to verify your email address</p>\\n<p><a href='%{verify.link}'>%{verify.link}</a></p>\\n<p>If you didn't ask to verify this address, you can ignore this email</p>\\n<p>Thanks,</p>\\n<p>Your BMLand team</p>",
          "base64_encoded_html_body": "PGgzPkhlbGxvICV7dXNlci5kaXNwbGF5TmFtZX08L2gzPlxuPHA+Rm9sbG93IHRoaXMgbGluayB0byB2ZXJpZnkgeW91ciBlbWFpbCBhZGRyZXNzPC9wPlxuPHA+PGEgaHJlZj0nJXt2ZXJpZnkubGlua30nPiV7dmVyaWZ5Lmxpbmt9PC9hPjwvcD5cbjxwPklmIHlvdSBkaWRuJ3QgYXNrIHRvIHZlcmlmeSB0aGlzIGFkZHJlc3MsIHlvdSBjYW4gaWdub3JlIHRoaXMgZW1haWw8L3A+XG48cD5UaGFua3MsPC9wPlxuPHA+WW91ciBCTUxhbmQgdGVhbTwvcD4="
        }
      },
      "setTemplate": {
        "required": [
          "subject"
        ],
        "properties": {
          "subject": {
            "type": "string",
            "description": "The subject of the email."
          },
          "html_body": {
            "type": "string",
            "description": "The HTML body of the email."
          },
          "base64_encoded_html_body": {
            "type": "string",
            "description": "The HTML body of the email encoded in Base64."
          },
          "plain_text_body": {
            "type": "string",
            "description": "The plain text body of the email."
          }
        },
        "example": {
          "subject": "Verify Your email for %{user.displayName}",
          "base64_encoded_html_body": "PGgzPkhlbGxvICV7dXNlci5kaXNwbGF5TmFtZX08L2gzPlxuPHA+Rm9sbG93IHRoaXMgbGluayB0byB2ZXJpZnkgeW91ciBlbWFpbCBhZGRyZXNzPC9wPlxuPHA+PGEgaHJlZj0nJXt2ZXJpZnkubGlua30nPiV7dmVyaWZ5Lmxpbmt9PC9hPjwvcD5cbjxwPklmIHlvdSBkaWRuJ3QgYXNrIHRvIHZlcmlmeSB0aGlzIGFkZHJlc3MsIHlvdSBjYW4gaWdub3JlIHRoaXMgZW1haWw8L3A+XG48cD5UaGFua3MsPC9wPlxuPHA+WW91ciBCTUxhbmQgdGVhbTwvcD4="
        }
      },
      "getLanguages": {
        "required": [
          "languages"
        ],
        "properties": {
          "languages": {
            "type": "array",
            "description": "The list of languages that can be used to customize email templates for CLoud Directory.",
            "items": {
              "type": "string"
            }
          }
        },
        "example": {
          "languages": [
            "en",
            "en-US",
            "fr-FR"
          ]
        }
      },
      "EntityDescriptor": {
        "type": "string",
        "example": "<SPSSODescriptor WantAssertionsSigned=\"true\" protocolSupportEnumeration=\"urn:oasis:names:tc:SAML:2.0:protocol\"><NameIDFormat>urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress</NameIDFormat><AssertionConsumerService index=\"1\" isDefault=\"true\" Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\" Location=\"https://us-south.appid.cloud.ibm.com/saml2/v1/login-acs\"/></SPSSODescriptor>"
      },
      "confirmationResultOK": {
        "type": "object",
        "required": [
          "success",
          "uuid"
        ],
        "properties": {
          "success": {
            "type": "boolean",
            "description": "The status of the request."
          },
          "uuid": {
            "type": "string",
            "description": "The user's unique ID."
          }
        },
        "example": {
          "success": true,
          "uuid": "773f85b4-72f4-480d-aca8-755f517c4508"
        }
      },
      "confirmationResultFailure": {
        "type": "object",
        "properties": {
          "errorCode": {
            "type": "string"
          },
          "message": {
            "type": "string"
          }
        },
        "example": {
          "errorCode": "NOT_FOUND",
          "message": "context was not found"
        }
      },
      "forogtPasswordResult": {
        "type": "object",
        "required": [
          "success",
          "uuid"
        ],
        "properties": {
          "success": {
            "type": "boolean"
          },
          "uuid": {
            "type": "string"
          },
          "error": {
            "type": "object",
            "required": [
              "code",
              "description"
            ],
            "properties": {
              "code": {
                "type": "string"
              },
              "description": {
                "type": "string"
              }
            }
          }
        }
      },
      "getAllServerAppClients": {
        "type": "object",
        "required": [
          "applications"
        ],
        "properties": {
          "applications": {
            "type": "array",
            "description": "The applications registered with the App ID instance.",
            "items": {
              "type": "object",
              "properties": {
                "clientId": {
                  "type": "string",
                  "description": "The client ID."
                },
                "tenantId": {
                  "type": "string",
                  "description": "The tenant ID."
                },
                "secret": {
                  "type": "string",
                  "description": "The secret."
                },
                "name": {
                  "type": "string",
                  "description": "The application name."
                },
                "oAuthServerUrl": {
                  "type": "string",
                  "description": "The oauth server URL."
                },
                "type": {
                  "type": "string",
                  "description": "The application type."
                }
              }
            }
          }
        },
        "example": {
          "clientId": "111c22c3-38ea-4de8-b5d4-338744d83b0f",
          "tenantId": "39a37f57-a227-4bfe-a044-93b6e6060b61",
          "secret": "ZmE5ZDQ5ODctMmU1ZS00OGRiLWExZDMtZTA2MjkyZTc4MDB1",
          "name": "IBMCloudApp",
          "oAuthServerUrl": "https://us-south.appid.cloud.ibm.com/oauth/v4/39a37f57-a227-4bfe-a044-93b6e6060b61",
          "type": "regularwebapp"
        }
      },
      "registerServerApp": {
        "type": "object",
        "required": [
          "name"
        ],
        "properties": {
          "name": {
            "type": "string",
            "description": "The application name to be registered. Application name cannot exceed 50 characters.",
            "minLength": 1,
            "maxLength": 50
          },
          "type": {
            "type": "string",
            "description": "The type of application to be registered. Allowed types are regularwebapp and singlepageapp."
          }
        },
        "example": {
          "name": "App1",
          "type": "regularwebapp"
        }
      },
      "updateApp": {
        "type": "object",
        "required": [
          "name"
        ],
        "properties": {
          "name": {
            "type": "string",
            "description": "The application name to be updated. Application name cannot exceed 50 characters.",
            "minLength": 1,
            "maxLength": 50
          }
        },
        "example": {
          "name": "App1"
        }
      },
      "addMfaChannel": {
        "type": "object",
        "required": [
          "type",
          "isActive"
        ],
        "properties": {
          "type": {
            "type": "string",
            "example": "email"
          },
          "isActive": {
            "type": "boolean",
            "description": "The status of the configuration."
          }
        }
      },
      "updateMfaChannel": {
        "type": "object",
        "required": [
          "isActive"
        ],
        "properties": {
          "isActive": {
            "type": "boolean",
            "description": "The status of the configuration.",
            "example": true
          },
          "config": {
            "type": "object",
            "description": "The details of the configuration.",
            "example": {
              "key": "key",
              "secret": "secret",
              "from": "1234567890"
            }
          }
        },
        "additionalProperties": false
      },
      "updateMfaPolicy": {
        "type": "object",
        "required": [
          "isActive"
        ],
        "properties": {
          "isActive": {
            "type": "boolean",
            "description": "The status of the configuration.",
            "example": true
          },
          "config": {
            "type": "object"
          }
        },
        "example": {
          "isActive": true
        },
        "additionalProperties": false
      },
      "updateMfaConfig": {
        "type": "object",
        "required": [
          "isActive"
        ],
        "properties": {
          "isActive": {
            "type": "boolean",
            "description": "The status of the configuration.",
            "example": true
          },
          "config": {
            "type": "object",
            "description": "The configuration details of the MFA channel."
          }
        },
        "additionalProperties": false,
        "example": {
          "isActive": true
        }
      },
      "extensionActive": {
        "type": "object",
        "required": [
          "isActive"
        ],
        "properties": {
          "isActive": {
            "type": "boolean",
            "description": "The status of the configuration.",
            "example": true
          },
          "config": {
            "type": "object",
            "description": "The configuration details of the registered extension."
          }
        },
        "additionalProperties": false,
        "example": {
          "isActive": true
        }
      },
      "updateExtensionConfig": {
        "type": "object",
        "required": [
          "isActive"
        ],
        "properties": {
          "isActive": {
            "type": "boolean",
            "description": "The status of the configuration."
          },
          "config": {
            "type": "object",
            "description": "The congiguration details of a registered extension.",
            "properties": {
              "url": {
                "type": "string",
                "description": "The extension's URL."
              },
              "headers": {
                "type": "object",
                "description": "The headers."
              }
            },
            "additionalProperties": false
          }
        },
        "additionalProperties": false,
        "example": {
          "isActive": true,
          "config": {
            "url": "https://example.com/extension",
            "headers": {
              "authorization": "Bearer <token>"
            }
          }
        }
      },
      "extensionTest": {
        "type": "object",
        "properties": {
          "statusCode": {
            "type": "number",
            "description": "The status code of the test."
          },
          "headers": {
            "type": "object",
            "description": "The response headers."
          }
        },
        "example": {
          "statusCode": 200,
          "responseBody": {
            "skipMfa": true
          },
          "responseHeaders": {
            "content-type": "application/json",
            "date": "Tue, 24 Jul 2018 09:50:25 GMT"
          }
        }
      },
      "updateSSOConfig": {
        "type": "object",
        "required": [
          "isActive",
          "inactivityTimeoutSeconds",
          "logoutRedirectUris"
        ],
        "properties": {
          "isActive": {
            "type": "boolean",
            "description": "The status of the configuration.",
            "example": true
          },
          "inactivityTimeoutSeconds": {
            "type": "number",
            "description": "The time limit of activity after which users are logged out of their account.",
            "example": 86400,
            "minimum": 0,
            "maximum": 604800
          },
          "logoutRedirectUris": {
            "type": "array",
            "description": "The logout redirect URL.",
            "items": {
              "type": "string",
              "example": "http://localhost:3000/logout-callback"
            }
          }
        },
        "additionalProperties": false
      },
      "updateRateLimitConfig": {
        "type": "object",
        "required": [
          "signUpLimitPerMinute",
          "signInLimitPerMinute"
        ],
        "properties": {
          "signUpLimitPerMinute": {
            "type": "integer",
            "description": "The sign-up limit per minute.",
            "example": 50,
            "minimum": 0,
            "maximum": 4294967295
          },
          "signInLimitPerMinute": {
            "type": "integer",
            "description": "The sign-in limit per minute.",
            "example": 60,
            "minimum": 0,
            "maximum": 4294967295
          }
        },
        "additionalProperties": false
      },
      "getAllMfaChannels": {
        "type": "object",
        "required": [
          "channels"
        ],
        "properties": {
          "channels": {
            "type": "array",
            "description": "A list of all the MFA channels that are registered with a specific App ID instance.",
            "items": {
              "type": "object",
              "required": [
                "isActive",
                "type"
              ],
              "properties": {
                "type": {
                  "type": "string",
                  "description": "The type of channel."
                },
                "isActive": {
                  "type": "boolean",
                  "description": "The status of the configuration."
                },
                "config": {
                  "type": "object",
                  "description": "The configuration of the mfa channel.",
                  "properties": {
                    "key": {
                      "type": "string",
                      "description": "The key."
                    },
                    "secret": {
                      "type": "string",
                      "description": "The secret."
                    },
                    "from": {
                      "type": "string",
                      "description": "The sender details."
                    },
                    "provider": {
                      "type": "string",
                      "description": "The provider."
                    }
                  }
                }
              }
            }
          }
        },
        "example": {
          "channels": [
            {
              "isActive": true,
              "type": "email"
            },
            {
              "isActive": false,
              "type": "sms",
              "config": {
                "key": "key",
                "secret": "secret",
                "from": 1234567890,
                "provider": "nexmo"
              }
            }
          ]
        }
      },
      "getAllMfaPolicies": {
        "type": "object",
        "required": [
          "policies"
        ],
        "properties": {
          "policies": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "type": {
                  "type": "string"
                },
                "isActive": {
                  "type": "boolean",
                  "description": "The status of the configuration."
                }
              }
            }
          }
        }
      },
      "getMFAConfiguration": {
        "type": "object",
        "required": [
          "isActive"
        ],
        "properties": {
          "isActive": {
            "type": "boolean",
            "description": "The status of the configuration."
          }
        },
        "example": {
          "isActive": true
        }
      },
      "getSMSChannel": {
        "type": "object",
        "required": [
          "isActive",
          "type"
        ],
        "properties": {
          "isActive": {
            "type": "boolean",
            "description": "The status of the configuration."
          },
          "type": {
            "type": "string",
            "description": "The type of channel."
          },
          "config": {
            "type": "object",
            "description": "The configuration of the channel.",
            "properties": {
              "key": {
                "type": "string",
                "description": "The key."
              },
              "secret": {
                "type": "string",
                "description": "The secret."
              },
              "from": {
                "type": "string",
                "description": "The sender details."
              },
              "provider": {
                "type": "string",
                "description": "The provider."
              }
            }
          }
        },
        "example": [
          {
            "isActive": false,
            "type": "sms",
            "config": {
              "key": "key",
              "secret": "secret",
              "from": "1234567890",
              "provider": "nexmo"
            }
          }
        ]
      },
      "smsDispatcherTest": {
        "required": [
          "phone_number"
        ],
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "phone_number": {
            "type": "string",
            "description": "The phone number to which you can send a message to test your MFA SMS configuration.",
            "example": "+1-999-999-9999"
          }
        }
      },
      "getScopesForApplication": {
        "type": "object",
        "properties": {
          "scopes": {
            "type": "array",
            "description": "The scopes.",
            "example": [
              "cartoons",
              "horror",
              "animated"
            ],
            "items": {
              "type": "string",
              "maxLength": 50
            }
          }
        }
      },
      "getUserRolesResponse": {
        "type": "object",
        "properties": {
          "roles": {
            "type": "array",
            "description": "The user's roles.",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "description": "The role ID.",
                  "example": "111c22c3-38ea-4de8-b5d4-338744d83b0f"
                },
                "name": {
                  "type": "string",
                  "description": "The role name.",
                  "example": "adult"
                }
              }
            }
          }
        }
      },
      "assignRoleToUser": {
        "type": "object",
        "properties": {
          "roles": {
            "type": "array",
            "description": "The user's roles.",
            "maxItems": 50,
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "description": "The role ID.",
                  "example": "111c22c3-38ea-4de8-b5d4-338744d83b0f"
                },
                "name": {
                  "type": "string",
                  "description": "The role name.",
                  "example": "child"
                }
              }
            }
          }
        }
      },
      "getRolesResponse": {
        "type": "object",
        "properties": {
          "roles": {
            "type": "array",
            "description": "A list of the roles that are associated with your registered application.",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "description": "The role ID.",
                  "example": "12345678-1234-1234-1234-123456789012"
                },
                "name": {
                  "type": "string",
                  "description": "The role name.",
                  "example": "adult"
                },
                "description": {
                  "type": "string",
                  "description": "The role description.",
                  "example": "No movie restrictions in place."
                },
                "access": {
                  "type": "array",
                  "description": "The access data.",
                  "items": {
                    "type": "object",
                    "properties": {
                      "application_id": {
                        "type": "string",
                        "description": "The application ID.",
                        "example": "de33d272-f8a7-4406-8fe8-ab28fd457be5"
                      },
                      "scopes": {
                        "type": "array",
                        "description": "The scopes.",
                        "example": [
                          "cartoons",
                          "horror",
                          "animated"
                        ],
                        "items": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      },
      "getRoleResponse": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The role ID.",
            "example": "12345678-1234-1234-1234-123456789012"
          },
          "name": {
            "type": "string",
            "description": "The role name.",
            "example": "adult"
          },
          "description": {
            "type": "string",
            "description": "The role description.",
            "example": "No movie restrictions in place."
          },
          "access": {
            "type": "array",
            "description": "The access data.",
            "items": {
              "type": "object",
              "properties": {
                "application_id": {
                  "type": "string",
                  "description": "The application ID.",
                  "example": "de33d272-f8a7-4406-8fe8-ab28fd457be5"
                },
                "scopes": {
                  "type": "array",
                  "description": "The scopes.",
                  "example": [
                    "cartoons",
                    "horror",
                    "animated"
                  ],
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      },
      "createRolesResponse": {
        "type": "object",
        "required": [
          "id",
          "name",
          "access"
        ],
        "properties": {
          "id": {
            "type": "string",
            "description": "The role ID.",
            "example": "12345678-1234-1234-1234-123456789013"
          },
          "name": {
            "type": "string",
            "description": "The role name.",
            "example": "child"
          },
          "description": {
            "type": "string",
            "description": "The description.",
            "example": "Limits the available movie options to films that might be more appropriate for younger viewers."
          },
          "access": {
            "type": "array",
            "description": "The access data.",
            "items": {
              "required": [
                "application_id",
                "scopes"
              ],
              "type": "object",
              "properties": {
                "application_id": {
                  "type": "string",
                  "description": "THe application ID.",
                  "example": "de33d272-f8a7-4406-8fe8-ab28fd457be5"
                },
                "scopes": {
                  "type": "array",
                  "description": "The scopes.",
                  "example": [
                    "cartoons"
                  ],
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      },
      "updateRolesResponse": {
        "type": "object",
        "required": [
          "id",
          "name",
          "access"
        ],
        "properties": {
          "id": {
            "type": "string",
            "example": "12345678-1234-1234-1234-123456789013"
          },
          "name": {
            "type": "string",
            "description": "The name.",
            "example": "child"
          },
          "description": {
            "type": "string",
            "description": "The description.",
            "example": "Limits the available movie options to films that might be more appropriate for younger viewers."
          },
          "access": {
            "type": "array",
            "description": "The access data.",
            "items": {
              "required": [
                "application_id",
                "scopes"
              ],
              "type": "object",
              "properties": {
                "application_id": {
                  "type": "string",
                  "description": "The application ID.",
                  "example": "de33d272-f8a7-4406-8fe8-ab28fd457be5"
                },
                "scopes": {
                  "type": "array",
                  "description": "The scopes.",
                  "example": [
                    "cartoons",
                    "animated"
                  ],
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}