=begin PureCloud Platform API With the PureCloud Platform API, you can control all aspects of your PureCloud environment. With the APIs you can access the system configuration, manage conversations and more. OpenAPI spec version: v2 Contact: DeveloperEvangelists@genesys.com Generated by: https://github.com/swagger-api/swagger-codegen.git License: ININ http://www.inin.com Terms of Service: https://developer.mypurecloud.com/tos =end require "uri" module PureCloud class AuthorizationApi attr_accessor :api_client def initialize(api_client = ApiClient.default) @api_client = api_client end # Delete an organization role. # # @param role_id Role ID # @param [Hash] opts the optional parameters # @return [nil] def delete_authorization_role(role_id, opts = {}) delete_authorization_role_with_http_info(role_id, opts) return nil end # Delete an organization role. # # @param role_id Role ID # @param [Hash] opts the optional parameters # @return [Array<(nil, Fixnum, Hash)>] nil, response status code and response headers def delete_authorization_role_with_http_info(role_id, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: AuthorizationApi.delete_authorization_role ..." end # verify the required parameter 'role_id' is set fail ArgumentError, "Missing the required parameter 'role_id' when calling AuthorizationApi.delete_authorization_role" if role_id.nil? # resource path local_var_path = "/api/v2/authorization/roles/{roleId}".sub('{format}','json').sub('{' + 'roleId' + '}', role_id.to_s) # query parameters query_params = {} # header parameters header_params = {} # HTTP header 'Accept' (if needed) local_header_accept = ['application/json'] local_header_accept_result = @api_client.select_header_accept(local_header_accept) and header_params['Accept'] = local_header_accept_result # HTTP header 'Content-Type' local_header_content_type = ['application/json'] header_params['Content-Type'] = @api_client.select_header_content_type(local_header_content_type) # form parameters form_params = {} # http body (model) post_body = nil auth_names = ['PureCloud Auth'] data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names) if @api_client.config.debugging @api_client.config.logger.debug "API called: AuthorizationApi#delete_authorization_role\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # Removes all the roles from the user. # # @param user_id User ID # @param [Hash] opts the optional parameters # @return [nil] def delete_user_roles(user_id, opts = {}) delete_user_roles_with_http_info(user_id, opts) return nil end # Removes all the roles from the user. # # @param user_id User ID # @param [Hash] opts the optional parameters # @return [Array<(nil, Fixnum, Hash)>] nil, response status code and response headers def delete_user_roles_with_http_info(user_id, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: AuthorizationApi.delete_user_roles ..." end # verify the required parameter 'user_id' is set fail ArgumentError, "Missing the required parameter 'user_id' when calling AuthorizationApi.delete_user_roles" if user_id.nil? # resource path local_var_path = "/api/v2/users/{userId}/roles".sub('{format}','json').sub('{' + 'userId' + '}', user_id.to_s) # query parameters query_params = {} # header parameters header_params = {} # HTTP header 'Accept' (if needed) local_header_accept = ['application/json'] local_header_accept_result = @api_client.select_header_accept(local_header_accept) and header_params['Accept'] = local_header_accept_result # HTTP header 'Content-Type' local_header_content_type = ['application/json'] header_params['Content-Type'] = @api_client.select_header_content_type(local_header_content_type) # form parameters form_params = {} # http body (model) post_body = nil auth_names = ['PureCloud Auth'] data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names) if @api_client.config.debugging @api_client.config.logger.debug "API called: AuthorizationApi#delete_user_roles\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # Returns the maximum allowed number of divisions. # # @param [Hash] opts the optional parameters # @return [Integer] def get_authorization_divisions_limit(opts = {}) data, _status_code, _headers = get_authorization_divisions_limit_with_http_info(opts) return data end # Returns the maximum allowed number of divisions. # # @param [Hash] opts the optional parameters # @return [Array<(Integer, Fixnum, Hash)>] Integer data, response status code and response headers def get_authorization_divisions_limit_with_http_info(opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: AuthorizationApi.get_authorization_divisions_limit ..." end # resource path local_var_path = "/api/v2/authorization/divisions/limit".sub('{format}','json') # query parameters query_params = {} # header parameters header_params = {} # HTTP header 'Accept' (if needed) local_header_accept = ['application/json'] local_header_accept_result = @api_client.select_header_accept(local_header_accept) and header_params['Accept'] = local_header_accept_result # HTTP header 'Content-Type' local_header_content_type = ['application/json'] header_params['Content-Type'] = @api_client.select_header_content_type(local_header_content_type) # form parameters form_params = {} # http body (model) post_body = nil auth_names = ['PureCloud Auth'] data, status_code, headers = @api_client.call_api(:GET, local_var_path, :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => 'Integer') if @api_client.config.debugging @api_client.config.logger.debug "API called: AuthorizationApi#get_authorization_divisions_limit\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # Get all permissions. # Retrieve a list of all permission defined in the system. # @param [Hash] opts the optional parameters # @option opts [Integer] :page_size Page size (default to 25) # @option opts [Integer] :page_number Page number (default to 1) # @return [PermissionCollectionEntityListing] def get_authorization_permissions(opts = {}) data, _status_code, _headers = get_authorization_permissions_with_http_info(opts) return data end # Get all permissions. # Retrieve a list of all permission defined in the system. # @param [Hash] opts the optional parameters # @option opts [Integer] :page_size Page size # @option opts [Integer] :page_number Page number # @return [Array<(PermissionCollectionEntityListing, Fixnum, Hash)>] PermissionCollectionEntityListing data, response status code and response headers def get_authorization_permissions_with_http_info(opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: AuthorizationApi.get_authorization_permissions ..." end # resource path local_var_path = "/api/v2/authorization/permissions".sub('{format}','json') # query parameters query_params = {} query_params[:'pageSize'] = opts[:'page_size'] if opts[:'page_size'] query_params[:'pageNumber'] = opts[:'page_number'] if opts[:'page_number'] # header parameters header_params = {} # HTTP header 'Accept' (if needed) local_header_accept = ['application/json'] local_header_accept_result = @api_client.select_header_accept(local_header_accept) and header_params['Accept'] = local_header_accept_result # HTTP header 'Content-Type' local_header_content_type = ['application/json'] header_params['Content-Type'] = @api_client.select_header_content_type(local_header_content_type) # form parameters form_params = {} # http body (model) post_body = nil auth_names = ['PureCloud Auth'] data, status_code, headers = @api_client.call_api(:GET, local_var_path, :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => 'PermissionCollectionEntityListing') if @api_client.config.debugging @api_client.config.logger.debug "API called: AuthorizationApi#get_authorization_permissions\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # Get the list of enabled products # Gets the list of enabled products. Some example product names are: collaborateFree, collaboratePro, communicate, and engage. # @param [Hash] opts the optional parameters # @return [OrganizationProductEntityListing] def get_authorization_products(opts = {}) data, _status_code, _headers = get_authorization_products_with_http_info(opts) return data end # Get the list of enabled products # Gets the list of enabled products. Some example product names are: collaborateFree, collaboratePro, communicate, and engage. # @param [Hash] opts the optional parameters # @return [Array<(OrganizationProductEntityListing, Fixnum, Hash)>] OrganizationProductEntityListing data, response status code and response headers def get_authorization_products_with_http_info(opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: AuthorizationApi.get_authorization_products ..." end # resource path local_var_path = "/api/v2/authorization/products".sub('{format}','json') # query parameters query_params = {} # header parameters header_params = {} # HTTP header 'Accept' (if needed) local_header_accept = ['application/json'] local_header_accept_result = @api_client.select_header_accept(local_header_accept) and header_params['Accept'] = local_header_accept_result # HTTP header 'Content-Type' local_header_content_type = ['application/json'] header_params['Content-Type'] = @api_client.select_header_content_type(local_header_content_type) # form parameters form_params = {} # http body (model) post_body = nil auth_names = ['PureCloud Auth'] data, status_code, headers = @api_client.call_api(:GET, local_var_path, :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => 'OrganizationProductEntityListing') if @api_client.config.debugging @api_client.config.logger.debug "API called: AuthorizationApi#get_authorization_products\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # Get a single organization role. # Get the organization role specified by its ID. # @param role_id Role ID # @param [Hash] opts the optional parameters # @return [DomainOrganizationRole] def get_authorization_role(role_id, opts = {}) data, _status_code, _headers = get_authorization_role_with_http_info(role_id, opts) return data end # Get a single organization role. # Get the organization role specified by its ID. # @param role_id Role ID # @param [Hash] opts the optional parameters # @return [Array<(DomainOrganizationRole, Fixnum, Hash)>] DomainOrganizationRole data, response status code and response headers def get_authorization_role_with_http_info(role_id, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: AuthorizationApi.get_authorization_role ..." end # verify the required parameter 'role_id' is set fail ArgumentError, "Missing the required parameter 'role_id' when calling AuthorizationApi.get_authorization_role" if role_id.nil? # resource path local_var_path = "/api/v2/authorization/roles/{roleId}".sub('{format}','json').sub('{' + 'roleId' + '}', role_id.to_s) # query parameters query_params = {} # header parameters header_params = {} # HTTP header 'Accept' (if needed) local_header_accept = ['application/json'] local_header_accept_result = @api_client.select_header_accept(local_header_accept) and header_params['Accept'] = local_header_accept_result # HTTP header 'Content-Type' local_header_content_type = ['application/json'] header_params['Content-Type'] = @api_client.select_header_content_type(local_header_content_type) # form parameters form_params = {} # http body (model) post_body = nil auth_names = ['PureCloud Auth'] data, status_code, headers = @api_client.call_api(:GET, local_var_path, :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => 'DomainOrganizationRole') if @api_client.config.debugging @api_client.config.logger.debug "API called: AuthorizationApi#get_authorization_role\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # Get an org role to default role comparison comparison # Compares any organization role to a default role id and show differences # @param left_role_id Left Role ID # @param right_role_id Right Role id # @param [Hash] opts the optional parameters # @return [DomainOrgRoleDifference] def get_authorization_role_comparedefault_right_role_id(left_role_id, right_role_id, opts = {}) data, _status_code, _headers = get_authorization_role_comparedefault_right_role_id_with_http_info(left_role_id, right_role_id, opts) return data end # Get an org role to default role comparison comparison # Compares any organization role to a default role id and show differences # @param left_role_id Left Role ID # @param right_role_id Right Role id # @param [Hash] opts the optional parameters # @return [Array<(DomainOrgRoleDifference, Fixnum, Hash)>] DomainOrgRoleDifference data, response status code and response headers def get_authorization_role_comparedefault_right_role_id_with_http_info(left_role_id, right_role_id, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: AuthorizationApi.get_authorization_role_comparedefault_right_role_id ..." end # verify the required parameter 'left_role_id' is set fail ArgumentError, "Missing the required parameter 'left_role_id' when calling AuthorizationApi.get_authorization_role_comparedefault_right_role_id" if left_role_id.nil? # verify the required parameter 'right_role_id' is set fail ArgumentError, "Missing the required parameter 'right_role_id' when calling AuthorizationApi.get_authorization_role_comparedefault_right_role_id" if right_role_id.nil? # resource path local_var_path = "/api/v2/authorization/roles/{leftRoleId}/comparedefault/{rightRoleId}".sub('{format}','json').sub('{' + 'leftRoleId' + '}', left_role_id.to_s).sub('{' + 'rightRoleId' + '}', right_role_id.to_s) # query parameters query_params = {} # header parameters header_params = {} # HTTP header 'Accept' (if needed) local_header_accept = ['application/json'] local_header_accept_result = @api_client.select_header_accept(local_header_accept) and header_params['Accept'] = local_header_accept_result # HTTP header 'Content-Type' local_header_content_type = ['application/json'] header_params['Content-Type'] = @api_client.select_header_content_type(local_header_content_type) # form parameters form_params = {} # http body (model) post_body = nil auth_names = ['PureCloud Auth'] data, status_code, headers = @api_client.call_api(:GET, local_var_path, :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => 'DomainOrgRoleDifference') if @api_client.config.debugging @api_client.config.logger.debug "API called: AuthorizationApi#get_authorization_role_comparedefault_right_role_id\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # Retrieve a list of all roles defined for the organization # # @param [Hash] opts the optional parameters # @option opts [Integer] :page_size The total page size requested (default to 25) # @option opts [Integer] :page_number The page number requested (default to 1) # @option opts [String] :sort_by variable name requested to sort by # @option opts [Array] :expand variable name requested by expand list # @option opts [String] :next_page next page token # @option opts [String] :previous_page Previous page token # @option opts [String] :name # @option opts [Array] :permission # @option opts [Array] :default_role_id # @option opts [BOOLEAN] :user_count (default to true) # @option opts [Array] :id id # @return [OrganizationRoleEntityListing] def get_authorization_roles(opts = {}) data, _status_code, _headers = get_authorization_roles_with_http_info(opts) return data end # Retrieve a list of all roles defined for the organization # # @param [Hash] opts the optional parameters # @option opts [Integer] :page_size The total page size requested # @option opts [Integer] :page_number The page number requested # @option opts [String] :sort_by variable name requested to sort by # @option opts [Array] :expand variable name requested by expand list # @option opts [String] :next_page next page token # @option opts [String] :previous_page Previous page token # @option opts [String] :name # @option opts [Array] :permission # @option opts [Array] :default_role_id # @option opts [BOOLEAN] :user_count # @option opts [Array] :id id # @return [Array<(OrganizationRoleEntityListing, Fixnum, Hash)>] OrganizationRoleEntityListing data, response status code and response headers def get_authorization_roles_with_http_info(opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: AuthorizationApi.get_authorization_roles ..." end # resource path local_var_path = "/api/v2/authorization/roles".sub('{format}','json') # query parameters query_params = {} query_params[:'pageSize'] = opts[:'page_size'] if opts[:'page_size'] query_params[:'pageNumber'] = opts[:'page_number'] if opts[:'page_number'] query_params[:'sortBy'] = opts[:'sort_by'] if opts[:'sort_by'] query_params[:'expand'] = @api_client.build_collection_param(opts[:'expand'], :multi) if opts[:'expand'] query_params[:'nextPage'] = opts[:'next_page'] if opts[:'next_page'] query_params[:'previousPage'] = opts[:'previous_page'] if opts[:'previous_page'] query_params[:'name'] = opts[:'name'] if opts[:'name'] query_params[:'permission'] = @api_client.build_collection_param(opts[:'permission'], :multi) if opts[:'permission'] query_params[:'defaultRoleId'] = @api_client.build_collection_param(opts[:'default_role_id'], :multi) if opts[:'default_role_id'] query_params[:'userCount'] = opts[:'user_count'] if opts[:'user_count'] query_params[:'id'] = @api_client.build_collection_param(opts[:'id'], :multi) if opts[:'id'] # header parameters header_params = {} # HTTP header 'Accept' (if needed) local_header_accept = ['application/json'] local_header_accept_result = @api_client.select_header_accept(local_header_accept) and header_params['Accept'] = local_header_accept_result # HTTP header 'Content-Type' local_header_content_type = ['application/json'] header_params['Content-Type'] = @api_client.select_header_content_type(local_header_content_type) # form parameters form_params = {} # http body (model) post_body = nil auth_names = ['PureCloud Auth'] data, status_code, headers = @api_client.call_api(:GET, local_var_path, :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => 'OrganizationRoleEntityListing') if @api_client.config.debugging @api_client.config.logger.debug "API called: AuthorizationApi#get_authorization_roles\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # Returns a listing of roles and permissions for a user. # # @param user_id User ID # @param [Hash] opts the optional parameters # @return [UserAuthorization] def get_user_roles(user_id, opts = {}) data, _status_code, _headers = get_user_roles_with_http_info(user_id, opts) return data end # Returns a listing of roles and permissions for a user. # # @param user_id User ID # @param [Hash] opts the optional parameters # @return [Array<(UserAuthorization, Fixnum, Hash)>] UserAuthorization data, response status code and response headers def get_user_roles_with_http_info(user_id, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: AuthorizationApi.get_user_roles ..." end # verify the required parameter 'user_id' is set fail ArgumentError, "Missing the required parameter 'user_id' when calling AuthorizationApi.get_user_roles" if user_id.nil? # resource path local_var_path = "/api/v2/users/{userId}/roles".sub('{format}','json').sub('{' + 'userId' + '}', user_id.to_s) # query parameters query_params = {} # header parameters header_params = {} # HTTP header 'Accept' (if needed) local_header_accept = ['application/json'] local_header_accept_result = @api_client.select_header_accept(local_header_accept) and header_params['Accept'] = local_header_accept_result # HTTP header 'Content-Type' local_header_content_type = ['application/json'] header_params['Content-Type'] = @api_client.select_header_content_type(local_header_content_type) # form parameters form_params = {} # http body (model) post_body = nil auth_names = ['PureCloud Auth'] data, status_code, headers = @api_client.call_api(:GET, local_var_path, :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => 'UserAuthorization') if @api_client.config.debugging @api_client.config.logger.debug "API called: AuthorizationApi#get_user_roles\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # Patch Organization Role for needsUpdate Field # Patch Organization Role for needsUpdate Field # @param role_id Role ID # @param body Organization role # @param [Hash] opts the optional parameters # @return [DomainOrganizationRole] def patch_authorization_role(role_id, body, opts = {}) data, _status_code, _headers = patch_authorization_role_with_http_info(role_id, body, opts) return data end # Patch Organization Role for needsUpdate Field # Patch Organization Role for needsUpdate Field # @param role_id Role ID # @param body Organization role # @param [Hash] opts the optional parameters # @return [Array<(DomainOrganizationRole, Fixnum, Hash)>] DomainOrganizationRole data, response status code and response headers def patch_authorization_role_with_http_info(role_id, body, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: AuthorizationApi.patch_authorization_role ..." end # verify the required parameter 'role_id' is set fail ArgumentError, "Missing the required parameter 'role_id' when calling AuthorizationApi.patch_authorization_role" if role_id.nil? # verify the required parameter 'body' is set fail ArgumentError, "Missing the required parameter 'body' when calling AuthorizationApi.patch_authorization_role" if body.nil? # resource path local_var_path = "/api/v2/authorization/roles/{roleId}".sub('{format}','json').sub('{' + 'roleId' + '}', role_id.to_s) # query parameters query_params = {} # header parameters header_params = {} # HTTP header 'Accept' (if needed) local_header_accept = ['application/json'] local_header_accept_result = @api_client.select_header_accept(local_header_accept) and header_params['Accept'] = local_header_accept_result # HTTP header 'Content-Type' local_header_content_type = ['application/json'] header_params['Content-Type'] = @api_client.select_header_content_type(local_header_content_type) # form parameters form_params = {} # http body (model) post_body = @api_client.object_to_http_body(body) auth_names = ['PureCloud Auth'] data, status_code, headers = @api_client.call_api(:PATCH, local_var_path, :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => 'DomainOrganizationRole') if @api_client.config.debugging @api_client.config.logger.debug "API called: AuthorizationApi#patch_authorization_role\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # Set the division of a list of objects. The objects must all be of the same type: CAMPAIGN, CONTACTLIST, DNCLIST, MANAGEMENTUNIT, FLOW, QUEUE, USER # # @param division_id Division ID # @param object_type The type of the objects. Must be one of the valid object types # @param body Object Id List # @param [Hash] opts the optional parameters # @return [Array] def post_authorization_division_object(division_id, object_type, body, opts = {}) data, _status_code, _headers = post_authorization_division_object_with_http_info(division_id, object_type, body, opts) return data end # Set the division of a list of objects. The objects must all be of the same type: CAMPAIGN, CONTACTLIST, DNCLIST, MANAGEMENTUNIT, FLOW, QUEUE, USER # # @param division_id Division ID # @param object_type The type of the objects. Must be one of the valid object types # @param body Object Id List # @param [Hash] opts the optional parameters # @return [Array<(Array, Fixnum, Hash)>] Array data, response status code and response headers def post_authorization_division_object_with_http_info(division_id, object_type, body, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: AuthorizationApi.post_authorization_division_object ..." end # verify the required parameter 'division_id' is set fail ArgumentError, "Missing the required parameter 'division_id' when calling AuthorizationApi.post_authorization_division_object" if division_id.nil? # verify the required parameter 'object_type' is set fail ArgumentError, "Missing the required parameter 'object_type' when calling AuthorizationApi.post_authorization_division_object" if object_type.nil? # verify enum value unless ['QUEUE', 'CAMPAIGN', 'CONTACTLIST', 'DNCLIST', 'MANAGEMENTUNIT', 'FLOW', 'USER'].include?(object_type) fail ArgumentError, "invalid value for 'object_type', must be one of QUEUE, CAMPAIGN, CONTACTLIST, DNCLIST, MANAGEMENTUNIT, FLOW, USER" end # verify the required parameter 'body' is set fail ArgumentError, "Missing the required parameter 'body' when calling AuthorizationApi.post_authorization_division_object" if body.nil? # resource path local_var_path = "/api/v2/authorization/divisions/{divisionId}/objects/{objectType}".sub('{format}','json').sub('{' + 'divisionId' + '}', division_id.to_s).sub('{' + 'objectType' + '}', object_type.to_s) # query parameters query_params = {} # header parameters header_params = {} # HTTP header 'Accept' (if needed) local_header_accept = ['application/json'] local_header_accept_result = @api_client.select_header_accept(local_header_accept) and header_params['Accept'] = local_header_accept_result # HTTP header 'Content-Type' local_header_content_type = ['application/json'] header_params['Content-Type'] = @api_client.select_header_content_type(local_header_content_type) # form parameters form_params = {} # http body (model) post_body = @api_client.object_to_http_body(body) auth_names = ['PureCloud Auth'] data, status_code, headers = @api_client.call_api(:POST, local_var_path, :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => 'Array') if @api_client.config.debugging @api_client.config.logger.debug "API called: AuthorizationApi#post_authorization_division_object\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # Get an unsaved org role to default role comparison # Allows users to compare their existing roles in an unsaved state to its default role # @param left_role_id Left Role ID # @param right_role_id Right Role id # @param body Organization role # @param [Hash] opts the optional parameters # @return [DomainOrgRoleDifference] def post_authorization_role_comparedefault_right_role_id(left_role_id, right_role_id, body, opts = {}) data, _status_code, _headers = post_authorization_role_comparedefault_right_role_id_with_http_info(left_role_id, right_role_id, body, opts) return data end # Get an unsaved org role to default role comparison # Allows users to compare their existing roles in an unsaved state to its default role # @param left_role_id Left Role ID # @param right_role_id Right Role id # @param body Organization role # @param [Hash] opts the optional parameters # @return [Array<(DomainOrgRoleDifference, Fixnum, Hash)>] DomainOrgRoleDifference data, response status code and response headers def post_authorization_role_comparedefault_right_role_id_with_http_info(left_role_id, right_role_id, body, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: AuthorizationApi.post_authorization_role_comparedefault_right_role_id ..." end # verify the required parameter 'left_role_id' is set fail ArgumentError, "Missing the required parameter 'left_role_id' when calling AuthorizationApi.post_authorization_role_comparedefault_right_role_id" if left_role_id.nil? # verify the required parameter 'right_role_id' is set fail ArgumentError, "Missing the required parameter 'right_role_id' when calling AuthorizationApi.post_authorization_role_comparedefault_right_role_id" if right_role_id.nil? # verify the required parameter 'body' is set fail ArgumentError, "Missing the required parameter 'body' when calling AuthorizationApi.post_authorization_role_comparedefault_right_role_id" if body.nil? # resource path local_var_path = "/api/v2/authorization/roles/{leftRoleId}/comparedefault/{rightRoleId}".sub('{format}','json').sub('{' + 'leftRoleId' + '}', left_role_id.to_s).sub('{' + 'rightRoleId' + '}', right_role_id.to_s) # query parameters query_params = {} # header parameters header_params = {} # HTTP header 'Accept' (if needed) local_header_accept = ['application/json'] local_header_accept_result = @api_client.select_header_accept(local_header_accept) and header_params['Accept'] = local_header_accept_result # HTTP header 'Content-Type' local_header_content_type = ['application/json'] header_params['Content-Type'] = @api_client.select_header_content_type(local_header_content_type) # form parameters form_params = {} # http body (model) post_body = @api_client.object_to_http_body(body) auth_names = ['PureCloud Auth'] data, status_code, headers = @api_client.call_api(:POST, local_var_path, :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => 'DomainOrgRoleDifference') if @api_client.config.debugging @api_client.config.logger.debug "API called: AuthorizationApi#post_authorization_role_comparedefault_right_role_id\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # Create an organization role. # # @param body Organization role # @param [Hash] opts the optional parameters # @return [DomainOrganizationRole] def post_authorization_roles(body, opts = {}) data, _status_code, _headers = post_authorization_roles_with_http_info(body, opts) return data end # Create an organization role. # # @param body Organization role # @param [Hash] opts the optional parameters # @return [Array<(DomainOrganizationRole, Fixnum, Hash)>] DomainOrganizationRole data, response status code and response headers def post_authorization_roles_with_http_info(body, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: AuthorizationApi.post_authorization_roles ..." end # verify the required parameter 'body' is set fail ArgumentError, "Missing the required parameter 'body' when calling AuthorizationApi.post_authorization_roles" if body.nil? # resource path local_var_path = "/api/v2/authorization/roles".sub('{format}','json') # query parameters query_params = {} # header parameters header_params = {} # HTTP header 'Accept' (if needed) local_header_accept = ['application/json'] local_header_accept_result = @api_client.select_header_accept(local_header_accept) and header_params['Accept'] = local_header_accept_result # HTTP header 'Content-Type' local_header_content_type = ['application/json'] header_params['Content-Type'] = @api_client.select_header_content_type(local_header_content_type) # form parameters form_params = {} # http body (model) post_body = @api_client.object_to_http_body(body) auth_names = ['PureCloud Auth'] data, status_code, headers = @api_client.call_api(:POST, local_var_path, :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => 'DomainOrganizationRole') if @api_client.config.debugging @api_client.config.logger.debug "API called: AuthorizationApi#post_authorization_roles\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # Restores all default roles # This endpoint serves several purposes. 1. It provides the org with default roles. This is important for default roles that will be added after go-live (they can retroactively add the new default-role). Note: When not using a query param of force=true, it only adds the default roles not configured for the org; it does not overwrite roles. 2. Using the query param force=true, you can restore all default roles. Note: This does not have an effect on custom roles. # @param [Hash] opts the optional parameters # @option opts [BOOLEAN] :force Restore default roles (default to false) # @return [OrganizationRoleEntityListing] def post_authorization_roles_default(opts = {}) data, _status_code, _headers = post_authorization_roles_default_with_http_info(opts) return data end # Restores all default roles # This endpoint serves several purposes. 1. It provides the org with default roles. This is important for default roles that will be added after go-live (they can retroactively add the new default-role). Note: When not using a query param of force=true, it only adds the default roles not configured for the org; it does not overwrite roles. 2. Using the query param force=true, you can restore all default roles. Note: This does not have an effect on custom roles. # @param [Hash] opts the optional parameters # @option opts [BOOLEAN] :force Restore default roles # @return [Array<(OrganizationRoleEntityListing, Fixnum, Hash)>] OrganizationRoleEntityListing data, response status code and response headers def post_authorization_roles_default_with_http_info(opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: AuthorizationApi.post_authorization_roles_default ..." end # resource path local_var_path = "/api/v2/authorization/roles/default".sub('{format}','json') # query parameters query_params = {} query_params[:'force'] = opts[:'force'] if opts[:'force'] # header parameters header_params = {} # HTTP header 'Accept' (if needed) local_header_accept = ['application/json'] local_header_accept_result = @api_client.select_header_accept(local_header_accept) and header_params['Accept'] = local_header_accept_result # HTTP header 'Content-Type' local_header_content_type = ['application/json'] header_params['Content-Type'] = @api_client.select_header_content_type(local_header_content_type) # form parameters form_params = {} # http body (model) post_body = nil auth_names = ['PureCloud Auth'] data, status_code, headers = @api_client.call_api(:POST, local_var_path, :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => 'OrganizationRoleEntityListing') if @api_client.config.debugging @api_client.config.logger.debug "API called: AuthorizationApi#post_authorization_roles_default\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # Update an organization role. # Update # @param role_id Role ID # @param body Organization role # @param [Hash] opts the optional parameters # @return [DomainOrganizationRole] def put_authorization_role(role_id, body, opts = {}) data, _status_code, _headers = put_authorization_role_with_http_info(role_id, body, opts) return data end # Update an organization role. # Update # @param role_id Role ID # @param body Organization role # @param [Hash] opts the optional parameters # @return [Array<(DomainOrganizationRole, Fixnum, Hash)>] DomainOrganizationRole data, response status code and response headers def put_authorization_role_with_http_info(role_id, body, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: AuthorizationApi.put_authorization_role ..." end # verify the required parameter 'role_id' is set fail ArgumentError, "Missing the required parameter 'role_id' when calling AuthorizationApi.put_authorization_role" if role_id.nil? # verify the required parameter 'body' is set fail ArgumentError, "Missing the required parameter 'body' when calling AuthorizationApi.put_authorization_role" if body.nil? # resource path local_var_path = "/api/v2/authorization/roles/{roleId}".sub('{format}','json').sub('{' + 'roleId' + '}', role_id.to_s) # query parameters query_params = {} # header parameters header_params = {} # HTTP header 'Accept' (if needed) local_header_accept = ['application/json'] local_header_accept_result = @api_client.select_header_accept(local_header_accept) and header_params['Accept'] = local_header_accept_result # HTTP header 'Content-Type' local_header_content_type = ['application/json'] header_params['Content-Type'] = @api_client.select_header_content_type(local_header_content_type) # form parameters form_params = {} # http body (model) post_body = @api_client.object_to_http_body(body) auth_names = ['PureCloud Auth'] data, status_code, headers = @api_client.call_api(:PUT, local_var_path, :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => 'DomainOrganizationRole') if @api_client.config.debugging @api_client.config.logger.debug "API called: AuthorizationApi#put_authorization_role\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # Sets the users for the role # # @param role_id Role ID # @param body List of user IDs # @param [Hash] opts the optional parameters # @return [Array] def put_authorization_role_users_add(role_id, body, opts = {}) data, _status_code, _headers = put_authorization_role_users_add_with_http_info(role_id, body, opts) return data end # Sets the users for the role # # @param role_id Role ID # @param body List of user IDs # @param [Hash] opts the optional parameters # @return [Array<(Array, Fixnum, Hash)>] Array data, response status code and response headers def put_authorization_role_users_add_with_http_info(role_id, body, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: AuthorizationApi.put_authorization_role_users_add ..." end # verify the required parameter 'role_id' is set fail ArgumentError, "Missing the required parameter 'role_id' when calling AuthorizationApi.put_authorization_role_users_add" if role_id.nil? # verify the required parameter 'body' is set fail ArgumentError, "Missing the required parameter 'body' when calling AuthorizationApi.put_authorization_role_users_add" if body.nil? # resource path local_var_path = "/api/v2/authorization/roles/{roleId}/users/add".sub('{format}','json').sub('{' + 'roleId' + '}', role_id.to_s) # query parameters query_params = {} # header parameters header_params = {} # HTTP header 'Accept' (if needed) local_header_accept = ['application/json'] local_header_accept_result = @api_client.select_header_accept(local_header_accept) and header_params['Accept'] = local_header_accept_result # HTTP header 'Content-Type' local_header_content_type = ['application/json'] header_params['Content-Type'] = @api_client.select_header_content_type(local_header_content_type) # form parameters form_params = {} # http body (model) post_body = @api_client.object_to_http_body(body) auth_names = ['PureCloud Auth'] data, status_code, headers = @api_client.call_api(:PUT, local_var_path, :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => 'Array') if @api_client.config.debugging @api_client.config.logger.debug "API called: AuthorizationApi#put_authorization_role_users_add\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # Removes the users from the role # # @param role_id Role ID # @param body List of user IDs # @param [Hash] opts the optional parameters # @return [Array] def put_authorization_role_users_remove(role_id, body, opts = {}) data, _status_code, _headers = put_authorization_role_users_remove_with_http_info(role_id, body, opts) return data end # Removes the users from the role # # @param role_id Role ID # @param body List of user IDs # @param [Hash] opts the optional parameters # @return [Array<(Array, Fixnum, Hash)>] Array data, response status code and response headers def put_authorization_role_users_remove_with_http_info(role_id, body, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: AuthorizationApi.put_authorization_role_users_remove ..." end # verify the required parameter 'role_id' is set fail ArgumentError, "Missing the required parameter 'role_id' when calling AuthorizationApi.put_authorization_role_users_remove" if role_id.nil? # verify the required parameter 'body' is set fail ArgumentError, "Missing the required parameter 'body' when calling AuthorizationApi.put_authorization_role_users_remove" if body.nil? # resource path local_var_path = "/api/v2/authorization/roles/{roleId}/users/remove".sub('{format}','json').sub('{' + 'roleId' + '}', role_id.to_s) # query parameters query_params = {} # header parameters header_params = {} # HTTP header 'Accept' (if needed) local_header_accept = ['application/json'] local_header_accept_result = @api_client.select_header_accept(local_header_accept) and header_params['Accept'] = local_header_accept_result # HTTP header 'Content-Type' local_header_content_type = ['application/json'] header_params['Content-Type'] = @api_client.select_header_content_type(local_header_content_type) # form parameters form_params = {} # http body (model) post_body = @api_client.object_to_http_body(body) auth_names = ['PureCloud Auth'] data, status_code, headers = @api_client.call_api(:PUT, local_var_path, :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => 'Array') if @api_client.config.debugging @api_client.config.logger.debug "API called: AuthorizationApi#put_authorization_role_users_remove\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # Restore specified default roles # # @param body Organization roles list # @param [Hash] opts the optional parameters # @return [OrganizationRoleEntityListing] def put_authorization_roles_default(body, opts = {}) data, _status_code, _headers = put_authorization_roles_default_with_http_info(body, opts) return data end # Restore specified default roles # # @param body Organization roles list # @param [Hash] opts the optional parameters # @return [Array<(OrganizationRoleEntityListing, Fixnum, Hash)>] OrganizationRoleEntityListing data, response status code and response headers def put_authorization_roles_default_with_http_info(body, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: AuthorizationApi.put_authorization_roles_default ..." end # verify the required parameter 'body' is set fail ArgumentError, "Missing the required parameter 'body' when calling AuthorizationApi.put_authorization_roles_default" if body.nil? # resource path local_var_path = "/api/v2/authorization/roles/default".sub('{format}','json') # query parameters query_params = {} # header parameters header_params = {} # HTTP header 'Accept' (if needed) local_header_accept = ['application/json'] local_header_accept_result = @api_client.select_header_accept(local_header_accept) and header_params['Accept'] = local_header_accept_result # HTTP header 'Content-Type' local_header_content_type = ['application/json'] header_params['Content-Type'] = @api_client.select_header_content_type(local_header_content_type) # form parameters form_params = {} # http body (model) post_body = @api_client.object_to_http_body(body) auth_names = ['PureCloud Auth'] data, status_code, headers = @api_client.call_api(:PUT, local_var_path, :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => 'OrganizationRoleEntityListing') if @api_client.config.debugging @api_client.config.logger.debug "API called: AuthorizationApi#put_authorization_roles_default\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # Sets the user's roles # # @param user_id User ID # @param body List of roles # @param [Hash] opts the optional parameters # @return [UserAuthorization] def put_user_roles(user_id, body, opts = {}) data, _status_code, _headers = put_user_roles_with_http_info(user_id, body, opts) return data end # Sets the user's roles # # @param user_id User ID # @param body List of roles # @param [Hash] opts the optional parameters # @return [Array<(UserAuthorization, Fixnum, Hash)>] UserAuthorization data, response status code and response headers def put_user_roles_with_http_info(user_id, body, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: AuthorizationApi.put_user_roles ..." end # verify the required parameter 'user_id' is set fail ArgumentError, "Missing the required parameter 'user_id' when calling AuthorizationApi.put_user_roles" if user_id.nil? # verify the required parameter 'body' is set fail ArgumentError, "Missing the required parameter 'body' when calling AuthorizationApi.put_user_roles" if body.nil? # resource path local_var_path = "/api/v2/users/{userId}/roles".sub('{format}','json').sub('{' + 'userId' + '}', user_id.to_s) # query parameters query_params = {} # header parameters header_params = {} # HTTP header 'Accept' (if needed) local_header_accept = ['application/json'] local_header_accept_result = @api_client.select_header_accept(local_header_accept) and header_params['Accept'] = local_header_accept_result # HTTP header 'Content-Type' local_header_content_type = ['application/json'] header_params['Content-Type'] = @api_client.select_header_content_type(local_header_content_type) # form parameters form_params = {} # http body (model) post_body = @api_client.object_to_http_body(body) auth_names = ['PureCloud Auth'] data, status_code, headers = @api_client.call_api(:PUT, local_var_path, :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => 'UserAuthorization') if @api_client.config.debugging @api_client.config.logger.debug "API called: AuthorizationApi#put_user_roles\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end end end