Purpose

Retrieves a list of OAuth application objects. OAuth application objects contain the authorization URL, token URL, scope, client ID, and client secret.

Note: An administrator can execute this operation on behalf of a user by appending the user query parameter to the request and specifying a user name. See also Managing resources on behalf of users.

URL

https://<myserver>:<port>/api/mgmt/oauthapps

Filter by a query parameter

A user can also filter query results by tenant by appending the URL with a ?tenantId=<tenant_id> or ?tenantName=<tenant_name> query parameter. For example:

https://<myserver>:<port>/api/mgmt/oauthapps?tenantId=<tenant_id>

Method

GET

URL Parameters

<myserver> is the hostname or IP address of the machine hosting the Hybrid Data Pipeline server for a non-load balancer deployment, or the machine hosting the load balancer for a load balancer deployment. For a non-load balancer deployment, <port> is the port number specified as the Server Access Port during deployment. For a load balancer deployment, <port> must be either 80 for http or 443 for https. Whenever port 80 or 443 are used, it is not necessary to include the port number in the URL.

Response Definition

The response takes the following format.


{
    "applications": [
        {
            "id": oauth_application_id,
            "name": "oauth_application_name",
            "dataStore": data_store_id,
            "tenantId": tenant_id,
            "description": "oauth_application_description"
            "authorizeURI": "oauth_authorizationcode_endpoint",
            "tokenURI": "oauth_token_endpoint",
            "scope": "oauth_scopes_list"
        },
        ...
    ]
}	
Property Description Valid Values
"id" The ID of the OAuth application object. The automatically generated OAuth application ID.
"name" The name of the OAuth application object. The user-specified name of the OAuth application object. The name can contain only alphanumeric characters and the underscore character.
"dataStore" The ID of the data store for which the OAuth application object is being created. The Hybrid Data Pipeline currently supports access to the following data stores:
  • Google Analytics (ID: 54)
  • Google BigQuery (ID: 62)
  • Salesforce (ID: 1)
  • Autonomous REST Connector (ID: 63)
"tenantId" The ID of the tenant to which the OAuth application and data store belong. A valid tenant ID.
"description" A description of the OAuth application object. A description provided by the user.
"authorizeURI" The endpoint for obtaining an authorization code from the data store. A valid URL for obtaining a code for authorization.
"tokenURI" The endpoint for retrieving access tokens from the datas store. A valid URL for obtaining access and refresh tokens.
"scope" A space-separated list of OAuth scopes that limit the permissions granted by an access token at the time of connection. A user-specified list of space-separated scopes.

Sample Server Response

     Status code: 200
     Successful response
{
    "applications": [
        {
          "id": "11",
          "name": "HDP system OAuth app",
          "dataStore": "54",
          "tenantId": 1,
          "description": "Hybrid Data Pipeline OAuth application object",
          "authorizeURI": "https://accounts.google.com/o/oauth2/v2/auth",
          "tokenURI": "https://www.googleapis.com/oauth2/v3/token",
          "scope": "full_offline_access, gist_repo"
        },
        {
          "id": "17",
          "name": "TenantA OAuth app",
          "dataStore": "1",
          "tenantId": 303,
          "description": "TenantA OAuth application object"
          "authorizeURI": "https://login.salesforce.com/services/oauth2/authorize",
          "tokenURI": "https://login.salesforce.com/services/oauth2/token",
          "scope": "full_offline_access, test_repo"
        }
      ]
}

Authentication

Basic Authentication using Login ID and Password

Authorization

Permissions apply in the following manner.
  • With the Administrator (12) permission, a user can view all OAuth application objects across the system.
  • With the MgmtAPI (11) and OAuth (28) permissions, a user in the system tenant can view existing OAuth application objects in the system tenant and in any tenants for which he or she has administrative access.
  • With the MgmtAPI (11) and OAuth (28) permissions, a user in a child tenant can only view OAuth application objects in the tenant in which he or she resides.