--- title: OAuthApi --- ## PureCloud::OAuthApi All URIs are relative to *https://api.mypurecloud.com* Method | Description ------------- | ------------- | ------------- [**delete_oauth_client**](OAuthApi.html#delete_oauth_client) | Delete OAuth Client [**get_oauth_client**](OAuthApi.html#get_oauth_client) | Get OAuth Client [**get_oauth_clients**](OAuthApi.html#get_oauth_clients) | The list of OAuth clients [**post_oauth_client_secret**](OAuthApi.html#post_oauth_client_secret) | Regenerate Client Secret [**post_oauth_clients**](OAuthApi.html#post_oauth_clients) | Create OAuth client [**put_oauth_client**](OAuthApi.html#put_oauth_client) | Update OAuth Client {: class="table table-striped"} ## - delete_oauth_client(client_id) Delete OAuth Client Wraps DELETE /api/v2/oauth/clients/{clientId} Requires ANY permissions: * oauth:client:delete ### Example ~~~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::OAuthApi.new client_id = "client_id_example" # String | Client ID begin #Delete OAuth Client api_instance.delete_oauth_client(client_id) rescue PureCloud::ApiError => e puts "Exception when calling OAuthApi->delete_oauth_client: #{e}" end ~~~ ### Parameters Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **client_id** | **String**| Client ID | | {: class="table table-striped"} ### Return type nil (empty response body) ### HTTP request headers - **Content-Type**: application/json - **Accept**: application/json ## -[**OAuthClient**](OAuthClient.html) get_oauth_client(client_id) Get OAuth Client Wraps GET /api/v2/oauth/clients/{clientId} Requires ANY permissions: * oauth:client:view ### Example ~~~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::OAuthApi.new client_id = "client_id_example" # String | Client ID begin #Get OAuth Client result = api_instance.get_oauth_client(client_id) p result rescue PureCloud::ApiError => e puts "Exception when calling OAuthApi->get_oauth_client: #{e}" end ~~~ ### Parameters Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **client_id** | **String**| Client ID | | {: class="table table-striped"} ### Return type [**OAuthClient**](OAuthClient.html) ### HTTP request headers - **Content-Type**: application/json - **Accept**: application/json ## -[**OAuthClientEntityListing**](OAuthClientEntityListing.html) get_oauth_clients The list of OAuth clients Wraps GET /api/v2/oauth/clients Requires ANY permissions: * oauth:client:view ### Example ~~~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::OAuthApi.new begin #The list of OAuth clients result = api_instance.get_oauth_clients p result rescue PureCloud::ApiError => e puts "Exception when calling OAuthApi->get_oauth_clients: #{e}" end ~~~ ### Parameters This endpoint does not need any parameter. {: class="table table-striped"} ### Return type [**OAuthClientEntityListing**](OAuthClientEntityListing.html) ### HTTP request headers - **Content-Type**: application/json - **Accept**: application/json ## -[**OAuthClient**](OAuthClient.html) post_oauth_client_secret(client_id) Regenerate Client Secret This operation will set the client secret to a randomly generated cryptographically random value. All clients must be updated with the new secret. This operation should be used with caution. Wraps POST /api/v2/oauth/clients/{clientId}/secret Requires ANY permissions: * oauth:client:edit ### Example ~~~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::OAuthApi.new client_id = "client_id_example" # String | Client ID begin #Regenerate Client Secret result = api_instance.post_oauth_client_secret(client_id) p result rescue PureCloud::ApiError => e puts "Exception when calling OAuthApi->post_oauth_client_secret: #{e}" end ~~~ ### Parameters Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **client_id** | **String**| Client ID | | {: class="table table-striped"} ### Return type [**OAuthClient**](OAuthClient.html) ### HTTP request headers - **Content-Type**: application/json - **Accept**: application/json ## -[**OAuthClient**](OAuthClient.html) post_oauth_clients(body) Create OAuth client The OAuth Grant/Client is required in order to create an authentication token and gain access to PureCloud. The preferred authorizedGrantTypes is 'CODE' which requires applications to send a client ID and client secret. This is typically a web server. If the client is unable to secure the client secret then the 'TOKEN' grant type aka IMPLICIT should be used. This is would be for browser or mobile apps. If a client is to be used outside of the context of a user then the 'CLIENT-CREDENTIALS' grant may be used. In this case the client must be granted roles via the 'roleIds' field. Wraps POST /api/v2/oauth/clients Requires ANY permissions: * oauth:client:add ### Example ~~~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::OAuthApi.new body = PureCloud::OAuthClient.new # OAuthClient | Client begin #Create OAuth client result = api_instance.post_oauth_clients(body) p result rescue PureCloud::ApiError => e puts "Exception when calling OAuthApi->post_oauth_clients: #{e}" end ~~~ ### Parameters Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **body** | [**OAuthClient**](OAuthClient.html)| Client | | {: class="table table-striped"} ### Return type [**OAuthClient**](OAuthClient.html) ### HTTP request headers - **Content-Type**: application/json - **Accept**: application/json ## -[**OAuthClient**](OAuthClient.html) put_oauth_client(client_id, body) Update OAuth Client Wraps PUT /api/v2/oauth/clients/{clientId} Requires ANY permissions: * oauth:client:edit ### Example ~~~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::OAuthApi.new client_id = "client_id_example" # String | Client ID body = PureCloud::OAuthClient.new # OAuthClient | Client begin #Update OAuth Client result = api_instance.put_oauth_client(client_id, body) p result rescue PureCloud::ApiError => e puts "Exception when calling OAuthApi->put_oauth_client: #{e}" end ~~~ ### Parameters Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **client_id** | **String**| Client ID | | **body** | [**OAuthClient**](OAuthClient.html)| Client | | {: class="table table-striped"} ### Return type [**OAuthClient**](OAuthClient.html) ### HTTP request headers - **Content-Type**: application/json - **Accept**: application/json