{
  "swagger": "2.0",
  "info": {
    "description": "Manage identity data related to users, groups and roles from your Talend Cloud account.",
    "version": "2021-03",
    "title": "Identities Management",
    "contact": {
      "name": ""
    },
    "license": {
      "name": "Apache License Version 2.0",
      "url": "https://github.com/Talend/tdf-platform-services#license"
    }
  },
  "host": "api.eu.cloud.talend.com",
  "schemes": [
    "https"
  ],
  "paths": {
    "/account/groups": {
      "get": {
        "tags": [
          "Group Management"
        ],
        "summary": "Retrieve a list of filtered groups",
        "operationId": "retrieveGroups",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "nameFilter",
            "in": "query",
            "required": false,
            "type": "string",
            "description": "Name of the entity to be retrieved"
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "type": "integer",
            "description": "Number of the page to be returned. If you put 2, the second page of the query result is returned.",
            "x-example": 2
          },
          {
            "name": "size",
            "in": "query",
            "required": false,
            "type": "integer",
            "description": "Number of retrieved entities on each page. The range is from 1 to 100.",
            "x-example": 50
          }
        ],
        "responses": {
          "200": {
            "description": "Groups was successfully retrieved.",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/Group"
              }
            },
            "headers": {
              "page-first": {
                "type": "boolean",
                "description": "Whether the current page is the first page: \u201ctrue\u201d if it is and \u201cfalse\u201d if it is not",
                "x-example": true
              },
              "page-number": {
                "type": "integer",
                "description": "Current page number",
                "x-example": 1
              },
              "total-elements": {
                "type": "integer",
                "description": "Total number of elements that can be retrieved via API"
              },
              "total-pages": {
                "type": "integer",
                "description": "Number of pages"
              },
              "page-last": {
                "type": "boolean",
                "description": "Whether the current page is the last page: \u201ctrue\u201d if it is and \u201cfalse\u201d if it is not"
              },
              "page-total-elements": {
                "type": "integer",
                "description": "Number of audit logs in the current page"
              }
            }
          },
          "400": {
            "description": "The request URI is invalid."
          },
          "401": {
            "description": "The system failed to authenticate the user. Either the Authorization header was missing or the provided token was incorrect."
          },
          "403": {
            "description": "The system failed to authorize the user. The provided token was recognized but did not have the rights to perform the action. Contact your security administrator to get the appropriate rights."
          },
          "429": {
            "description": "Too many requests were sent. Check the X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset headers."
          },
          "500": {
            "description": "The server encountered an unexpected condition that prevented it from fulfilling the request."
          }
        }
      },
      "post": {
        "tags": [
          "Group Management"
        ],
        "summary": "Register a new group",
        "operationId": "registerANewGroup",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/Group"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "New group was successfully registered.",
            "schema": {
              "$ref": "#/definitions/Group"
            },
            "headers": {
              "Location": {
                "type": "string"
              }
            }
          },
          "400": {
            "description": "The request body is invalid. The cause could vary. For example, at least one user in the list provided cannot be found."
          },
          "401": {
            "description": "The system failed to authenticate the user. Either the Authorization header was missing or the provided token was incorrect."
          },
          "403": {
            "description": "The system failed to authorize the user. The provided token was recognized but did not have the rights to perform the action. Contact your security administrator to get the appropriate rights."
          },
          "409": {
            "description": "The group name is already used."
          },
          "429": {
            "description": "Too many requests were sent. Check the X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset headers."
          },
          "500": {
            "description": "The server encountered an unexpected condition that prevented it from fulfilling the request."
          }
        }
      },
      "x-talend": {
        "section": "Groups"
      }
    },
    "/account/groups/{id}": {
      "get": {
        "tags": [
          "Group Management"
        ],
        "summary": "Retrieve details of a specific group",
        "operationId": "retrieveGroup",
        "produces": [
          "application/json"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "The group was successfully retrieved",
            "schema": {
              "$ref": "#/definitions/Group"
            }
          },
          "400": {
            "description": "The request URI was invalid."
          },
          "401": {
            "description": "The system failed to authenticate the user. Either the Authorization header was missing or the provided token was incorrect."
          },
          "403": {
            "description": "The system failed to authorize the user. The provided token was recognized but did not have the rights to perform the action. Contact your security administrator to get the appropriate rights."
          },
          "404": {
            "description": "The group was not found."
          },
          "429": {
            "description": "Too many requests were sent. Check the X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset headers."
          },
          "500": {
            "description": "The server encountered an unexpected condition that prevented it from fulfilling the request."
          }
        }
      },
      "delete": {
        "tags": [
          "Group Management"
        ],
        "summary": "Delete a group",
        "operationId": "deleteGroup",
        "produces": [
          "application/json"
        ],
        "parameters": [],
        "responses": {
          "204": {
            "description": "The group was successfully deleted.",
            "schema": {
              "type": "object"
            }
          },
          "400": {
            "description": "The request URI was invalid."
          },
          "401": {
            "description": "The system failed to authenticate the user. Either the Authorization header was missing or the provided token was incorrect."
          },
          "403": {
            "description": "The system failed to authorize the user. The provided token was recognized but did not have the rights to perform the action. Contact your security administrator to get the appropriate rights."
          },
          "500": {
            "description": "The server encountered an unexpected condition that prevented it from fulfilling the request."
          }
        }
      },
      "patch": {
        "tags": [
          "Group Management"
        ],
        "summary": "Rename a group",
        "operationId": "renameGroup",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/RenameGroupRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Group was successfully renamed.",
            "schema": {
              "$ref": "#/definitions/Group"
            }
          },
          "400": {
            "description": "The payload was invalid."
          },
          "401": {
            "description": "The system failed to authenticate the user. Either the Authorization header is missing or the provided token is incorrect."
          },
          "403": {
            "description": "The system failed to authorize the user. The provided token was recognized but did not have the rights to perform the action. Contact your security administrator to get the appropriate rights."
          },
          "404": {
            "description": "The group was not found."
          },
          "429": {
            "description": "Too many requests were sent. Check the X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset headers."
          },
          "500": {
            "description": "The server encountered an unexpected condition that prevented it from fulfilling the request."
          }
        }
      },
      "parameters": [
        {
          "name": "id",
          "in": "path",
          "required": true,
          "type": "string",
          "description": "Group id"
        }
      ],
      "x-talend": {
        "section": "Groups"
      }
    },
    "/account/groups/{id}/users": {
      "get": {
        "tags": [
          "Group Management"
        ],
        "summary": "Retrieve users of a specific group",
        "operationId": "retrieveGroupUsers",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "required": false,
            "type": "integer",
            "description": "Number of the page to be returned. If you put 2, the second page of the query result is returned.",
            "x-example": 2
          },
          {
            "name": "size",
            "in": "query",
            "required": false,
            "type": "integer",
            "description": "Number of retrieved entities on each page. The range is from 1 to 100.",
            "x-example": 50
          }
        ],
        "responses": {
          "200": {
            "description": "Users were successfully retrieved from given group",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/UserResponse"
              }
            },
            "headers": {
              "page-first": {
                "type": "boolean",
                "description": "Whether the current page is the first page: \u201ctrue\u201d if it is and \u201cfalse\u201d if it is not",
                "x-example": true
              },
              "page-number": {
                "type": "integer",
                "description": "Current page number",
                "x-example": 1
              },
              "total-elements": {
                "type": "integer",
                "description": "Total number of elements that can be retrieved via API"
              },
              "total-pages": {
                "type": "integer",
                "description": "Number of pages"
              },
              "page-last": {
                "type": "boolean",
                "description": "Whether the current page is the last page: \u201ctrue\u201d if it is and \u201cfalse\u201d if it is not"
              },
              "page-total-elements": {
                "type": "integer",
                "description": "Number of audit logs in the current page"
              }
            }
          },
          "400": {
            "description": "Request URI was invalid."
          },
          "401": {
            "description": "The system failed to authenticate the user. Either the Authorization header was missing or the provided token was incorrect."
          },
          "403": {
            "description": "The system failed to authorize the user. The provided token was recognized but did not have the rights to perform the action. Contact your security administrator to get the appropriate rights."
          },
          "404": {
            "description": "The group was not found."
          },
          "429": {
            "description": "Too many requests were sent. Check the X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset headers."
          },
          "500": {
            "description": "The server encountered an unexpected condition that prevented it from fulfilling the request."
          }
        }
      },
      "post": {
        "tags": [
          "Group Management"
        ],
        "summary": "Assign users to a group if not already in it",
        "operationId": "assignUsersToAGroup",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Users were successfully assigned to the group.",
            "schema": {
              "$ref": "#/definitions/Group"
            }
          },
          "400": {
            "description": "The request or the payload was invalid. For example, at least one user in the list provided does not exist."
          },
          "401": {
            "description": "The system failed to authenticate the user. Either the Authorization header was missing or the provided token was incorrect."
          },
          "403": {
            "description": "The system failed to authorize the user. The provided token was recognized but did not have the rights to perform the action. Contact your security administrator to get the appropriate rights."
          },
          "404": {
            "description": "The group was not found."
          },
          "429": {
            "description": "Too many requests were sent. Check the X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset headers."
          },
          "500": {
            "description": "The server encountered an unexpected condition that prevented it from fulfilling the request."
          }
        }
      },
      "parameters": [
        {
          "name": "id",
          "in": "path",
          "required": true,
          "type": "string",
          "description": "Group id"
        }
      ],
      "x-talend": {
        "section": "Groups"
      }
    },
    "/account/groups/{id}/users/{userId}": {
      "delete": {
        "tags": [
          "Group Management"
        ],
        "summary": "Remove a user from a specific group",
        "operationId": "removeUser",
        "parameters": [],
        "responses": {
          "204": {
            "description": "The user was successfully removed."
          },
          "400": {
            "description": "The request URI is invalid."
          },
          "401": {
            "description": "The system failed to authenticate the user. Either the Authorization header was missing or the provided token was incorrect."
          },
          "403": {
            "description": "The system failed to authorize the user. The provided token was recognized but did not have the rights to perform the action. Contact your security administrator to get the appropriate rights."
          },
          "404": {
            "description": "The group was not found."
          },
          "500": {
            "description": "The system failed to authenticate the user. Either the Authorization header was missing or the provided token was incorrect."
          }
        }
      },
      "parameters": [
        {
          "name": "id",
          "in": "path",
          "required": true,
          "type": "string",
          "description": "Group id"
        },
        {
          "name": "userId",
          "in": "path",
          "required": true,
          "type": "string",
          "description": "User id"
        }
      ],
      "x-talend": {
        "section": "Groups"
      }
    },
    "/account/users": {
      "get": {
        "tags": [
          "User Management"
        ],
        "summary": "Retrieve users",
        "operationId": "retrieveUsers_1",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "required": false,
            "type": "integer",
            "description": "Number of the page to be returned. If you put 2, the second page of the query result is returned.",
            "x-example": 2
          },
          {
            "name": "size",
            "in": "query",
            "required": false,
            "type": "integer",
            "description": "Number of retrieved entities on each page. The range is from 1 to 100.",
            "x-example": 50
          }
        ],
        "responses": {
          "200": {
            "description": "Users are retrieved successfully in the requested. range.",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/UserResponse"
              }
            },
            "headers": {
              "page-first": {
                "type": "boolean",
                "description": "Whether the current page is the first page: \u201ctrue\u201d if it is and \u201cfalse\u201d if it is not",
                "x-example": true
              },
              "page-number": {
                "type": "integer",
                "description": "Current page number",
                "x-example": 1
              },
              "total-elements": {
                "type": "integer",
                "description": "Total number of elements that can be retrieved via API"
              },
              "total-pages": {
                "type": "integer",
                "description": "Number of pages"
              },
              "page-last": {
                "type": "boolean",
                "description": "Whether the current page is the last page: \u201ctrue\u201d if it is and \u201cfalse\u201d if it is not"
              },
              "page-total-elements": {
                "type": "integer",
                "description": "Number of audit logs in the current page"
              }
            }
          },
          "400": {
            "description": "The request body is invalid."
          },
          "401": {
            "description": "The system failed to authenticate the user. Either the Authorization header was missing or the provided token was incorrect."
          },
          "403": {
            "description": "The system failed to authorize the user. The provided token was recognized but did not have the rights to perform the action. Contact your security administrator to get the appropriate rights."
          },
          "429": {
            "description": "Too many requests were sent. Check the X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset headers."
          },
          "500": {
            "description": "The server encountered an unexpected condition that prevented it from fulfilling the request."
          }
        }
      },
      "post": {
        "tags": [
          "User Management"
        ],
        "summary": "Create a new user",
        "operationId": "createANewUser_1",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "invite",
            "in": "query",
            "required": false,
            "type": "boolean",
            "description": "Send invitation email to user",
            "default": true
          },
          {
            "name": "admin",
            "in": "query",
            "required": false,
            "type": "string",
            "description": "Assign admin roles to user",
            "default": "false"
          },
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/User"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "The user was successfully created.",
            "schema": {
              "$ref": "#/definitions/UserResponse"
            }
          },
          "400": {
            "description": "The request body is invalid. The cause could vary."
          },
          "401": {
            "description": "The system failed to authenticate the user. Either the Authorization header was missing or the provided token was incorrect."
          },
          "402": {
            "description": "Action cannot be performed because it would bring your account above the limit allowed by your plan."
          },
          "409": {
            "description": "Provides more information about why the creation ended up in conflict"
          },
          "429": {
            "description": "Too many requests were sent. Check the X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset headers."
          },
          "500": {
            "description": "The server encountered an unexpected condition that prevented it from fulfilling the request."
          }
        }
      },
      "x-talend": {
        "section": "Users"
      }
    },
    "/account/users/{id}": {
      "get": {
        "tags": [
          "User Management"
        ],
        "summary": "Retrieve user details",
        "operationId": "retrieveUserDetails",
        "produces": [
          "application/json"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "The user was successfully retrieved.",
            "schema": {
              "$ref": "#/definitions/UserResponse"
            }
          },
          "400": {
            "description": "The request URI is invalid. The cause could vary."
          },
          "401": {
            "description": "The system failed to authenticate the user. Either the Authorization header was missing or the provided token was incorrect."
          },
          "403": {
            "description": "The system failed to authorize the user. The provided token was recognized but did not have the rights to perform the action. Contact your security administrator to get the appropriate rights."
          },
          "404": {
            "description": "The user was not found."
          },
          "429": {
            "description": "Too many requests were sent. Check the X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset headers."
          },
          "500": {
            "description": "The server encountered an unexpected condition that prevented it from fulfilling the request."
          }
        }
      },
      "put": {
        "tags": [
          "User Management"
        ],
        "summary": "Update a user",
        "operationId": "updateUser_1",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/User"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The user was successfully updated.",
            "schema": {
              "$ref": "#/definitions/UserResponse"
            }
          },
          "400": {
            "description": "The request URI or the request body was invalid."
          },
          "401": {
            "description": "The system failed to authenticate the user. Either the Authorization header was missing or the provided token was incorrect."
          },
          "402": {
            "description": "Action cannot be performed because it would bring your account above the limit allowed by your plan."
          },
          "403": {
            "description": "The system failed to authorize the user. The provided token was recognized but did not have the rights to perform the action. Contact your security administrator to get the appropriate rights."
          },
          "404": {
            "description": "The user was not found."
          },
          "429": {
            "description": "Too many requests were sent. Check the X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset headers."
          },
          "500": {
            "description": "The server encountered an unexpected condition that prevented it from fulfilling the request."
          }
        }
      },
      "delete": {
        "tags": [
          "User Management"
        ],
        "summary": "Delete a user",
        "operationId": "assignUser_1",
        "produces": [
          "application/json"
        ],
        "parameters": [],
        "responses": {
          "204": {
            "description": "The user was successfully deleted.",
            "schema": {
              "type": "object"
            }
          },
          "400": {
            "description": "The request URI is invalid."
          },
          "401": {
            "description": "The system failed to authenticate the user. Either the Authorization header was missing or the provided token was incorrect."
          },
          "403": {
            "description": "The system failed to authorize the user. The provided token was recognized but did not have the rights to perform the action. Contact your security administrator to get the appropriate rights."
          },
          "500": {
            "description": "The server encountered an unexpected condition that prevented it from fulfilling the request."
          }
        }
      },
      "parameters": [
        {
          "name": "id",
          "in": "path",
          "required": true,
          "type": "string",
          "description": "User id"
        }
      ],
      "x-talend": {
        "section": "Users"
      }
    },
    "/account/users/{id}/groups": {
      "get": {
        "tags": [
          "User Management"
        ],
        "summary": "List the groups to which a specific user belongs",
        "operationId": "listUserGroups",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "nameFilter",
            "in": "query",
            "required": false,
            "type": "string",
            "description": "Name of the entity to be retrieved"
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "type": "integer",
            "description": "Number of the page to be returned. If you put 2, the second page of the query result is returned.",
            "x-example": 2
          },
          {
            "name": "size",
            "in": "query",
            "required": false,
            "type": "integer",
            "description": "Number of retrieved entities on each page. The range is from 1 to 100.",
            "x-example": 50
          }
        ],
        "responses": {
          "200": {
            "description": "The list of user groups were successfully retrieved in the requested range.",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/Group"
              }
            },
            "headers": {
              "page-first": {
                "type": "boolean",
                "description": "Whether the current page is the first page: \u201ctrue\u201d if it is and \u201cfalse\u201d if it is not",
                "x-example": true
              },
              "page-number": {
                "type": "integer",
                "description": "Current page number",
                "x-example": 1
              },
              "total-elements": {
                "type": "integer",
                "description": "Total number of elements that can be retrieved via API"
              },
              "total-pages": {
                "type": "integer",
                "description": "Number of pages"
              },
              "page-last": {
                "type": "boolean",
                "description": "Whether the current page is the last page: \u201ctrue\u201d if it is and \u201cfalse\u201d if it is not"
              },
              "page-total-elements": {
                "type": "integer",
                "description": "Number of audit logs in the current page"
              }
            }
          },
          "400": {
            "description": "The request URI is invalid. The cause could vary."
          },
          "401": {
            "description": "The system failed to authenticate the user. Either the Authorization header was missing or the provided token was incorrect."
          },
          "403": {
            "description": "The system failed to authorize the user. The provided token was recognized but did not have the rights to perform the action. Contact your security administrator to get the appropriate rights."
          },
          "404": {
            "description": "The user was not found."
          },
          "429": {
            "description": "Too many requests were sent. Check the X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset headers."
          },
          "500": {
            "description": "The server encountered an unexpected condition that prevented it from fulfilling the request."
          }
        }
      },
      "post": {
        "tags": [
          "User Management"
        ],
        "summary": "Add a specific user to the specified groups",
        "operationId": "addUserToGroups",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The user was successfully added to the specified groups.",
            "schema": {
              "$ref": "#/definitions/UserResponse"
            }
          },
          "400": {
            "description": "The provided data is not correct. Ensure that all the specified groups exist."
          },
          "401": {
            "description": "The system failed to authenticate the user. Either the Authorization header was missing or the provided token was incorrect."
          },
          "403": {
            "description": "The system failed to authorize the user. The provided token was recognized but did not have the rights to perform the action. Contact your security administrator to get the appropriate rights."
          },
          "404": {
            "description": "The user was not found."
          },
          "429": {
            "description": "Too many requests were sent. Check the X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset headers."
          },
          "500": {
            "description": "The server encountered an unexpected condition that prevented it from fulfilling the request."
          }
        }
      },
      "parameters": [
        {
          "name": "id",
          "in": "path",
          "required": true,
          "type": "string",
          "description": "User id"
        }
      ],
      "x-talend": {
        "section": "Users"
      }
    },
    "/account/users/{id}/groups/{groupId}": {
      "delete": {
        "tags": [
          "User Management"
        ],
        "summary": "Remove a given user from a specific group",
        "operationId": "removeUserFromGroup",
        "parameters": [],
        "responses": {
          "204": {
            "description": "The user was successfully removed."
          },
          "400": {
            "description": "The request URI was invalid."
          },
          "401": {
            "description": "The system failed to authenticate the user. Either the Authorization header was missing or the provided token was incorrect."
          },
          "403": {
            "description": "The system failed to authorize the user. The provided token was recognized but did not have the rights to perform the action. Contact your security administrator to get the appropriate rights."
          },
          "404": {
            "description": "The user was not found."
          },
          "500": {
            "description": "The server encountered an unexpected condition that prevented it from fulfilling the request."
          }
        }
      },
      "parameters": [
        {
          "name": "id",
          "in": "path",
          "required": true,
          "type": "string",
          "description": "User id"
        },
        {
          "name": "groupId",
          "in": "path",
          "required": true,
          "type": "string",
          "description": "Group id"
        }
      ],
      "x-talend": {
        "section": "Users"
      }
    },
    "/account/users/{id}/roles": {
      "get": {
        "tags": [
          "User Management"
        ],
        "summary": "List the roles assigned to a specific user",
        "operationId": "listUserRoles",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "required": false,
            "type": "integer",
            "description": "Number of the page to be returned. If you put 2, the second page of the query result is returned.",
            "x-example": 2
          },
          {
            "name": "size",
            "in": "query",
            "required": false,
            "type": "integer",
            "description": "Number of retrieved entities on each page. The range is from 1 to 100.",
            "x-example": 50
          }
        ],
        "responses": {
          "200": {
            "description": "The user roles were successfully retrieved in the requested range.",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/Role"
              }
            },
            "headers": {
              "page-first": {
                "type": "boolean",
                "description": "Whether the current page is the first page: \u201ctrue\u201d if it is and \u201cfalse\u201d if it is not",
                "x-example": true
              },
              "page-number": {
                "type": "integer",
                "description": "Current page number",
                "x-example": 1
              },
              "total-elements": {
                "type": "integer",
                "description": "Total number of elements that can be retrieved via API"
              },
              "total-pages": {
                "type": "integer",
                "description": "Number of pages"
              },
              "page-last": {
                "type": "boolean",
                "description": "Whether the current page is the last page: \u201ctrue\u201d if it is and \u201cfalse\u201d if it is not"
              },
              "page-total-elements": {
                "type": "integer",
                "description": "Number of audit logs in the current page"
              }
            }
          },
          "400": {
            "description": "The request URI is invalid."
          },
          "401": {
            "description": "The system failed to authenticate the user. Either the Authorization header was missing or the provided token was incorrect."
          },
          "403": {
            "description": "The system failed to authorize the user. The provided token was recognized but did not have the rights to perform the action. Contact your security administrator to get the appropriate rights."
          },
          "404": {
            "description": "The user was not found."
          },
          "429": {
            "description": "Too many requests were sent. Check the X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset headers."
          },
          "500": {
            "description": "The server encountered an unexpected condition that prevented it from fulfilling the request."
          }
        }
      },
      "post": {
        "tags": [
          "User Management"
        ],
        "summary": "Assign roles to a specific user",
        "operationId": "assignRoles",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "type": "array",
              "description": "The format to be used is `[\"role_id_1\",\"role_id_2\"]`.",
              "items": {
                "type": "string"
              }
            },
            "x-examples": {
              "application/json": " [\n \"ab3f667f-6786-43b4-b51c-47cc0de5699c\",\n  \"a3461557-8ee1-4321-ba40-860e7151fc51\"\n]"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The roles were successfully assigned to the specified user.",
            "schema": {
              "$ref": "#/definitions/UserResponse"
            }
          },
          "400": {
            "description": "The request body is invalid. The cause could vary. For example, at least one role in the list provided was not found."
          },
          "401": {
            "description": "The system failed to authenticate the user. Either the Authorization header was missing or the provided token was incorrect."
          },
          "402": {
            "description": "Action cannot be performed because it would bring your account above the limit allowed by your plan."
          },
          "403": {
            "description": "The system failed to authorize the user. The provided token was recognized but did not have the rights to perform the action. Contact your security administrator to get the appropriate rights."
          },
          "404": {
            "description": "The user  was not found."
          },
          "429": {
            "description": "Too many requests were sent. Check the X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset headers."
          },
          "500": {
            "description": "The server encountered an unexpected condition that prevented it from fulfilling the request."
          }
        }
      },
      "parameters": [
        {
          "name": "id",
          "in": "path",
          "required": true,
          "type": "string",
          "description": "User id"
        }
      ],
      "x-talend": {
        "section": "Users"
      }
    },
    "/account/users/{id}/roles/{roleId}": {
      "delete": {
        "tags": [
          "User Management"
        ],
        "summary": "Revoke a role from a specific user",
        "operationId": "removeRole_1",
        "parameters": [],
        "responses": {
          "204": {
            "description": "The role was successfully removed."
          },
          "400": {
            "description": "The request URI is invalid."
          },
          "401": {
            "description": "The system failed to authenticate the user. Either the Authorization header was missing or the provided token was incorrect."
          },
          "403": {
            "description": "The system failed to authorize the user. The provided token was recognized but did not have the rights to perform the action. Contact your security administrator to get the appropriate rights."
          },
          "404": {
            "description": "The user was not found"
          },
          "500": {
            "description": "The server encountered an unexpected condition that prevented it from fulfilling the request."
          }
        }
      },
      "parameters": [
        {
          "name": "id",
          "in": "path",
          "required": true,
          "type": "string",
          "description": "User id"
        },
        {
          "name": "roleId",
          "in": "path",
          "required": true,
          "type": "string",
          "description": "Role id"
        }
      ],
      "x-talend": {
        "section": "Users"
      }
    },
    "/account/roles": {
      "get": {
        "tags": [
          "Role Management"
        ],
        "summary": "Retrieve a list of filtered roles",
        "operationId": "retrieveRoles",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "nameFilter",
            "in": "query",
            "required": false,
            "type": "string",
            "description": "Name of the entity to be retrieved"
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "type": "integer",
            "description": "Number of the page to be returned. If you put 2, the second page of the query result is returned.",
            "x-example": 2
          },
          {
            "name": "size",
            "in": "query",
            "required": false,
            "type": "integer",
            "description": "Number of retrieved entities on each page. The range is from 1 to 100.",
            "x-example": 50
          }
        ],
        "responses": {
          "200": {
            "description": "Roles were successfully retrieved.",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/Role"
              }
            },
            "headers": {
              "page-first": {
                "type": "boolean",
                "description": "Whether the current page is the first page: \u201ctrue\u201d if it is and \u201cfalse\u201d if it is not",
                "x-example": true
              },
              "page-number": {
                "type": "integer",
                "description": "Current page number",
                "x-example": 1
              },
              "total-elements": {
                "type": "integer",
                "description": "Total number of elements that can be retrieved via API"
              },
              "total-pages": {
                "type": "integer",
                "description": "Number of pages"
              },
              "page-last": {
                "type": "boolean",
                "description": "Whether the current page is the last page: \u201ctrue\u201d if it is and \u201cfalse\u201d if it is not"
              },
              "page-total-elements": {
                "type": "integer",
                "description": "Number of audit logs in the current page"
              }
            }
          },
          "400": {
            "description": "The request URI is invalid."
          },
          "401": {
            "description": "The system failed to authenticate the user. Either the Authorization header was missing or the provided token was incorrect."
          },
          "403": {
            "description": "The system failed to authorize the user. The provided token was recognized but did not have the rights to perform the action. Contact your security administrator to get the appropriate rights."
          },
          "429": {
            "description": "Too many requests were sent. Check the X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset headers."
          },
          "500": {
            "description": "The server encountered an unexpected condition that prevented it from fulfilling the request."
          }
        }
      },
      "post": {
        "tags": [
          "Role Management"
        ],
        "summary": "Register a new role",
        "operationId": "registerANewRole",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/Role"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Role was successfully registered",
            "schema": {
              "$ref": "#/definitions/Role"
            },
            "headers": {
              "Location": {
                "type": "string"
              }
            }
          },
          "400": {
            "description": "The request body is invalid. The cause could vary. For example, at least one permission in the list provided was not found."
          },
          "401": {
            "description": "The system failed to authenticate the user. Either the Authorization header was missing or the provided token was incorrect."
          },
          "403": {
            "description": "The system failed to authorize the user. The provided token was recognized but did not have the rights to perform the action. Contact your security administrator to get the appropriate rights."
          },
          "409": {
            "description": "The role name is already used."
          },
          "429": {
            "description": "Too many requests were sent. Check the X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset headers."
          },
          "500": {
            "description": "The server encountered an unexpected condition that prevented it from fulfilling the request."
          }
        }
      },
      "x-talend": {
        "section": "Roles"
      }
    },
    "/account/roles/{id}": {
      "get": {
        "tags": [
          "Role Management"
        ],
        "summary": "Get a role by its id",
        "operationId": "getRoleById",
        "produces": [
          "application/json"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Role was successfully retrieved.",
            "schema": {
              "$ref": "#/definitions/Role"
            }
          },
          "400": {
            "description": "The request URI is invalid."
          },
          "401": {
            "description": "The system failed to authenticate the user. Either the Authorization header was missing or the provided token was incorrect."
          },
          "403": {
            "description": "The system failed to authorize the user. The provided token was recognized but did not have the rights to perform the action. Contact your security administrator to get the appropriate rights."
          },
          "404": {
            "description": "The role was not found."
          },
          "500": {
            "description": "The server encountered an unexpected condition that prevented it from fulfilling the request."
          }
        }
      },
      "put": {
        "tags": [
          "Role Management"
        ],
        "summary": "Update a role",
        "operationId": "updateRole",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/Role"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The role was successfully updated.",
            "schema": {
              "$ref": "#/definitions/Role"
            }
          },
          "400": {
            "description": "The request body is invalid."
          },
          "401": {
            "description": "The system failed to authenticate the user. Either the Authorization header was missing or the provided token was incorrect."
          },
          "403": {
            "description": "The system failed to authorize the user. The provided token was recognized but did not have the rights to perform the action. Contact your security administrator to get the appropriate rights."
          },
          "404": {
            "description": "The role was not found."
          },
          "500": {
            "description": "The server encountered an unexpected condition that prevented it from fulfilling the request."
          }
        }
      },
      "delete": {
        "tags": [
          "Role Management"
        ],
        "summary": "Delete a role",
        "operationId": "assignUser",
        "produces": [
          "application/json"
        ],
        "parameters": [],
        "responses": {
          "204": {
            "description": "The role was successfully deleted.",
            "schema": {
              "type": "object"
            }
          },
          "400": {
            "description": "The request URI is invalid."
          },
          "401": {
            "description": "The system failed to authenticate the user. Either the Authorization header was missing or the provided token was incorrect."
          },
          "403": {
            "description": "The system failed to authorize the user. The provided token was recognized but did not have the rights to perform the action. Contact your security administrator to get the appropriate rights."
          },
          "500": {
            "description": "The server encountered an unexpected condition that prevented it from fulfilling the request."
          }
        }
      },
      "parameters": [
        {
          "name": "id",
          "in": "path",
          "required": true,
          "type": "string",
          "description": "Role id"
        }
      ],
      "x-talend": {
        "section": "Roles"
      }
    },
    "/account/roles/{id}/users": {
      "get": {
        "tags": [
          "Role Management"
        ],
        "summary": "Retrieve users with a specific role",
        "operationId": "retrieveUsers",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "required": false,
            "type": "integer",
            "description": "Number of the page to be returned. If you put 2, the second page of the query result is returned.",
            "x-example": 2
          },
          {
            "name": "size",
            "in": "query",
            "required": false,
            "type": "integer",
            "description": "Number of retrieved entities on each page. The range is from 1 to 100.",
            "x-example": 50
          }
        ],
        "responses": {
          "200": {
            "description": "The role users were successfully retrieved.",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/UserResponse"
              }
            },
            "headers": {
              "page-first": {
                "type": "boolean",
                "description": "Whether the current page is the first page: \u201ctrue\u201d if it is and \u201cfalse\u201d if it is not",
                "x-example": true
              },
              "page-number": {
                "type": "integer",
                "description": "Current page number",
                "x-example": 1
              },
              "total-elements": {
                "type": "integer",
                "description": "Total number of elements that can be retrieved via API"
              },
              "total-pages": {
                "type": "integer",
                "description": "Number of pages"
              },
              "page-last": {
                "type": "boolean",
                "description": "Whether the current page is the last page: \u201ctrue\u201d if it is and \u201cfalse\u201d if it is not"
              },
              "page-total-elements": {
                "type": "integer",
                "description": "Number of audit logs in the current page"
              }
            }
          },
          "400": {
            "description": "The request is invalid"
          },
          "401": {
            "description": "IThe system failed to authenticate the user. Either the Authorization header was missing or the provided token was incorrect."
          },
          "403": {
            "description": "The system failed to authorize the user. The provided token was recognized but did not have the rights to perform the action. Contact your security administrator to get the appropriate rights."
          },
          "404": {
            "description": "The role was not found."
          },
          "429": {
            "description": "Too many requests were sent. Check the X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset headers."
          },
          "500": {
            "description": "The server encountered an unexpected condition that prevented it from fulfilling the request."
          }
        }
      },
      "post": {
        "tags": [
          "Role Management"
        ],
        "summary": "Assign role to users",
        "operationId": "assignRoleToUsers",
        "consumes": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Users were successfully updated."
          },
          "400": {
            "description": "The request body is invalid. The cause could vary, fore example, at least one user was not found."
          },
          "401": {
            "description": "The system failed to authenticate the user. Either the Authorization header was missing or the provided token was incorrect."
          },
          "402": {
            "description": "Action cannot be performed because it would bring your account above the limit allowed by your plan."
          },
          "403": {
            "description": "The system failed to authorize the user. The provided token was recognized but did not have the rights to perform the action. Contact your security administrator to get the appropriate rights."
          },
          "404": {
            "description": "The role was not found."
          },
          "429": {
            "description": "Too many requests were sent. Check the X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset headers."
          },
          "500": {
            "description": "The server encountered an unexpected condition that prevented it from fulfilling the request."
          }
        }
      },
      "parameters": [
        {
          "name": "id",
          "in": "path",
          "required": true,
          "type": "string",
          "description": "Role id"
        }
      ],
      "x-talend": {
        "section": "Roles"
      }
    },
    "/account/roles/{id}/users/{userId}": {
      "delete": {
        "tags": [
          "Role Management"
        ],
        "summary": "Remove a specific role from a given user",
        "operationId": "removeRole",
        "parameters": [],
        "responses": {
          "204": {
            "description": "The role was successfully removed."
          },
          "400": {
            "description": "The request URI was invalid."
          },
          "401": {
            "description": "The system failed to authenticate the user. Either the Authorization header was missing or the provided token was incorrect."
          },
          "403": {
            "description": "The system failed to authorize the user. The provided token was recognized but did not have the rights to perform the action. Contact your security administrator to get the appropriate rights."
          },
          "404": {
            "description": "The role is not found."
          },
          "500": {
            "description": "The server encountered an unexpected condition that prevented it from fulfilling the request."
          }
        }
      },
      "parameters": [
        {
          "name": "id",
          "in": "path",
          "required": true,
          "type": "string",
          "description": "Role id"
        },
        {
          "name": "userId",
          "in": "path",
          "required": true,
          "type": "string",
          "description": "User id"
        }
      ],
      "x-talend": {
        "section": "Roles"
      }
    },
    "/account/me": {
      "get": {
        "summary": "Get information about me",
        "description": "Returns information about authenticated caller (user or service account).",
        "produces": [
          "application/json"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Current user or service account has been successfully retrieved",
            "schema": {
              "$ref": "#/definitions/MeResponse"
            }
          },
          "401": {
            "description": "The system failed to authenticate the user. Either the Authorization header was missing or the provided token was incorrect."
          },
          "429": {
            "description": "Too many requests were sent. Check the X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset headers."
          },
          "500": {
            "description": "The server encountered an unexpected condition that prevented it from fulfilling the request."
          }
        }
      },
      "x-talend": {
        "section": "Me"
      }
    }
  },
  "definitions": {
    "Group": {
      "type": "object",
      "required": [
        "name"
      ],
      "properties": {
        "name": {
          "type": "string",
          "description": "Name of the group"
        },
        "userIds": {
          "type": "array",
          "description": "List of user ids belonging to the group",
          "items": {
            "type": "string"
          }
        }
      },
      "x-talend": {
        "section": "Groups"
      }
    },
    "RenameGroupRequest": {
      "type": "object",
      "required": [
        "name"
      ],
      "properties": {
        "name": {
          "type": "string",
          "description": "Name of the group"
        }
      },
      "x-talend": {
        "section": "Groups"
      }
    },
    "User": {
      "type": "object",
      "required": [
        "email",
        "firstName",
        "lastName",
        "login"
      ],
      "properties": {
        "active": {
          "type": "boolean",
          "description": "Boolean indicating if the user is active"
        },
        "email": {
          "type": "string",
          "description": "Email of the user"
        },
        "firstName": {
          "type": "string",
          "description": "First name of the user"
        },
        "lastName": {
          "type": "string",
          "description": "Last name of the user"
        },
        "login": {
          "type": "string",
          "description": "Login of the user"
        },
        "phone": {
          "type": "string",
          "description": "Phone of the user"
        },
        "preferredLanguage": {
          "type": "string",
          "description": "Preferred language of the user",
          "enum": [
            "en",
            "fr",
            "ja",
            "de",
            "unsupported"
          ]
        },
        "roleIds": {
          "type": "array",
          "description": "List of roles ids for the user",
          "items": {
            "type": "string"
          }
        },
        "timezone": {
          "type": "string",
          "description": "Timezone of the user"
        },
        "title": {
          "type": "string",
          "description": "Title of the user"
        }
      },
      "x-talend": {
        "section": "Users"
      }
    },
    "UserResponse": {
      "type": "object",
      "properties": {
        "active": {
          "type": "boolean",
          "description": "Boolean indicating if the user is active"
        },
        "email": {
          "type": "string",
          "description": "Email of the user"
        },
        "firstName": {
          "type": "string",
          "description": "First name of the user"
        },
        "lastName": {
          "type": "string",
          "description": "Last name of the user"
        },
        "login": {
          "type": "string",
          "description": "Login of the user"
        },
        "phone": {
          "type": "string",
          "description": "Phone of the user"
        },
        "preferredLanguage": {
          "type": "string",
          "description": "Preferred language of the user",
          "enum": [
            "en",
            "fr",
            "ja",
            "de",
            "unsupported"
          ],
          "example": "en"
        },
        "roleIds": {
          "type": "array",
          "description": "List of roles ids for the user",
          "items": {
            "type": "string"
          }
        },
        "timezone": {
          "type": "string",
          "description": "Timezone of the user"
        },
        "title": {
          "type": "string",
          "description": "Title of the user"
        }
      },
      "x-talend": {
        "section": "Users"
      }
    },
    "Role": {
      "type": "object",
      "required": [
        "name"
      ],
      "properties": {
        "name": {
          "type": "string",
          "description": "Name of the role"
        },
        "permissions": {
          "type": "array",
          "description": "List of permissions associated with the role",
          "items": {
            "type": "string"
          }
        }
      },
      "x-talend": {
        "section": "Roles"
      }
    },
    "MeResponse": {
      "type": "object",
      "required": [
        "createdDate",
        "id",
        "lastModified",
        "name",
        "type"
      ],
      "properties": {
        "type": {
          "type": "string",
          "description": "Type of the resource",
          "enum": [
            "USER",
            "SERVICE_ACCOUNT"
          ]
        },
        "id": {
          "type": "string",
          "description": "Id of the resource"
        },
        "login": {
          "type": "string",
          "description": "Login of the user (user only)"
        },
        "firstName": {
          "type": "string",
          "description": "First name of the user (user only)"
        },
        "lastName": {
          "type": "string",
          "description": "Last name of the user (user only)"
        },
        "middleName": {
          "type": "string",
          "description": "Middle name of the user (user only)"
        },
        "name": {
          "type": "string",
          "description": "Name of resource"
        },
        "email": {
          "type": "string",
          "description": "Email of the user (user only)"
        },
        "preferredLanguage": {
          "type": "string",
          "description": "Preferred language of the user (user only)"
        },
        "timezone": {
          "type": "string",
          "description": "Timezone of the user (user only)"
        },
        "active": {
          "type": "boolean",
          "description": "Status of the user (user only)"
        },
        "permissions": {
          "type": "array",
          "description": "Permissions of the service account (service account only)",
          "items": {
            "type": "string"
          }
        },
        "roles": {
          "type": "array",
          "description": "Roles of the user (user only)",
          "items": {
            "$ref": "#/definitions/Role"
          }
        },
        "accountId": {
          "type": "string",
          "description": "Account id of the user (user only)"
        },
        "applications": {
          "type": "array",
          "description": "Applications of the user (user only)",
          "items": {
            "type": "string"
          }
        },
        "lastModified": {
          "type": "string",
          "description": "Last modified date of the resource"
        },
        "createdDate": {
          "type": "string",
          "description": "Created date of the resource"
        },
        "lastSetPasswordDate": {
          "type": "string",
          "description": "Last set password date of the user (user only)"
        },
        "lastLoginAttempt": {
          "type": "string",
          "description": "Last login attempt (user only)"
        },
        "title": {
          "type": "string",
          "description": "Title of the user (user only)"
        },
        "phone": {
          "type": "string",
          "description": "Phone of the user (user only)"
        }
      },
      "description": "User or service account returned by Me endpoint",
      "x-talend": {
        "section": "Me"
      }
    }
  },
  "x-talend": {
    "sections": {
      "Groups": {},
      "Users": {},
      "Roles": {},
      "Me": {}
    }
  }
}