{
  "openapi": "3.0.0",
  "info": {
    "description": "## Introduction\n\nWith the User Management API, you can manage the users within your account, such as inviting, retrieving, updating, or removing users. You can also manage user profiles and settings. In addition to the account ID, this API uses the user's IAM ID. The IAM ID is a digital identity that is used to identify a user or service in IBM Cloud. SDKs for Java, Node, Python, and Go are available to make it easier to programmatically access the API from your code. 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. The tab for each language includes code examples that demonstrate how to use the client libraries. For more information about using the SDKs, see the [IBM Cloud SDK Common project](https://github.com/IBM/ibm-cloud-sdk-common) on GitHub.\n\nUser Management is a platform service, which means that it uses platform management IAM roles to determine access permissions. For information about User Management roles, see [Platform management roles](https://cloud.ibm.com/docs/iam?topic=iam-userroles#platformroles) in the IAM documentation.\n\n### User account status\n\nA user can be in the following states.\n\n| State | Description |\n|-------|-------------|\n| `ACTIVE`| An active user state.  |\n| `VPN_ONLY` | In this state, the user cannot log in through the IBM Cloud console. |\n| `DISABLED_CLASSIC_INFRASTRUCTURE` | In this state, the user cannot access classic infrastructure (SoftLayer) resources. |\n| `PROCESSING` | This state is a read-only system state. |\n| `PENDING`| This state is a read only system state. |\n| `SUSPENDED`| In this state, the user has a suspended account. |\n| `ERROR_WHILE_PROCESSING` | This state is caused by an error while creating the user. |\n| `ERROR_WHILE_DELETING` | This state is caused by an error during V3 delete of the user. |\n| `IAMID_INVALID` | In this state, the IBMid of this user may no longer exist. |\n\nUsers with the appropriate User Management IAM role can change a user between the `ACTIVE`, `VPN_ONLY`, and `DISABLED_CLASSIC_INFRASTRUCTURE` states. `PROCESSING`, `PENDING`, `ERROR_WHILE_PROCESSING`, `ERROR_WHILE_DELETING`, and `IAMID_INVALID` states are read-only system states that cannot be updated through the API.\n\nThe code examples on this tab use the client library that is provided for Java.\n\nMaven\n\n```\n<dependency>\n    <groupId>com.ibm.cloud</groupId>\n    <artifactId>user-management</artifactId>\n    <version>{version}</version>\n</dependency>\n```\n\nGradle\n\n```java\ncompile 'com.ibm.cloud:user-management:{version}'\n```\n\nView on GitHub\n\n[https://github.com/IBM/platform-services-java-sdk](https://github.com/IBM/platform-services-java-sdk)\n\nInstalling the Go SDK\n\nGo modules (recommended): Add the following import in your code, and then run `go build` or `go mod tidy`\n\n```go\nimport (\n\t\"github.com/IBM/platform-services-go-sdk/usermanagementv1\"\n)\n```\n\nGo get\n\n```bash\ngo get -u github.com/IBM/platform-services-go-sdk/usermanagementv1\n```\n\nView on GitHub\n\n[https://github.com/IBM/platform-services-go-sdk](https://github.com/IBM/platform-services-go-sdk)\n\nThe code examples on this tab use the client library that is provided for Node.js.\n\nInstallation\n\n```bash\nnpm install @ibm-cloud/platform-services\n```\n\nView on GitHub\n\n[https://github.com/IBM/platform-services-node-sdk](https://github.com/IBM/platform-services-node-sdk)\n\nThe code examples on this tab use the client library that is provided for Python.\n\nInstallation\n\n```bash\npip install --upgrade \"ibm-platform-services\"\n```\n\nView on GitHub\n\n[https://github.com/IBM/platform-services-python-sdk](https://github.com/IBM/platform-services-python-sdk)\n\n## Endpoint URLs\n\nThe User Management API uses the following global endpoint URL for all regions. When you call the API, add the path for each method to form the complete API endpoint for your requests.\n\n```\nhttps://user-management.cloud.ibm.com\n```\n\nVirtual private cloud (VPC) based access requires a virtual private endpoint gateway (VPE gateway). For more information, see [Creating an endpoint gateway](https://cloud.ibm.com/docs/vpc?topic=vpc-ordering-endpoint-gateway).\n* Private endpoint URL for VPC infrastructure: `https://private.user-management.cloud.ibm.com`. VPE gateway creation is supported in following datacenters:\n    * Dallas\n    * Washington\n\nIf you enabled service endpoints in your account, you can send API requests over the IBM Cloud® private network at the following base endpoint URLs. For more information, see [Enabling VRF and service endpoints](https://cloud.ibm.com/docs/account?topic=account-vrf-service-endpoint).\n* Private endpoint URLs for classic infrastructure:\n    * Dallas: `https://private.us-south.user-management.cloud.ibm.com`\n    * Washington DC: `https://private.us-east.user-management.cloud.ibm.com`\n\nExample API request\n\n```\ncurl -X {request_method} \"https://user-management.cloud.ibm.com/{method_endpoint}\"\n```\n\nReplace `{request_method}` and `{method_endpoint}` in this example with the values for your particular API call.\n\n## Authentication\n\nAuthorization to the user management REST API is enforced by using an IAM access token. The token is used to determine the roles that the identity has access to when using user management services. For information about how to obtain an IAM token for an authenticated user or service ID, see the [IAM Identity Service API](https://cloud.ibm.com/apidocs/iam-identity-token-api) documentation.\n\nAdequate access is required to use the API. Each method lists the IAM action that you need to be assigned access to. For more information about IAM actions and how they map to roles, see  see [Assigning access to account management services](https://cloud.ibm.com//docs/account?topic=account-account-services#all-account-management).\n\nThe User Management API does not cover user access. To manage user access, use the [IAM Policy Management API](https://cloud.ibm.com/apidocs/iam-policy-management) and [IAM Access Group API](https://cloud.ibm.com/apidocs/iam-access-groups) instead.\n\nObtaining an IAM token for an authenticated user or service ID is described in the [IAM Identity Services API](https://cloud.ibm.com/apidocs/iam-identity-token-api) documentation. \n\nTo use the API, add a valid IAM token to the HTTP Authorization request header, for example, `-H 'Authorization: Bearer <TOKEN>'`.\n\nWhen you use the SDK, configure an IAM authenticator with the IAM API key. The authenticator automatically obtains the IAM access token for the API key and includes it with each request. You can construct an authenticator in either of two ways:\n- Programmatically by constructing an IAM authenticator instance and supplying your IAM API key \n- By defining the API key in external configuration properties and then using the SDK authenticator factory to construct an IAM authenticator that uses the configured IAM API key\n\nIn this example of using external configuration properties, an IAM authenticator instance is created with the configured API key, and then the service client is constructed with this authenticator instance and the configured service URL.\n\nFor more information, see the Authentication section of the [IBM Cloud SDK Common](https://github.com/IBM/ibm-cloud-sdk-common/blob/main/README.md) documentation.\n\nTo call each method, you'll need to be assigned a role that includes the required IAM actions. Each method lists the associated action. For more information about IAM actions and how they map to roles, see [Assigning access to account management services](https://cloud.ibm.com/docs/account?topic=account-account-services).\n\nTo retrieve your access token:\n\n```bash\ncurl -X POST \\\n  \"https://iam.cloud.ibm.com/identity/token\" \\\n  --header 'Content-Type: application/x-www-form-urlencoded' \\\n  --header 'Accept: application/json' \\\n  --data-urlencode 'grant_type=urn:ibm:params:oauth:grant-type:apikey' \\\n  --data-urlencode 'apikey={api_key}'\n```\n\nReplace `<API_KEY>` with your service credentials. Then use the full `IAM token` value, prefixed by the _Bearer_ token type, to authenticate your API requests.\n\nExample that sets options by using environment variables\n\n```sh\nexport USER_MANAGEMENT_APIKEY=<API_KEY>\n```\n\n```go\nimport {\n    \"github.com/IBM/platform-services-go-sdk/usermanagementv1\"\n}\n...\nuserManagementServiceOptions := &usermanagementv1.UserManagementV1Options{}\nuserManagementService, err := usermanagementv1.NewUserManagementV1UsingExternalConfig(userManagementServiceOptions)\n```\n\nReplace `<API_KEY>` with your IBM Cloud IAM API key. Invoke service operations by using the `userManagementService` variable.\n\nFor more authentication examples, check out the [IBM Cloud SDK Common project on GitHub](https://github.com/IBM/ibm-cloud-sdk-common/blob/master/README.md#authentication).\n\nExample that sets options by using environment variables\n\n```sh\nexport USER_MANAGEMENT_APIKEY=<API_KEY>\n```\n\n```java\nimport com.ibm.cloud.platform_services.user_management.v1.UserManagement;\n...\nGlobalSearch userManagementService = UserManagement.newInstance();\n```\n\nReplace `<API_KEY>` with your IBM Cloud IAM API key. Invoke service operations by using the `userManagementService` variable.\n\nFor more authentication examples, check out the [IBM Cloud SDK Common project on GitHub](https://github.com/IBM/ibm-cloud-sdk-common/blob/master/README.md#authentication).\n\nExample that sets options by using environment variables\n\n```sh\nexport USER_MANAGEMENT_APIKEY=<API_KEY>\n```\n\n```javascript\nconst UserManagementV1 = require('@ibm-cloud/platform-services/user-management/v1');\n...\nconst userManagementService = UserManagementV1.newInstance({});\n```\n\nReplace `<API_KEY>` with your IBM Cloud IAM API key. Invoke service operations by using the `userManagementService` variable.\n\nFor more authentication examples, check out the [IBM Cloud SDK Common project on GitHub](https://github.com/IBM/ibm-cloud-sdk-common/blob/master/README.md#authentication).\n\nExample that sets options by using environment variables\n\n```sh\nexport USER_MANAGEMENT_APIKEY=<API_KEY>\n```\n\n```python\nfrom ibm_platform_services import UserManagementV1\n...\nuser_management_service = UserManagementV1.new_instance()\n```\n\nReplace `<API_KEY>` with your IBM Cloud IAM API key. Invoke service operations by using the `user_management_service` variable.\n\nFor more authentication examples, check out the [IBM Cloud SDK Common project on GitHub](https://github.com/IBM/ibm-cloud-sdk-common/blob/master/README.md#authentication).\n\n## Auditing\n\nYou can monitor API activity within your account by using the IBM Cloud Activity Tracker service. When an API method is called, an event is generated that you can then track and audit from within Activity Tracker. The specific event type is listed for each individual method.\n\nFor more information about how to track activity in an enterprise, see [Auditing events for account management](https://cloud.ibm.com/docs/Activity-Tracker-with-LogDNA?topic=Activity-Tracker-with-LogDNA-at_events_acc_mgt).\n\n## Error handling\n\nThis API uses standard HTTP response codes to indicate whether a method completed successfully. A `2xx` response indicates success. A `4xx` type response indicates a failure, and a `500` type response indicates an internal system error.\n\n| HTTP Error Code | Description | Recovery |\n|-----------------|-------------|----------|\n| `200` | Success | The request was successful. |\n| `202` | Accepted | The request was accepted. |\n| `204` | No Content | The request was successful. No response body is provided. |\n| `401` | Unauthorized | You are not authorized to make this request. Log in to IBM Cloud and try again. If this error persists, contact the account owner to check your permissions.\t|\n| `403` | Forbidden | The supplied authentication is not authorized to access '{namespace}'. |\n| `404` | Not Found | The requested resource could not be found. |\n| `500` | Internal Server Error | Your request could not be processed. Wait a few minutes and try again. |",
    "version": "1.0",
    "title": "User Management",
    "x-alternate-name": "User Management",
    "contact": {
      "name": "IBM"
    },
    "x-codegen-config": {
      "java": {
        "apiPackage": "com.ibm.cloud.platform_services"
      },
      "go": {
        "apiPackage": "github.com/IBM/platform-services-go-sdk",
        "improvedNameFormattingV2": true
      },
      "python": {
        "apiPackage": "ibm_platform_services"
      }
    },
    "x-sdk-supported-languages": [
      "curl",
      "go",
      "java",
      "node",
      "python"
    ],
    "x-github": "https://github.ibm.com/cloud-api-docs/billing",
    "x-github-issues": "https://github.ibm.com/cloud-api-docs/billing/issues/new",
    "x-last-updated": "2025-09-25"
  },
  "servers": [
    {
      "url": "https://user-management.cloud.ibm.com",
      "description": "Production"
    }
  ],
  "security": [
    {
      "IAM": []
    }
  ],
  "tags": [
    {
      "name": "Users"
    },
    {
      "name": "User Settings"
    }
  ],
  "paths": {
    "/v2/accounts/{account_id}/users": {
      "parameters": [
        {
          "name": "account_id",
          "description": "The account ID of the specified user.",
          "in": "path",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ],
      "get": {
        "tags": [
          "Users"
        ],
        "summary": "List users",
        "operationId": "list_users",
        "description": "Retrieve users in the account. You can use the IAM service token or a user token for authorization. To use this method, the requesting user or service ID must have at least the viewer, editor, or administrator role on the User Management service. If unrestricted view is enabled, the user can see all users in the same account without an IAM role. If restricted view is enabled and user has the viewer, editor, or administrator role on the user management service, the API returns all users in the account. If unrestricted view is enabled and the user does not have these roles, the API returns only the current user. Users are returned in a paginated list with a default limit of 100 users. You can iterate through all users by following the `next_url` field. Additional substring search fields are supported to filter the users.",
        "parameters": [
          {
            "name": "limit",
            "description": "The number of results to be returned.",
            "in": "query",
            "schema": {
              "type": "integer",
              "maximum": 100,
              "default": 100
            }
          },
          {
            "name": "include_settings",
            "description": "The user settings to be returned. Set to true to view language, allowed IP address, and authentication settings.",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "search",
            "description": "The desired search results to be returned. To view the list of users with the additional search filter, use the following query options: `firstname`, `lastname`, `email`, `state`, `substate`, `iam_id`, `realm`, and `userId`. HTML URL encoding for the search query and `:` must be used. For example, search=state%3AINVALID returns a list of invalid users. Multiple search queries can be combined to obtain `OR` results using `,` operator (not URL encoded). For example, search=state%3AINVALID,email%3Amail.test.ibm.com.",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "_start",
            "description": "An optional token that indicates the beginning of the page of results to be returned. If omitted, the first page of results is returned. This value is obtained from the 'next_url' field of the operation response.",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user_id",
            "description": "Filter users based on their user ID.",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "email",
            "description": "Filter users based on their email address.",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "realm",
            "description": "Filter users based on realm. The realm identifies the provider of the user, such as IBMid or an external identity provider. For more information, see see [Users](https://cloud.ibm.com/docs/account?topic=account-identity-overview#users-bestpract)",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Users were returned successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserList"
                },
                "example": {
                  "total_results": 1,
                  "limit": 100,
                  "first_url": "/v2/accounts/987d4cfd77b04e9b9e1a6asdcc861234/users",
                  "resources": [
                    {
                      "id": "83699daa4a0d4647b6bef17f9f73c1234",
                      "iam_id": "IBMid-1000000000",
                      "realm": "IBMid",
                      "user_id": "cloud_api_example@ibm.com",
                      "firstname": "firstname",
                      "lastname": "lastname",
                      "state": "ACTIVE",
                      "email": "cloud_api_example@ibm.com",
                      "phonenumber": "1234567890",
                      "altphonenumber": "1234567891",
                      "photo": "https://32a7b.https.cdn.softlayer.net/8032A7B/dal05.objectstorage.softlayer.net/v1/AUTH_f2968d51-d955-4506-8fc5-7345a06eb123/bluemix-photos/",
                      "account_id": "987d4cfd77b04e9b9e1a6asdcc861234",
                      "added_on": "2019-02-13T00:56:59.266Z"
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "lang": "curl",
                    "source": [
                      "curl -X GET \\\n  https://user-management.cloud.ibm.com/v2/accounts/987d4cfd77b04e9b9e1a6asdcc861234/users \\\n  -H 'Authorization: Bearer <IAM_TOKEN>'"
                    ]
                  }
                ]
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "listUsersOptions := &usermanagementv1.ListUsersOptions{\n",
                      "  AccountID: &accountID,\n",
                      "}\n",
                      "\n",
                      "pager, err := userManagementService.NewUsersPager(listUsersOptions)\n",
                      "if err != nil {\n",
                      "  panic(err)\n",
                      "}\n",
                      "\n",
                      "var allResults []usermanagementv1.UserProfile\n",
                      "for pager.HasNext() {\n",
                      "  nextPage, err := pager.GetNext()\n",
                      "  if err != nil {\n",
                      "    panic(err)\n",
                      "  }\n",
                      "  allResults = append(allResults, nextPage...)\n",
                      "}\n",
                      "b, _ := json.MarshalIndent(allResults, \"\", \"  \")\n",
                      "fmt.Println(string(b))"
                    ]
                  }
                ]
              }
            ],
            "java": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "ListUsersOptions listUsersOptions = new ListUsersOptions.Builder()\n",
                      "  .accountId(accountId)\n",
                      "  .build();\n",
                      "\n",
                      "UsersPager pager = new UsersPager(userManagementService, listUsersOptions);\n",
                      "List<UserProfile> allResults = new ArrayList<>();\n",
                      "while (pager.hasNext()) {\n",
                      "  List<UserProfile> nextPage = pager.getNext();\n",
                      "  allResults.addAll(nextPage);\n",
                      "}\n",
                      "\n",
                      "System.out.println(GsonSingleton.getGson().toJson(allResults));"
                    ]
                  }
                ]
              }
            ],
            "node": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "const params = {\n",
                      "  accountId: accountId,\n",
                      "};\n",
                      "\n",
                      "const allResults = [];\n",
                      "try {\n",
                      "  const pager = new UserManagementV1.UsersPager(userManagementService, params);\n",
                      "  while (pager.hasNext()) {\n",
                      "    const nextPage = await pager.getNext();\n",
                      "    expect(nextPage).not.toBeNull();\n",
                      "    allResults.push(...nextPage);\n",
                      "  }\n",
                      "  console.log(JSON.stringify(allResults, null, 2));\n",
                      "} catch (err) {\n",
                      "  console.warn(err);\n",
                      "}"
                    ]
                  }
                ]
              }
            ],
            "python": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "all_results = []\n",
                      "pager = UsersPager(\n",
                      "  client=user_management_service,\n",
                      "  account_id=account_id,\n",
                      ")\n",
                      "while pager.has_next():\n",
                      "  next_page = pager.get_next()\n",
                      "  assert next_page is not None\n",
                      "  all_results.extend(next_page)\n",
                      "\n",
                      "print(json.dumps(all_results, indent=2))"
                    ]
                  }
                ]
              }
            ]
          }
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "user-management.cloud-user.list"
            }
          ]
        },
        "x-ibm-events": {
          "events": [
            {
              "name": "user-management.cloud-user.list"
            }
          ]
        }
      },
      "post": {
        "tags": [
          "Users"
        ],
        "summary": "Invite users to an account",
        "operationId": "invite_users",
        "description": "Invite users to the account. You must use a user token for authorization. Service IDs can't invite users to the account. To use this method, the requesting user must have the editor or administrator role on the User Management service. For more information, see the [Inviting users](https://cloud.ibm.com/docs/account?topic=account-iamuserinv) documentation. You can specify the user account role and the corresponding IAM policy information in the request body. <br/><br/>When you invite a user to an account, the user is initially created in the `PROCESSING` state. After the user is successfully created, all specified permissions are configured, and the activation email is sent, the invited user is transitioned to the `PENDING` state. When the invited user clicks the activation email and creates and confirms their IBM Cloud account, the user is transitioned to `ACTIVE` state. If the user email is already verified, no email is generated.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReqBodyInviteUser"
              }
            }
          }
        },
        "responses": {
          "202": {
            "description": "The user was successfully invited.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvitedUserList"
                },
                "example": {
                  "resources": [
                    {
                      "id": "12000000000000000000000000000001",
                      "email": "cloud_api_example_member@ibm.com",
                      "state": "PROCESSING"
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "409": {
            "$ref": "#/components/responses/Conflict"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "lang": "curl",
                    "source": [
                      "curl -X POST \\\n  https://user-management.cloud.ibm.com/v2/accounts/987d4cfd77b04e9b9e1a6asdcc861234/users \\\n  -H 'Authorization: Bearer <IAM_TOKEN>'\n  -H 'Content-Type: application/json' \\\n    -d '{\n      \"users\": [\n      {\n        \"email\": \"cloud_api_example_member@ibm.com\",\n        \"account_role\": \"Member\"\n      }],\n      \"iam_policy\": [{\n        \"type\": \"access\",\n        \"roles\": [{\n          \"role_id\": \"crn:v1:bluemix:public:iam::::role:Viewer\"\n        }],\n        \"resources\": [{\n          \"attributes\": [{\n              \"name\": \"accountId\",\n              \"value\": \"987d4cfd77b04e9b9e1a6asdcc861234\"\n            },\n            {\n              \"name\": \"resourceType\",\n              \"value\": \"resource-group\"\n            },\n            {\n              \"name\": \"resource\",\n              \"value\": \"2c7449dd871049c29ec3a53853ce123e\"\n            }\n          ]\n        }]\n      }],\n      \"access_groups\":[\n        \"AccessGroupId-******-0f54-4d4f-89c2-e5fdc0b9a28c\",\n        \"AccessGroupId-******-3087-4395-a382-a8e8ff9ccc23\"\n      ]\n    }'"
                    ]
                  }
                ]
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "inviteUserModel := &usermanagementv1.InviteUser{\n",
                      "  Email:       &memberEmail,\n",
                      "  AccountRole: core.StringPtr(\"Member\"),\n",
                      "}\n",
                      "\n",
                      "roleModel := &usermanagementv1.Role{\n",
                      "  RoleID: &viewerRoleID,\n",
                      "}\n",
                      "\n",
                      "attributeModel := &usermanagementv1.Attribute{\n",
                      "  Name:  core.StringPtr(\"accountId\"),\n",
                      "  Value: &accountID,\n",
                      "}\n",
                      "\n",
                      "attributeModel2 := &usermanagementv1.Attribute{\n",
                      "  Name:  core.StringPtr(\"resourceGroupId\"),\n",
                      "  Value: core.StringPtr(\"*\"),\n",
                      "}\n",
                      "\n",
                      "resourceModel := &usermanagementv1.Resource{\n",
                      "  Attributes: []usermanagementv1.Attribute{*attributeModel, *attributeModel2},\n",
                      "}\n",
                      "\n",
                      "inviteUserIamPolicyModel := &usermanagementv1.InviteUserIamPolicy{\n",
                      "  Type:      core.StringPtr(\"access\"),\n",
                      "  Roles:     []usermanagementv1.Role{*roleModel},\n",
                      "  Resources: []usermanagementv1.Resource{*resourceModel},\n",
                      "}\n",
                      "\n",
                      "inviteUsersOptions := &usermanagementv1.InviteUsersOptions{\n",
                      "  AccountID:    &accountID,\n",
                      "  Users:        []usermanagementv1.InviteUser{*inviteUserModel},\n",
                      "  IamPolicy:    []usermanagementv1.InviteUserIamPolicy{*inviteUserIamPolicyModel},\n",
                      "  AccessGroups: []string{accessGroupID},\n",
                      "}\n",
                      "\n",
                      "invitedUserList, response, err := userManagementAdminService.InviteUsers(inviteUsersOptions)\n",
                      "if err != nil {\n",
                      "  panic(err)\n",
                      "}\n",
                      "b, _ := json.MarshalIndent(invitedUserList, \"\", \"  \")\n",
                      "fmt.Println(string(b))"
                    ]
                  }
                ]
              }
            ],
            "java": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "InviteUser inviteUserModel = new InviteUser.Builder()\n",
                      "        .email(memberEmail)\n",
                      "        .accountRole(\"Member\")\n",
                      "        .build();\n",
                      "\n",
                      "Role roleModel = new Role.Builder()\n",
                      "        .roleId(viewerRoleId)\n",
                      "        .build();\n",
                      "\n",
                      "Attribute attributeModel = new Attribute.Builder()\n",
                      "        .name(\"accountId\")\n",
                      "        .value(accountId)\n",
                      "        .build();\n",
                      "\n",
                      "Attribute attributeModel2 = new Attribute.Builder()\n",
                      "        .name(\"resourceGroupId\")\n",
                      "        .value(\"*\")\n",
                      "        .build();\n",
                      "\n",
                      "Resource resourceModel = new Resource.Builder()\n",
                      "        .addAttributes(attributeModel)\n",
                      "        .addAttributes(attributeModel2)\n",
                      "        .build();\n",
                      "\n",
                      "InviteUserIamPolicy inviteUserIamPolicyModel = new InviteUserIamPolicy.Builder()\n",
                      "        .type(\"access\")\n",
                      "        .addRoles(roleModel)\n",
                      "        .addResources(resourceModel)\n",
                      "        .build();\n",
                      "\n",
                      "InviteUsersOptions inviteUsersOptions = new InviteUsersOptions.Builder()\n",
                      "        .accountId(accountId)\n",
                      "        .addUsers(inviteUserModel)\n",
                      "        .addIamPolicy(inviteUserIamPolicyModel)\n",
                      "        .addAccessGroups(accessGroupId)\n",
                      "        .build();\n",
                      "\n",
                      "Response<InvitedUserList> response = userManagementServiceAdmin.inviteUsers(inviteUsersOptions).execute();\n",
                      "InvitedUserList invitedUserList = response.getResult();\n",
                      "\n",
                      "System.out.println(invitedUserList);"
                    ]
                  }
                ]
              }
            ],
            "node": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "const inviteUserModel = {\n",
                      "  email: memberEmail,\n",
                      "  account_role: 'Member',\n",
                      "};\n",
                      "\n",
                      "const roleModel = {\n",
                      "  role_id: viewerRoleId,\n",
                      "};\n",
                      "\n",
                      "const attributeModel = {\n",
                      "  name: 'accountId',\n",
                      "  value: accountId,\n",
                      "};\n",
                      "\n",
                      "const attributeModel2 = {\n",
                      "  name: 'resourceGroupId',\n",
                      "  value: '*',\n",
                      "};\n",
                      "\n",
                      "const resourceModel = {\n",
                      "  attributes: [attributeModel, attributeModel2],\n",
                      "};\n",
                      "\n",
                      "const inviteUserIamPolicyModel = {\n",
                      "  type: 'access',\n",
                      "  roles: [roleModel],\n",
                      "  resources: [resourceModel],\n",
                      "};\n",
                      "\n",
                      "const params = {\n",
                      "  accountId: accountId,\n",
                      "  users: [inviteUserModel],\n",
                      "  iamPolicy: [inviteUserIamPolicyModel],\n",
                      "  accessGroups: [accessGroupId],\n",
                      "};\n",
                      "\n",
                      "try {\n",
                      "  const res = await userManagementAdminService.inviteUsers(params);\n",
                      "  deleteUserId = res.result.resources[0].id;\n",
                      "  console.log(JSON.stringify(res.result, null, 2));\n",
                      "} catch (err) {\n",
                      "  console.warn(err);\n",
                      "}"
                    ]
                  }
                ]
              }
            ],
            "python": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "invite_user_model = {\n",
                      "  'email': member_email,\n",
                      "  'account_role': 'Member'\n",
                      "}\n",
                      "\n",
                      "role_model = {'role_id': viewer_role_id}\n",
                      "\n",
                      "attribute_model = {'name': 'accountId', 'value': account_id}\n",
                      "\n",
                      "attribute_model2 = {'name': 'resourceGroupId', 'value': '*'}\n",
                      "\n",
                      "resource_model = {'attributes': [attribute_model, attribute_model2]}\n",
                      "\n",
                      "invite_user_iam_policy_model = {\n",
                      "  'type': 'access',\n",
                      "  'roles': [role_model],\n",
                      "  'resources': [resource_model]\n",
                      "}\n",
                      "\n",
                      "invite_user_response = user_management_admin_service.invite_users(\n",
                      "  account_id=account_id,\n",
                      "  users=[invite_user_model],\n",
                      "  iam_policy=[invite_user_iam_policy_model],\n",
                      "  access_groups=[access_group_id]\n",
                      ").get_result()\n",
                      "\n",
                      "print(json.dumps(invite_user_response, indent=2))"
                    ]
                  }
                ]
              }
            ]
          }
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "user-management.user.create"
            }
          ]
        },
        "x-ibm-events": {
          "events": [
            {
              "name": "user-management.user.create"
            }
          ]
        }
      },
      "delete": {
        "tags": [
          "Users"
        ],
        "summary": "Remove user from account by user ID or email",
        "operationId": "remove_user_by_email_or_id",
        "description": "Remove a user from an account by user ID or by email and realm. You must use a user token for authorization.  Service IDs can't remove users from an account. The request must contain either the user ID or email in the query parameters. This method removes only a single user. If multiple users found for the given query, a bad request returns.  The requesting user must have the editor or administrator role on the User Management service.  For more information, see [Removing users](https://cloud.ibm.com/docs/account?topic=account-remove).",
        "parameters": [
          {
            "name": "user_id",
            "description": "The ID of the user that you want to remove from the account. Either user_id or email is required. To get the user_id of users in your account, [list users](https://cloud.ibm.com/apidocs/user-management#list-users).",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "email",
            "description": "The email address of the user that you want to remove. Either email or user_id is required.",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "realm",
            "description": "The realm of the user that you want to remove. The realm identifies the provider of the user, such as IBMid or an external identity provider. For more information, see [Users](https://cloud.ibm.com/docs/account?topic=account-identity-overview#users-bestpract)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "The user was removed successfully."
          },
          "400": {
            "$ref": "#/components/responses/InvalidPayload"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "lang": "curl",
                    "source": [
                      "curl -X DELETE \\\n  https://user-management.cloud.ibm.com/v2/accounts/987d4cfd77b04e9b9e1a6asdcc861234/users?user_id=user%40ibm.com&email=user.email%40ibm.com&realm=ibmid \\\n  -H 'Authorization: Bearer <IAM_TOKEN>' \\\n  -H 'Content-Type: application/json'"
                    ]
                  }
                ]
              }
            ]
          }
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "user-management.user.delete"
            }
          ]
        },
        "x-ibm-events": {
          "events": [
            {
              "name": "user-management.user.delete"
            }
          ]
        }
      }
    },
    "/v2/accounts/{account_id}/users/{iam_id}": {
      "parameters": [
        {
          "name": "account_id",
          "description": "The account ID of the specified user.",
          "in": "path",
          "required": true,
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "iam_id",
          "description": "The user's IAM ID.",
          "in": "path",
          "required": true,
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "include_activity",
          "description": "Include activity information of the user, such as the last authentication timestamp.",
          "in": "query",
          "required": false,
          "schema": {
            "type": "string"
          }
        }
      ],
      "get": {
        "tags": [
          "Users"
        ],
        "summary": "Get user profile",
        "operationId": "get_user_profile",
        "description": "Retrieve a user's profile by the user's IAM ID in your account. You can use the IAM service token or a user token for authorization. To use this method, the requesting user or service ID must have at least the viewer, editor, or administrator role on the User Management service.",
        "responses": {
          "200": {
            "description": "The user was returned successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserProfile"
                },
                "example": {
                  "id": "83699daa4a0d4647b6bef17f9f73c1234",
                  "iam_id": "IBMid-1000000000",
                  "realm": "IBMid",
                  "user_id": "cloud_api_example@ibm.com",
                  "firstname": "firstname",
                  "lastname": "lastname",
                  "state": "ACTIVE",
                  "email": "cloud_api_example@ibm.com",
                  "phonenumber": "1234567890",
                  "altphonenumber": "1234567891",
                  "photo": "https://32a7b.https.cdn.softlayer.net/8032A7B/dal05.objectstorage.softlayer.net/v1/AUTH_f2968d51-d955-4506-8fc5-7345a06eb123/bluemix-photos/",
                  "account_id": "987d4cfd77b04e9b9e1a6asdcc861234",
                  "added_on": "2019-02-13T00:56:59.266Z"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "lang": "curl",
                    "source": [
                      "curl -X GET \\\n  https://user-management.cloud.ibm.com/v2/accounts/987d4cfd77b04e9b9e1a6asdcc861234/users/IBMid-1000000000 \\\n  -H 'Authorization: Bearer <IAM_TOKEN>' \\"
                    ]
                  }
                ]
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "getUserProfileOptions := userManagementService.NewGetUserProfileOptions(\n",
                      "  accountID,\n",
                      "  userID,\n",
                      ")\n",
                      "\n",
                      "userProfile, response, err := userManagementService.GetUserProfile(getUserProfileOptions)\n",
                      "if err != nil {\n",
                      "  panic(err)\n",
                      "}\n",
                      "b, _ := json.MarshalIndent(userProfile, \"\", \"  \")\n",
                      "fmt.Println(string(b))"
                    ]
                  }
                ]
              }
            ],
            "java": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "GetUserProfileOptions getUserProfileOptions = new GetUserProfileOptions.Builder()\n",
                      "  .accountId(accountId)\n",
                      "  .iamId(userId)\n",
                      "  .build();\n",
                      "\n",
                      "Response<UserProfile> response = userManagementService.getUserProfile(getUserProfileOptions).execute();\n",
                      "UserProfile userProfile = response.getResult();\n",
                      "\n",
                      "System.out.println(userProfile);"
                    ]
                  }
                ]
              }
            ],
            "node": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "const params = {\n",
                      "  accountId: accountId,\n",
                      "  iamId: userId,\n",
                      "};\n",
                      "\n",
                      "try {\n",
                      "  const res = await userManagementService.getUserProfile(params);\n",
                      "  console.log(JSON.stringify(res.result, null, 2));\n",
                      "} catch (err) {\n",
                      "  console.warn(err);\n",
                      "}"
                    ]
                  }
                ]
              }
            ],
            "python": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "user_profile = user_management_service.get_user_profile(\n",
                      "  account_id=account_id,\n",
                      "  iam_id=user_id,\n",
                      ").get_result()\n",
                      "\n",
                      "print(json.dumps(user_profile, indent=2))"
                    ]
                  }
                ]
              }
            ]
          }
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "user-management.user.read"
            }
          ]
        },
        "x-ibm-events": {
          "events": [
            {
              "name": "user-management.user.read"
            }
          ]
        }
      },
      "patch": {
        "tags": [
          "Users"
        ],
        "summary": "Partially update user profile",
        "operationId": "update_user_profile",
        "description": "The payload allows updates to a user's basic profile information. However, when a user's basic profile is updated, the system always relies on the user's IBMid profile information (such as name, email address, and phone numbers). Although the payload includes fields like name and email for users who are managed by IBMid, the values are always sourced from the IBMid profile. If the user provides any values that are different from the IBMid profile information, the IBMid profile data takes precedence, and the incoming customer-provided data is ignored.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReqBodyUserProfilePatch"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "The user profile was updated successfully."
          },
          "400": {
            "$ref": "#/components/responses/InvalidPayload"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "lang": "curl",
                    "source": [
                      "curl -X PATCH \\\n  https://user-management.cloud.ibm.com/v2/accounts/987d4cfd77b04e9b9e1a6asdcc861234/users/IBMid-1000000000 \\\n  -H 'Authorization: Bearer <IAM_TOKEN>' \\\n  -H 'Content-Type: application/json' \\\n    -d '{\n      \"firstname\": \"TEST1\"\n    }'"
                    ]
                  }
                ]
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "updateUserProfileOptions := userManagementService.NewUpdateUserProfileOptions(\n",
                      "  accountID,\n",
                      "  userID,\n",
                      ")\n",
                      "updateUserProfileOptions.SetPhonenumber(\"123456789\")\n",
                      "\n",
                      "response, err := userManagementService.UpdateUserProfile(updateUserProfileOptions)\n",
                      "if err != nil {\n",
                      "  panic(err)\n",
                      "}"
                    ]
                  }
                ]
              }
            ],
            "java": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "UpdateUserProfileOptions updateUserProfileOptions = new UpdateUserProfileOptions.Builder()\n",
                      "  .accountId(accountId)\n",
                      "  .iamId(userId)\n",
                      "  .phonenumber(\"123456789\")\n",
                      "  .build();\n",
                      "\n",
                      "Response<Void> response = userManagementService.updateUserProfile(updateUserProfileOptions).execute();"
                    ]
                  }
                ]
              }
            ],
            "node": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "const params = {\n",
                      "  accountId: accountId,\n",
                      "  iamId: userId,\n",
                      "  phonenumber: '123456789',\n",
                      "};\n",
                      "\n",
                      "try {\n",
                      "  await userManagementService.updateUserProfile(params);\n",
                      "} catch (err) {\n",
                      "  console.warn(err);\n",
                      "}"
                    ]
                  }
                ]
              }
            ],
            "python": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "response = user_management_service.update_user_profile(\n",
                      "  account_id=account_id,\n",
                      "  iam_id=user_id,\n",
                      "  phonenumber='123456789',\n",
                      ").get_result()\n",
                      "\n",
                      "print(json.dumps(response, indent=2))"
                    ]
                  }
                ]
              }
            ]
          }
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "user-management.user.update"
            }
          ]
        },
        "x-ibm-events": {
          "events": [
            {
              "name": "user-management.user.update"
            }
          ]
        }
      },
      "delete": {
        "tags": [
          "Users"
        ],
        "summary": "Remove user from account",
        "operationId": "remove_user",
        "description": "Remove users from an account by user's IAM ID. You must use a user token for authorization. Service IDs can't remove users from an account. To use this method, the requesting user must have the editor or administrator role on the User Management service. For more information, see the [Removing users](https://cloud.ibm.com/docs/account?topic=account-remove) documentation.",
        "responses": {
          "204": {
            "description": "The user was removed successfully."
          },
          "400": {
            "$ref": "#/components/responses/InvalidPayload"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "lang": "curl",
                    "source": [
                      "curl -X DELETE \\\n  https://user-management.cloud.ibm.com/v2/accounts/987d4cfd77b04e9b9e1a6asdcc861234/users/IBMid-1000000000 \\\n  -H 'Authorization: Bearer <IAM_TOKEN>' \\\n  -H 'Content-Type: application/json'"
                    ]
                  }
                ]
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "removeUserOptions := userManagementService.NewRemoveUserOptions(\n",
                      "  accountID,\n",
                      "  deleteUserID,\n",
                      ")\n",
                      "\n",
                      "response, err := userManagementAdminService.RemoveUser(removeUserOptions)\n",
                      "if err != nil {\n",
                      "  panic(err)\n",
                      "}"
                    ]
                  }
                ]
              }
            ],
            "java": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "RemoveUserOptions removeUserOptions = new RemoveUserOptions.Builder()\n",
                      "  .accountId(accountId)\n",
                      "  .iamId(deleteUserId)\n",
                      "  .build();\n",
                      "\n",
                      "Response<Void> response = userManagementService.removeUser(removeUserOptions).execute();"
                    ]
                  }
                ]
              }
            ],
            "node": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "const params = {\n",
                      "  accountId: accountId,\n",
                      "  iamId: deleteUserId,\n",
                      "};\n",
                      "\n",
                      "try {\n",
                      "  await userManagementAdminService.removeUser(params);\n",
                      "} catch (err) {\n",
                      "  console.warn(err);\n",
                      "}"
                    ]
                  }
                ]
              }
            ],
            "python": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "response = user_management_admin_service.remove_user(\n",
                      "  account_id=account_id,\n",
                      "  iam_id=delete_user_id,\n",
                      ").get_result()\n",
                      "\n",
                      "print(json.dumps(response, indent=2))"
                    ]
                  }
                ]
              }
            ]
          }
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "user-management.user.delete"
            }
          ]
        },
        "x-ibm-events": {
          "events": [
            {
              "name": "user-management.user.delete"
            }
          ]
        }
      }
    },
    "/v2/users/accept": {
      "post": {
        "tags": [
          "Users"
        ],
        "summary": "Accept an invitation",
        "operationId": "accept",
        "description": "Accept a user invitation to an account. You can use the user's token for authorization. To use this method, the requesting user must provide the account ID for the account that they are accepting an invitation for. If the user already accepted the invitation request, it returns 204 with no response body.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReqBodyAcceptUser"
              }
            }
          }
        },
        "responses": {
          "202": {
            "description": "The request was accepted."
          },
          "400": {
            "$ref": "#/components/responses/InvalidPayload"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "lang": "curl",
                    "source": [
                      "curl -X POST \\\n  https://user-management.cloud.ibm.com/v2/users/accept \\\n  -H 'Authorization: Bearer <IAM_TOKEN>' \\\n  -H 'Content-Type: application/json' \\\n    -d  '{\n        \"account_id\": \"<Account ID>\"\n      }'"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/v3/accounts/{account_id}/users/{iam_id}": {
      "parameters": [
        {
          "name": "account_id",
          "description": "The account ID of the specified user.",
          "in": "path",
          "required": true,
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "iam_id",
          "description": "The user's IAM ID.",
          "in": "path",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ],
      "delete": {
        "tags": [
          "Users"
        ],
        "summary": "Remove user from account (Asynchronous)",
        "operationId": "v3_remove_user",
        "description": "Remove users from an account by using the user's IAM ID. You must use a user token for authorization. Service IDs can't remove users from an account. If removing the user fails it will set the user's state to ERROR_WHILE_DELETING. To use this method, the requesting user must have the editor or administrator role on the User Management service. For more information, see the [Removing users](https://cloud.ibm.com/docs/account?topic=account-remove) documentation.",
        "responses": {
          "202": {
            "description": "The request was accepted."
          },
          "400": {
            "$ref": "#/components/responses/InvalidPayload"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "lang": "curl",
                    "source": [
                      "curl -X DELETE \\\n  https://user-management.cloud.ibm.com/v3/accounts/987d4cfd77b04e9b9e1a6asdcc861234/users/IBMid-1000000000 \\\n  -H 'Authorization: Bearer <IAM_TOKEN>' \\\n  -H 'Content-Type: application/json'"
                    ]
                  }
                ]
              }
            ]
          }
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "user-management.user.delete"
            }
          ]
        },
        "x-ibm-events": {
          "events": [
            {
              "name": "user-management.user.delete"
            }
          ]
        }
      }
    },
    "/v2/accounts/{account_id}/users_bulk_delete": {
      "parameters": [
        {
          "name": "account_id",
          "description": "The account ID of the specified users.",
          "in": "path",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ],
      "post": {
        "tags": [
          "Users"
        ],
        "summary": "Bulk remove users from account",
        "operationId": "v2_bulk_remove_user",
        "description": "Bulk remove users from an account by specifying the users' IAM IDs. The API supports removing up to 50 users at a time. You must use a user token for authorization. Service IDs can't remove users from an account. If a partial failure occurs on deletion, the response is shown in the body. If removing any user fails, it will set the user's state to ERROR_WHILE_DELETING. To use this method, the requesting user must have the editor or administrator role on the User Management service. For more information, see [Removing users](https://cloud.ibm.com/docs/account?topic=account-remove) documentation.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReqBodyBulkUserRemove"
              }
            }
          }
        },
        "responses": {
          "207": {
            "description": "There is a multiple status response. Check the response body.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResBodyBulkUserRemove"
                },
                "example": {
                  "account_id": "a99628bcfb2e40e7b7d6a70412412f",
                  "users": [
                    {
                      "iam_id": "IBMid-06000260JS",
                      "status_code": 204
                    },
                    {
                      "iam_id": "IBMid-MPR1260JS",
                      "trace": "12345678-abcd-1a2b-a1b2-1234567890ab",
                      "errors": [
                        {
                          "code": "error_occurred",
                          "message": "Failed to delete the user"
                        }
                      ],
                      "status_code": 503
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/InvalidPayload"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "lang": "curl",
                    "source": [
                      "curl -X POST \\\n  https://user-management.cloud.ibm.com/v2/accounts/987d4cfd77b04e9b9e1a6asdcc861234/users_bulk_delete \\\n  -H 'Authorization: Bearer <IAM_TOKEN>' \\\n  -H 'Content-Type: application/json' \\\n  -d '{ \"users\": [\"IBMid-123456789\", \"IBMid-123409929\"]}'"
                    ]
                  }
                ]
              }
            ]
          }
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "user-management.user.delete"
            }
          ]
        },
        "x-ibm-events": {
          "events": [
            {
              "name": "user-management.user.bulk-delete"
            }
          ]
        }
      }
    },
    "/v2/accounts/{account_id}/users/{iam_id}/settings": {
      "parameters": [
        {
          "name": "account_id",
          "description": "The account ID of the specified user.",
          "in": "path",
          "required": true,
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "iam_id",
          "description": "The user's IAM ID.",
          "in": "path",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ],
      "get": {
        "tags": [
          "User Settings"
        ],
        "summary": "Get user settings",
        "operationId": "get_user_settings",
        "description": "Retrieve a user's settings by the user's IAM ID. You can use the IAM service token or a user token for authorization. To use this method, the requesting user or service ID must have the viewer, editor, or administrator role on the User Management service. <br/><br/>The user settings have several fields. The `language` field is the language setting for the user interface display language. The `notification_language` field is the language setting for phone and email notifications. The `allowed_ip_addresses` field specifies a list of IP addresses that the user can log in and perform operations from as described in [Allowing specific IP addresses for a user](https://cloud.ibm.com/docs/account?topic=account-ips). For information about the `self_manage` field, review information about the [user-managed login setting](https://cloud.ibm.com/docs/account?topic=account-types).",
        "responses": {
          "200": {
            "description": "The user settings were retrieved successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserSettings"
                },
                "example": {
                  "language": "",
                  "notification_language": "",
                  "allowed_ip_addresses": "111.111.111.111",
                  "self_manage": true
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "lang": "curl",
                    "source": [
                      "curl -X GET \\\n  https://user-management.cloud.ibm.com/v2/accounts/987d4cfd77b04e9b9e1a6asdcc861234/users/IBMid-1000000000/settings \\\n  -H 'Authorization: Bearer <IAM_TOKEN>' \\"
                    ]
                  }
                ]
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "getUserSettingsOptions := userManagementService.NewGetUserSettingsOptions(\n",
                      "  accountID,\n",
                      "  userID,\n",
                      ")\n",
                      "\n",
                      "userSettings, response, err := userManagementService.GetUserSettings(getUserSettingsOptions)\n",
                      "if err != nil {\n",
                      "  panic(err)\n",
                      "}\n",
                      "b, _ := json.MarshalIndent(userSettings, \"\", \"  \")\n",
                      "fmt.Println(string(b))"
                    ]
                  }
                ]
              }
            ],
            "java": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "GetUserSettingsOptions getUserSettingsOptions = new GetUserSettingsOptions.Builder()\n",
                      "  .accountId(accountId)\n",
                      "  .iamId(userId)\n",
                      "  .build();\n",
                      "\n",
                      "Response<UserSettings> response = userManagementService.getUserSettings(getUserSettingsOptions).execute();\n",
                      "UserSettings userSettings = response.getResult();\n",
                      "\n",
                      "System.out.println(userSettings);"
                    ]
                  }
                ]
              }
            ],
            "node": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "const params = {\n",
                      "  accountId: accountId,\n",
                      "  iamId: userId,\n",
                      "};\n",
                      "\n",
                      "try {\n",
                      "  const res = await userManagementService.getUserSettings(params);\n",
                      "  console.log(JSON.stringify(res.result, null, 2));\n",
                      "} catch (err) {\n",
                      "  console.warn(err);\n",
                      "}"
                    ]
                  }
                ]
              }
            ],
            "python": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "user_settings = user_management_service.get_user_settings(\n",
                      "  account_id=account_id,\n",
                      "  iam_id=user_id,\n",
                      ").get_result()\n",
                      "\n",
                      "print(json.dumps(user_settings, indent=2))"
                    ]
                  }
                ]
              }
            ]
          }
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "user-management.user-setting.read"
            }
          ]
        },
        "x-ibm-events": {
          "events": [
            {
              "name": "user-management.user-setting.read"
            }
          ]
        }
      },
      "patch": {
        "tags": [
          "User Settings"
        ],
        "summary": "Partially update user settings",
        "operationId": "update_user_settings",
        "description": "Update a user's settings by the user's IAM ID. You can use the IAM service token or a user token for authorization. To fully use this method, the user or service ID must have the editor or administrator role on the User Management service. Without these roles, a user can update only their own `language` or `notification_language` fields. If `self_manage` is `true`, the user can also update the `allowed_ip_addresses` field.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UserSettings"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "The user settings were updated successfully."
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "lang": "curl",
                    "source": [
                      "curl -X PATCH \\\n  https://user-management.cloud.ibm.com/v2/accounts/987d4cfd77b04e9b9e1a6asdcc861234/users/IBMid-1000000000/settings \\\n  -H 'Authorization: Bearer <IAM_TOKEN>' \\\n  -H 'Content-Type: application/json' \\\n    -d '{\n      \"language\": \"en-us\"\n    }'"
                    ]
                  }
                ]
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "updateUserSettingsOptions := userManagementService.NewUpdateUserSettingsOptions(\n",
                      "  accountID,\n",
                      "  userID,\n",
                      ")\n",
                      "updateUserSettingsOptions.SetSelfManage(true)\n",
                      "updateUserSettingsOptions.SetAllowedIPAddresses(\"192.168.0.2,192.168.0.3\")\n",
                      "\n",
                      "response, err := userManagementService.UpdateUserSettings(updateUserSettingsOptions)\n",
                      "if err != nil {\n",
                      "  panic(err)\n",
                      "}"
                    ]
                  }
                ]
              }
            ],
            "java": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "UpdateUserSettingsOptions updateUserSettingsOptions = new UpdateUserSettingsOptions.Builder()\n",
                      "  .accountId(accountId)\n",
                      "  .iamId(userId)\n",
                      "  .selfManage(true)\n",
                      "  .allowedIpAddresses(\"192.168.0.2,192.168.0.3\")\n",
                      "  .build();\n",
                      "\n",
                      "Response<Void> response = userManagementService.updateUserSettings(updateUserSettingsOptions).execute();"
                    ]
                  }
                ]
              }
            ],
            "node": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "const params = {\n",
                      "  accountId: accountId,\n",
                      "  iamId: userId,\n",
                      "  selfManage: true,\n",
                      "  allowedIpAddresses: '192.168.0.2,192.168.0.3',\n",
                      "};\n",
                      "\n",
                      "try {\n",
                      "  await userManagementService.updateUserSettings(params);\n",
                      "} catch (err) {\n",
                      "  console.warn(err);\n",
                      "}"
                    ]
                  }
                ]
              }
            ],
            "python": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "response = user_management_service.update_user_settings(\n",
                      "  account_id=account_id,\n",
                      "  iam_id=user_id,\n",
                      "  self_manage=True,\n",
                      "  allowed_ip_addresses='192.168.0.2,192.168.0.3',\n",
                      ").get_result()\n",
                      "\n",
                      "print(json.dumps(response, indent=2))"
                    ]
                  }
                ]
              }
            ]
          }
        },
        "x-ibm-permissions": {
          "actions": [
            {
              "name": "user-management.user-setting.update"
            }
          ]
        },
        "x-ibm-events": {
          "events": [
            {
              "name": "user-management.user-setting.update"
            }
          ]
        }
      }
    }
  },
  "components": {
    "responses": {
      "InvalidPayload": {
        "description": "The request has an invalid payload.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ErrorCollection"
            }
          }
        }
      },
      "Unauthorized": {
        "description": "Your access token is not valid, or the authenication of your token failed.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ErrorCollection"
            }
          }
        }
      },
      "Forbidden": {
        "description": "Your access token is valid, but it does not have the necessary permissions to access this resource.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ErrorCollection"
            }
          }
        }
      },
      "NotFound": {
        "description": "The resource could not be found.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ErrorCollection"
            }
          }
        }
      },
      "Conflict": {
        "description": "An invitation for this user is already in progress. Please wait for the current request to complete before submitting another one.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ErrorCollection"
            }
          }
        }
      },
      "InternalServerError": {
        "description": "Your request could not be processed. Try again later. If the problem persists, note the `transaction-id` in the response header and contact [IBM Cloud support](https://cloud.ibm.com/unifiedsupport/supportcenter)."
      },
      "ServiceUnavailable": {
        "description": "Your request could not be processed. Try again later. If the problem persists, note the `transaction-id` in the response header and contact [IBM Cloud support](https://cloud.ibm.com/unifiedsupport/supportcenter)."
      }
    },
    "securitySchemes": {
      "IAM": {
        "type": "apiKey",
        "name": "Authorization",
        "description": "Your IBM Cloud IAM access token.",
        "in": "header"
      }
    },
    "schemas": {
      "ErrorCollection": {
        "description": "Collection of errors",
        "properties": {
          "error_code": {
            "description": "The error code encountered.",
            "type": "string"
          },
          "message": {
            "description": "The error message.",
            "type": "string"
          },
          "status_code": {
            "description": "The status code.",
            "type": "string"
          },
          "transaction_id": {
            "description": "The transaction-id of the request.",
            "type": "string"
          }
        }
      },
      "ReqBodyInviteUser": {
        "description": "Request body to invite a user.",
        "type": "object",
        "required": [
          "users"
        ],
        "properties": {
          "users": {
            "description": "A list of users to be invited.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/inviteUser"
            }
          },
          "iam_policy": {
            "description": "A list of IAM policies.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/inviteUserIamPolicy"
            }
          },
          "access_groups": {
            "description": "A list of access groups.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/invitedUserAccessGroup"
            }
          }
        }
      },
      "ReqBodyAcceptUser": {
        "description": "Request body to accept an invitation.",
        "type": "object",
        "properties": {
          "account_id": {
            "description": "The account ID.",
            "type": "string"
          }
        }
      },
      "ReqBodyUserProfilePatch": {
        "description": "Request body to update a user profile.",
        "type": "object",
        "properties": {
          "firstname": {
            "description": "The first name of the user.",
            "type": "string"
          },
          "lastname": {
            "description": "The last name of the user.",
            "type": "string"
          },
          "state": {
            "description": "The state of the user. Possible values are `PROCESSING`, `PENDING`, `ACTIVE`, `DISABLED_CLASSIC_INFRASTRUCTURE`, and `VPN_ONLY`.",
            "type": "string"
          },
          "email": {
            "description": "The email address of the user.",
            "type": "string"
          },
          "phonenumber": {
            "description": "The phone number of the user.",
            "type": "string"
          },
          "altphonenumber": {
            "description": "The alternative phone number of the user.",
            "type": "string"
          }
        }
      },
      "ReqBodyBulkUserRemove": {
        "description": "Request body to bulk remove users.",
        "type": "object",
        "properties": {
          "users": {
            "description": "The list of user IAM IDs",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/bulkRemoveUsers"
            }
          }
        }
      },
      "ResBodyBulkUserRemove": {
        "description": "Response to bulk remove users.",
        "type": "object",
        "properties": {
          "account_id": {
            "description": "An alphanumeric value identifying the account ID.",
            "type": "string"
          },
          "users": {
            "description": "The iam_ids removed from the account.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BulkUserResponseList"
            }
          }
        }
      },
      "BulkUserResponseList": {
        "description": "Returned the user profile.",
        "type": "object",
        "properties": {
          "iam_id": {
            "description": "An alphanumeric value identifying the user's IAM ID.",
            "type": "string"
          },
          "trace": {
            "description": "A transaction-id that can be used for debugging purposes.",
            "type": "string"
          },
          "status_code": {
            "description": "The outcome of the bulk delete user operation on this account ID",
            "type": "string"
          },
          "errors": {
            "description": "A list of errors that occurred when trying to remove a member from the account.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BulkUserResponseError"
            }
          }
        }
      },
      "BulkUserResponseError": {
        "description": "Returned user's error for the bulk delete user operation.",
        "type": "object",
        "properties": {
          "code": {
            "description": "A human-readable error code represented by a snake case string.",
            "type": "string"
          },
          "message": {
            "description": "A specific error message that details the issue or an action to take.",
            "type": "string"
          }
        }
      },
      "UserProfile": {
        "description": "Returned the user profile.",
        "type": "object",
        "properties": {
          "id": {
            "description": "An alphanumeric value identifying the user profile.",
            "type": "string"
          },
          "iam_id": {
            "description": "An alphanumeric value identifying the user's IAM ID.",
            "type": "string"
          },
          "realm": {
            "description": "The realm of the user. The value is either `IBMid` or `SL`.",
            "type": "string"
          },
          "user_id": {
            "description": "The user ID used for login.",
            "type": "string"
          },
          "firstname": {
            "description": "The first name of the user.",
            "type": "string"
          },
          "lastname": {
            "description": "The last name of the user.",
            "type": "string"
          },
          "state": {
            "description": "The state of the user. Possible values are `PROCESSING`, `PENDING`, `ACTIVE`, `DISABLED_CLASSIC_INFRASTRUCTURE`, and `VPN_ONLY`.",
            "type": "string"
          },
          "email": {
            "description": "The email address of the user.",
            "type": "string"
          },
          "phonenumber": {
            "description": "The phone number of the user.",
            "type": "string"
          },
          "altphonenumber": {
            "description": "The alternative phone number of the user.",
            "type": "string"
          },
          "photo": {
            "description": "A link to a photo of the user.",
            "type": "string"
          },
          "account_id": {
            "description": "An alphanumeric value identifying the account ID.",
            "type": "string"
          },
          "added_on": {
            "description": "The timestamp for when the user was added to the account.",
            "type": "string"
          }
        }
      },
      "inviteUser": {
        "description": "Invite a user.",
        "type": "object",
        "properties": {
          "email": {
            "description": "The email of the user to be invited.",
            "type": "string"
          },
          "account_role": {
            "description": "The account role of the user to be invited.",
            "type": "string"
          }
        }
      },
      "inviteUserIamPolicy": {
        "description": "Invite a user to an IAM policy.",
        "type": "object",
        "required": [
          "type"
        ],
        "properties": {
          "type": {
            "description": "The policy type. This can be either \"access\" or \"authorization\".",
            "type": "string"
          },
          "roles": {
            "description": "A list of IAM roles.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/role"
            }
          },
          "resources": {
            "description": "A list of resources.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/resource"
            }
          }
        }
      },
      "invitedUserAccessGroup": {
        "description": "The id of the access_group.",
        "type": "string"
      },
      "role": {
        "description": "The role of an IAM policy.",
        "type": "object",
        "properties": {
          "role_id": {
            "description": "An alphanumeric value identifying the origin.",
            "type": "string"
          }
        }
      },
      "resource": {
        "description": "A collection of attribute value pairs.",
        "properties": {
          "attributes": {
            "description": "A list of IAM attributes.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/attribute"
            }
          }
        }
      },
      "attribute": {
        "description": "An attribute/value pair.",
        "type": "object",
        "properties": {
          "name": {
            "description": "The name of the attribute",
            "type": "string"
          },
          "value": {
            "description": "The value of the attribute",
            "type": "string"
          }
        }
      },
      "UserSettings": {
        "description": "The user settings returned.",
        "type": "object",
        "properties": {
          "language": {
            "description": "The console UI language. By default, this field is empty.",
            "type": "string"
          },
          "notification_language": {
            "description": "The language for email and phone notifications. By default, this field is empty.",
            "type": "string"
          },
          "allowed_ip_addresses": {
            "description": "A comma-separated list of IP addresses.",
            "type": "string",
            "example": "32.96.110.50,172.16.254.1"
          },
          "self_manage": {
            "description": "Whether user managed login is enabled. The default value is `false`.",
            "type": "boolean"
          }
        }
      },
      "UserList": {
        "description": "The users returned.",
        "type": "object",
        "required": [
          "total_results",
          "limit"
        ],
        "properties": {
          "total_results": {
            "description": "The number of users returned.",
            "type": "integer"
          },
          "limit": {
            "description": "A limit to the number of users returned in a page.",
            "type": "integer"
          },
          "first_url": {
            "description": "The first URL of the get users API.",
            "type": "string"
          },
          "next_url": {
            "description": "The next URL of the get users API.",
            "type": "string"
          },
          "resources": {
            "description": "A list of users in the account.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/UserProfile"
            }
          }
        }
      },
      "InvitedUser": {
        "description": "Information about a user that has been invited to join an account.",
        "type": "object",
        "properties": {
          "email": {
            "description": "The email address associated with the invited user.",
            "type": "string"
          },
          "id": {
            "description": "The id associated with the invited user.",
            "type": "string"
          },
          "state": {
            "description": "The state of the invitation for the user.",
            "type": "string"
          }
        }
      },
      "InvitedUserList": {
        "description": "A collection of invited users.  This is the response returned by the invite_users operation.",
        "type": "object",
        "properties": {
          "resources": {
            "description": "The list of users that have been invited to join the account.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InvitedUser"
            }
          }
        }
      },
      "bulkRemoveUsers": {
        "description": "The IAM IDs of users.",
        "type": "string"
      }
    }
  },
  "x-aes-documentation": {
    "customized-codesnippet": [],
    "externalInfo": {
      "buyLink": "",
      "trialLink": ""
    },
    "externalLinks": [],
    "gettingstarted": [],
    "planPayload": []
  },
  "x-ibm-configuration": {
    "enforced": false,
    "testable": true,
    "phase": "realized",
    "cors": {
      "enabled": true
    }
  },
  "x-aes-provider": {
    "altApiBaseUrlObj": {
      "AltApiBaseUrl": "https://user-management.cloud.ibm.com",
      "BaseUrlVar": []
    },
    "apiStatus": "Draft",
    "apiType": "DocFirst",
    "callMethod": "PROXY",
    "cloudCategory": {
      "bluemixList": [],
      "platformList": [
        "bss"
      ],
      "technologyList": [
        "bluemix"
      ]
    },
    "companyName": "",
    "data_URX_id": "",
    "enableTryItOut": "No",
    "languagelist": [
      "Java",
      "JavaScript + jQuery",
      "Node",
      "Shell + curl"
    ],
    "linktoProduct": "",
    "marketPlaceList": [
      "Infrastructure"
    ],
    "namespaceList": [
      "apiexplorer",
      "bluemix"
    ],
    "productImage": "",
    "providerEmail": "mtuteja@us.ibm.com",
    "serviceStatus": "STAGE_PREVIEWs",
    "showPlan": "No",
    "showSwaggerDownload": "No",
    "summary": "User Management",
    "uniqueShortName": "User_management",
    "whoCanEdit": [
      "xiayue@us.ibm.com",
      "chaoren@us.ibm.com",
      "nipun.bayas@ibm.com"
    ]
  }
}