--- title: LocationsApi --- :::error **The Ruby SDK is deprecated as of 9/16/2020** The Genesys Cloud Ruby SDK (v96.0.0) will be frozen at its current version level. Any new enhancements to our API or bug fixes will not be backported. If you do need to take advantage of new features or bug fixes outside the Genesys Cloud Ruby SDK, you will need to use the Genesys Cloud REST endpoints directly. More information can be found in the [Official Announcement](https://developer.mypurecloud.com/forum/t/announcement-genesys-cloud-ruby-sdk-end-of-life/8850). ::: ## PureCloud::LocationsApi All URIs are relative to *https://api.mypurecloud.com* Method | Description ------------- | ------------- | ------------- [**delete_location**](LocationsApi.html#delete_location) | Delete a location [**get_location**](LocationsApi.html#get_location) | Get Location by ID. [**get_location_sublocations**](LocationsApi.html#get_location_sublocations) | Get sublocations for location ID. [**get_locations**](LocationsApi.html#get_locations) | Get a list of all locations. [**get_locations_search**](LocationsApi.html#get_locations_search) | Search locations using the q64 value returned from a previous search [**patch_location**](LocationsApi.html#patch_location) | Update a location [**post_locations**](LocationsApi.html#post_locations) | Create a location [**post_locations_search**](LocationsApi.html#post_locations_search) | Search locations {: class="table table-striped"} ## delete_location(location_id) Delete a location Wraps DELETE /api/v2/locations/{locationId} Requires ALL permissions: * directory:location:delete ### Example ```{"language":"ruby"} # load the gem require 'purecloudplatformclientv2' # setup authorization @secret = ENV['PURECLOUD_SECRET'] @id = ENV['PURECLOUD_CLIENT_ID'] environment = "mypurecloud.com" @authToken = PureCloud.authenticate_with_client_credentials @id, @secret, environment PureCloud.configure do |config| config.access_token = @authToken end api_instance = PureCloud::LocationsApi.new location_id = "location_id_example" # String | Location ID begin #Delete a location api_instance.delete_location(location_id) rescue PureCloud::ApiError => e puts "Exception when calling LocationsApi->delete_location: #{e}" end ``` ### Parameters Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **location_id** | **String**| Location ID | | {: class="table table-striped"} ### Return type nil (empty response body) ### HTTP request headers - **Content-Type**: application/json - **Accept**: application/json ## [**LocationDefinition**](LocationDefinition.html) get_location(location_id, opts) Get Location by ID. Wraps GET /api/v2/locations/{locationId} Requires NO permissions: ### Example ```{"language":"ruby"} # load the gem require 'purecloudplatformclientv2' # setup authorization @secret = ENV['PURECLOUD_SECRET'] @id = ENV['PURECLOUD_CLIENT_ID'] environment = "mypurecloud.com" @authToken = PureCloud.authenticate_with_client_credentials @id, @secret, environment PureCloud.configure do |config| config.access_token = @authToken end api_instance = PureCloud::LocationsApi.new location_id = "location_id_example" # String | Location ID opts = { expand: ["expand_example"] # Array | Which fields, if any, to expand } begin #Get Location by ID. result = api_instance.get_location(location_id, opts) p result rescue PureCloud::ApiError => e puts "Exception when calling LocationsApi->get_location: #{e}" end ``` ### Parameters Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **location_id** | **String**| Location ID | | **expand** | [**Array<String>**](String.html)| Which fields, if any, to expand | [optional]
**Values**: images, addressVerificationDetails | {: class="table table-striped"} ### Return type [**LocationDefinition**](LocationDefinition.html) ### HTTP request headers - **Content-Type**: application/json - **Accept**: application/json ## [**LocationEntityListing**](LocationEntityListing.html) get_location_sublocations(location_id) Get sublocations for location ID. Wraps GET /api/v2/locations/{locationId}/sublocations Requires NO permissions: ### Example ```{"language":"ruby"} # load the gem require 'purecloudplatformclientv2' # setup authorization @secret = ENV['PURECLOUD_SECRET'] @id = ENV['PURECLOUD_CLIENT_ID'] environment = "mypurecloud.com" @authToken = PureCloud.authenticate_with_client_credentials @id, @secret, environment PureCloud.configure do |config| config.access_token = @authToken end api_instance = PureCloud::LocationsApi.new location_id = "location_id_example" # String | Location ID begin #Get sublocations for location ID. result = api_instance.get_location_sublocations(location_id) p result rescue PureCloud::ApiError => e puts "Exception when calling LocationsApi->get_location_sublocations: #{e}" end ``` ### Parameters Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **location_id** | **String**| Location ID | | {: class="table table-striped"} ### Return type [**LocationEntityListing**](LocationEntityListing.html) ### HTTP request headers - **Content-Type**: application/json - **Accept**: application/json ## [**LocationEntityListing**](LocationEntityListing.html) get_locations(opts) Get a list of all locations. Wraps GET /api/v2/locations Requires NO permissions: ### Example ```{"language":"ruby"} # load the gem require 'purecloudplatformclientv2' # setup authorization @secret = ENV['PURECLOUD_SECRET'] @id = ENV['PURECLOUD_CLIENT_ID'] environment = "mypurecloud.com" @authToken = PureCloud.authenticate_with_client_credentials @id, @secret, environment PureCloud.configure do |config| config.access_token = @authToken end api_instance = PureCloud::LocationsApi.new opts = { page_size: 25, # Integer | Page size page_number: 1, # Integer | Page number id: ["id_example"], # Array | id sort_order: "sort_order_example" # String | Sort order } begin #Get a list of all locations. result = api_instance.get_locations(opts) p result rescue PureCloud::ApiError => e puts "Exception when calling LocationsApi->get_locations: #{e}" end ``` ### Parameters Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **page_size** | **Integer**| Page size | [optional] [default to 25] | **page_number** | **Integer**| Page number | [optional] [default to 1] | **id** | [**Array<String>**](String.html)| id | [optional] | **sort_order** | **String**| Sort order | [optional]
**Values**: asc, desc | {: class="table table-striped"} ### Return type [**LocationEntityListing**](LocationEntityListing.html) ### HTTP request headers - **Content-Type**: application/json - **Accept**: application/json ## [**LocationsSearchResponse**](LocationsSearchResponse.html) get_locations_search(q64, opts) Search locations using the q64 value returned from a previous search Wraps GET /api/v2/locations/search Requires NO permissions: ### Example ```{"language":"ruby"} # load the gem require 'purecloudplatformclientv2' # setup authorization @secret = ENV['PURECLOUD_SECRET'] @id = ENV['PURECLOUD_CLIENT_ID'] environment = "mypurecloud.com" @authToken = PureCloud.authenticate_with_client_credentials @id, @secret, environment PureCloud.configure do |config| config.access_token = @authToken end api_instance = PureCloud::LocationsApi.new q64 = "q64_example" # String | q64 opts = { expand: ["expand_example"] # Array | Provides more details about a specified resource } begin #Search locations using the q64 value returned from a previous search result = api_instance.get_locations_search(q64, opts) p result rescue PureCloud::ApiError => e puts "Exception when calling LocationsApi->get_locations_search: #{e}" end ``` ### Parameters Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **q64** | **String**| q64 | | **expand** | [**Array<String>**](String.html)| Provides more details about a specified resource | [optional]
**Values**: images, addressVerificationDetails | {: class="table table-striped"} ### Return type [**LocationsSearchResponse**](LocationsSearchResponse.html) ### HTTP request headers - **Content-Type**: application/json - **Accept**: application/json ## [**LocationDefinition**](LocationDefinition.html) patch_location(location_id, body) Update a location Wraps PATCH /api/v2/locations/{locationId} Requires ALL permissions: * directory:location:edit ### Example ```{"language":"ruby"} # load the gem require 'purecloudplatformclientv2' # setup authorization @secret = ENV['PURECLOUD_SECRET'] @id = ENV['PURECLOUD_CLIENT_ID'] environment = "mypurecloud.com" @authToken = PureCloud.authenticate_with_client_credentials @id, @secret, environment PureCloud.configure do |config| config.access_token = @authToken end api_instance = PureCloud::LocationsApi.new location_id = "location_id_example" # String | Location ID body = PureCloud::LocationUpdateDefinition.new # LocationUpdateDefinition | Location begin #Update a location result = api_instance.patch_location(location_id, body) p result rescue PureCloud::ApiError => e puts "Exception when calling LocationsApi->patch_location: #{e}" end ``` ### Parameters Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **location_id** | **String**| Location ID | | **body** | [**LocationUpdateDefinition**](LocationUpdateDefinition.html)| Location | | {: class="table table-striped"} ### Return type [**LocationDefinition**](LocationDefinition.html) ### HTTP request headers - **Content-Type**: application/json - **Accept**: application/json ## [**LocationDefinition**](LocationDefinition.html) post_locations(body) Create a location Wraps POST /api/v2/locations Requires ALL permissions: * directory:location:add ### Example ```{"language":"ruby"} # load the gem require 'purecloudplatformclientv2' # setup authorization @secret = ENV['PURECLOUD_SECRET'] @id = ENV['PURECLOUD_CLIENT_ID'] environment = "mypurecloud.com" @authToken = PureCloud.authenticate_with_client_credentials @id, @secret, environment PureCloud.configure do |config| config.access_token = @authToken end api_instance = PureCloud::LocationsApi.new body = PureCloud::LocationCreateDefinition.new # LocationCreateDefinition | Location begin #Create a location result = api_instance.post_locations(body) p result rescue PureCloud::ApiError => e puts "Exception when calling LocationsApi->post_locations: #{e}" end ``` ### Parameters Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **body** | [**LocationCreateDefinition**](LocationCreateDefinition.html)| Location | | {: class="table table-striped"} ### Return type [**LocationDefinition**](LocationDefinition.html) ### HTTP request headers - **Content-Type**: application/json - **Accept**: application/json ## [**LocationsSearchResponse**](LocationsSearchResponse.html) post_locations_search(body) Search locations Wraps POST /api/v2/locations/search Requires NO permissions: ### Example ```{"language":"ruby"} # load the gem require 'purecloudplatformclientv2' # setup authorization @secret = ENV['PURECLOUD_SECRET'] @id = ENV['PURECLOUD_CLIENT_ID'] environment = "mypurecloud.com" @authToken = PureCloud.authenticate_with_client_credentials @id, @secret, environment PureCloud.configure do |config| config.access_token = @authToken end api_instance = PureCloud::LocationsApi.new body = PureCloud::LocationSearchRequest.new # LocationSearchRequest | Search request options begin #Search locations result = api_instance.post_locations_search(body) p result rescue PureCloud::ApiError => e puts "Exception when calling LocationsApi->post_locations_search: #{e}" end ``` ### Parameters Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **body** | [**LocationSearchRequest**](LocationSearchRequest.html)| Search request options | | {: class="table table-striped"} ### Return type [**LocationsSearchResponse**](LocationsSearchResponse.html) ### HTTP request headers - **Content-Type**: application/json - **Accept**: application/json