Data Studio's REST API provides a RESTful interface which can be integrated programmatically, allowing you to fully automate or speed up certain operations, such as:
Updating external system credentials.
Listing all objects in an Environment or Space.
Creating and managing Datasets, Spaces, Users, User Groups, Roles, and Permissions.
Sharing objects and include them into Spaces.
Executing Workflows and Schedules.
Importing, synching, and exporting metadata.
Generating audit information.
Generating system monitoring metrics.
Querying Dataset creation/refresh status.
Retrieving API key information.
Uploading files for use by other APIs.
Getting started
Authentication
All API requests require an API key for authentication. Follow the steps below to generate an API key:
Only users assigned the role permission ‘API access’ are able to generate and manage API keys.
Click the user icon in the top right corner and select Manage API keys.
Click Create new API Key.
Enter a name for the key and specify the number of days until it expires. The ‘Maximum days for API Keys’ can be adjusted by editing the Environment settings.
Select the API permission(s) you want to associate with the key.
Click Generate.
Click Copy to take a copy of the generated key. You will have to paste it in the authorization header of your request.
Your authorization header should look like this:
{
"Authorization": "<Environment external label> <Your API Key>"
}
The Environment's external label is used to identify the Environment in which the API key was generated.
Any attempt to access the API with an incorrect or missing key, or a key generated from a user without the necessary role capabilities and relevant Space access will be denied. To ensure API operations are successful, the user creating the API key has to have necessary capabilities and permissions.
API reference
The full interactive API reference is available in Swagger UI, allowing you to test resources and get a better understanding of all requests and parameters.
You can access it by clicking the help icon (?) in the top right corner of Data Studio followed by 'Try out the API', which will open the page: http://<server>/api/docs/index.html. If you've installed Data Studio locally using the default server port, the URL will be http://localhost:7701/api/docs/index.html.
Please refer below for the full listing of APIs together with the user capabilities and API permission requirements:
Audit operations
Action
Request method & endpoint
Required user capabilities
Required API permission
List event information
GET /{tenancyId}/events
Installation Manager
Audit operations (Read)
List session information
GET /{tenancyId}/sessions
Installation Manager
Audit operations (Read)
Metric operations
Action
Request method & endpoint
Required user capabilities
Required API permission
Returns the most used performance metrics
GET /metrics
View System Information
Metrics operations (Read)
Lists all recorded metric
GET /metrics/list
View System Information
Metrics operations (Read)
Returns detailed information for the specified metric
GET /metrics/{name}
View System Information
Metrics operations (Read)
REST API Key operations
Action
Request method & endpoint
Required user capabilities
Required API permission
Retrieve API key information
GET /{tenancyId}/apiKey
API access
Rest API key operations (Read keys)
Role operations
Action
Request method & endpoint
Required user capabilities
Required API permission
List all Roles
GET /{tenancyId}/roles
Access Designer Interface
Security operations (Read)
Retrieve a Role
GET /{tenancyId}/roles/{roleId}
Access Designer Interface
Security operations (Read)
Create a Role
POST /{tenancyId}/roles
Manage Roles and Permissions
Security operations (Update)
Patch a Role
PATCH /{tenancyId}/roles/{roleId}
Manage Roles and Permissions
Security operations (Update)
Update a Role
PUT /{tenancyId}/roles
Manage Roles and Permissions
Security operations (Update)
Delete a Role
DELETE /{tenancyId}/roles/{roleId}
Manage Roles and Permissions
Security operations (Update)
User operations
Action
Request method & endpoint
Required user capabilities
Required API permission
List all Users
GET /{tenancyId}/users
Access Designer Interface
Security operations (Read)
Retrieve a User
GET /{tenancyId}/users/{userId}
Access Designer Interface
Security operations (Read)
Create a User
POST /{tenancyId}/users
Manage Users
Security operations (Update)
Patch a User
PATCH /{tenancyId}/users/{userId}
Manage Users
Security operations (Update)
Update a User
PUT /{tenancyId}/users/{userId}
Manage Users
Security operations (Update)
Delete a User
DELETE /{tenancyId}/users/{userId}
Manage Users
Security operations (Update)
User group operations
Action
Request method & endpoint
Required user capabilities
Required API permission
List all Users Groups
GET /{tenancyId}/usergroups
Access Designer Interface
Security operations (Read)
Retrieve a User Group
GET /{tenancyId}/usergroups/{userGroupId}
Access Designer Interface
Security operations (Read)
Create a User Group
POST /{tenancyId}/usergroups
Manage User Groups
Security operations (Update)
Patch a User Group
PATCH /{tenancyId}/usergroups/{userGroupId}
Manage User Groups
Security operations (Update)
Update a User Group
PUT /{tenancyId}/usergroups/{userGroupId}
Manage User Groups
Security operations (Update)
Delete a User Group
DELETE /{tenancyId}/usergroups/{userGroupId}
Manage User Groups
Security operations (Update)
External systems and credential operations
Action
Request method & endpoint
Required user capabilities
Required API permission
List all External Systems
GET /{tenancyId}/externalsystems
View External Systems
External system and credential operations (Read)
List all credentials for an External System
GET /{tenancyId}/externalsystems/{externalSystemId}/credentials
View External Systems
External system and credential operations (Read)
Retrieve the credential fields for an External System
GET /{tenancyId}/externalsystems/{externalSystemId}/credentials/fields
View External systems
External system and credential operations (Read)
Create a Credential
POST /{tenancyId}/externalsystems/{externalSystemId}/credentials
Manage Connections to External Systems
External system and credential operations (Update)
Test the connection for an External System
GET /{tenancyId}/externalsystems/{externalSystemId}/credentials/{credentialId}/testconnection