REST API Docs | Satori Cyber
API Path
API Description
API Parameters
Request Body Parameters
Response Description
Accounts
An account represents a Satori customer organization. Each account has a unique identifier. Accounts contain objects such as Data Stores and Data Access Controllers, Datasets, Security Policies and Masking Profiles.
Retrieve an Account
get/api/accounts/{id}
This HTTP GET method is used to retrieve the details of a specific account by its unique identifier (id).
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
PATH PARAMETERS
| *id string |
Min 1 chars | |
API Server
Authentication
Required (None Applied)
FILL EXAMPLE
CLEAR TRY
RESPONSE
200 400 404
Status OK
EXAMPLE SCHEMA
application/json
Copy
{
"entityVersion": 0,
"createdAt": "1970-01-01T00:00:00.000Z",
"updatedAt": "1970-01-01T00:00:00.000Z",
"nameCreatedBy": "string",
"nameUpdatedBy": "string",
"parentId": "string",
"id": "string",
"name": "string",
"ssoEnabled": false,
"ssoMetadataXml": "string",
"ssoValidLoginHours": 0,
"demoAccount": false,
"dataStorageLocation": "US",
"marketplaceDetails":
{
"provider": "AWS"
},
"dataPortalSettings":
{
"defaultTemporaryCredentialsExpirationTime":
{
"value": 0,
"timeframe": "Nanos",
"description": "string"
},
"preDefinedDataAccessPurposes":
[
{
"purpose":
"string",
"requiredReason":
false
}
],
"defaultPurpose": "string",
"enablePersonalAccessToken": false
},
"subscription":
{
"type": "PROSPECT"
},
"featureVersion": "string",
"notificationsSettings":
[
{
"notificationKeys":
[
"string"
],
"recipients":
[
"string"
],
"channel":
"EMAIL",
"active":
false,
"updatedAt":
"1970-01-01T00:00:00.000Z"
}
],
"usersNotificationSettings":
[
{
"type":
"ACCESS_GRANTED",
"channels":
[
{
"type":
"EMAIL"
}
],
"active":
false,
"overriddenDefault":
false,
"slackIntegrationActive":
false
}
],
"customEmailUserAttribute": "string",
"awsExternalId": "string",
"commvaultTenantId": "string"
}
Invalid ID supplied
Account not found
Retrieve Pre-Defined Data Access Purposes
get/api/accounts/{id}/settings/data-portal/pre-defined-data-access-purposes
This HTTP GET method is used to retrieve the list of predefined data access purposes of the specified account.
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
PATH PARAMETERS
| *id string |
Min 1 chars | |
API Server
Authentication
Required (None Applied)
FILL EXAMPLE
CLEAR TRY
RESPONSE
200 400
Status OK
EXAMPLE SCHEMA
application/json
Copy
[
{
"purposes":
[
{
"purpose":
"string",
"requiredReason":
false
}
],
"defaultPurpose":
"string"
}
]
Bad configuration request
Retrieve Account Theme
get/api/accounts/{id}/theme
This HTTP GET method is used to fetch the theme settings associated with a particular customer (Organization) account.
The theme settings include visual customization options such as colors, fonts, logos, backgrounds and design elements that define the look and feel of the account's interface or user experience.
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
PATH PARAMETERS
| *id string |
||
API Server
Authentication
Required (None Applied)
FILL EXAMPLE
CLEAR TRY
RESPONSE
200 400 404
Status OK
EXAMPLE SCHEMA
application/json
Copy
{
"enabled": false,
"logo":
{
"filename": "string",
"mimeType": "string",
"size": 0,
"originalFilename": "string"
},
"backgroundColor": "string",
"primaryColor": "string",
"textPrimaryColor": "string"
}
Invalid ID supplied
Account not found
Update Account Theme
put/api/accounts/{id}/theme
This HTTP PUT method is used to update the theme settings of a specific customer account. This request includes the new theme settings, such as updated colors, fonts, logos, backgrounds and design elements.
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
PATH PARAMETERS
| *id string |
||
REQUEST BODY multipart/form-data
| logo object |
EXAMPLESCHEMA object Multiline description { type:string parameters: { [any-key]:string } fileName:string creationDate:date-time modificationDate:date-time readDate:date-time size:integer name:string } |
|
| logoMimeTypes string |
||
| logoSize integer |
||
| backgroundColor string |
||
| textPrimaryColor string |
||
| primaryColor string |
||
| enabled boolean |
||
API Server
Authentication
Required (None Applied)
FILL EXAMPLE
CLEAR TRY
RESPONSE
200 400 404
Status OK
EXAMPLE SCHEMA
application/json
Copy
{
"enabled": false,
"logo":
{
"filename": "string",
"mimeType": "string",
"size": 0,
"originalFilename": "string"
},
"backgroundColor": "string",
"primaryColor": "string",
"textPrimaryColor": "string"
}
Invalid ID supplied
Account not found
List All User Identities
get/api/accounts/{id}/identities
This HTTP GET method is used to fetch the list of identities linked to a specified account. "Identities" refers to users and service accounts.
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
PATH PARAMETERS
| *id string |
||
QUERY-STRING PARAMETERS
| page int32 |
Default: 0 | |
| pageSize int32 |
Default: 5 | |
| orderBy array of string |
||
| orderDirection array of string |
||
| search string |
||
API Server
Authentication
Required (None Applied)
FILL EXAMPLE
CLEAR TRY
RESPONSE
200 400 404
Status OK
EXAMPLE SCHEMA
application/json
Copy
{
"id": "string",
"name": "string",
"type": "string"
}
Invalid ID supplied
Account not found
List Users with Custom Temporary Credentials Expiration
get/api/accounts/{id}/identities-with-custom-expiration-time
This HTTP GET method is used to fetch the list of users or groups that has been configured with custom temporary credentials expiration.
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
PATH PARAMETERS
| *id string |
||
API Server
Authentication
Required (None Applied)
FILL EXAMPLE
CLEAR TRY
RESPONSE
200 400 404
Status OK
EXAMPLE SCHEMA
application/json
Copy
{
"identitiesAndExpirationTime":
[
{
"identity":
{
"identityType":
"USER",
"identity":
"string",
"id":
"string",
"displayName":
"string"
},
"temporaryCredentialsExpirationTime":
{
"value":
0,
"timeframe":
"Nanos",
"description":
"string"
}
}
]
}
Invalid ID supplied
Account not found
Update Data Portal Settings
put/api/accounts/{id}/settings/data-portal
This PUT method is used to update the settings related to the data portal for a specific account. The data portal settings include temporary credentials for data access, predefined data access purpose and personal access tokens associated with the account set in the management console.
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
PATH PARAMETERS
| *id string |
Min 1 chars | |
REQUEST BODY application/json
EXAMPLESCHEMA
{
"defaultTemporaryCredentialsExpirationTime": {
"value": 0,
"timeframe": "Nanos",
"description": "string"
},
"preDefinedDataAccessPurposes": [\
{\
"purpose": "string",\
"requiredReason": false\
}\
],
"defaultPurpose": "string",
"enablePersonalAccessToken": false
}
object
Multiline description
{
defaultTemporaryCredentialsExpirationTime: {
value:integer
timeframe:enum
Allowed: Nanos┃Micros┃Millis┃Seconds┃Minutes┃Hours┃HalfDays┃Days┃Weeks┃Months┃Years┃Decades┃Centuries┃Millennia┃Eras┃Forever
description:string
}
preDefinedDataAccessPurposes:
[{
purpose:string
requiredReason:boolean
}]
defaultPurpose:string
enablePersonalAccessToken:boolean
}
API Server
Authentication
Required (None Applied)
FILL EXAMPLE
CLEAR TRY
RESPONSE
200 400
Status OK
EXAMPLE SCHEMA
application/json
Copy
{
"entityVersion": 0,
"createdAt": "1970-01-01T00:00:00.000Z",
"updatedAt": "1970-01-01T00:00:00.000Z",
"nameCreatedBy": "string",
"nameUpdatedBy": "string",
"parentId": "string",
"id": "string",
"name": "string",
"ssoEnabled": false,
"ssoMetadataXml": "string",
"ssoValidLoginHours": 0,
"demoAccount": false,
"dataStorageLocation": "US",
"marketplaceDetails":
{
"provider": "AWS"
},
"dataPortalSettings":
{
"defaultTemporaryCredentialsExpirationTime":
{
"value": 0,
"timeframe": "Nanos",
"description": "string"
},
"preDefinedDataAccessPurposes":
[
{
"purpose":
"string",
"requiredReason":
false
}
],
"defaultPurpose": "string",
"enablePersonalAccessToken": false
},
"subscription":
{
"type": "PROSPECT"
},
"featureVersion": "string",
"notificationsSettings":
"usersNotificationSettings":
"customEmailUserAttribute": "string",
"awsExternalId": "string",
"commvaultTenantId": "string"
}
Bad configuration request
Update Account Notification Settings
post/api/accounts/{id}/notifications
This HTTP POST method is used to create new notifications associated with the specified account. Notifications (DAC Alerts) are used notifying the user about the current DAC version and certificate expirations.
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
PATH PARAMETERS
| *id string |
||
REQUEST BODY application/json
EXAMPLESCHEMA
[\
{\
"notificationKeys": [\
"string"\
],\
"recipients": [\
"string"\
],\
"channel": "EMAIL",\
"active": false\
}\
]
array
Multiline description
[{
notificationKeys:[string]
recipients:[string]
channel:enum
Allowed: EMAIL┃SLACK
active:boolean
}]
API Server
Authentication
Required (None Applied)
FILL EXAMPLE
CLEAR TRY
RESPONSE
200 400 404
Status OK
EXAMPLE SCHEMA
application/json
Copy
{
"empty": false,
"first":
{
"notificationKeys":
[
"string"
],
"recipients":
[
"string"
],
"channel": "EMAIL",
"active": false,
"updatedAt": "1970-01-01T00:00:00.000Z"
},
"last":
{
"notificationKeys":
[
"string"
],
"recipients":
[
"string"
],
"channel": "EMAIL",
"active": false,
"updatedAt": "1970-01-01T00:00:00.000Z"
}
}
Invalid ID supplied
Account not found
Update Account General Settings
put/api/accounts/{id}/settings
This HTTP PUT method is used to update the general settings of the specified account. These settings include the account name and SSO configurations related to the account.
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
PATH PARAMETERS
| *id string |
Min 1 chars | |
REQUEST BODY application/json
EXAMPLESCHEMA
{
"name": "A",
"ssoEnabled": false,
"ssoMetadataXml": "string",
"ssoValidLoginHours": 0
}
object
Multiline description
{
name*: string
Constraints: Min 1 chars
ssoEnabled:boolean
ssoMetadataXml:string
ssoValidLoginHours:integer
}
API Server
Authentication
Required (None Applied)
FILL EXAMPLE
CLEAR TRY
RESPONSE
200 400
Status OK
EXAMPLE SCHEMA
application/json
Copy
{
"entityVersion": 0,
"createdAt": "1970-01-01T00:00:00.000Z",
"updatedAt": "1970-01-01T00:00:00.000Z",
"nameCreatedBy": "string",
"nameUpdatedBy": "string",
"parentId": "string",
"id": "string",
"name": "string",
"ssoEnabled": false,
"ssoMetadataXml": "string",
"ssoValidLoginHours": 0,
"demoAccount": false,
"dataStorageLocation": "US",
"marketplaceDetails":
{
"provider": "AWS"
},
"dataPortalSettings":
{
"defaultTemporaryCredentialsExpirationTime":
{
"value": 0,
"timeframe": "Nanos",
"description": "string"
},
"preDefinedDataAccessPurposes":
[
{
"purpose":
"string",
"requiredReason":
false
}
],
"defaultPurpose": "string",
"enablePersonalAccessToken": false
},
"subscription":
{
"type": "PROSPECT"
},
"featureVersion": "string",
"notificationsSettings":
"usersNotificationSettings":
"customEmailUserAttribute": "string",
"awsExternalId": "string",
"commvaultTenantId": "string"
}
Bad configuration request
Service Accounts
Service accounts are identities of the account that should only be used for API access and process automation. Once you create a service account, Satori generates service account credentials which are used to obtain authentication tokens. Service accounts are assigned with a role that determines their permissions.
Retrieve a Service Account
get/api/service-accounts/{id}
This HTTP GET method is used to fetch the details of the specified service account. A service account details include the name, creation date, last updated date, the creator's name, the account ID and a description.
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
PATH PARAMETERS
| *id string |
||
API Server
Authentication
Required (None Applied)
FILL EXAMPLE
CLEAR TRY
RESPONSE
200 400 401
Status OK.
EXAMPLE SCHEMA
application/json
Copy
{
"entityVersion": 0,
"createdAt": "1970-01-01T00:00:00.000Z",
"updatedAt": "1970-01-01T00:00:00.000Z",
"nameCreatedBy": "string",
"nameUpdatedBy": "string",
"parentId": "string",
"id": "string",
"accountId": "string",
"description": "string",
"bot": false,
"blocked": false,
"bruteForceBlocked": false
}
Bad configuration request
Invalid Authorization
Delete a service account
delete/api/service-accounts/{id}
The HTTP DELETE method is used to delete a service account from the system.
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
PATH PARAMETERS
| *id string |
||
API Server
Authentication
Required (None Applied)
FILL EXAMPLE
CLEAR TRY
RESPONSE
204 400 401 404
Status OK.
Bad configuration request
Invalid Authorization
Resource not found
List all Service Accounts
get/api/service-accounts
This HTTP GET method is used to fetch a list of all the service accounts in the system. The service account details include the name, creation date, last updated date, the creator's name, the account ID and a description for the service accounts.
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
QUERY-STRING PARAMETERS
| accountId string |
||
| page int32 |
Default: 0 | |
| pageSize int32 |
Default: 5 | |
| orderBy array of string |
||
| orderDirection array of string |
||
| search string |
||
API Server
Authentication
Required (None Applied)
FILL EXAMPLE
CLEAR TRY
RESPONSE
200 400 401
Status OK.
EXAMPLE SCHEMA
application/json
Copy
{
"records":
[
{
"entityVersion":
0,
"createdAt":
"1970-01-01T00:00:00.000Z",
"updatedAt":
"1970-01-01T00:00:00.000Z",
"nameCreatedBy":
"string",
"nameUpdatedBy":
"string",
"parentId":
"string",
"id":
"string",
"accountId":
"string",
"description":
"string",
"bot":
false,
"blocked":
false,
"bruteForceBlocked":
false
}
],
"count": 0
}
Bad configuration request
Invalid Authorization
Create a Service Account
post/api/service-accounts
This HTTP POST method is used to create a new service account.The service account includes an account ID, a description and the service account key.
NOTE: Service accounts are created with an automatically generated key that is not kept in the system.
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
REQUEST BODY application/json
EXAMPLESCHEMA
{
"accountId": "A",
"description": "A"
}
object
Multiline description
{
accountId*: string
Constraints: Min 1 chars
description*: string
Constraints: Min 1 chars
}
API Server
Authentication
Required (None Applied)
FILL EXAMPLE
CLEAR TRY
RESPONSE
201 400 401 404
Status OK, service account created.
EXAMPLE SCHEMA
application/json
Copy
{
"entityVersion": 0,
"createdAt": "1970-01-01T00:00:00.000Z",
"updatedAt": "1970-01-01T00:00:00.000Z",
"nameCreatedBy": "string",
"nameUpdatedBy": "string",
"parentId": "string",
"id": "string",
"accountId": "string",
"description": "string",
"bot": false,
"blocked": false,
"bruteForceBlocked": false,
"apiKey": "string"
}
Bad configuration request
Invalid Authorization
Resource not found
Retrieve a Service Account Role
get/api/service-accounts/{id}/roles
This HTTP GET method is used to fetch the roles that have been assigned to a specific service account. Roles typically define the permissions and access rights the service account has within the system.
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
PATH PARAMETERS
| *id string |
||
API Server
Authentication
Required (None Applied)
FILL EXAMPLE
CLEAR TRY
RESPONSE
200 401 404
Status OK, roles found
EXAMPLE SCHEMA
application/json
Copy
[
{
"id":
"string",
"name":
"string",
"description":
"string"
}
]
Invalid Authorization
Resource not found
Reset a Service Account Key
post/api/service-accounts/{id}/reset-api-key
This HTTP POST method is used to reset the service account key for the specified service account. Resetting a service account key is done for security reasons, such as when the key may have been compromised or when it's necessary to rotate keys periodically.
NOTE: The key is automatically generated and is not kept in the system.
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
PATH PARAMETERS
| *id string |
||
API Server
Authentication
Required (None Applied)
FILL EXAMPLE
CLEAR TRY
RESPONSE
200 400 401 404
Status OK, service account key was reset.
EXAMPLE SCHEMA
application/json
Copy
{
"entityVersion": 0,
"createdAt": "1970-01-01T00:00:00.000Z",
"updatedAt": "1970-01-01T00:00:00.000Z",
"nameCreatedBy": "string",
"nameUpdatedBy": "string",
"parentId": "string",
"id": "string",
"accountId": "string",
"description": "string",
"bot": false,
"blocked": false,
"bruteForceBlocked": false,
"apiKey": "string"
}
Bad configuration request
Invalid Authorization
Resource not found
Assign a Service Account Role
put/api/service-accounts/{id}/roles/{roleId}
This HTTP PUT method is used to assign a new role to a service account or update an existing role assignment. Roles determine what permissions and access levels the service account will have.
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
PATH PARAMETERS
| *id string |
||
| *roleId string |
||
API Server
Authentication
Required (None Applied)
FILL EXAMPLE
CLEAR TRY
RESPONSE
200 401 404
Status OK, service account role was changed
Invalid Authorization
Provided role id lookup failed
DAC Access Tokens
DAC access tokens are credentials used when integrating Satori with BI tools. DAC access tokens should be kept secret, like passwords.
Retrieve a Dac Access Token
get/api/dac-access-token/{id}
This HTTP GET method is used to fetch details about a specific DAC access token.
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
PATH PARAMETERS
| *id string |
||
API Server
Authentication
Required (None Applied)
FILL EXAMPLE
CLEAR TRY
RESPONSE
200 400 401 404
Status OK, dac access token is found.
EXAMPLE SCHEMA
application/json
Copy
{
"entityVersion": 0,
"createdAt": "1970-01-01T00:00:00.000Z",
"updatedAt": "1970-01-01T00:00:00.000Z",
"nameCreatedBy": "string",
"nameUpdatedBy": "string",
"parentId": "string",
"id": "string",
"name": "string",
"expirationTime": "1970-01-01T00:00:00.000Z",
"permissions":
[
"CLIENT_ACCESS"
],
"enable": false,
"token": "string"
}
Bad configuration request
Invalid Authorization
Resource not found
Update a DACs Access Token
put/api/dac-access-token/{id}
This HTTP PUT method is used to update the details of a DAC access token. Updates include changes to the token's permissions, expiration date or status.
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
PATH PARAMETERS
| *id string |
Min 1 chars | |
REQUEST BODY *application/json
EXAMPLESCHEMA
{
"name": "A",
"expirationTime": "1970-01-01T00:00:00.000Z",
"permissions": [\
"CLIENT_ACCESS"\
],
"enable": false
}
object
Multiline description
{
name*: string
Constraints: Min 1 chars
expirationTime:date-time
permissions:[enum]
Allowed: CLIENT_ACCESS┃SPECIAL_URL
enable:boolean
}
API Server
Authentication
Required (None Applied)
FILL EXAMPLE
CLEAR TRY
RESPONSE
200 400 401 404
Status OK, DACs access token is updated
EXAMPLE SCHEMA
application/json
Copy
{
"entityVersion": 0,
"createdAt": "1970-01-01T00:00:00.000Z",
"updatedAt": "1970-01-01T00:00:00.000Z",
"nameCreatedBy": "string",
"nameUpdatedBy": "string",
"parentId": "string",
"id": "string",
"name": "string",
"expirationTime": "1970-01-01T00:00:00.000Z",
"permissions":
[
"CLIENT_ACCESS"
],
"enable": false,
"token": "string"
}
Bad request
Invalid Authorization
Resource not found
Create a Dac Access Token
post/api/dac-access-token/{id}
This HTTP POST method is used to create, renew or regenerate a DAC access token.
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
PATH PARAMETERS
| *id string |
Min 1 chars | |
REQUEST BODY *application/json
EXAMPLESCHEMA
{
"name": "A",
"expirationTime": "1970-01-01T00:00:00.000Z",
"permissions": [\
"CLIENT_ACCESS"\
],
"enable": false
}
object
Multiline description
{
name*: string
Constraints: Min 1 chars
expirationTime:date-time
permissions:[enum]
Allowed: CLIENT_ACCESS┃SPECIAL_URL
enable:boolean
}
API Server
Authentication
Required (None Applied)
FILL EXAMPLE
CLEAR TRY
RESPONSE
201 400 401
Status OK, dac access token is created
EXAMPLE SCHEMA
application/json
Copy
{
"entityVersion": 0,
"createdAt": "1970-01-01T00:00:00.000Z",
"updatedAt": "1970-01-01T00:00:00.000Z",
"nameCreatedBy": "string",
"nameUpdatedBy": "string",
"parentId": "string",
"id": "string",
"name": "string",
"expirationTime": "1970-01-01T00:00:00.000Z",
"permissions":
[
"CLIENT_ACCESS"
],
"enable": false,
"token": "string"
}
Bad configuration request
Invalid Authorization
Delete a DACs access token
delete/api/dac-access-token/{id}
This HTTP DELETE method is used to remove a DAC access token, effectively invalidating it and preventing any further use.
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
PATH PARAMETERS
| *id string |
||
API Server
Authentication
Required (None Applied)
FILL EXAMPLE
CLEAR TRY
RESPONSE
204 400 401 404
Status OK.
Bad configuration request
Invalid Authorization
Resource not found
List all the DACs Access Tokens
get/api/dac-access-token
This HTTP GET method is used to fetch details about all the DAC access tokens in the system. This includes information such as token IDs, the creation date, update date, updated by, issuance dates, the DAC name, permissions and expiration date and time.
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
QUERY-STRING PARAMETERS
API Server
Authentication
Required (None Applied)
FILL EXAMPLE
CLEAR TRY
RESPONSE
200 400 401
Status OK.
EXAMPLE SCHEMA
application/json
Copy
{
"records":
[
{
"entityVersion":
0,
"createdAt":
"1970-01-01T00:00:00.000Z",
"updatedAt":
"1970-01-01T00:00:00.000Z",
"nameCreatedBy":
"string",
"nameUpdatedBy":
"string",
"parentId":
"string",
"id":
"string",
"name":
"string",
"expirationTime":
"1970-01-01T00:00:00.000Z",
"permissions":
[
"CLIENT_ACCESS"
],
"enable":
false
}
],
"count": 0
}
Bad configuration request
Invalid Authorization
Data Access Requests
Data access requests are used to enable users to gain access to data that is organized in datasets which include databases, schemas, tables or other data assets. Once approved, the data consumer can then query the various data stores to retrieve or manipulate data.
Approve a Data Access Request
post/api/data-access-request/{id}/approve
This HTTP POST method is used to approve a data access request, granting the data consumer access to the requested dataset. This is part of a data access request flow, where a user (data consumer) must receive an approval before being granted access to a specific dataset.
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
PATH PARAMETERS
| *id string |
||
REQUEST BODY application/json
EXAMPLESCHEMA
{
"approverNote": "string"
}
object
Multiline description
{
approverNote:string
}
API Server
Authentication
Required (None Applied)
FILL EXAMPLE
CLEAR TRY
RESPONSE
204 400 401 404
Status OK.
Bad configuration request
Invalid Authorization
Resource not found
Retrieve a Data Access Request
get/api/data-access-request/{id}
This HTTP GET method is used to fetch user information about a specific data access request including, the user name, message, usage purpose and data access level for the requested dataset.
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
PATH PARAMETERS
| *id string |
||
API Server
Authentication
Required (None Applied)
FILL EXAMPLE
CLEAR TRY
RESPONSE
200 400 401 404
Status OK, dataset found.
EXAMPLE SCHEMA
application/json
Copy
{
"entityVersion": 0,
"createdAt": "1970-01-01T00:00:00.000Z",
"updatedAt": "1970-01-01T00:00:00.000Z",
"nameCreatedBy": "string",
"nameUpdatedBy": "string",
"parentId": "string",
"id": "string",
"type": "INSTANT_ACCESS",
"suspended": false,
"identity":
{
"identityType": "USER",
"identity": "string",
"id": "string",
"displayName": "string"
},
"accessLevel": "READ_ONLY",
"timeLimit":
{
"shouldExpire": false,
"unitType": "MINUTES",
"units": 0
},
"unusedTimeLimit":
{
"unusedDaysUntilRevocation": 0,
"shouldRevoke": false
},
"securityPolicyIds":
[
"string"
],
"user": "string",
"message": "string",
"purpose": "string",
"dataAccessLevel": "READ_ONLY",
"requireApproverNote": false,
"userPermissions":
{
"canEdit": false,
"canApprove": false
}
}
Bad configuration request
Invalid Authorization
Resource not found
Delete a Data Access Request
delete/api/data-access-request/{id}
This HTTP DELETE method is used to remove or cancel a data access request.
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
PATH PARAMETERS
| *id string |
||
REQUEST BODY application/json
EXAMPLESCHEMA
{
"rejectionNote": "string"
}
object
Multiline description
{
rejectionNote:string
}
API Server
Authentication
Required (None Applied)
FILL EXAMPLE
CLEAR TRY
RESPONSE
204 400 401 404
Status OK.
Bad configuration request
Invalid Authorization
Resource not found
List all Dataset's Data Access Requests
get/api/data-access-request
This HTTP GET method is used to fetch details about all data access requests, including their status, requester information and requested datasets.
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
QUERY-STRING PARAMETERS
| *parentId string |
Min 1 chars | |
| Parent ID is required query param, should be a data policy ID | ||
| page int32 |
Default: 0 | |
| pageSize int32 |
Default: 5 | |
| orderBy array of string |
||
| orderDirection array of string |
||
| search string |
||
API Server
Authentication
Required (None Applied)
FILL EXAMPLE
CLEAR TRY
RESPONSE
200 400 401
Status OK.
EXAMPLE SCHEMA
application/json
Copy
{
"records":
[
{
"entityVersion":
0,
"createdAt":
"1970-01-01T00:00:00.000Z",
"updatedAt":
"1970-01-01T00:00:00.000Z",
"nameCreatedBy":
"string",
"nameUpdatedBy":
"string",
"parentId":
"string",
"id":
"string",
"type":
"INSTANT_ACCESS",
"suspended":
false,
"identity":
{
"identityType":
"USER",
"identity":
"string",
"id":
"string",
"displayName":
"string"
},
"accessLevel":
"READ_ONLY",
"timeLimit":
{
"shouldExpire":
false,
"unitType":
"MINUTES",
"units":
0
},
"unusedTimeLimit":
{
"unusedDaysUntilRevocation":
0,
"shouldRevoke":
false
},
"securityPolicyIds":
[
"string"
],
"user":
"string",
"message":
"string",
"purpose":
"string",
"dataAccessLevel":
"READ_ONLY",
"requireApproverNote":
false,
"userPermissions":
{
"canEdit":
false,
"canApprove":
false
}
}
],
"count": 0
}
Bad configuration request
Invalid Authorization
List Account's Data Access Requests
get/api/data-access-request/by-account-id
This HTTP GET method is used to fetch all data access requests associated with the specified account.
The data access request details include, the name, display name, creation date, the data access level, unused time limit, message, usage purpose, security policies, masking profiles and whether the data access requires an approvers note.
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
QUERY-STRING PARAMETERS
| accountId string |
||
| page int32 |
Default: 0 | |
| pageSize int32 |
Default: 5 | |
| orderBy array of string |
||
| orderDirection array of string |
||
| search string |
||
| identity array of string |
||
| identityType array of string |
Allowed: USER┃ DB_USER┃ GROUP┃ IDP_GROUP┃ DATABRICKS_GROUP┃ DATABRICKS_SERVICE_PRINCIPAL┃ SNOWFLAKE_ROLE┃ SNOWFLAKE_ACCOUNT_NAME┃ SNOWFLAKE_DATABASE_ROLE┃ CEL┃ EVERYONE |
|
| accessLevel array of string |
||
| parent array of string |
||
| datasetId array of string |
||
API Server
Authentication
Required (None Applied)
FILL EXAMPLE
CLEAR TRY
RESPONSE
200 400 401
Status OK.
EXAMPLE SCHEMA
application/json
Copy
{
"records":
[
{
"entityVersion":
0,
"createdAt":
"1970-01-01T00:00:00.000Z",
"updatedAt":
"1970-01-01T00:00:00.000Z",
"nameCreatedBy":
"string",
"nameUpdatedBy":
"string",
"parentId":
"string",
"identity":
{
"identityType":
"USER",
"identity":
"string",
"id":
"string",
"displayName":
"string"
},
"accessLevel":
"READ_ONLY",
"timeLimit":
{
"shouldExpire":
false,
"unitType":
"MINUTES",
"units":
0
},
"unusedTimeLimit":
{
"unusedDaysUntilRevocation":
0,
"shouldRevoke":
false
},
"message":
"string",
"purpose":
"string",
"dataset":
{
"id":
"string",
"name":
"string"
},
"securityPolicies":
[
{
"id":
"string",
"name":
"string"
}
],
"maskingProfiles":
[
{
"id":
"string",
"name":
"string"
}
],
"requireApproverNote":
false,
"userPermissions":
{
"canEdit":
false,
"canApprove":
false
},
"id":
"string"
}
],
"count": 0
}
Bad configuration request
Invalid Authorization
Lists all User's Approvable Requests
get/api/data-access-request/approvable-requests
This HTTP GET method is used to fetch all data access requests that the current user (manager or data steward) has the authority to approve.
This is particularly useful for users with specific roles, such as administrators, data stewards or managers, who need to review and manage pending requests.
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
QUERY-STRING PARAMETERS
| *accountId string |
Min 1 chars | |
| userId string |
||
| When userId is specified, the requester should have READ permission on that user. When it is not specified, the 'userId' will be handled with the current user |
API Server
Authentication
Required (None Applied)
FILL EXAMPLE
CLEAR TRY
RESPONSE
200 400 401 404
Status OK.
EXAMPLE SCHEMA
application/json
Copy
{
"records":
"count": 0
}
Bad configuration request
Invalid Authorization
Resource not found
Create a Data Access Request
post/api/data-access-request/submit-request
This HTTP POST method allows a user to submit a request for access to a specific dataset.
The data access request details include, the username, the data access level, usage purpose and the data access rule.
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
QUERY-STRING PARAMETERS
| *accountId string |
Min 1 chars | |
| parentId string |
||
| Parent ID is required query param, should be a data policy ID |
REQUEST BODY application/json
EXAMPLESCHEMA
{
"message": "string",
"purpose": "string",
"dataAccessLevel": "READ_ONLY",
"dataAccessRuleId": "string"
}
object
Multiline description
{
message:string
purpose:string
dataAccessLevel:enum
Allowed: READ_ONLY┃READ_WRITE┃OWNER
dataAccessRuleId:string
}
API Server
Authentication
Required (None Applied)
FILL EXAMPLE
CLEAR TRY
RESPONSE
202 400 401 404
Status OK, request created.
Bad configuration request
Invalid Authorization
Resource not found
Audit Log
The Audit Log allows you to obtain complete, uniform and searchable data access audits for all data stores with full user, access and data context.
The audit log data is retained in the account indefinitely and there is no retention or roll-off window for the data. On the audit page, you can query up to 90 days of audit data at a time.
Retrieve an Aggregated List of Tools
get/api/data-flow/analytics/{accountId}/tools
This HTTP GET method is used to fetch a list of analytics tools that are linked to a specific account. These tools include software or platforms used for data analysis, BI tools, or other analytics-related tasks.
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
PATH PARAMETERS
| *accountId string |
||
QUERY-STRING PARAMETERS
| *from int64 |
||
| Start query time represented by milliseconds since Jan 1, 1970, 00:00:00.000 GMT Examples: 1625573940000 |
||
| *to int64 |
||
| End query time represented by milliseconds since Jan 1, 1970, 00:00:00.000 GMT Examples: 1625660399999 |
||
| dataStoreIdsFilter array of string |
||
| dataStoreTypes array of string |
||
| userNamesFilter array of string |
||
| authMethodFilter array of string |
||
| toolsFilter array of string |
||
| toolTypesFilter array of string |
||
| toolDriversFilter array of string |
||
| locationsFilter array of string |
||
| tagsFilter array of string |
||
| incidentIdsFilter array of string |
||
| policyNamesFilter array of string |
||
| countriesFilter array of string |
||
| citiesFilter array of string |
||
| ipsFilter array of string |
||
| actionTypesFilter array of string |
Allowed: ACTION_NONE┃ ACTION_ALERT┃ ACTION_BLOCK┃ ACTION_MASK┃ ACTION_REQUEST_BLOCK┃ ACTION_ROW_FILTER┃ ACTION_ORCH_MASK_POLICY_EXECUTED┃ ACTION_ORCH_ROW_FILTER_POLICY_EXECUTED |
|
| Filter for action types | ||
| tagCategoriesFilter array of string |
||
| hasIncidentsFilter boolean |
||
| hasIncidentsFilterV2 boolean |
||
| hasDataStoreErrorsFilter boolean |
||
| includeAdministrateQueriesFilter boolean |
Default: false | |
| governedQueries array of string |
Allowed: GOVERNED┃ UNGOVERNED |
|
| groupsFilter array of string |
||
| datasetsFilter array of string |
||
| securityPoliciesFilter array of string |
||
| flowId string |
||
| accessPermissionIds array of string |
||
| queryIdFilter string |
||
| genericPropertiesFilter string |
||
| recordsRangeFilter string |
||
| This is a range parameter for the number of records returned from query of the form 'min:max'. for example, '1:30' is a min of 1 and a max of 30, ':20' is without min and a max of 20 |
||
| volumesRangeFilter string |
||
| This is a range parameter for the data volume returned from the query of the form 'min:max'. for example, '1:30' is a min of 1 and a max of 30, ':20' is without min and a max of 20 |
||
| responseTime string |
||
| This is a range parameter for the data store response time of the query of the form 'min:max'. for example, '1:30' is a min of 1 and a max of 30, ':20' is without min and a max of 20 |
||
| processingTime string |
||
| This is a range parameter for the processing time it took satori while running the query of the form 'min:max'. for example, '1:30' is a min of 1 and a max of 30, ':20' is without min and a max of 20 |
||
| statementType array of string |
||
| loginName array of string |
||
| purposeSearch string |
||
API Server
Authentication
Required (None Applied)
FILL EXAMPLE
CLEAR TRY
RESPONSE
200 400 401
Status OK, metrics returned
EXAMPLE SCHEMA
application/json
Copy
[
{
"toolName":
"string",
"numberOfQueries":
0
}
]
Bad request
Invalid Authorization
Retrieve a Data Flow Aggregated Counters
get/api/data-flow/analytics/{accountId}/counters
This HTTP GET method is used to fetch a set of counters or metrics that provide insights into the data flow activities and performance for the specified account.
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
PATH PARAMETERS
| *accountId string |
||
QUERY-STRING PARAMETERS
API Server
Authentication
Required (None Applied)
FILL EXAMPLE
CLEAR TRY
RESPONSE
200 400 401 404
Status OK, metrics returned
EXAMPLE SCHEMA
application/json
Copy
{
"datastoresInUse": 0,
"distinctUserAccess": 0,
"bytesProcessed": 0,
"numberOfQueries": 0,
"lastQueriedAt": "1970-01-01T00:00:00.000Z"
}
Bad request
Invalid Authorization
Resource not found
Retrieve an Aggregated List of Actions
get/api/data-flow/analytics/{accountId}/actions
This HTTP GET method is used to fetch a list of actions or events that have occurred within the data flow analytics processes for the specified account.
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
PATH PARAMETERS
| *accountId string |
||
QUERY-STRING PARAMETERS
API Server
Authentication
Required (None Applied)
FILL EXAMPLE
CLEAR TRY
RESPONSE
200 400
Status OK
EXAMPLE SCHEMA
application/json
Copy
{
"masked": 0,
"blocked": 0,
"alerted": 0,
"others": 0
}
Bad request
DEPRECATED
Export all Data Flows
get/api/data-flow/{accountId}/export
[Deprecated - use /api/export/data-flow] This HTTP GET method is used to export audit logs in CSV format.
The exported data is in CSV format and includes various types of information such as a list of governed and ungoverned queries, masking and filtering actions, classification categories, response and processing times, generic properties and login name.
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
PATH PARAMETERS
| *accountId string |
||
QUERY-STRING PARAMETERS
| *from int64 |
||
| Start query time represented by milliseconds since Jan 1, 1970, 00:00:00.000 GMT Examples: 1625573940000 |
||
| *to int64 |
||
| End query time represented by milliseconds since Jan 1, 1970, 00:00:00.000 GMT Examples: 1625660399999 |
||
| orderBy array of string |
||
| orderDirection array of string |
||
| fields array of string |
Allowed: flow_timestamp┃ identity.name┃ data_store.id┃ data_store.name┃ data_store.type┃ datasets.name┃ datasets.id┃ tags.name┃ locations.length┃ locations.location┃ query.query_type┃ volume.value┃ records.value┃ query.original_query┃ tool┃ incident_ids┃ actions.policy_names┃ result_set.column_name┃ actions.type┃ identity.authentication.method┃ query.db_statement_type┃ perf_stats.processing_time┃ perf_stats.ds_response_time |
|
| Field names which will be returned as columns in the responded list | ||
| dataStoreIdsFilter array of string |
||
| dataStoreTypes array of string |
||
| userNamesFilter array of string |
||
| authMethodFilter array of string |
||
| toolsFilter array of string |
||
| toolTypesFilter array of string |
||
| toolDriversFilter array of string |
||
| locationsFilter array of string |
||
| tagsFilter array of string |
||
| incidentIdsFilter array of string |
||
| policyNamesFilter array of string |
||
| countriesFilter array of string |
||
| citiesFilter array of string |
||
| ipsFilter array of string |
||
| actionTypesFilter array of string |
Allowed: ACTION_NONE┃ ACTION_ALERT┃ ACTION_BLOCK┃ ACTION_MASK┃ ACTION_REQUEST_BLOCK┃ ACTION_ROW_FILTER┃ ACTION_ORCH_MASK_POLICY_EXECUTED┃ ACTION_ORCH_ROW_FILTER_POLICY_EXECUTED |
|
| Filter for action types | ||
| tagCategoriesFilter array of string |
||
| hasIncidentsFilter boolean |
||
| hasIncidentsFilterV2 boolean |
||
| hasDataStoreErrorsFilter boolean |
||
| includeAdministrateQueriesFilter boolean |
Default: false | |
| governedQueries array of string |
Allowed: GOVERNED┃ UNGOVERNED |
|
| groupsFilter array of string |
||
| datasetsFilter array of string |
||
| securityPoliciesFilter array of string |
||
| flowId string |
||
| accessPermissionIds array of string |
||
| queryIdFilter string |
||
| genericPropertiesFilter string |
||
| recordsRangeFilter string |
||
| This is a range parameter for the number of records returned from query of the form 'min:max'. for example, '1:30' is a min of 1 and a max of 30, ':20' is without min and a max of 20 |
||
| volumesRangeFilter string |
||
| This is a range parameter for the data volume returned from the query of the form 'min:max'. for example, '1:30' is a min of 1 and a max of 30, ':20' is without min and a max of 20 |
||
| responseTime string |
||
| This is a range parameter for the data store response time of the query of the form 'min:max'. for example, '1:30' is a min of 1 and a max of 30, ':20' is without min and a max of 20 |
||
| processingTime string |
||
| This is a range parameter for the processing time it took satori while running the query of the form 'min:max'. for example, '1:30' is a min of 1 and a max of 30, ':20' is without min and a max of 20 |
||
| statementType array of string |
||
| loginName array of string |
||
| purposeSearch string |
||
API Server
Authentication
Required (None Applied)
FILL EXAMPLE
CLEAR TRY
RESPONSE
200 400 401
Status OK
Bad configuration request
Invalid Authorization
Retrieve an Account's Counters
get/api/data-flow/{accountId}/metrics
This HTTP GET method is used to fetch various metrics that track the performance and status of data flow activities for the specified account.
These metrics include things like data processing rates, error rates, throughput and a list of governed and ungoverned queries, masking and filtering actions, classification categories, response and processing times, generic properties and login name.
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
PATH PARAMETERS
| *accountId string |
||
QUERY-STRING PARAMETERS
| *from int64 |
||
| Start query time represented by milliseconds since Jan 1, 1970, 00:00:00.000 GMT Examples: 1625573940000 |
||
| *to int64 |
||
| End query time represented by milliseconds since Jan 1, 1970, 00:00:00.000 GMT Examples: 1625660399999 |
||
| orderBy array of string |
||
| orderDirection array of string |
||
| dataStoreIdsFilter array of string |
||
| dataStoreTypes array of string |
||
| userNamesFilter array of string |
||
| authMethodFilter array of string |
||
| toolsFilter array of string |
||
| toolTypesFilter array of string |
||
| toolDriversFilter array of string |
||
| locationsFilter array of string |
||
| tagsFilter array of string |
||
| incidentIdsFilter array of string |
||
| policyNamesFilter array of string |
||
| countriesFilter array of string |
||
| citiesFilter array of string |
||
| ipsFilter array of string |
||
| actionTypesFilter array of string |
Allowed: ACTION_NONE┃ ACTION_ALERT┃ ACTION_BLOCK┃ ACTION_MASK┃ ACTION_REQUEST_BLOCK┃ ACTION_ROW_FILTER┃ ACTION_ORCH_MASK_POLICY_EXECUTED┃ ACTION_ORCH_ROW_FILTER_POLICY_EXECUTED |
|
| Filter for action types | ||
| tagCategoriesFilter array of string |
||
| hasIncidentsFilter boolean |
||
| hasIncidentsFilterV2 boolean |
||
| hasDataStoreErrorsFilter boolean |
||
| includeAdministrateQueriesFilter boolean |
Default: false | |
| governedQueries array of string |
Allowed: GOVERNED┃ UNGOVERNED |
|
| groupsFilter array of string |
||
| datasetsFilter array of string |
||
| securityPoliciesFilter array of string |
||
| flowId string |
||
| accessPermissionIds array of string |
||
| queryIdFilter string |
||
| genericPropertiesFilter string |
||
| recordsRangeFilter string |
||
| This is a range parameter for the number of records returned from query of the form 'min:max'. for example, '1:30' is a min of 1 and a max of 30, ':20' is without min and a max of 20 |
||
| volumesRangeFilter string |
||
| This is a range parameter for the data volume returned from the query of the form 'min:max'. for example, '1:30' is a min of 1 and a max of 30, ':20' is without min and a max of 20 |
||
| responseTime string |
||
| This is a range parameter for the data store response time of the query of the form 'min:max'. for example, '1:30' is a min of 1 and a max of 30, ':20' is without min and a max of 20 |
||
| processingTime string |
||
| This is a range parameter for the processing time it took satori while running the query of the form 'min:max'. for example, '1:30' is a min of 1 and a max of 30, ':20' is without min and a max of 20 |
||
| statementType array of string |
||
| loginName array of string |
||
| purposeSearch string |
||
API Server
Authentication
Required (None Applied)
FILL EXAMPLE
CLEAR TRY
RESPONSE
200 400 401
Status OK
EXAMPLE SCHEMA
application/json
Copy
{
"dataStoresCount": 0,
"activeDataStoresCount": 0,
"governedQueriesCount": 0,
"queriesCount": 0,
"usersCount": 0
}
Bad configuration request
Invalid Authorization
List all Data Flows
get/api/data-flow/{accountId}/query
This HTTP GET method is used to execute a query or retrieve the results of a query that has been executed against the audit log for the specified account.
The data includes a list of data flows, pagination, filters and sorting as well as a list of governed and ungoverned queries, masking and filtering actions, classification categories, security policies, data access permissions, response and processing time, query name and login name.
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
PATH PARAMETERS
| *accountId string |
||
QUERY-STRING PARAMETERS
| *from int64 |
||
| Start query time represented by milliseconds since Jan 1, 1970, 00:00:00.000 GMT Examples: 1625573940000 |
||
| *to int64 |
||
| End query time represented by milliseconds since Jan 1, 1970, 00:00:00.000 GMT Examples: 1625660399999 |
||
| orderBy array of string |
||
| orderDirection array of string |
||
| page int32 |
Default: 0 Min 0 |
|
| pageSize int32 |
Default: 100 Min 1┃Max 1000 |
|
| nextPageToken string |
||
This parameter is used for iterate query result pages without re-run the query for each page. Initial query should contain this parameter (for example, set to empty for the first page), while all following queries should contain it. Each page result will contain the nextPageToken field with the value of the token for the next page. |
||
| dataStoreIdsFilter array of string |
||
| dataStoreTypes array of string |
||
| userNamesFilter array of string |
||
| authMethodFilter array of string |
||
| toolsFilter array of string |
||
| toolTypesFilter array of string |
||
| toolDriversFilter array of string |
||
| locationsFilter array of string |
||
| tagsFilter array of string |
||
| incidentIdsFilter array of string |
||
| policyNamesFilter array of string |
||
| countriesFilter array of string |
||
| citiesFilter array of string |
||
| ipsFilter array of string |
||
| actionTypesFilter array of string |
Allowed: ACTION_NONE┃ ACTION_ALERT┃ ACTION_BLOCK┃ ACTION_MASK┃ ACTION_REQUEST_BLOCK┃ ACTION_ROW_FILTER┃ ACTION_ORCH_MASK_POLICY_EXECUTED┃ ACTION_ORCH_ROW_FILTER_POLICY_EXECUTED |
|
| Filter for action types | ||
| tagCategoriesFilter array of string |
||
| hasIncidentsFilter boolean |
||
| hasIncidentsFilterV2 boolean |
||
| hasDataStoreErrorsFilter boolean |
||
| includeAdministrateQueriesFilter boolean |
Default: false | |
| governedQueries array of string |
Allowed: GOVERNED┃ UNGOVERNED |
|
| groupsFilter array of string |
||
| datasetsFilter array of string |
||
| securityPoliciesFilter array of string |
||
| flowId string |
||
| accessPermissionIds array of string |
||
| queryIdFilter string |
||
| genericPropertiesFilter string |
||
| recordsRangeFilter string |
||
| This is a range parameter for the number of records returned from query of the form 'min:max'. for example, '1:30' is a min of 1 and a max of 30, ':20' is without min and a max of 20 |
||
| volumesRangeFilter string |
||
| This is a range parameter for the data volume returned from the query of the form 'min:max'. for example, '1:30' is a min of 1 and a max of 30, ':20' is without min and a max of 20 |
||
| responseTime string |
||
| This is a range parameter for the data store response time of the query of the form 'min:max'. for example, '1:30' is a min of 1 and a max of 30, ':20' is without min and a max of 20 |
||
| processingTime string |
||
| This is a range parameter for the processing time it took satori while running the query of the form 'min:max'. for example, '1:30' is a min of 1 and a max of 30, ':20' is without min and a max of 20 |
||
| statementType array of string |
||
| loginName array of string |
||
| purposeSearch string |
||
| queryName string |
||
API Server
Authentication
Required (None Applied)
FILL EXAMPLE
CLEAR TRY
RESPONSE
200 400 401
Status OK
EXAMPLE SCHEMA
application/json
Copy
{
"records":
[
{ },
],
"count": 0,
"nextPageToken": "string",
"dsIdsToNamesMap":
{
"property1": "string",
"property2": "string"
}
}
Bad configuration request
Invalid Authorization
Data Export
Data Export allows Satori customers to export the audit records to their own storage system. Supported storage systems: Snowflake.
The audit log data includes data access metadata such as queries, time of query, usernames, data store, tags, locations, action types, country, volume, records, tool used, policy name, city, time zone, client IP address, audit ID, query ID, Auth. method, response time and processing time.
Retrieve Snowflake Data Export Settings
get/api/enterprise-audit/{accountId}/snowflake
This HTTP GET method is used to fetch the settings for exporting audit logs to a Snowflake account.
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
PATH PARAMETERS
| *accountId string |
||
API Server
Authentication
Required (None Applied)
FILL EXAMPLE
CLEAR TRY
RESPONSE
200 400 401 404
Status OK
EXAMPLE SCHEMA
application/json
Copy
{
"enabled": false,
"region": "string",
"sharedAccount": "string"
}
Bad configuration request
Invalid Authorization
Resource not found
Identity Providers
Satori integrates with identity providers to manage users and groups via the SCIM protocol.
The identity provider (IdP) is a service that stores and verifies user identity. IdPs are typically cloud-hosted services, and they often work with single sign-on (SSO) providers to authenticate users.
Activate an Azure SAML Identity Provider certificate
post/api/identity-providers/{providerId}/saml/azure/activate-certificate
This HTTP POST method is used to activate a specific Satori certificate of an Azure AD SAML identity provider. The specified certificate will be set as active and all other certificates will be deactivated.
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
PATH PARAMETERS
| *providerId string |
Min 1 chars | |
REQUEST BODY application/json
EXAMPLESCHEMA
{
"satoriPublicCert": "A"
}
object
Multiline description
{
satoriPublicCert*: string
Constraints: Min 1 chars
}
API Server
Authentication
Required (None Applied)
FILL EXAMPLE
CLEAR TRY
RESPONSE
200 400 401 404
Status OK
EXAMPLE SCHEMA
application/json
Copy
{
"entityVersion": 0,
"createdAt": "1970-01-01T00:00:00.000Z",
"updatedAt": "1970-01-01T00:00:00.000Z",
"nameCreatedBy": "string",
"nameUpdatedBy": "string",
"parentId": "string",
"id": "string",
"providerName": "string",
"linkedDataStores":
[
"string"
],
"providerPublicCert": "string",
"providerLoginUrl": "string",
"providerIdentifier": "string",
"consumerEntityId": "string",
"consumerServiceUrl": "string",
"satoriPublicCert": "string",
"satoriPublicCerts":
[
{
"publicCert":
"string",
"expiryDate":
"1970-01-01T00:00:00.000Z",
"active":
false
}
]
}
Bad request - Certificate not found or invalid
Invalid Authorization
Identity Provider or certificate not found
Retrieve an Identity Provider
get/api/identity-providers/{id}
This HTTP GET method is used to fetch detailed information about a specific identity provider, such as its version, status, type, creation date and time, provider name and the linked data stores.
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
PATH PARAMETERS
| *id string |
||
API Server
Authentication
Required (None Applied)
FILL EXAMPLE
CLEAR TRY
RESPONSE
200 400 401 404
Status OK
EXAMPLE SCHEMA
application/json
Copy
{
"entityVersion": 0,
"createdAt": "1970-01-01T00:00:00.000Z",
"updatedAt": "1970-01-01T00:00:00.000Z",
"nameCreatedBy": "string",
"nameUpdatedBy": "string",
"parentId": "string",
"id": "string",
"providerName": "string",
"linkedDataStores":
[
"string"
]
}
Bad request
Invalid Authorization
Identity Provider not found
Create an Azure SAML Identity Provider
post/api/identity-providers/{accountId}/saml/azure
This HTTP POST method is used to set up Azure Active Directory as a SAML identity provider for a specific account.
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
PATH PARAMETERS
| *accountId string |
Min 1 chars | |
REQUEST BODY application/json
EXAMPLESCHEMA
{
"provider": "OKTA_API",
"providerPublicCert": "string",
"providerIdentifier": "string",
"providerLoginUrl": "string",
"consumerEntityId": "string",
"consumerServiceUrl": "string"
}
object
Multiline description
{
provider*: enum
Allowed: OKTA_API┃AZURE_SAML┃AZURE_API┃ONELOGIN_API┃SCIM
providerPublicCert:string
providerIdentifier:string
providerLoginUrl:string
consumerEntityId:string
consumerServiceUrl:string
}
API Server
Authentication
Required (None Applied)
FILL EXAMPLE
CLEAR TRY
RESPONSE
200 400 401
Status OK
EXAMPLE SCHEMA
application/json
Copy
{
"entityVersion": 0,
"createdAt": "1970-01-01T00:00:00.000Z",
"updatedAt": "1970-01-01T00:00:00.000Z",
"nameCreatedBy": "string",
"nameUpdatedBy": "string",
"parentId": "string",
"id": "string",
"providerName": "string",
"linkedDataStores":
[
"string"
],
"providerPublicCert": "string",
"providerLoginUrl": "string",
"providerIdentifier": "string",
"consumerEntityId": "string",
"consumerServiceUrl": "string",
"satoriPublicCert": "string",
"satoriPublicCerts":
[
{
"publicCert":
"string",
"expiryDate":
"1970-01-01T00:00:00.000Z",
"active":
false
}
]
}
Bad request
Invalid Authorization
Delete an Azure SAML Identity Provider certificate
post/api/identity-providers/{providerId}/saml/azure/delete-certificate
This HTTP POST method is used to delete a specific Satori certificate from an Azure AD SAML identity provider. The active certificate cannot be deleted. At least one certificate must remain in the identity provider.
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
PATH PARAMETERS
| *providerId string |
Min 1 chars | |
REQUEST BODY application/json
EXAMPLESCHEMA
{
"satoriPublicCert": "A"
}
object
Multiline description
{
satoriPublicCert*: string
Constraints: Min 1 chars
}
API Server
Authentication
Required (None Applied)
FILL EXAMPLE
CLEAR TRY
RESPONSE
200 400 401 404
Status OK
EXAMPLE SCHEMA
application/json
Copy
{
"entityVersion": 0,
"createdAt": "1970-01-01T00:00:00.000Z",
"updatedAt": "1970-01-01T00:00:00.000Z",
"nameCreatedBy": "string",
"nameUpdatedBy": "string",
"parentId": "string",
"id": "string",
"providerName": "string",
"linkedDataStores":
[
"string"
],
"providerPublicCert": "string",
"providerLoginUrl": "string",
"providerIdentifier": "string",
"consumerEntityId": "string",
"consumerServiceUrl": "string",
"satoriPublicCert": "string",
"satoriPublicCerts":
[
{
"publicCert":
"string",
"expiryDate":
"1970-01-01T00:00:00.000Z",
"active":
false
}
]
}
Bad request - Cannot delete active certificate or last certificate
Invalid Authorization
Identity Provider or certificate not found
Delete an Identity Provider
delete/api/identity-providers/{accountId}/{id}
This HTTP DELETE method is used to delete a specific identity provider configuration from an account.
This is done when the identity provider is no longer required, or if you want to replace it with a different provider.
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
PATH PARAMETERS
| *accountId string |
Min 1 chars | |
| *id string |
Min 1 chars | |
API Server
Authentication
Required (None Applied)
FILL EXAMPLE
CLEAR TRY
RESPONSE
200 400 401 404 409
Status OK
EXAMPLE SCHEMA
application/json
Copy
{
"entityVersion": 0,
"createdAt": "1970-01-01T00:00:00.000Z",
"updatedAt": "1970-01-01T00:00:00.000Z",
"nameCreatedBy": "string",
"nameUpdatedBy": "string",
"parentId": "string",
"id": "string",
"providerName": "string",
"linkedDataStores":
[
"string"
]
}
Bad request
Invalid Authorization
Identity Provider not found
identity provider is assigned to one or more data store
EXAMPLE SCHEMA
application/json
Example 1 Example 2 Example 3
Copy
{
"records":
[
{
"entityVersion":
0,
"createdAt":
"1970-01-01T00:00:00.000Z",
"updatedAt":
"1970-01-01T00:00:00.000Z",
"nameCreatedBy":
"string",
"nameUpdatedBy":
"string",
"parentId":
"string",
"id":
"string",
"name":
"string",
"hostname":
"string",
"satoriHostname":
"string",
"dataAccessControllerId":
"string",
"parent":
"string",
"type":
"string",
"projectIds":
[
"string"
],
"originPort":
0,
"hasIdp":
false,
"demo":
false,
"dataStoreSettings":
{
"deploymentType":
"MONGODB",
"originConnectivitySecured":
false,
"awsServiceRoleArn":
"string",
"awsHostedZoneId":
"string"
},
"regions":
[
{
"cloudProvider":
"GCP",
"regions":
[
{
"name":
"string",
"countryName":
"string",
"countryCode":
"string"
}
]
}
],
"discoveryDetails":
{
"objectId":
"string",
"externalId":
"string",
"cloudAccountId":
"string",
"cloudAccountProvider":
"AWS",
"engineType":
"string",
"cloudAccountName":
"string",
"cluster":
false
},
"environment":
"string"
}
],
"count": 0
}
Copy
{
"records":
"count": 0
}
Copy
{
"records":
"count": 0
}
Extend an Azure SAML Identity Provider certificate
post/api/identity-providers/{providerId}/saml/azure/extend
This HTTP POST method is used to extend the satori certificate of an Azure AD SAML identity provider.
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
PATH PARAMETERS
| *providerId string |
Min 1 chars | |
API Server
Authentication
Required (None Applied)
FILL EXAMPLE
CLEAR TRY
RESPONSE
200 400 401 404
Status OK
EXAMPLE SCHEMA
application/json
Copy
{
"entityVersion": 0,
"createdAt": "1970-01-01T00:00:00.000Z",
"updatedAt": "1970-01-01T00:00:00.000Z",
"nameCreatedBy": "string",
"nameUpdatedBy": "string",
"parentId": "string",
"id": "string",
"providerName": "string",
"linkedDataStores":
[
"string"
],
"providerPublicCert": "string",
"providerLoginUrl": "string",
"providerIdentifier": "string",
"consumerEntityId": "string",
"consumerServiceUrl": "string",
"satoriPublicCert": "string",
"satoriPublicCerts":
[
{
"publicCert":
"string",
"expiryDate":
"1970-01-01T00:00:00.000Z",
"active":
false
}
]
}
Bad request
Invalid Authorization
Identity Provider not found
Generate new certificate to Azure SAML Identity Provider
post/api/identity-providers/{providerId}/saml/azure/generate-certificate
This HTTP POST method creates and adds a new Satori certificate to an existing Azure AD SAML identity provider. 3 certificates are allowed per identity provider.
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
PATH PARAMETERS
| *providerId string |
Min 1 chars | |
API Server
Authentication
Required (None Applied)
FILL EXAMPLE
CLEAR TRY
RESPONSE
200 400 401 404
Status OK
EXAMPLE SCHEMA
application/json
Copy
{
"entityVersion": 0,
"createdAt": "1970-01-01T00:00:00.000Z",
"updatedAt": "1970-01-01T00:00:00.000Z",
"nameCreatedBy": "string",
"nameUpdatedBy": "string",
"parentId": "string",
"id": "string",
"providerName": "string",
"linkedDataStores":
[
"string"
],
"providerPublicCert": "string",
"providerLoginUrl": "string",
"providerIdentifier": "string",
"consumerEntityId": "string",
"consumerServiceUrl": "string",
"satoriPublicCert": "string",
"satoriPublicCerts":
[
{
"publicCert":
"string",
"expiryDate":
"1970-01-01T00:00:00.000Z",
"active":
false
}
]
}
Bad request - Maximum certificates reached or invalid provider
Invalid Authorization
Identity Provider not found
List all Identity Providers
get/api/identity-providers
This HTTP GET method is used to fetch a list of all identity providers, giving an overview of the different authentication services available.
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
QUERY-STRING PARAMETERS
| accountId string |
||
| dataStoreId string |
||
| page int32 |
Default: 0 | |
| pageSize int32 |
Default: 5 | |
| orderBy array of string |
||
| orderDirection array of string |
||
| search string |
||
API Server
Authentication
Required (None Applied)
FILL EXAMPLE
CLEAR TRY
RESPONSE
200 400 401
Status OK
EXAMPLE SCHEMA
application/json
Copy
{
"records":
[
{
"entityVersion":
0,
"createdAt":
"1970-01-01T00:00:00.000Z",
"updatedAt":
"1970-01-01T00:00:00.000Z",
"nameCreatedBy":
"string",
"nameUpdatedBy":
"string",
"parentId":
"string",
"id":
"string",
"providerName":
"string",
"linkedDataStores":
[
"string"
]
}
],
"count": 0
}
Bad request
Invalid Authorization
Update an Azure SAML Identity Provider
put/api/identity-providers/{providerId}/saml/azure
This HTTP PUT method is used to modify the settings of an Azure AD SAML identity provider and certificates.
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
PATH PARAMETERS
| *providerId string |
Min 1 chars | |
REQUEST BODY application/json
EXAMPLESCHEMA
object
Multiline description
{
provider*: enum
Allowed: OKTA_API┃AZURE_SAML┃AZURE_API┃ONELOGIN_API┃SCIM
providerPublicCert:string
providerIdentifier:string
providerLoginUrl:string
consumerEntityId:string
consumerServiceUrl:string
}
API Server
Authentication
Required (None Applied)
FILL EXAMPLE
CLEAR TRY
RESPONSE
200 400 401 404
Status OK
EXAMPLE SCHEMA
application/json
Copy
{
"entityVersion": 0,
"createdAt": "1970-01-01T00:00:00.000Z",
"updatedAt": "1970-01-01T00:00:00.000Z",
"nameCreatedBy": "string",
"nameUpdatedBy": "string",
"parentId": "string",
"id": "string",
"providerName": "string",
"linkedDataStores":
[
"string"
],
"providerPublicCert": "string",
"providerLoginUrl": "string",
"providerIdentifier": "string",
"consumerEntityId": "string",
"consumerServiceUrl": "string",
"satoriPublicCert": "string",
"satoriPublicCerts":
[
{
"publicCert":
"string",
"expiryDate":
"1970-01-01T00:00:00.000Z",
"active":
false
}
]
}
Bad request
Invalid Authorization
Identity Provider not found
Data Inventory [DEPRECATED]
This collection of Data Inventory API methods has been deprecated. Refer to the new Data Inventory APIs based on assets.
DEPRECATED
Delete a Location Record
delete/api/locations/{id}
This HTTP DELETE method is used to permanently delete a location from the system. It is used when a location is no longer relevant or if a location was added by mistake.
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
PATH PARAMETERS
| *id string |
||
API Server
Authentication
Required (None Applied)
FILL EXAMPLE
CLEAR TRY
RESPONSE
204 400 401 404
Status OK.
Bad configuration request
Invalid Authorization
Resource not found
DEPRECATED
List a History for Location Record
get/api/locations/{locationId}/history/v2
This HTTP GET method is used to provide a historical record of events, changes or updates related to the specified location.
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
PATH PARAMETERS
| *locationId string |
||
QUERY-STRING PARAMETERS
| accountId string |
||
| page int32 |
Default: 0 | |
| pageSize int32 |
Default: 5 | |
| orderBy array of string |
||
| orderDirection array of string |
||
| search string |
||
| nextPageToken string |
||
This parameter is used for iterate query result pages without re-run the query for each page. Initial query should contain this parameter (for example, set to empty for the first page), while all following queries should contain it. Each page result will contain the nextPageToken field with the value of the token for the next page. |
||
| from int64 |
||
| to int64 |
||
API Server
Authentication
Required (None Applied)
FILL EXAMPLE
CLEAR TRY
RESPONSE
200 400 401
Status OK.
EXAMPLE SCHEMA
application/json
Copy
{
"records":
[
{
"id":
"string",
"identity":
{
"type":
"string",
"name":
"string",
"id":
"string",
"displayName":
"string"
},
"actionType":
"string",
"actionSubType":
"string",
"timestamp":
"1970-01-01T00:00:00.000Z",
"userNote":
"string",
"systemNote":
"string",
"statusChanged":
"CLASSIFIED",
"classifiersAdded":
[
"string"
],
"classifiersRemoved":
[
"string"
]
}
],
"count": 0,
"nextPageToken": "string"
}
Bad configuration request
Invalid Authorization
DEPRECATED
Reset all Classification Tags
put/api/locations/{locationId}/reset
This HTTP PUT method is used to reset the classification state of the specified location. This includes clearing configurations and resetting attributes to their default values.
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
PATH PARAMETERS
| *locationId string |
||
API Server
Authentication
Required (None Applied)
FILL EXAMPLE
CLEAR TRY
RESPONSE
200 401 404
Status OK
EXAMPLE SCHEMA
application/json
Copy
{
"entityVersion": 0,
"createdAt": "1970-01-01T00:00:00.000Z",
"updatedAt": "1970-01-01T00:00:00.000Z",
"nameCreatedBy": "string",
"nameUpdatedBy": "string",
"parentId": "string",
"id": "string",
"dataStoreId": "string",
"status": "string",
"tags":
[
{
"name":
"string",
"displayName":
"string",
"updatedAt":
"1970-01-01T00:00:00.000Z",
"updatedByUser":
false,
"status":
"ACTIVE"
}
]
}
Invalid Authorization
Bad request
DEPRECATED
Update Classification
put/api/locations/{locationId}
This HTTP PUT method is used to enable users to update the information associated with a specific location. Such as, changing the location's name, type, address and user notes.
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
PATH PARAMETERS
| *locationId string |
||
REQUEST BODY application/json
EXAMPLESCHEMA
{
"addTags": [\
"string"\
],
"removeTags": [\
"string"\
],
"notes": "string",
"forceDelete": false
}
object
Multiline description
{
addTags:[string]
removeTags:[string]
notes:string
forceDelete:boolean
}
API Server
Authentication
Required (None Applied)
FILL EXAMPLE
CLEAR TRY
RESPONSE
200 401 404
Status OK
EXAMPLE SCHEMA
application/json
Copy
{
"entityVersion": 0,
"createdAt": "1970-01-01T00:00:00.000Z",
"updatedAt": "1970-01-01T00:00:00.000Z",
"nameCreatedBy": "string",
"nameUpdatedBy": "string",
"parentId": "string",
"id": "string",
"dataStoreId": "string",
"status": "string",
"tags":
}
Invalid Authorization
Bad request
Masking Profiles
Satori’s masking profiles allow organizations to mask query responses for their users to avoid exposing sensitive information.
Satori’s masking profiles can be applied to data detected and tagged by Satori’s data classification and tagging mechanism.
Retrieve a Masking Profile
get/api/v1/masking/{id}
This HTTP GET method is used to retrieve detailed information about a specific masking profile configuration.
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
PATH PARAMETERS
| *id string |
||
API Server
Authentication
Required (None Applied)
FILL EXAMPLE
CLEAR TRY
RESPONSE
200 400 401 404
Status OK, masking profile found.
EXAMPLE SCHEMA
application/json
Copy
{
"entityVersion": 0,
"createdAt": "1970-01-01T00:00:00.000Z",
"updatedAt": "1970-01-01T00:00:00.000Z",
"nameCreatedBy": "string",
"nameUpdatedBy": "string",
"parentId": "string",
"id": "string",
"name": "string",
"description": "string",
"maskConfigs":
[
{
"type":
"TRUNCATE",
"replacement":
"string",
"truncate":
0,
"functionId":
"string",
"sqlFunction":
"string",
"tag":
"string",
"continueWith":
{
"type":
"TRUNCATE",
"replacement":
"string",
"truncate":
0,
"functionId":
"string",
"sqlFunction":
"string"
}
}
]
}
Bad configuration request
Invalid Authorization
Resource not found
Update a Masking Profile
put/api/v1/masking/{id}
This HTTP PUT method is used to modify the masking profile rules for a particular dataset resource. These rules determine how data is masked, obfuscated or anonymized.
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
PATH PARAMETERS
| *id string |
Min 1 chars | |
REQUEST BODY *application/json
EXAMPLESCHEMA
{
"name": "A",
"description": "string",
"maskConfigs": [\
{\
"type": "TRUNCATE",\
"replacement": "string",\
"truncate": 0,\
"functionId": "string",\
"sqlFunction": "string",\
"tag": "string",\
"continueWith": {\
"type": "TRUNCATE",\
"replacement": "string",\
"truncate": 0,\
"functionId": "string",\
"sqlFunction": "string"\
}\
}\
]
}
object
Multiline description
{
name*: string
Constraints: Min 1 chars
description:string
maskConfigs*:
[{
Min Items: 1
type:enum
Allowed: TRUNCATE┃TRUNCATE_END┃REPLACE_CHAR┃REPLACE_STRING┃HASH┃EMAIL_PREFIX┃EMAIL_SUFFIX┃EMAIL_FULL┃EMAIL_HASH┃CREDIT_CARD_PREFIX┃CREDIT_CARD_FULL┃CREDIT_CARD_HASH┃IP_SUFFIX┃IP_FULL┃IP_HASH┃DATE_YEAR_ONLY┃DATE_1970_AGAIN┃NO_ACTION┃REDACT┃NUMBER_ZERO┃NUMBER_ROUND┃TRANSFORM┃SQL_FUNCTION
replacement:string
truncate:integer
functionId:string
sqlFunction:string
tag:string
continueWith:
{
type:enum
Allowed: TRUNCATE┃TRUNCATE_END┃REPLACE_CHAR┃REPLACE_STRING┃HASH┃EMAIL_PREFIX┃EMAIL_SUFFIX┃EMAIL_FULL┃EMAIL_HASH┃CREDIT_CARD_PREFIX┃CREDIT_CARD_FULL┃CREDIT_CARD_HASH┃IP_SUFFIX┃IP_FULL┃IP_HASH┃DATE_YEAR_ONLY┃DATE_1970_AGAIN┃NO_ACTION┃REDACT┃NUMBER_ZERO┃NUMBER_ROUND┃TRANSFORM┃SQL_FUNCTION
replacement:string
truncate:integer
functionId:string
sqlFunction:string
}
}]
}
API Server
Authentication
Required (None Applied)
FILL EXAMPLE
CLEAR TRY
RESPONSE
200 400 401 404
Status OK, masking profile updated
EXAMPLE SCHEMA
application/json
Copy
{
"entityVersion": 0,
"createdAt": "1970-01-01T00:00:00.000Z",
"updatedAt": "1970-01-01T00:00:00.000Z",
"nameCreatedBy": "string",
"nameUpdatedBy": "string",
"parentId": "string",
"id": "string",
"name": "string",
"description": "string",
"maskConfigs":
}
Bad request
Invalid Authorization
Resource not found
Delete a Masking Profile
delete/api/v1/masking/{id}
This HTTP DELETE method is used when a particular masking profile configuration is no longer required, such as when data masking requirements change or a specific configuration was created in error.
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
PATH PARAMETERS
| *id string |
||
API Server
Authentication
Required (None Applied)
FILL EXAMPLE
CLEAR TRY
RESPONSE
204 400 401 404
Status OK.
Bad configuration request
Invalid Authorization
Resource not found
List all Masking Profiles
get/api/v1/masking
This HTTP GET method is useful for administrators or data stewards who need to review, audit, or manage the data masking settings across all of the datasets.
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
QUERY-STRING PARAMETERS
API Server
Authentication
Required (None Applied)
FILL EXAMPLE
CLEAR TRY
RESPONSE
200 400 401
Status OK.
EXAMPLE SCHEMA
application/json
Copy
{
"records":
[
{
"entityVersion":
0,
"createdAt":
"1970-01-01T00:00:00.000Z",
"updatedAt":
"1970-01-01T00:00:00.000Z",
"nameCreatedBy":
"string",
"nameUpdatedBy":
"string",
"parentId":
"string",
"id":
"string",
"name":
"string",
"description":
"string",
"maskConfigs":
[
{
"type":
"TRUNCATE",
"replacement":
"string",
"truncate":
0,
"functionId":
"string",
"sqlFunction":
"string",
"tag":
"string",
"continueWith":
{
"type":
"TRUNCATE",
"replacement":
"string",
"truncate":
0,
"functionId":
"string",
"sqlFunction":
"string"
}
}
]
}
],
"count": 0
}
Bad configuration request
Invalid Authorization
Create a Masking Profile
post/api/v1/masking
This HTTP POST method is used when you need to add a new masking profile rule to protect certain data fields, such as Social Security Numbers, credit card details, or email addresses from being exposed in their entirety.
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
QUERY-STRING PARAMETERS
| *accountId string |
Min 1 chars | |
REQUEST BODY *application/json
EXAMPLESCHEMA
object
Multiline description
{
name*: string
Constraints: Min 1 chars
description:string
}
API Server
Authentication
Required (None Applied)
FILL EXAMPLE
CLEAR TRY
RESPONSE
201 400 401
Status OK, masking profile created
EXAMPLE SCHEMA
application/json
Copy
{
"entityVersion": 0,
"createdAt": "1970-01-01T00:00:00.000Z",
"updatedAt": "1970-01-01T00:00:00.000Z",
"nameCreatedBy": "string",
"nameUpdatedBy": "string",
"parentId": "string",
"id": "string",
"name": "string",
"description": "string",
"maskConfigs":
}
Bad configuration request
Invalid Authorization
List all Masking Profile Templates
get/api/v1/masking/templates
This HTTP GET method is used for retrieving predefined masking profile templates.
Pre-defined masking profiles simplify the process of creating masking configurations by providing commonly used patterns and settings.
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
API Server
Authentication
Required (None Applied)
TRY
RESPONSE
200 400 401
Status OK.
EXAMPLE SCHEMA
application/json
Copy
{
"records":
"count": 0
}
Bad configuration request
Invalid Authorization
Security Policies
The Satori Security Policy is a re-usable object that can be configured to contain multiple sets of dynamic masking configurations and data filtering configurations.
Satori's security policy engine is designed to protect an organization's data by authorizing specific individuals or groups of individuals to view data. The main objective of a security policy is to protect an organization's business interests.
Retrieve a Security Policy
get/api/v1/security-policies/{id}
This HTTP GET method is used to retrieve detailed information about a specific security policy.
This includes details such as the policy name, description, dynamic masking rules and data filtering actions.
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
PATH PARAMETERS
| *id string |
||
QUERY-STRING PARAMETERS
| withStats boolean |
Default: false | |
| Expand the response with security policy stats |
API Server
Authentication
Required (None Applied)
FILL EXAMPLE
CLEAR TRY
RESPONSE
200 400 401 404
Status OK, security policy found.
EXAMPLE SCHEMA
application/json
Copy
{
"entityVersion": 0,
"createdAt": "1970-01-01T00:00:00.000Z",
"updatedAt": "1970-01-01T00:00:00.000Z",
"nameCreatedBy": "string",
"nameUpdatedBy": "string",
"parentId": "string",
"id": "string",
"name": "string",
"stats":
{
"assignedToDatasets":
{
"property1": "string",
"property2": "string"
}
},
"profiles":
{
"rowLevelSecurity":
{
"active": false,
"rules":
[
{
"id":
"string",
"description":
"string",
"active":
false,
"filter":
{
"locationPath":
"For input, these are available options: 'a.b.c' or [{name: 'a'}, {name: 'b'}, {name: 'c'}] or [{name: 'a', type: 'DATABASE'}, {name: 'b', type: 'SCHEMA'}, {name: 'c', type: 'VIEW'}] However, the output will always be a fully populated list of location parts",
"dataStoreId":
"string",
"logicYaml":
"string",
"advanced":
false
}
}
],
"maps":
[
{
"name":
"string",
"filters":
[
{
"criteria":
{
"condition":
"IS",
"identity":
{
"identityType":
"USER",
"identity":
"string",
"id":
"string"
}
},
"values":
{
"type":
"STRING",
"values":
[
"string"
]
}
}
],
"defaults":
{
"type":
"STRING",
"values":
[
"string"
]
}
}
]
},
"masking":
{
"active": false,
"rules":
[
{
"id":
"string",
"description":
"string",
"active":
false,
"criteria":
{
"condition":
"IS",
"identity":
{
"identityType":
"USER",
"identity":
"string",
"id":
"string"
}
},
"maskingAction":
{
"type":
"APPLY_MASKING_PROFILE"
}
}
]
}
},
"currentUserPermissions":
{
"currentUserIsOwner": false,
"canEditPolicies": false
}
}
Bad configuration request
Invalid Authorization
Resource not found
Update a security policy
put/api/v1/security-policies/{id}
This HTTP PUT method is used to allow administrators, data stewards or authorized users (managers) to update the details of a specific security policy.
This involves editing or creating the dynamic masking rules and data filters or updating its description to reflect new security requirements.
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
PATH PARAMETERS
| *id string |
Min 1 chars | |
REQUEST BODY *application/json
EXAMPLESCHEMA
{
"name": "A",
"profiles": {
"rowLevelSecurity": {
"active": false,
"rules": [\
{\
"id": "string",\
"description": "string",\
"active": false,\
"filter": {\
"locationPath": "For input, these are available options: 'a.b.c' or [{name: 'a'}, {name: 'b'}, {name: 'c'}] or [{name: 'a', type: 'DATABASE'}, {name: 'b', type: 'SCHEMA'}, {name: 'c', type: 'VIEW'}] However, the output will always be a fully populated list of location parts",\
"dataStoreId": "string",\
"logicYaml": "string",\
"advanced": false\
}\
}\
],
"maps": [\
{\
"name": "string",\
"filters": [\
{\
"criteria": {\
"condition": "IS",\
"identity": {\
"identityType": "USER",\
"identity": "string",\
"id": "string"\
}\
},\
"values": {\
"type": "STRING",\
"values": [\
"string"\
]\
}\
}\
],\
"defaults": {\
"type": "STRING",\
"values": [\
"string"\
]\
}\
}\
]
},
"masking": {
"active": false,
"rules": [\
{\
"id": "string",\
"description": "string",\
"active": false,\
"criteria": {\
"condition": "IS",\
"identity": {\
"identityType": "USER",\
"identity": "string",\
"id": "string"\
}\
},\
"maskingAction": {\
"type": "APPLY_MASKING_PROFILE"\
}\
}\
]
}
}
}
object
Multiline description
{
name*: string
Constraints: Min 1 chars
profiles: {
rowLevelSecurity: {
active:boolean
rules:
[{
id:string
description:string
active:boolean
filter:
{
locationPath:
[{
Location path, can be either a dot seperated string "a.b.c" or a list of location parts with name and type [{name: ...}, {name: ...}, {name: ....}].
⮕ [ Location path, can be either a dot seperated string "a.b.c" or a list of location parts with name and type [{name: ...}, {name: ...}, {name: ....}]. ]
name:string
type:enum
➔ [Optional] Asset type, when not specified, defaults takes place, resolved by data store type and locationPath length.
Allowed: TABLE┃COLUMN┃SEMANTIC_MODEL┃REPORT┃DASHBOARD┃DATABASE┃SCHEMA┃JSON_PATH┃WAREHOUSE┃ENDPOINT┃TYPE┃FIELD┃EXTERNAL_LOCATION┃CATALOG┃BUCKET┃OBJECT┃COLLECTION┃VIEW┃ACCOUNT_ROLE┃SHARED_DB
}]
dataStoreId:string
locationPrefix:
{
Deprecated, use locationPath field.
type:enum
Allowed: RELATIONAL_TABLE_LOCATION┃MYSQL_TABLE_LOCATION┃ATHENA_TABLE_LOCATION┃MONGO_TABLE_LOCATION┃S3_TABLE_LOCATION┃DATABRICKS_TABLE_LOCATION┃GRAPHQL_TABLE_LOCATION
}
logicYaml:string
advanced:boolean
}
}]
maps:
[{
name:string
filters:
[{
criteria:
{
condition:enum
Allowed: IS┃IS_NOT
identity:
{
identityType:enum
Allowed: USER┃DB_USER┃GROUP┃IDP_GROUP┃DATABRICKS_GROUP┃DATABRICKS_SERVICE_PRINCIPAL┃SNOWFLAKE_ROLE┃SNOWFLAKE_ACCOUNT_NAME┃SNOWFLAKE_DATABASE_ROLE┃CEL┃EVERYONE
identity:string
id:string
}
}
values:
{
type:enum
Allowed: STRING┃NUMERIC┃CEL┃SQL┃ANY_VALUE┃ALL_OTHER_VALUES
values:[string]
}
}]
defaults:
{
type:enum
Allowed: STRING┃NUMERIC┃CEL┃SQL┃NO_VALUE┃ALL_OTHER_VALUES
values:[string]
}
}]
}
masking: {
active:boolean
rules:
[{
id:string
description:string
active:boolean
criteria:
{
condition:enum
Allowed: IS┃IS_NOT
identity:
{
identityType:enum
Allowed: USER┃DB_USER┃GROUP┃IDP_GROUP┃DATABRICKS_GROUP┃DATABRICKS_SERVICE_PRINCIPAL┃SNOWFLAKE_ROLE┃SNOWFLAKE_ACCOUNT_NAME┃SNOWFLAKE_DATABASE_ROLE┃CEL┃EVERYONE
identity:string
id:string
}
}
maskingAction:
{
type:enum
Allowed: APPLY_MASKING_PROFILE
ONE OF
1{recursive: ApplyMaskingProfileInput}
}
}]
}
}
}
API Server
Authentication
Required (None Applied)
FILL EXAMPLE
CLEAR TRY
RESPONSE
200 400 401 404
Status OK, security policy updated
EXAMPLE SCHEMA
application/json
Copy
{
"entityVersion": 0,
"createdAt": "1970-01-01T00:00:00.000Z",
"updatedAt": "1970-01-01T00:00:00.000Z",
"nameCreatedBy": "string",
"nameUpdatedBy": "string",
"parentId": "string",
"id": "string",
"name": "string",
"stats":
{
"assignedToDatasets":
{
"property1": "string",
"property2": "string"
}
},
"profiles":
{
"rowLevelSecurity":
{
"active": false,
"rules":
"maps":
},
"masking":
{
"active": false,
"rules":
}
},
"currentUserPermissions":
{
"currentUserIsOwner": false,
"canEditPolicies": false
}
}
Bad request
Invalid Authorization
Resource not found
Delete a Security Policy
delete/api/v1/security-policies/{id}
This HTTP DELETE method is used to allow administrators, data stewards or authorized users (managers) to delete an existing security policy.
The security policy is deleted when it is no longer required, has been replaced by a new security policy, or if the system is undergoing changes that render the policy obsolete.
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
PATH PARAMETERS
| *id string |
||
QUERY-STRING PARAMETERS
| force boolean |
||
| Once forced, the policy will be deleted from all its references |
API Server
Authentication
Required (None Applied)
FILL EXAMPLE
CLEAR TRY
RESPONSE
204 400 401 404
Status OK.
Bad configuration request
Invalid Authorization
Resource not found
List all Security Policies
get/api/v1/security-policies
This HTTP GET method is used to provide a list of all security policies within the system.
The list includes summaries of each security policy, such as the security policy name, description, users and queries.
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
QUERY-STRING PARAMETERS
| *accountId string |
Min 1 chars | |
| withStats boolean |
Default: false | |
| Expand the response with security policy stats |
API Server
Authentication
Required (None Applied)
FILL EXAMPLE
CLEAR TRY
RESPONSE
200 400 401 404
Status OK.
EXAMPLE SCHEMA
application/json
Copy
{
"records":
[
{
"entityVersion":
0,
"createdAt":
"1970-01-01T00:00:00.000Z",
"updatedAt":
"1970-01-01T00:00:00.000Z",
"nameCreatedBy":
"string",
"nameUpdatedBy":
"string",
"parentId":
"string",
"id":
"string",
"name":
"string",
"currentUserIsOwner":
false
}
],
"count": 0
}
Bad configuration request
Invalid Authorization
Resource not found
Create a Security Policy
post/api/v1/security-policies
This HTTP POST method is used to enable the creation of a new security policy, which is then enforced within the system. This is useful when new security requirements arise.
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
QUERY-STRING PARAMETERS
| *accountId string |
Min 1 chars | |
REQUEST BODY *application/json
EXAMPLESCHEMA
object
Multiline description
{
name*: string
Constraints: Min 1 chars
profiles: {
rowLevelSecurity: {
active:boolean
}
masking: {
active:boolean
}
}
}
API Server
Authentication
Required (None Applied)
FILL EXAMPLE
CLEAR TRY
RESPONSE
201 400 401
Status OK, security policy created
EXAMPLE SCHEMA
application/json
Copy
{
"entityVersion": 0,
"createdAt": "1970-01-01T00:00:00.000Z",
"updatedAt": "1970-01-01T00:00:00.000Z",
"nameCreatedBy": "string",
"nameUpdatedBy": "string",
"parentId": "string",
"id": "string",
"name": "string",
"stats":
{
"assignedToDatasets":
{
"property1": "string",
"property2": "string"
}
},
"profiles":
{
"rowLevelSecurity":
{
"active": false,
"rules":
"maps":
},
"masking":
{
"active": false,
"rules":
}
},
"currentUserPermissions":
{
"currentUserIsOwner": false,
"canEditPolicies": false
}
}
Bad configuration request
Invalid Authorization
List a Security Policy Statistics
get/api/v1/security-policies/statistics
This HTTP GET method is used to provide an aggregated list of the security policies that have been implemented.
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
QUERY-STRING PARAMETERS
| *accountId string |
Min 1 chars | |
| securityPolicyIds array of string |
||
API Server
Authentication
Required (None Applied)
FILL EXAMPLE
CLEAR TRY
RESPONSE
200 400 401 404
Status OK.
EXAMPLE SCHEMA
application/json
Copy
{
"empty": false,
"first":
{
"securityPolicyId": "string",
"users": 0,
"queries": 0
},
"last":
{
"securityPolicyId": "string",
"users": 0,
"queries": 0
}
}
Bad configuration request
Invalid Authorization
Resource not found
Users and Roles
Each Satori account can be accessed by multiple users. Each user is assigned with a role to reflect their responsibilities.
There are 2 types of users in Satori:
- Account User - The account user is created by the account admins in the management console. Account users are required to use two-factor authentication which must be configured at the first time log in.
- Identity Provider User - The identity provider user is created when a new user logins via SSO.
Retrieve an User
get/api/users/{id}
This HTTP GET method is used to provide the details of a specific user, including personal information, account settings, roles and permissions.
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
PATH PARAMETERS
| *id string |
||
API Server
Authentication
Required (None Applied)
FILL EXAMPLE
CLEAR TRY
RESPONSE
200 400 401 404
Status OK, user found.
EXAMPLE SCHEMA
application/json
Copy
{
"entityVersion": 0,
"createdAt": "1970-01-01T00:00:00.000Z",
"updatedAt": "1970-01-01T00:00:00.000Z",
"nameCreatedBy": "string",
"nameUpdatedBy": "string",
"parentId": "string",
"id": "string",
"accountId": "string",
"parent": "string",
"displayName": "string",
"email": "string",
"lastName": "string",
"firstName": "string",
"authMethod": 0,
"activated": false,
"status": "PENDING_ACTIVATION",
"accessSettings":
{
"temporaryCredentialsExpirationTime":
{
"value": 0,
"timeframe": "Nanos",
"description": "string"
}
},
"roles":
[
"string"
],
"attributes":
{
"property1": { },
"property2": { },
},
"aliases":
[
"string"
],
"customAttributes":
{
"property1": { },
"property2": { },
},
"customAliases":
[
"string"
],
"personalAccessTokenConfigured": false,
"managed": false
}
Bad configuration request
Invalid Authorization
Resource not found
Delete a User
delete/api/users/{id}
This HTTP DELETE method's primary purpose is to permanently remove a user from the system.
This includes user deactivation, account closure, or in response to security concerns (for example, removing accounts of former employees).
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
PATH PARAMETERS
| *id string |
||
API Server
Authentication
Required (None Applied)
FILL EXAMPLE
CLEAR TRY
RESPONSE
204 400 401 404
Status OK.
Bad configuration request
Invalid Authorization
Resource not found
DEPRECATED
List all Users
get/api/users
This HTTP GET method is used to retrieve a list of users from the system.
The user information for each user includes, account ID, display name, first name, last name, creation and update dates, roles, attributes aliases, temporary credentials expiration times and personal access tokens.
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
QUERY-STRING PARAMETERS
| accountId string |
||
| page int32 |
Default: 0 | |
| pageSize int32 |
Default: 5 | |
| orderBy array of string |
||
| orderDirection array of string |
||
| search string |
||
| usersType enum |
Default: BOTH Allowed: MANAGED_USER┃ SATORI_USER┃ BOTH |
|
| personalAccessTokens boolean |
||
| roleId array of string |
||
| Satori Role ID | ||
| status enum |
Allowed: PENDING_ACTIVATION┃ ACTIVE┃ DISABLED |
|
| The user activation status |
API Server
Authentication
Required (None Applied)
FILL EXAMPLE
CLEAR TRY
RESPONSE
200 400 401
Status OK.
EXAMPLE SCHEMA
application/json
Copy
{
"records":
[
{
"entityVersion":
0,
"createdAt":
"1970-01-01T00:00:00.000Z",
"updatedAt":
"1970-01-01T00:00:00.000Z",
"nameCreatedBy":
"string",
"nameUpdatedBy":
"string",
"parentId":
"string",
"id":
"string",
"accountId":
"string",
"parent":
"string",
"displayName":
"string",
"email":
"string",
"lastName":
"string",
"firstName":
"string",
"authMethod":
0,
"activated":
false,
"status":
"PENDING_ACTIVATION",
"accessSettings":
{
"temporaryCredentialsExpirationTime":
{
"value":
0,
"timeframe":
"Nanos",
"description":
"string"
}
},
"roles":
[
"string"
],
"attributes":
{
"property1":
{ },
"property2":
{ },
},
"aliases":
[
"string"
],
"personalAccessTokenConfigured":
false,
"managed":
false
}
],
"count": 0
}
Bad configuration request
Invalid Authorization
Create a User
post/api/users
This HTTP POST method is used to add a new user to the system with all the necessary details, such as their account ID, first name, last name, email and password.
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
REQUEST BODY application/json
EXAMPLESCHEMA
{
"accountId": "A",
"email": "user@example.com",
"firstName": "string",
"lastName": "string"
}
object
Multiline description
{
accountId*: string
Constraints: Min 1 chars
email:email
firstName:string
lastName:string
}
API Server
Authentication
Required (None Applied)
FILL EXAMPLE
CLEAR TRY
RESPONSE
201 400 401 403
Status OK, user created.
EXAMPLE SCHEMA
application/json
Copy
{
"entityVersion": 0,
"createdAt": "1970-01-01T00:00:00.000Z",
"updatedAt": "1970-01-01T00:00:00.000Z",
"nameCreatedBy": "string",
"nameUpdatedBy": "string",
"parentId": "string",
"id": "string",
"accountId": "string",
"parent": "string",
"displayName": "string",
"email": "string",
"lastName": "string",
"firstName": "string",
"authMethod": 0,
"activated": false,
"status": "PENDING_ACTIVATION",
"accessSettings":
{
"temporaryCredentialsExpirationTime":
{
"value": 0,
"timeframe": "Nanos",
"description": "string"
}
},
"roles":
[
"string"
],
"attributes":
{
"property1": { },
"property2": { },
},
"aliases":
[
"string"
],
"customAttributes":
{
"property1": { },
"property2": { },
},
"customAliases":
[
"string"
],
"personalAccessTokenConfigured": false,
"managed": false
}
Bad configuration request
Invalid Authorization
Resource Limit Exceeded
Retrieve Satori Temporary Credentials
get/api/users/{id}/database-credentials
This HTTP GET method is used to provide access to the database credentials assigned to a specific user.
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
PATH PARAMETERS
| *id string |
||
QUERY-STRING PARAMETERS
| withPassword boolean |
||
| Exposes temporary password |
API Server
Authentication
Required (None Applied)
FILL EXAMPLE
CLEAR TRY
RESPONSE
200 401 404
Status OK, credentials found
EXAMPLE SCHEMA
application/json
Copy
{
"username": "string",
"password": "string",
"expiredAt": "1970-01-01T00:00:00.000Z"
}
Invalid Authorization
Resource not found
Regenerate Satori Temporary Credentials
put/api/users/{id}/database-credentials
This HTTP PUT method is used to modify the database credentials assigned to a specific user.
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
PATH PARAMETERS
| *id string |
||
API Server
Authentication
Required (None Applied)
FILL EXAMPLE
CLEAR TRY
RESPONSE
200 401 404
Status OK, credentials regenerated
EXAMPLE SCHEMA
application/json
Copy
{
"username": "string",
"password": "string",
"expiredAt": "1970-01-01T00:00:00.000Z"
}
Invalid Authorization
Resource not found
Retrieve User's Role
get/api/users/{id}/roles
This HTTP GET method is used to provide a list of roles assigned to a specific user.
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
PATH PARAMETERS
| *id string |
||
API Server
Authentication
Required (None Applied)
FILL EXAMPLE
CLEAR TRY
RESPONSE
200 401 404
Status OK, roles found
EXAMPLE SCHEMA
application/json
Copy
[
{
"id":
"string",
"name":
"string",
"description":
"string"
}
]
Invalid Authorization
Resource not found
Update User's Role
put/api/users/{id}/roles
This HTTP PUT method is used for updating the roles assigned to a specific user, changing their permissions and access levels as required.
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
PATH PARAMETERS
| *id string |
||
REQUEST BODY *application/json
EXAMPLESCHEMA
{
"rolesIds": [\
"string"\
]
}
object
Multiline description
{
rolesIds:[string]
}
API Server
Authentication
Required (None Applied)
FILL EXAMPLE
CLEAR TRY
RESPONSE
200 401 404
Status OK, user role was changed
Invalid Authorization
Provided role id lookup failed
Reset user MFA
delete/api/users/{id}/reset-mfa
This HTTP DELETE method is used to reset or clear the MFA settings associated with a user’s account.
This is necessary if a user is having trouble with their MFA setup, if they need to switch MFA methods or if the system requires a reset for security reasons.
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
PATH PARAMETERS
| *id string |
||
API Server
Authentication
Required (None Applied)
FILL EXAMPLE
CLEAR TRY
RESPONSE
204 401 404
Status OK, MFA was reset
Invalid Authorization
Resource not found
Send an Activation Mail
put/api/users/{id}/send-activation-mail
This HTTP PUT method is used to send an activation or verification email to the user.
This email contains a link that the user must click to activate their account or confirm their email address.
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
PATH PARAMETERS
| *id string |
||
API Server
Authentication
Required (None Applied)
FILL EXAMPLE
CLEAR TRY
RESPONSE
200 400 401 404
Status OK, instructions have been sent to mail.
EXAMPLE SCHEMA
application/json
Copy
{
"uri": "string"
}
Bad configuration request
Invalid Authorization
Resource not found
Toggle (enable/disable) password login
put/api/users/{id}/toggle-password-login
This HTTP PUT method is used to toggle the availability of password-based login for a user.
Enabling this option allows the user to log in with their password, while disabling it might require the user to use other authentication methods, such as multi-factor authentication (MFA) or single sign-on (SSO).
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
PATH PARAMETERS
| *id string |
||
API Server
Authentication
Required (None Applied)
FILL EXAMPLE
CLEAR TRY
RESPONSE
200 401 404
Status OK
Invalid Authorization
Resource not found
Update access settings for specific user
put/api/users/{id}/access-settings
This HTTP PUT method is used to modify the access settings assigned to a specific user.
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
PATH PARAMETERS
| *id string |
||
REQUEST BODY *application/json
EXAMPLESCHEMA
{
"temporaryCredentialsExpirationTime": {
"value": 0,
"timeframe": "Nanos",
"description": "string"
}
}
object
Multiline description
{
temporaryCredentialsExpirationTime: {
value:integer
timeframe:enum
Allowed: Nanos┃Micros┃Millis┃Seconds┃Minutes┃Hours┃HalfDays┃Days┃Weeks┃Months┃Years┃Decades┃Centuries┃Millennia┃Eras┃Forever
description:string
}
}
API Server
Authentication
Required (None Applied)
FILL EXAMPLE
CLEAR TRY
RESPONSE
200 401 404
Status OK, updated access settings
EXAMPLE SCHEMA
application/json
Copy
{
"entityVersion": 0,
"createdAt": "1970-01-01T00:00:00.000Z",
"updatedAt": "1970-01-01T00:00:00.000Z",
"nameCreatedBy": "string",
"nameUpdatedBy": "string",
"parentId": "string",
"id": "string",
"accountId": "string",
"parent": "string",
"displayName": "string",
"email": "string",
"lastName": "string",
"firstName": "string",
"authMethod": 0,
"activated": false,
"status": "PENDING_ACTIVATION",
"accessSettings":
{
"temporaryCredentialsExpirationTime":
{
"value": 0,
"timeframe": "Nanos",
"description": "string"
}
},
"roles":
[
"string"
],
"attributes":
{
"property1": { },
"property2": { },
},
"aliases":
[
"string"
],
"customAttributes":
{
"property1": { },
"property2": { },
},
"customAliases":
[
"string"
],
"personalAccessTokenConfigured": false,
"managed": false
}
Invalid Authorization
Resource not found
Update custom user attributes
put/api/users/{id}/attributes/custom
This HTTP PUT method is used to update or set custom attributes for a user. Custom attributes are additional fields that are not part of the standard user profile but are used for storing extra information. These attributes can include, number, boolean and or string.
NOTE: The attribute must include a key (custom attribute name) and a value.
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
PATH PARAMETERS
| *id string |
||
REQUEST BODY application/json
EXAMPLESCHEMA
"string"
Multiline description
:string
API Server
Authentication
Required (None Applied)
FILL EXAMPLE
CLEAR TRY
RESPONSE
200 400 401 404
Status OK, user found.
EXAMPLE SCHEMA
application/json
Copy
{
"id": "string",
"fullName": "string",
"email": "string",
"groups":
[
"string"
]
}
Bad configuration request
Invalid Authorization
Resource not found
Update a User Profile
put/api/users/{id}/profile
This HTTP PUT method is used to modify the user's profile information. This is used for updating basic details, contact information or other user-specific data.
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
PATH PARAMETERS
| *id string |
||
REQUEST BODY application/json
EXAMPLESCHEMA
{
"lastName": "A",
"firstName": "A"
}
object
Multiline description
{
lastName*: string
Constraints: Min 1 chars
firstName*: string
Constraints: Min 1 chars
}
API Server
Authentication
Required (None Applied)
FILL EXAMPLE
CLEAR TRY
RESPONSE
200 400 401 404
Status OK, user profile updated.
EXAMPLE SCHEMA
application/json
Copy
{
"entityVersion": 0,
"createdAt": "1970-01-01T00:00:00.000Z",
"updatedAt": "1970-01-01T00:00:00.000Z",
"nameCreatedBy": "string",
"nameUpdatedBy": "string",
"parentId": "string",
"id": "string",
"accountId": "string",
"parent": "string",
"displayName": "string",
"email": "string",
"lastName": "string",
"firstName": "string",
"authMethod": 0,
"activated": false,
"status": "PENDING_ACTIVATION",
"accessSettings":
{
"temporaryCredentialsExpirationTime":
{
"value": 0,
"timeframe": "Nanos",
"description": "string"
}
},
"roles":
[
"string"
],
"attributes":
{
"property1": { },
"property2": { },
},
"aliases":
[
"string"
],
"customAttributes":
{
"property1": { },
"property2": { },
},
"customAliases":
[
"string"
],
"personalAccessTokenConfigured": false,
"managed": false
}
Bad configuration request
Invalid Authorization
Resource not found
List all Users
get/api/v1/users
Lists all users
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
QUERY-STRING PARAMETERS
API Server
Authentication
Required (None Applied)
FILL EXAMPLE
CLEAR TRY
RESPONSE
200 400 401
Status OK.
EXAMPLE SCHEMA
application/json
Copy
{
"records":
"count": 0
}
Bad configuration request
Invalid Authorization
Data Inventory
Satori’s Data Inventory dynamically creates an inventory of the organization's data, featuring the built-in Satori classifications. The data inventory provides a holistic view of the organization's sensitive data and access patterns and is augmented by powerful navigation, filtering and search functions.
The inventory is a collection of assets. An asset represents a data asset in a data store, for example: a database, schema, table or column in a relational database, a database or a collection in MongoDB and so on.
In some data stores, Satori supports listing semi-structured assets nested inside other assets. For example, in a variant column in Snowflake users can store data in a JSON-like format. Satori refers to such assets as semi-structured assets that are sub-assets of the regular, structured assets.
Retrieve an Inventory Asset
get/api/v1/asset/{id}
This HTTP GET method is used to fetch details about a specific asset. The asset details include, the asset name, status, asset details (schema, table, column, values and types) and the creation date.
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
PATH PARAMETERS
| *id string |
||
API Server
Authentication
Required (None Applied)
FILL EXAMPLE
CLEAR TRY
RESPONSE
200 400 401 404
Status OK, asset found.
EXAMPLE SCHEMA
application/json
Copy
{
"entityVersion": 0,
"createdAt": "1970-01-01T00:00:00.000Z",
"updatedAt": "1970-01-01T00:00:00.000Z",
"nameCreatedBy": "string",
"nameUpdatedBy": "string",
"parentId": "string",
"id": "string",
"locationParts":
[
"string"
],
"locationPartTypes":
[
"TABLE"
],
"assetType": "TABLE",
"name": "string",
"description": "string",
"tags":
[
{
"name":
"string",
"displayName":
"string",
"updatedAt":
"1970-01-01T00:00:00.000Z",
"updatedByUser":
false,
"status":
"ACTIVE"
}
],
"dataStoreId": "string",
"dataStoreType": "SNOWFLAKE",
"properties":
{
"property1": { },
"property2": { },
}
}
Bad configuration request
Invalid Authorization
Resource not found
Update an Inventory Asset
put/api/v1/asset/{id}
This HTTP PUT method is used to modify the inventory asset details
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
PATH PARAMETERS
| *id string |
Min 1 chars | |
REQUEST BODY *application/json
EXAMPLESCHEMA
{
"description": "string"
}
object
Multiline description
{
description:string
}
API Server
Authentication
Required (None Applied)
FILL EXAMPLE
CLEAR TRY
RESPONSE
200 400 401
Status OK, asset updated
EXAMPLE SCHEMA
application/json
Copy
{
"entityVersion": 0,
"createdAt": "1970-01-01T00:00:00.000Z",
"updatedAt": "1970-01-01T00:00:00.000Z",
"nameCreatedBy": "string",
"nameUpdatedBy": "string",
"parentId": "string",
"id": "string",
"locationParts":
[
"string"
],
"locationPartTypes":
[
"TABLE"
],
"assetType": "TABLE",
"name": "string",
"description": "string",
"tags":
"dataStoreId": "string",
"dataStoreType": "SNOWFLAKE",
"properties":
{
"property1": { },
"property2": { },
}
}
Bad request
Invalid Authorization
Delete an Inventory Asset
delete/api/v1/asset/{id}
This HTTP DELETE method is used to permanently delete an asset from the system. It is used when an asset is no longer relevant or if an asset was added by mistake.
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
PATH PARAMETERS
| *id string |
||
API Server
Authentication
Required (None Applied)
FILL EXAMPLE
CLEAR TRY
RESPONSE
202 400 401 404
Accepted, delete asset in progress.
Bad configuration request
Invalid Authorization
Resource not found
Export all Tags for Snowflake
get/api/v1/asset/{dataStoreId}/export-tags-sql
This HTTP GET method is used to export tags associated with a specific (Snowflake) data store in an SQL format.
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
PATH PARAMETERS
| *dataStoreId string |
||
API Server
Authentication
Required (None Applied)
FILL EXAMPLE
CLEAR TRY
RESPONSE
200 400 401
Status OK.
Bad configuration request
Invalid Authorization
List all Asset's Direct Children
get/api/v1/asset/{accountId}/direct-children
The HTTP GET method is used to retrieve all direct child assets associated with a particular asset.
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
PATH PARAMETERS
| *accountId string |
||
QUERY-STRING PARAMETERS
| page int32 |
Default: 0 | |
| pageSize int32 |
Default: 5 | |
| orderBy array of string |
||
| orderDirection array of string |
||
| search string |
||
| *dataStoreId string |
||
| parentId string |
||
| assetType array of string |
Allowed: TABLE┃ COLUMN┃ SEMANTIC_MODEL┃ REPORT┃ DASHBOARD┃ DATABASE┃ SCHEMA┃ JSON_PATH┃ WAREHOUSE┃ ENDPOINT┃ TYPE┃ FIELD┃ EXTERNAL_LOCATION┃ CATALOG┃ BUCKET┃ OBJECT┃ COLLECTION┃ VIEW┃ ACCOUNT_ROLE┃ SHARED_DB |
|
| calculateTotalCount boolean |
||
| If true, the total number of assets (before pagination) will be calculated, default is false |
API Server
Authentication
Required (None Applied)
FILL EXAMPLE
CLEAR TRY
RESPONSE
200 400 401 404
Status OK
EXAMPLE SCHEMA
application/json
Copy
{
"records":
[
{
"entityVersion":
0,
"createdAt":
"1970-01-01T00:00:00.000Z",
"updatedAt":
"1970-01-01T00:00:00.000Z",
"nameCreatedBy":
"string",
"nameUpdatedBy":
"string",
"parentId":
"string",
"id":
"string",
"locationParts":
[
"string"
],
"locationPartTypes":
[
"TABLE"
],
"assetType":
"TABLE",
"name":
"string",
"description":
"string",
"tags":
[
{
"name":
"string",
"displayName":
"string",
"updatedAt":
"1970-01-01T00:00:00.000Z",
"updatedByUser":
false,
"status":
"ACTIVE"
}
],
"dataStoreId":
"string",
"dataStoreType":
"SNOWFLAKE",
"properties":
{
"property1":
{ },
"property2":
{ },
}
}
],
"count": 0
}
Bad request
Invalid Authorization
Provided data store or account not found
List a History for Asset
get/api/v1/asset/{assetId}/history
This HTTP GET method is used to provide a historical record of events, changes or updates related to the specified asset.
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
PATH PARAMETERS
| *assetId string |
||
QUERY-STRING PARAMETERS
API Server
Authentication
Required (None Applied)
FILL EXAMPLE
CLEAR TRY
RESPONSE
200 400 401
Status OK.
EXAMPLE SCHEMA
application/json
Copy
{
"records":
"count": 0,
"nextPageToken": "string"
}
Bad configuration request
Invalid Authorization
Reset all Classification Tags
put/api/v1/asset/{assetId}/reset
This HTTP PUT method is used to reset the classification state of the specified asset. This includes clearing configurations and resetting attributes to their default values.
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
PATH PARAMETERS
| *assetId string |
||
API Server
Authentication
Required (None Applied)
FILL EXAMPLE
CLEAR TRY
RESPONSE
200 401 404
Status OK
EXAMPLE SCHEMA
application/json
Copy
{
"entityVersion": 0,
"createdAt": "1970-01-01T00:00:00.000Z",
"updatedAt": "1970-01-01T00:00:00.000Z",
"nameCreatedBy": "string",
"nameUpdatedBy": "string",
"parentId": "string",
"id": "string",
"locationParts":
[
"string"
],
"locationPartTypes":
[
"TABLE"
],
"assetType": "TABLE",
"name": "string",
"description": "string",
"tags":
"dataStoreId": "string",
"dataStoreType": "SNOWFLAKE",
"properties":
{
"property1": { },
"property2": { },
}
}
Invalid Authorization
Bad request
Search Inventory Assets
get/api/v1/asset/{accountId}/search
This HTTP GET method is used to enable users to search for assets associated with a particular account.
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
PATH PARAMETERS
| *accountId string |
||
QUERY-STRING PARAMETERS
| page int32 |
Default: 0 | |
| pageSize int32 |
Default: 5 | |
| orderBy array of string |
||
| orderDirection array of string |
||
| search string |
||
| dataStoreId array of string |
||
| datasetId array of string |
||
| locationPrefix string |
||
| tagsFilter array of string |
||
| categoriesFilter array of string |
||
| createdFrom int64 |
||
| createdTo int64 |
||
| updatedFrom int64 |
||
| updatedTo int64 |
||
| updatedByUser boolean |
||
| Indicator for filtering only location that were updated by a user. | ||
| locationType array of string |
Allowed: RELATIONAL_LOCATION┃ MYSQL_LOCATION┃ ATHENA_LOCATION┃ MONGO_LOCATION┃ S3_LOCATION┃ DATABRICKS_LOCATION┃ DATABRICKS_EXTERNAL_LOCATION┃ GRAPHQL_LOCATION┃ SNOWFLAKE_WAREHOUSE_LOCATION┃ ASSET_LOCATION |
|
| nextPageToken string |
||
| assetType array of string |
Allowed: TABLE┃ COLUMN┃ SEMANTIC_MODEL┃ REPORT┃ DASHBOARD┃ DATABASE┃ SCHEMA┃ JSON_PATH┃ WAREHOUSE┃ ENDPOINT┃ TYPE┃ FIELD┃ EXTERNAL_LOCATION┃ CATALOG┃ BUCKET┃ OBJECT┃ COLLECTION┃ VIEW┃ ACCOUNT_ROLE┃ SHARED_DB |
|
| parentId array of string |
||
Parent ID, see directChildren filter for parentId filter mode |
||
| directChildren boolean |
||
| When true, parentId filter refers only for direct children of the parent, otherwise all parent's assets sub-tree. Defaults to false. | ||
| tag array of string |
||
| Filter by classifier IDs, for example: 'tag=EMAIL' or 'tag=UUID' for custom classifiers | ||
| category array of string |
||
| Filter by category IDs, for example: 'category=pii' or 'category=UUID' for custom categories | ||
| dataStoreType array of string |
Allowed: SNOWFLAKE┃ REDSHIFT┃ BIGQUERY┃ POSTGRESQL┃ ATHENA┃ MSSQL┃ SYNAPSE┃ MYSQL┃ OCEANBASE┃ API_SERVER┃ MARIA_DB┃ COCKROACH_DB┃ OPENSEARCH┃ ELASTICSEARCH┃ GREENPLUM┃ S3┃ MONGO┃ DATABRICKS┃ FABRIC┃ AZURE_OPEN_AI┃ OPEN_AI┃ BEDROCK┃ ORACLE┃ DB2┃ DYNAMO_DB┃ DOCUMENT_DB┃ REDIS┃ MEMCACHED |
|
API Server
Authentication
Required (None Applied)
FILL EXAMPLE
CLEAR TRY
RESPONSE
200 400 401
Status OK.
EXAMPLE SCHEMA
application/json
Copy
{
"records":
"count": 0,
"nextPageToken": "string",
"dsIdsToNamesMap":
{
"property1": "string",
"property2": "string"
}
}
Bad configuration request
Invalid Authorization
Update Classification
put/api/v1/asset/{assetId}/classification
The HTTP PUT method allows users to add or remove classifiers associated with a specific asset. Users can also provide notes during the update.
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
PATH PARAMETERS
| *assetId string |
||
REQUEST BODY application/json
EXAMPLESCHEMA
{
"addTags": [\
"string"\
],
"removeTags": [\
"string"\
],
"notes": "string",
"forceDelete": false
}
object
Multiline description
{
addTags:[string]
removeTags:[string]
notes:string
forceDelete:boolean
}
API Server
Authentication
Required (None Applied)
FILL EXAMPLE
CLEAR TRY
RESPONSE
200 401 404
Status OK
EXAMPLE SCHEMA
application/json
Copy
{
"entityVersion": 0,
"createdAt": "1970-01-01T00:00:00.000Z",
"updatedAt": "1970-01-01T00:00:00.000Z",
"nameCreatedBy": "string",
"nameUpdatedBy": "string",
"parentId": "string",
"id": "string",
"locationParts":
[
"string"
],
"locationPartTypes":
[
"TABLE"
],
"assetType": "TABLE",
"name": "string",
"description": "string",
"tags":
"dataStoreId": "string",
"dataStoreType": "SNOWFLAKE",
"properties":
{
"property1": { },
"property2": { },
}
}
Invalid Authorization
Bad request
Update a Semi-Structured Assets
put/api/v1/asset/update-semi-location
The HTTP PUT method allows users to update the details of a JSON path.
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
QUERY-STRING PARAMETERS
| id string |
||
| semiPart string |
||
| a valid JSONPath leading by $ |
API Server
Authentication
Required (None Applied)
FILL EXAMPLE
CLEAR TRY
RESPONSE
200 400 401 404
Status OK.
EXAMPLE SCHEMA
application/json
Copy
{
"entityVersion": 0,
"createdAt": "1970-01-01T00:00:00.000Z",
"updatedAt": "1970-01-01T00:00:00.000Z",
"nameCreatedBy": "string",
"nameUpdatedBy": "string",
"parentId": "string",
"id": "string",
"locationParts":
[
"string"
],
"locationPartTypes":
[
"TABLE"
],
"assetType": "TABLE",
"name": "string",
"description": "string",
"tags":
"dataStoreId": "string",
"dataStoreType": "SNOWFLAKE",
"properties":
{
"property1": { },
"property2": { },
}
}
Bad configuration request
Invalid Authorization
Resource not found
Data Access Controllers (DACs)
Satori provides multiple Data Access Controller (DAC) deployment options to support the operational and security requirements of organizations.
Download a Package
get/api/v1/data-access-controllers/{id}/package/download
This HTTP GET method is used to download a package (specific version) that is linked with the specified data access controller (DAC). This package includes files or resources required for setting up or configuring the DAC.
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
PATH PARAMETERS
| *id string |
||
QUERY-STRING PARAMETERS
| version string |
||
API Server
Authentication
Required (None Applied)
FILL EXAMPLE
CLEAR TRY
RESPONSE
200 400 401 404
Status OK.
Bad configuration request
Invalid Authorization
Resource not found
List all Available Packages
get/api/v1/data-access-controllers/{id}/package/releases
This HTTP GET method is used to list the available releases or versions of the package associated with the specified data access controller (DAC).
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
PATH PARAMETERS
| *id string |
||
QUERY-STRING PARAMETERS
| recommended boolean |
Default: true | |
API Server
Authentication
Required (None Applied)
FILL EXAMPLE
CLEAR TRY
RESPONSE
200 400 401 404
Status OK.
EXAMPLE SCHEMA
application/json
Copy
{
"count": 0,
"records":
[
{
"version":
"string",
"createdAt":
"1970-01-01T00:00:00.000Z",
"type":
"PATCH"
}
]
}
Bad configuration request
Invalid Authorization
Resource not found
List all Data Access Control
get/api/v1/data-access-controllers
This HTTP GET method is used to retrieve a list of all the data access controllers (DACs), that are used for administrative tasks, reporting or management of data access within the system.
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
QUERY-STRING PARAMETERS
| accountId string |
||
| allowForCreation boolean |
Default: true | |
| Include only DACs that are available for data store creation | ||
| page int32 |
Default: 0 | |
| pageSize int32 |
Default: 5 | |
| orderBy array of string |
||
| orderDirection array of string |
||
| search string |
||
| type enum |
Allowed: PUBLIC┃ PRIVATE┃ PRIVATE_MANAGED |
|
| region string |
||
| cloudProvider enum |
Allowed: GCP┃ AZURE┃ AWS┃ BYOC |
|
| uniqueName string |
||
API Server
Authentication
Required (None Applied)
FILL EXAMPLE
CLEAR TRY
RESPONSE
200 400 401 404
Status OK.
EXAMPLE SCHEMA
application/json
Example 1 Example 2 Example 3
Copy
{
"records":
[
{
"entityVersion":
0,
"createdAt":
"1970-01-01T00:00:00.000Z",
"updatedAt":
"1970-01-01T00:00:00.000Z",
"nameCreatedBy":
"string",
"nameUpdatedBy":
"string",
"parentId":
"string",
"id":
"string",
"uniqueName":
"string",
"region":
"string",
"cloudProvider":
"GCP",
"type":
"PUBLIC",
"parent":
"string",
"name":
"string",
"ips":
[
"string"
],
"loadBalancer":
"INTERNAL",
"creationStatus":
"NEW",
"domain":
"string",
"currentVersion":
{
"version":
"string",
"lastUpdated":
"1970-01-01T00:00:00.000Z"
},
"upgradeStatus":
{
"version":
"string",
"startedAt":
"1970-01-01T00:00:00.000Z",
"updatedAt":
"1970-01-01T00:00:00.000Z",
"finishedAt":
"1970-01-01T00:00:00.000Z",
"status":
"IN_PROGRESS",
"statusMessage":
"string"
},
"upgradeConfig":
{
"type":
"MANUAL"
},
"upgradePendingVersion":
"string",
"logCollection":
{
"permission":
"SATORI"
},
"providerConfiguration":
{ },
}
],
"count": 0,
"accountIdsToNamesMap":
{
"property1": "string",
"property2": "string"
}
}
Copy
{
"records":
"count": 0,
"accountIdsToNamesMap":
{
"property1": "string",
"property2": "string"
}
}
Copy
{
"records":
"count": 0,
"accountIdsToNamesMap":
{
"property1": "string",
"property2": "string"
}
}
Bad configuration request
Invalid Authorization
Resource not found
List all Private Data Access Controls
get/api/v1/data-access-controllers/private
This HTTP GET method is used to retrieve a list of private or restricted data access controllers (DACs).
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
QUERY-STRING PARAMETERS
| accountId string |
||
| page int32 |
Default: 0 | |
| pageSize int32 |
Default: 5 | |
| orderBy array of string |
||
| orderDirection array of string |
||
| search string |
||
| metrics boolean |
Default: false | |
| status enum |
Allowed: OK┃ WARN┃ ERROR |
|
API Server
Authentication
Required (None Applied)
FILL EXAMPLE
CLEAR TRY
RESPONSE
200 400 401 404
Status OK.
EXAMPLE SCHEMA
application/json
Example 1 Example 2 Example 3
Copy
{
"records":
"count": 0,
"accountIdsToNamesMap":
{
"property1": "string",
"property2": "string"
}
}
Copy
{
"records":
"count": 0,
"accountIdsToNamesMap":
{
"property1": "string",
"property2": "string"
}
}
Copy
{
"records":
"count": 0,
"accountIdsToNamesMap":
{
"property1": "string",
"property2": "string"
}
}
Bad configuration request
Invalid Authorization
Resource not found
Retrieve a Data Access Controller
get/api/v1/data-access-controllers/{id}
This HTTP GET method is used to get detailed information about a specific data access controller (DAC).
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
PATH PARAMETERS
| *id string |
||
QUERY-STRING PARAMETERS
| accountId string |
||
API Server
Authentication
Required (None Applied)
FILL EXAMPLE
CLEAR TRY
RESPONSE
200 400 401 404
Status OK.
EXAMPLE SCHEMA
application/json
Example 1 Example 2 Example 3
Copy
{
"entityVersion": 0,
"createdAt": "1970-01-01T00:00:00.000Z",
"updatedAt": "1970-01-01T00:00:00.000Z",
"nameCreatedBy": "string",
"nameUpdatedBy": "string",
"parentId": "string",
"id": "string",
"uniqueName": "string",
"region": "string",
"cloudProvider": "GCP",
"type": "PUBLIC",
"parent": "string",
"name": "string",
"ips":
[
"string"
],
"loadBalancer": "INTERNAL",
"creationStatus": "NEW",
"domain": "string",
"currentVersion":
{
"version": "string",
"lastUpdated": "1970-01-01T00:00:00.000Z"
},
"upgradeStatus":
{
"version": "string",
"startedAt": "1970-01-01T00:00:00.000Z",
"updatedAt": "1970-01-01T00:00:00.000Z",
"finishedAt": "1970-01-01T00:00:00.000Z",
"status": "IN_PROGRESS",
"statusMessage": "string"
},
"upgradeConfig":
{
"type": "MANUAL"
},
"upgradePendingVersion": "string",
"logCollection":
{
"permission": "SATORI"
},
"providerConfiguration": { },
"suspendedStrategy":
{
"stopConfigurationDistribution": false
},
"yamlConfiguration": "string",
"terraformConfiguration": "string",
"gcpProjectName": "string",
"revision": 0,
"ingressPortRange": "string"
}
Copy
{
"entityVersion": 0,
"createdAt": "1970-01-01T00:00:00.000Z",
"updatedAt": "1970-01-01T00:00:00.000Z",
"nameCreatedBy": "string",
"nameUpdatedBy": "string",
"parentId": "string",
"id": "string",
"uniqueName": "string",
"region": "string",
"cloudProvider": "GCP",
"type": "PUBLIC",
"parent": "string",
"name": "string",
"ips":
[
"string"
],
"loadBalancer": "INTERNAL",
"creationStatus": "NEW",
"domain": "string",
"currentVersion":
{
"version": "string",
"lastUpdated": "1970-01-01T00:00:00.000Z"
},
"upgradeStatus":
{
"version": "string",
"startedAt": "1970-01-01T00:00:00.000Z",
"updatedAt": "1970-01-01T00:00:00.000Z",
"finishedAt": "1970-01-01T00:00:00.000Z",
"status": "IN_PROGRESS",
"statusMessage": "string"
},
"upgradeConfig":
{
"type": "MANUAL"
},
"upgradePendingVersion": "string",
"logCollection":
{
"permission": "SATORI"
},
"providerConfiguration": { },
"suspendedStrategy":
{
"stopConfigurationDistribution": false
},
"yamlConfiguration": "string",
"terraformConfiguration": "string",
"gcpProjectName": "string",
"revision": 0,
"ingressPortRange": "string"
}
Copy
{
"entityVersion": 0,
"createdAt": "1970-01-01T00:00:00.000Z",
"updatedAt": "1970-01-01T00:00:00.000Z",
"nameCreatedBy": "string",
"nameUpdatedBy": "string",
"parentId": "string",
"id": "string",
"uniqueName": "string",
"region": "string",
"cloudProvider": "GCP",
"type": "PUBLIC",
"parent": "string",
"name": "string",
"ips":
[
"string"
],
"loadBalancer": "INTERNAL",
"creationStatus": "NEW",
"domain": "string",
"currentVersion":
{
"version": "string",
"lastUpdated": "1970-01-01T00:00:00.000Z"
},
"upgradeStatus":
{
"version": "string",
"startedAt": "1970-01-01T00:00:00.000Z",
"updatedAt": "1970-01-01T00:00:00.000Z",
"finishedAt": "1970-01-01T00:00:00.000Z",
"status": "IN_PROGRESS",
"statusMessage": "string"
},
"upgradeConfig":
{
"type": "MANUAL"
},
"upgradePendingVersion": "string",
"logCollection":
{
"permission": "SATORI"
},
"providerConfiguration": { },
"suspendedStrategy":
{
"stopConfigurationDistribution": false
},
"yamlConfiguration": "string",
"terraformConfiguration": "string",
"gcpProjectName": "string",
"revision": 0,
"ingressPortRange": "string"
}
Bad configuration request
Invalid Authorization
Resource not found
List a Recommended and Beta Versions
get/api/v1/data-access-controllers/package/releases
This HTTP GET method is used to retrieve a list of package releases associated with data access controllers (DACs).
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
API Server
Authentication
Required (None Applied)
TRY
RESPONSE
200 400 401 404
Status OK.
EXAMPLE SCHEMA
application/json
Copy
{
"count": 0,
"records":
[
{
"version":
"string",
"createdAt":
"1970-01-01T00:00:00.000Z",
"type":
"PATCH"
}
]
}
Bad configuration request
Invalid Authorization
Resource not found
Trigger an Upload Log Action
post/api/v1/data-access-controllers/{id}/upload-logs
This HTTP POST method is used to upload log files associated with a specific data access controller (DAC).
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
PATH PARAMETERS
| *id string |
||
API Server
Authentication
Required (None Applied)
FILL EXAMPLE
CLEAR TRY
RESPONSE
200 400 401 404
Status OK.
Bad configuration request
Invalid Authorization
Resource not found
Update DACs Log Collection Configuration
post/api/v1/data-access-controllers/update-log-collection
This HTTP POST method is used to update the log collection settings for a specific data access controller (DAC).
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
QUERY-STRING PARAMETERS
| accountId string |
||
| dacId string |
||
REQUEST BODY application/json
EXAMPLESCHEMA
{
"permission": "SATORI"
}
object
Multiline description
{
permission:enum
Allowed: SATORI┃CUSTOMER
}
API Server
Authentication
Required (None Applied)
FILL EXAMPLE
CLEAR TRY
RESPONSE
200 400 401 404
Status OK.
EXAMPLE SCHEMA
application/json
Example 1 Example 2 Example 3
Copy
{
"entityVersion": 0,
"createdAt": "1970-01-01T00:00:00.000Z",
"updatedAt": "1970-01-01T00:00:00.000Z",
"nameCreatedBy": "string",
"nameUpdatedBy": "string",
"parentId": "string",
"id": "string",
"uniqueName": "string",
"region": "string",
"cloudProvider": "GCP",
"type": "PUBLIC",
"parent": "string",
"name": "string",
"ips":
[
"string"
],
"loadBalancer": "INTERNAL",
"creationStatus": "NEW",
"domain": "string",
"currentVersion":
{
"version": "string",
"lastUpdated": "1970-01-01T00:00:00.000Z"
},
"upgradeStatus":
{
"version": "string",
"startedAt": "1970-01-01T00:00:00.000Z",
"updatedAt": "1970-01-01T00:00:00.000Z",
"finishedAt": "1970-01-01T00:00:00.000Z",
"status": "IN_PROGRESS",
"statusMessage": "string"
},
"upgradeConfig":
{
"type": "MANUAL"
},
"upgradePendingVersion": "string",
"logCollection":
{
"permission": "SATORI"
},
"providerConfiguration": { },
"suspendedStrategy":
{
"stopConfigurationDistribution": false
},
"yamlConfiguration": "string",
"terraformConfiguration": "string",
"gcpProjectName": "string",
"revision": 0,
"ingressPortRange": "string"
}
Copy
{
"entityVersion": 0,
"createdAt": "1970-01-01T00:00:00.000Z",
"updatedAt": "1970-01-01T00:00:00.000Z",
"nameCreatedBy": "string",
"nameUpdatedBy": "string",
"parentId": "string",
"id": "string",
"uniqueName": "string",
"region": "string",
"cloudProvider": "GCP",
"type": "PUBLIC",
"parent": "string",
"name": "string",
"ips":
[
"string"
],
"loadBalancer": "INTERNAL",
"creationStatus": "NEW",
"domain": "string",
"currentVersion":
{
"version": "string",
"lastUpdated": "1970-01-01T00:00:00.000Z"
},
"upgradeStatus":
{
"version": "string",
"startedAt": "1970-01-01T00:00:00.000Z",
"updatedAt": "1970-01-01T00:00:00.000Z",
"finishedAt": "1970-01-01T00:00:00.000Z",
"status": "IN_PROGRESS",
"statusMessage": "string"
},
"upgradeConfig":
{
"type": "MANUAL"
},
"upgradePendingVersion": "string",
"logCollection":
{
"permission": "SATORI"
},
"providerConfiguration": { },
"suspendedStrategy":
{
"stopConfigurationDistribution": false
},
"yamlConfiguration": "string",
"terraformConfiguration": "string",
"gcpProjectName": "string",
"revision": 0,
"ingressPortRange": "string"
}
Copy
{
"entityVersion": 0,
"createdAt": "1970-01-01T00:00:00.000Z",
"updatedAt": "1970-01-01T00:00:00.000Z",
"nameCreatedBy": "string",
"nameUpdatedBy": "string",
"parentId": "string",
"id": "string",
"uniqueName": "string",
"region": "string",
"cloudProvider": "GCP",
"type": "PUBLIC",
"parent": "string",
"name": "string",
"ips":
[
"string"
],
"loadBalancer": "INTERNAL",
"creationStatus": "NEW",
"domain": "string",
"currentVersion":
{
"version": "string",
"lastUpdated": "1970-01-01T00:00:00.000Z"
},
"upgradeStatus":
{
"version": "string",
"startedAt": "1970-01-01T00:00:00.000Z",
"updatedAt": "1970-01-01T00:00:00.000Z",
"finishedAt": "1970-01-01T00:00:00.000Z",
"status": "IN_PROGRESS",
"statusMessage": "string"
},
"upgradeConfig":
{
"type": "MANUAL"
},
"upgradePendingVersion": "string",
"logCollection":
{
"permission": "SATORI"
},
"providerConfiguration": { },
"suspendedStrategy":
{
"stopConfigurationDistribution": false
},
"yamlConfiguration": "string",
"terraformConfiguration": "string",
"gcpProjectName": "string",
"revision": 0,
"ingressPortRange": "string"
}
Bad configuration request
Invalid Authorization
Resource not found
Update a Data Access Controller Upgrade Configuration
put/api/v1/data-access-controllers/{id}/upgrade-config
This HTTP PUT method is used to update the log collection configuration for one or more data access controllers.
NOTE: Each request must include either dacId or accountId.
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
PATH PARAMETERS
| *id string |
||
REQUEST BODY application/json
EXAMPLESCHEMA
Example 1 Example 2 Example 3
{
"type": "MANUAL"
}
object
Multiline description
{
type:enum
Allowed: MANUAL┃AUTO┃SELECTIVE
ONE OF
1{recursive: ManualUpgradeConfigDto}
2{recursive: AutoUpgradeConfigDto}
3{recursive: SelectiveUpgradeConfigDto}
}
API Server
Authentication
Required (None Applied)
FILL EXAMPLE
CLEAR TRY
RESPONSE
200 400 401 404
Status OK.
EXAMPLE SCHEMA
application/json
Example 1 Example 2 Example 3
Copy
{
"entityVersion": 0,
"createdAt": "1970-01-01T00:00:00.000Z",
"updatedAt": "1970-01-01T00:00:00.000Z",
"nameCreatedBy": "string",
"nameUpdatedBy": "string",
"parentId": "string",
"id": "string",
"uniqueName": "string",
"region": "string",
"cloudProvider": "GCP",
"type": "PUBLIC",
"parent": "string",
"name": "string",
"ips":
[
"string"
],
"loadBalancer": "INTERNAL",
"creationStatus": "NEW",
"domain": "string",
"currentVersion":
{
"version": "string",
"lastUpdated": "1970-01-01T00:00:00.000Z"
},
"upgradeStatus":
{
"version": "string",
"startedAt": "1970-01-01T00:00:00.000Z",
"updatedAt": "1970-01-01T00:00:00.000Z",
"finishedAt": "1970-01-01T00:00:00.000Z",
"status": "IN_PROGRESS",
"statusMessage": "string"
},
"upgradeConfig":
{
"type": "MANUAL"
},
"upgradePendingVersion": "string",
"logCollection":
{
"permission": "SATORI"
},
"providerConfiguration": { },
"suspendedStrategy":
{
"stopConfigurationDistribution": false
},
"yamlConfiguration": "string",
"terraformConfiguration": "string",
"gcpProjectName": "string",
"revision": 0,
"ingressPortRange": "string"
}
Copy
{
"entityVersion": 0,
"createdAt": "1970-01-01T00:00:00.000Z",
"updatedAt": "1970-01-01T00:00:00.000Z",
"nameCreatedBy": "string",
"nameUpdatedBy": "string",
"parentId": "string",
"id": "string",
"uniqueName": "string",
"region": "string",
"cloudProvider": "GCP",
"type": "PUBLIC",
"parent": "string",
"name": "string",
"ips":
[
"string"
],
"loadBalancer": "INTERNAL",
"creationStatus": "NEW",
"domain": "string",
"currentVersion":
{
"version": "string",
"lastUpdated": "1970-01-01T00:00:00.000Z"
},
"upgradeStatus":
{
"version": "string",
"startedAt": "1970-01-01T00:00:00.000Z",
"updatedAt": "1970-01-01T00:00:00.000Z",
"finishedAt": "1970-01-01T00:00:00.000Z",
"status": "IN_PROGRESS",
"statusMessage": "string"
},
"upgradeConfig":
{
"type": "MANUAL"
},
"upgradePendingVersion": "string",
"logCollection":
{
"permission": "SATORI"
},
"providerConfiguration": { },
"suspendedStrategy":
{
"stopConfigurationDistribution": false
},
"yamlConfiguration": "string",
"terraformConfiguration": "string",
"gcpProjectName": "string",
"revision": 0,
"ingressPortRange": "string"
}
Copy
{
"entityVersion": 0,
"createdAt": "1970-01-01T00:00:00.000Z",
"updatedAt": "1970-01-01T00:00:00.000Z",
"nameCreatedBy": "string",
"nameUpdatedBy": "string",
"parentId": "string",
"id": "string",
"uniqueName": "string",
"region": "string",
"cloudProvider": "GCP",
"type": "PUBLIC",
"parent": "string",
"name": "string",
"ips":
[
"string"
],
"loadBalancer": "INTERNAL",
"creationStatus": "NEW",
"domain": "string",
"currentVersion":
{
"version": "string",
"lastUpdated": "1970-01-01T00:00:00.000Z"
},
"upgradeStatus":
{
"version": "string",
"startedAt": "1970-01-01T00:00:00.000Z",
"updatedAt": "1970-01-01T00:00:00.000Z",
"finishedAt": "1970-01-01T00:00:00.000Z",
"status": "IN_PROGRESS",
"statusMessage": "string"
},
"upgradeConfig":
{
"type": "MANUAL"
},
"upgradePendingVersion": "string",
"logCollection":
{
"permission": "SATORI"
},
"providerConfiguration": { },
"suspendedStrategy":
{
"stopConfigurationDistribution": false
},
"yamlConfiguration": "string",
"terraformConfiguration": "string",
"gcpProjectName": "string",
"revision": 0,
"ingressPortRange": "string"
}
Bad configuration request
Invalid Authorization
Resource not found
Datasets
A dataset is a collection of data store objects such as tables or schemas from one or more data stores, that you wish to govern access to as a single unit.
Data engineers create datasets as part of the data development lifecycle. Once a dataset is defined you can then assign a data stewards to manage the day to day operations of access to data.
Query datasets by account id
get/api/v1/dataset
This HTTP GET method is used to retrieve a list of datasets available in the system.
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
QUERY-STRING PARAMETERS
| accountId string |
||
| page int32 |
Default: 0 | |
| pageSize int32 |
Default: 5 | |
| orderBy array of string |
||
| orderDirection array of string |
||
| search string |
||
| dataStoresFilter array of string |
||
| dataStoreTypeFilter array of string |
||
| locationsFilter array of string |
||
| minimal boolean |
Default: false | |
API Server
Authentication
Required (None Applied)
FILL EXAMPLE
CLEAR TRY
RESPONSE
200 400 401
Status OK.
EXAMPLE SCHEMA
application/json
Example 1 Example 2
Copy
{
"records":
"count": 0
}
Copy
{
"records":
[
{
"entityVersion":
0,
"createdAt":
"1970-01-01T00:00:00.000Z",
"updatedAt":
"1970-01-01T00:00:00.000Z",
"nameCreatedBy":
"string",
"nameUpdatedBy":
"string",
"parentId":
"string",
"id":
"string",
"currentUserPermissions":
{
"canEditDataPolicy":
false,
"canViewDataPolicy":
false,
"canEditInventory":
false,
"canViewInventory":
false
},
"name":
"string",
"description":
"string",
"ownersIds":
[
"string"
],
"approvers":
[
{
"type":
"USER"
}
],
"ownersNamesMap":
{
"property1":
{
"id":
"string",
"name":
"string",
"type":
"string",
"managed":
false
},
"property2":
{
"id":
"string",
"name":
"string",
"type":
"string",
"managed":
false
}
},
"includeLocations":
[
{
"locationPath":
"For input, these are available options: 'a.b.c' or [{name: 'a'}, {name: 'b'}, {name: 'c'}] or [{name: 'a', type: 'DATABASE'}, {name: 'b', type: 'SCHEMA'}, {name: 'c', type: 'VIEW'}] However, the output will always be a fully populated list of location parts",
"dataStoreId":
"string"
}
],
"excludeLocations":
[
{
"locationPath":
"For input, these are available options: 'a.b.c' or [{name: 'a'}, {name: 'b'}, {name: 'c'}] or [{name: 'a', type: 'DATABASE'}, {name: 'b', type: 'SCHEMA'}, {name: 'c', type: 'VIEW'}] However, the output will always be a fully populated list of location parts",
"dataStoreId":
"string"
}
],
"dataPolicyId":
"string",
"permissionsEnabled":
false,
"customAccessRequestsEnabled":
false,
"customPolicy":
{
"entityVersion":
0,
"createdAt":
"1970-01-01T00:00:00.000Z",
"updatedAt":
"1970-01-01T00:00:00.000Z",
"nameCreatedBy":
"string",
"nameUpdatedBy":
"string",
"parentId":
"string",
"id":
"string",
"priority":
0,
"tagsYaml":
"string",
"rulesYaml":
"string"
},
"defaultSecurityPolicies":
{
"entityVersion":
0,
"createdAt":
"1970-01-01T00:00:00.000Z",
"updatedAt":
"1970-01-01T00:00:00.000Z",
"nameCreatedBy":
"string",
"nameUpdatedBy":
"string",
"parentId":
"string",
"id":
"string",
"defaultSecurityPolicyIds":
[
"string"
]
},
"externalReference":
{
"type":
"COLLIBRA"
},
"externalUrl":
"string"
}
],
"count": 0
}
Bad configuration request
Invalid Authorization
Create a Dataset
post/api/v1/dataset
This HTTP POST method is used to create a new dataset with the provided details. This includes defining the dataset’s name, description, approvers (data stewards/access approvers), adding metadata as well as adding an included and excluded location/s.
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
QUERY-STRING PARAMETERS
| *accountId string |
Min 1 chars | |
REQUEST BODY *application/json
EXAMPLESCHEMA
{
"name": "A",
"description": "string",
"ownersIds": [\
"string"\
],
"approvers": [\
{\
"type": "USER"\
}\
],
"includeLocations": [\
{\
"locationPath": "For input, these are available options: 'a.b.c' or [{name: 'a'}, {name: 'b'}, {name: 'c'}] or [{name: 'a', type: 'DATABASE'}, {name: 'b', type: 'SCHEMA'}, {name: 'c', type: 'VIEW'}] However, the output will always be a fully populated list of location parts",\
"dataStoreId": "string"\
}\
],
"excludeLocations": [\
{\
"locationPath": "For input, these are available options: 'a.b.c' or [{name: 'a'}, {name: 'b'}, {name: 'c'}] or [{name: 'a', type: 'DATABASE'}, {name: 'b', type: 'SCHEMA'}, {name: 'c', type: 'VIEW'}] However, the output will always be a fully populated list of location parts",\
"dataStoreId": "string"\
}\
],
"permissionsEnabled": false,
"customAccessRequestsEnabled": false,
"customPolicy": {
"priority": 0,
"tagsYaml": "string",
"rulesYaml": "string"
},
"defaultSecurityPolicies": {
"defaultSecurityPolicyIds": [\
"string"\
]
},
"externalUrl": "string"
}
object
Multiline description
{
name*: string
Constraints: Min 1 chars
description:string
ownersIds*: [string]
approvers:
[{
type:enum
Allowed: USER┃GROUP┃DIRECTORY┃MANAGER
}]
includeLocations*:
[{
locationPath:
[{
Location path, can be either a dot seperated string "a.b.c" or a list of location parts with name and type [{name: ...}, {name: ...}, {name: ....}].
⮕ [ Location path, can be either a dot seperated string "a.b.c" or a list of location parts with name and type [{name: ...}, {name: ...}, {name: ....}]. ]
name:string
type:enum
➔ [Optional] Asset type, when not specified, defaults takes place, resolved by data store type and locationPath length.
Allowed: TABLE┃COLUMN┃SEMANTIC_MODEL┃REPORT┃DASHBOARD┃DATABASE┃SCHEMA┃JSON_PATH┃WAREHOUSE┃ENDPOINT┃TYPE┃FIELD┃EXTERNAL_LOCATION┃CATALOG┃BUCKET┃OBJECT┃COLLECTION┃VIEW┃ACCOUNT_ROLE┃SHARED_DB
}]
dataStoreId:string
location:
{
Deprecated, use locationPath field.
type:enum
Allowed: RELATIONAL_LOCATION┃MYSQL_LOCATION┃ATHENA_LOCATION┃MONGO_LOCATION┃S3_LOCATION┃DATABRICKS_LOCATION┃DATABRICKS_EXTERNAL_LOCATION┃GRAPHQL_LOCATION┃SNOWFLAKE_WAREHOUSE_LOCATION┃ASSET_LOCATION
}
}]
excludeLocations*:
[{
locationPath:
[{
Location path, can be either a dot seperated string "a.b.c" or a list of location parts with name and type [{name: ...}, {name: ...}, {name: ....}].
⮕ [ Location path, can be either a dot seperated string "a.b.c" or a list of location parts with name and type [{name: ...}, {name: ...}, {name: ....}]. ]
name:string
type:enum
➔ [Optional] Asset type, when not specified, defaults takes place, resolved by data store type and locationPath length.
Allowed: TABLE┃COLUMN┃SEMANTIC_MODEL┃REPORT┃DASHBOARD┃DATABASE┃SCHEMA┃JSON_PATH┃WAREHOUSE┃ENDPOINT┃TYPE┃FIELD┃EXTERNAL_LOCATION┃CATALOG┃BUCKET┃OBJECT┃COLLECTION┃VIEW┃ACCOUNT_ROLE┃SHARED_DB
}]
dataStoreId:string
location:
{
Deprecated, use locationPath field.
type:enum
Allowed: RELATIONAL_LOCATION┃MYSQL_LOCATION┃ATHENA_LOCATION┃MONGO_LOCATION┃S3_LOCATION┃DATABRICKS_LOCATION┃DATABRICKS_EXTERNAL_LOCATION┃GRAPHQL_LOCATION┃SNOWFLAKE_WAREHOUSE_LOCATION┃ASSET_LOCATION
}
}]
permissionsEnabled:boolean
customAccessRequestsEnabled:boolean
customPolicy: {
priority:integer
tagsYaml:string
rulesYaml:string
}
defaultSecurityPolicies: {
defaultSecurityPolicyIds:[string]
}
externalUrl:string
}
API Server
Authentication
Required (None Applied)
FILL EXAMPLE
CLEAR TRY
RESPONSE
201 400 401
Status OK, dataset created
EXAMPLE SCHEMA
application/json
Copy
{
"entityVersion": 0,
"createdAt": "1970-01-01T00:00:00.000Z",
"updatedAt": "1970-01-01T00:00:00.000Z",
"nameCreatedBy": "string",
"nameUpdatedBy": "string",
"parentId": "string",
"id": "string",
"currentUserPermissions":
{
"canEditDataPolicy": false,
"canViewDataPolicy": false,
"canEditInventory": false,
"canViewInventory": false
},
"name": "string",
"description": "string",
"ownersIds":
[
"string"
],
"approvers":
[
{
"type":
"USER"
}
],
"ownersNamesMap":
{
"property1":
{
"id": "string",
"name": "string",
"type": "string",
"managed": false
},
"property2":
{
"id": "string",
"name": "string",
"type": "string",
"managed": false
}
},
"includeLocations":
[
{
"locationPath":
"For input, these are available options: 'a.b.c' or [{name: 'a'}, {name: 'b'}, {name: 'c'}] or [{name: 'a', type: 'DATABASE'}, {name: 'b', type: 'SCHEMA'}, {name: 'c', type: 'VIEW'}] However, the output will always be a fully populated list of location parts",
"dataStoreId":
"string"
}
],
"excludeLocations":
"dataPolicyId": "string",
"permissionsEnabled": false,
"customAccessRequestsEnabled": false,
"customPolicy":
{
"entityVersion": 0,
"createdAt": "1970-01-01T00:00:00.000Z",
"updatedAt": "1970-01-01T00:00:00.000Z",
"nameCreatedBy": "string",
"nameUpdatedBy": "string",
"parentId": "string",
"id": "string",
"priority": 0,
"tagsYaml": "string",
"rulesYaml": "string"
},
"defaultSecurityPolicies":
{
"entityVersion": 0,
"createdAt": "1970-01-01T00:00:00.000Z",
"updatedAt": "1970-01-01T00:00:00.000Z",
"nameCreatedBy": "string",
"nameUpdatedBy": "string",
"parentId": "string",
"id": "string",
"defaultSecurityPolicyIds":
[
"string"
]
},
"externalReference":
{
"type": "COLLIBRA"
},
"externalUrl": "string"
}
Bad configuration request
Invalid Authorization
Get a Dataset
get/api/v1/dataset/{id}
This HTTP GET method is used to fetch detailed information about a specific dataset. This includes dataset name, description, metadata, schema, classifiers, included and excluded location/s, permissions and default security policies.
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
PATH PARAMETERS
| *id string |
||
API Server
Authentication
Required (None Applied)
FILL EXAMPLE
CLEAR TRY
RESPONSE
200 400 401 404
Status OK, dataset found.
EXAMPLE SCHEMA
application/json
Copy
{
"entityVersion": 0,
"createdAt": "1970-01-01T00:00:00.000Z",
"updatedAt": "1970-01-01T00:00:00.000Z",
"nameCreatedBy": "string",
"nameUpdatedBy": "string",
"parentId": "string",
"id": "string",
"currentUserPermissions":
{
"canEditDataPolicy": false,
"canViewDataPolicy": false,
"canEditInventory": false,
"canViewInventory": false
},
"name": "string",
"description": "string",
"ownersIds":
[
"string"
],
"approvers":
[
{
"type":
"USER"
}
],
"ownersNamesMap":
{
"property1":
{
"id": "string",
"name": "string",
"type": "string",
"managed": false
},
"property2":
{
"id": "string",
"name": "string",
"type": "string",
"managed": false
}
},
"includeLocations":
"excludeLocations":
"dataPolicyId": "string",
"permissionsEnabled": false,
"customAccessRequestsEnabled": false,
"customPolicy":
{
"entityVersion": 0,
"createdAt": "1970-01-01T00:00:00.000Z",
"updatedAt": "1970-01-01T00:00:00.000Z",
"nameCreatedBy": "string",
"nameUpdatedBy": "string",
"parentId": "string",
"id": "string",
"priority": 0,
"tagsYaml": "string",
"rulesYaml": "string"
},
"defaultSecurityPolicies":
{
"entityVersion": 0,
"createdAt": "1970-01-01T00:00:00.000Z",
"updatedAt": "1970-01-01T00:00:00.000Z",
"nameCreatedBy": "string",
"nameUpdatedBy": "string",
"parentId": "string",
"id": "string",
"defaultSecurityPolicyIds":
[
"string"
]
},
"externalReference":
{
"type": "COLLIBRA"
},
"externalUrl": "string"
}
Bad configuration request
Invalid Authorization
Resource not found
Update a Dataset
put/api/v1/dataset/{id}
This HTTP PUT method is used to update the dataset with the provided details. This includes changes to the dataset’s name, description, schema, classifiers, included and excluded location/s, permissions and default security policies.
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
PATH PARAMETERS
| *id string |
Min 1 chars | |
REQUEST BODY *application/json
EXAMPLESCHEMA
object
Multiline description
{
name*: string
Constraints: Min 1 chars
description:string
ownersIds*: [string]
approvers:
[{
type:enum
Allowed: USER┃GROUP┃DIRECTORY┃MANAGER
}]
permissionsEnabled:boolean
customAccessRequestsEnabled:boolean
customPolicy: {
priority:integer
tagsYaml:string
rulesYaml:string
}
defaultSecurityPolicies: {
defaultSecurityPolicyIds:[string]
}
externalUrl:string
}
API Server
Authentication
Required (None Applied)
FILL EXAMPLE
CLEAR TRY
RESPONSE
200 400 401 404
Status OK, dataset updated
EXAMPLE SCHEMA
application/json
Copy
{
"entityVersion": 0,
"createdAt": "1970-01-01T00:00:00.000Z",
"updatedAt": "1970-01-01T00:00:00.000Z",
"nameCreatedBy": "string",
"nameUpdatedBy": "string",
"parentId": "string",
"id": "string",
"currentUserPermissions":
{
"canEditDataPolicy": false,
"canViewDataPolicy": false,
"canEditInventory": false,
"canViewInventory": false
},
"name": "string",
"description": "string",
"ownersIds":
[
"string"
],
"approvers":
[
{
"type":
"USER"
}
],
"ownersNamesMap":
{
"property1":
{
"id": "string",
"name": "string",
"type": "string",
"managed": false
},
"property2":
{
"id": "string",
"name": "string",
"type": "string",
"managed": false
}
},
"includeLocations":
"excludeLocations":
"dataPolicyId": "string",
"permissionsEnabled": false,
"customAccessRequestsEnabled": false,
"customPolicy":
{
"entityVersion": 0,
"createdAt": "1970-01-01T00:00:00.000Z",
"updatedAt": "1970-01-01T00:00:00.000Z",
"nameCreatedBy": "string",
"nameUpdatedBy": "string",
"parentId": "string",
"id": "string",
"priority": 0,
"tagsYaml": "string",
"rulesYaml": "string"
},
"defaultSecurityPolicies":
{
"entityVersion": 0,
"createdAt": "1970-01-01T00:00:00.000Z",
"updatedAt": "1970-01-01T00:00:00.000Z",
"nameCreatedBy": "string",
"nameUpdatedBy": "string",
"parentId": "string",
"id": "string",
"defaultSecurityPolicyIds":
[
"string"
]
},
"externalReference":
{
"type": "COLLIBRA"
},
"externalUrl": "string"
}
Bad request
Invalid Authorization
Resource not found
Delete a Dataset
delete/api/v1/dataset/{id}
This HTTP DELETE method is used to delete the dataset with the specified ID. This action removes all associated data and metadata from the system and it is typically irreversible.
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
PATH PARAMETERS
| *id string |
||
API Server
Authentication
Required (None Applied)
FILL EXAMPLE
CLEAR TRY
RESPONSE
204 400 401 404
Status OK.
Bad configuration request
Invalid Authorization
Resource not found
Dataset Access Details
get/api/v1/dataset/{id}/access-details
This HTTP GET method is used to fetch detailed information about the access permissions and history for a specific dataset.
This includes user roles, permission levels, approvers, instant access rules, pending access requests and any recent access or changes made to the dataset, for a specific or the current user.
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
PATH PARAMETERS
| *id string |
Min 1 chars | |
QUERY-STRING PARAMETERS
| userId string |
||
| Optional. Administrator users or service accounts can get access details for specific users in their account. If not specified, the API is based on the current user. |
API Server
Authentication
Required (None Applied)
FILL EXAMPLE
CLEAR TRY
RESPONSE
200 400 401 404
Status OK
EXAMPLE SCHEMA
application/json
Copy
{
"id": "string",
"name": "string",
"description": "string",
"administrators":
[
{
"name":
"string"
}
],
"approvers":
[
{
"name":
"string"
}
],
"availableAccessRules":
[
{
"id":
"string",
"securityPolicyNames":
[
"string"
],
"type":
"SELF_SERVICE",
"accessLevel":
"READ_ONLY",
"timeLimit":
{
"shouldExpire":
false
},
"unusedTimeLimit":
{
"unusedDaysUntilRevocation":
0,
"shouldRevoke":
false
},
"identity":
{
"identityType":
"USER",
"identity":
"string",
"id":
"string",
"displayName":
"string"
},
"approvers":
[
{
"name":
"string"
}
],
"requestable":
false
}
],
"instantAccessRule":
{
"id": "string",
"securityPolicyNames":
[
"string"
],
"type": "SELF_SERVICE",
"accessLevel": "READ_ONLY",
"timeLimit":
{
"shouldExpire": false
},
"unusedTimeLimit":
{
"unusedDaysUntilRevocation": 0,
"shouldRevoke": false
},
"identity":
{
"identityType": "USER",
"identity": "string",
"id": "string",
"displayName": "string"
},
"approvers":
[
{
"name":
"string"
}
],
"requestable": false
},
"pendingRequest":
{
"id": "string",
"message": "string",
"purpose": "string",
"originRuleId": "string"
},
"customAccessRequestsEnabled": false
}
Bad configuration request
Invalid Authorization
Resource not found
Dataset Connection Details
get/api/v1/dataset/{id}/connection-details
This HTTP GET method is used to provide the necessary connection details required to access or interact with a dataset. This includes database connection strings, dataset ID, name, description, locations, API endpoints, authentication tokens, and deployment type for a specific or the current user.
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
PATH PARAMETERS
| *id string |
Min 1 chars | |
QUERY-STRING PARAMETERS
API Server
Authentication
Required (None Applied)
FILL EXAMPLE
CLEAR TRY
RESPONSE
200 400 401 404
Status OK
EXAMPLE SCHEMA
application/json
Copy
{
"id": "string",
"name": "string",
"description": "string",
"includeLocations":
"excludeLocations":
"dataStores":
[
{
"id":
"string",
"name":
"string",
"type":
"SNOWFLAKE",
"satoriHostname":
"string",
"port":
0,
"satoriAuthEnabled":
false,
"dataStoreSettings":
{
"type":
"MONGO",
"deploymentType":
"MONGODB"
}
}
]
}
Bad configuration request
Invalid Authorization
Resource not found
Datasets Access Details
get/api/v1/dataset/access-details
This HTTP GET method is used to retrieve user access information across multiple datasets. This includes a list of datasets and their corresponding access permissions, roles, and possibly audit logs or history of access for a specific or the current user.
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
QUERY-STRING PARAMETERS
| *accountId string |
Min 1 chars | |
| page int32 |
Default: 0 | |
| pageSize int32 |
Default: 5 | |
| orderBy array of string |
||
| orderDirection array of string |
||
| search string |
||
| favorites boolean |
||
| recent boolean |
||
| dataPolicyIds array of string |
||
| includeDataAccessRuleType array of string |
Allowed: INSTANT_ACCESS┃ SELF_SERVICE┃ ACCESS_REQUEST |
|
| excludeDataAccessRuleType array of string |
Allowed: INSTANT_ACCESS┃ SELF_SERVICE┃ ACCESS_REQUEST |
|
| hasPendingRequest boolean |
||
| userId string |
||
| Optional. Administrator users or service accounts can get access details for specific users in their account. If not specified, the API is based on the current user. |
API Server
Authentication
Required (None Applied)
FILL EXAMPLE
CLEAR TRY
RESPONSE
200 400 401 404
Status OK
EXAMPLE SCHEMA
application/json
Copy
{
"records":
[
{
"id":
"string",
"name":
"string",
"description":
"string",
"dataStores":
[
{
"id":
"string",
"name":
"string",
"type":
"SNOWFLAKE"
}
],
"hasPendingRequest":
false,
"hasPermission":
false,
"canRequest":
false
}
],
"count": 0
}
Bad configuration request
Invalid Authorization
Resource not found
Data Stores Access Details
get/api/v1/dataset/access-details-dbs
This HTTP GET method is used to retrieve access details for multiple datasets or a general overview of dataset access permissions. This includes a list of datasets along with who has access, what permissions they have, and any relevant audit logs for a specific user.
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
QUERY-STRING PARAMETERS
| page int32 |
Default: 0 | |
| pageSize int32 |
Default: 5 | |
| orderBy array of string |
||
| orderDirection array of string |
||
| accountId string |
||
| userId string |
||
| Optional. Administrator users or service accounts can get access details for specific users in their account. If not specified, the API is based on the current user. |
API Server
Authentication
Required (None Applied)
FILL EXAMPLE
CLEAR TRY
RESPONSE
200 400 401 404
Status OK
EXAMPLE SCHEMA
application/json
Copy
{
"records":
[
{
"id":
"string",
"name":
"string",
"description":
"string",
"dataStoreIds":
[
"string"
]
}
],
"count": 0,
"dataStoreDetails":
[
{
"id":
"string",
"name":
"string",
"type":
"SNOWFLAKE",
"satoriHostname":
"string",
"port":
0,
"satoriAuthEnabled":
false,
"dataStoreSettings":
{
"type":
"MONGO",
"deploymentType":
"MONGODB"
},
"dbs":
[
"string"
]
}
]
}
Bad configuration request
Invalid Authorization
Resource not found
User Directory
The User Directory enables Satori administrators to define user groups in Satori based on existing users, identity provider groups and data store groups.
Groups are used to set policies or analyze data access. Satori groups are useful for organizations that do not use an identity provider, or in cases where the association of users to groups in the identity provider does not match how data is accessed.
Query Directory Objects by Account ID
get/api/v1/directory/group
This HTTP GET method is used to retrieve a list of groups from the directory service.
This API call allows you to access details about all groups that exist within the directory, including the number of group members, group name, description, ID, creation and update info as well as who created the group.
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
QUERY-STRING PARAMETERS
| *accountId string |
Min 1 chars | |
| page int32 |
Default: 0 | |
| pageSize int32 |
Default: 5 | |
| orderBy array of string |
||
| orderDirection array of string |
||
| search string |
||
API Server
Authentication
Required (None Applied)
FILL EXAMPLE
CLEAR TRY
RESPONSE
200 400 401
Status OK.
EXAMPLE SCHEMA
application/json
Copy
{
"records":
[
{
"entityVersion":
0,
"createdAt":
"1970-01-01T00:00:00.000Z",
"updatedAt":
"1970-01-01T00:00:00.000Z",
"nameCreatedBy":
"string",
"nameUpdatedBy":
"string",
"parentId":
"string",
"id":
"string",
"name":
"string",
"description":
"string"
}
],
"count": 0
}
Bad configuration request
Invalid Authorization
Create New Directory Object
post/api/v1/directory/group
This HTTP POST method is used to create a new group within the directory service.
This API call allows you to define and add a new group, including specifying its name, description, and any initial members of the group.
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
QUERY-STRING PARAMETERS
| *accountId string |
Min 1 chars | |
REQUEST BODY application/json
EXAMPLESCHEMA
Example 1 Example 2 Example 3 Example 4
{
"name": "string",
"description": "string",
"members": [\
{\
"email": "string",\
"type": "USERNAME",\
"name": "string"\
}\
]
}
object
Multiline description
{
name:string
description:string
members:
[{
type:enum
🆆
Allowed: USERNAME┃IDP_GROUP┃DB_ROLE┃DIRECTORY_GROUP
name:string
ONE OF
1{
email:string
}
2{
provider:enum
Allowed: OKTA┃AZURE┃ONELOGIN┃SCIM
}
3{recursive: DbRoleMemberInput}
4{recursive: DirectoryGroupMemberInput}
}]
}
API Server
Authentication
Required (None Applied)
FILL EXAMPLE
CLEAR TRY
RESPONSE
200 401 404
Status OK
EXAMPLE SCHEMA
application/json
Example 1 Example 2 Example 3 Example 4 Example 5
Copy
{
"entityVersion": 0,
"createdAt": "1970-01-01T00:00:00.000Z",
"updatedAt": "1970-01-01T00:00:00.000Z",
"nameCreatedBy": "string",
"nameUpdatedBy": "string",
"parentId": "string",
"id": "string",
"name": "string",
"description": "string"
}
Copy
{
"entityVersion": 0,
"createdAt": "1970-01-01T00:00:00.000Z",
"updatedAt": "1970-01-01T00:00:00.000Z",
"nameCreatedBy": "string",
"nameUpdatedBy": "string",
"parentId": "string",
"id": "string",
"name": "string",
"description": "string",
"members":
[
{
"id":
"string",
"email":
"string",
"name":
"string",
"type":
"string"
}
],
"subGroups":
[
{ },
],
"accessSettings":
{
"temporaryCredentialsExpirationTime":
{
"value": 0,
"timeframe": "Nanos",
"description": "string"
}
}
}
Copy
{
"entityVersion": 0,
"createdAt": "1970-01-01T00:00:00.000Z",
"updatedAt": "1970-01-01T00:00:00.000Z",
"nameCreatedBy": "string",
"nameUpdatedBy": "string",
"parentId": "string",
"id": "string",
"name": "string",
"description": "string",
"members":
[
{
"id":
"string",
"email":
"string",
"displayName":
"string",
"name":
"string",
"type":
"string"
}
],
"subGroups":
[
{ },
],
"accessSettings":
{
"temporaryCredentialsExpirationTime":
{
"value": 0,
"timeframe": "Nanos",
"description": "string"
}
}
}
Copy
{
"entityVersion": 0,
"createdAt": "1970-01-01T00:00:00.000Z",
"updatedAt": "1970-01-01T00:00:00.000Z",
"nameCreatedBy": "string",
"nameUpdatedBy": "string",
"parentId": "string",
"id": "string",
"name": "string",
"description": "string",
"members":
[
{
"name":
"string",
"type":
"string"
}
],
"subGroups":
[
{ },
],
"accessSettings":
{
"temporaryCredentialsExpirationTime":
{
"value": 0,
"timeframe": "Nanos",
"description": "string"
}
}
}
Copy
{
"entityVersion": 0,
"createdAt": "1970-01-01T00:00:00.000Z",
"updatedAt": "1970-01-01T00:00:00.000Z",
"nameCreatedBy": "string",
"nameUpdatedBy": "string",
"parentId": "string",
"id": "string",
"name": "string",
"description": "string",
"members":
[
{
"name":
"string",
"type":
"string"
}
],
"subGroups":
[
{ },
],
"accessSettings":
{
"temporaryCredentialsExpirationTime":
{
"value": 0,
"timeframe": "Nanos",
"description": "string"
}
}
}
Invalid Authorization
Bad request
Get a Directory Object
get/api/v1/directory/group/{id}
This HTTP GET method is used to retrieve detailed information about a specific group.
This API call allows you to access a group's details including the group name, description, ID, creation and update info as well as who created the group.
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
PATH PARAMETERS
| *id string |
||
API Server
Authentication
Required (None Applied)
FILL EXAMPLE
CLEAR TRY
RESPONSE
200 400 401 404
Status OK, directory object found.
EXAMPLE SCHEMA
application/json
Example 1 Example 2 Example 3 Example 4 Example 5
Copy
{
"entityVersion": 0,
"createdAt": "1970-01-01T00:00:00.000Z",
"updatedAt": "1970-01-01T00:00:00.000Z",
"nameCreatedBy": "string",
"nameUpdatedBy": "string",
"parentId": "string",
"id": "string",
"name": "string",
"description": "string"
}
Copy
{
"entityVersion": 0,
"createdAt": "1970-01-01T00:00:00.000Z",
"updatedAt": "1970-01-01T00:00:00.000Z",
"nameCreatedBy": "string",
"nameUpdatedBy": "string",
"parentId": "string",
"id": "string",
"name": "string",
"description": "string",
"members":
[
{
"id":
"string",
"email":
"string",
"name":
"string",
"type":
"string"
}
],
"subGroups":
[
{ },
],
"accessSettings":
{
"temporaryCredentialsExpirationTime":
{
"value": 0,
"timeframe": "Nanos",
"description": "string"
}
}
}
Copy
{
"entityVersion": 0,
"createdAt": "1970-01-01T00:00:00.000Z",
"updatedAt": "1970-01-01T00:00:00.000Z",
"nameCreatedBy": "string",
"nameUpdatedBy": "string",
"parentId": "string",
"id": "string",
"name": "string",
"description": "string",
"members":
[
{
"id":
"string",
"email":
"string",
"displayName":
"string",
"name":
"string",
"type":
"string"
}
],
"subGroups":
[
{ },
],
"accessSettings":
{
"temporaryCredentialsExpirationTime":
{
"value": 0,
"timeframe": "Nanos",
"description": "string"
}
}
}
Copy
{
"entityVersion": 0,
"createdAt": "1970-01-01T00:00:00.000Z",
"updatedAt": "1970-01-01T00:00:00.000Z",
"nameCreatedBy": "string",
"nameUpdatedBy": "string",
"parentId": "string",
"id": "string",
"name": "string",
"description": "string",
"members":
[
{
"name":
"string",
"type":
"string"
}
],
"subGroups":
[
{ },
],
"accessSettings":
{
"temporaryCredentialsExpirationTime":
{
"value": 0,
"timeframe": "Nanos",
"description": "string"
}
}
}
Copy
{
"entityVersion": 0,
"createdAt": "1970-01-01T00:00:00.000Z",
"updatedAt": "1970-01-01T00:00:00.000Z",
"nameCreatedBy": "string",
"nameUpdatedBy": "string",
"parentId": "string",
"id": "string",
"name": "string",
"description": "string",
"members":
[
{
"name":
"string",
"type":
"string"
}
],
"subGroups":
[
{ },
],
"accessSettings":
{
"temporaryCredentialsExpirationTime":
{
"value": 0,
"timeframe": "Nanos",
"description": "string"
}
}
}
Bad configuration request
Invalid Authorization
Resource not found
Update Directory Object by ObjectId
put/api/v1/directory/group/{id}
This HTTP PUT method is used to update the details of an existing group within the directory service.
This API call allows you to modify the group's name, description and members.
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
PATH PARAMETERS
| *id string |
||
REQUEST BODY application/json
EXAMPLESCHEMA
Example 1 Example 2 Example 3 Example 4
{
"name": "string",
"description": "string",
"members": [\
{\
"email": "string",\
"type": "USERNAME",\
"name": "string"\
}\
]
}
object
Multiline description
{
name:string
description:string
}
API Server
Authentication
Required (None Applied)
FILL EXAMPLE
CLEAR TRY
RESPONSE
200 401 404
Status OK
EXAMPLE SCHEMA
application/json
Example 1 Example 2 Example 3 Example 4 Example 5
Copy
{
"entityVersion": 0,
"createdAt": "1970-01-01T00:00:00.000Z",
"updatedAt": "1970-01-01T00:00:00.000Z",
"nameCreatedBy": "string",
"nameUpdatedBy": "string",
"parentId": "string",
"id": "string",
"name": "string",
"description": "string"
}
Copy
{
"entityVersion": 0,
"createdAt": "1970-01-01T00:00:00.000Z",
"updatedAt": "1970-01-01T00:00:00.000Z",
"nameCreatedBy": "string",
"nameUpdatedBy": "string",
"parentId": "string",
"id": "string",
"name": "string",
"description": "string",
"members":
[
{
"id":
"string",
"email":
"string",
"name":
"string",
"type":
"string"
}
],
"subGroups":
[
{ },
],
"accessSettings":
{
"temporaryCredentialsExpirationTime":
{
"value": 0,
"timeframe": "Nanos",
"description": "string"
}
}
}
Copy
{
"entityVersion": 0,
"createdAt": "1970-01-01T00:00:00.000Z",
"updatedAt": "1970-01-01T00:00:00.000Z",
"nameCreatedBy": "string",
"nameUpdatedBy": "string",
"parentId": "string",
"id": "string",
"name": "string",
"description": "string",
"members":
[
{
"id":
"string",
"email":
"string",
"displayName":
"string",
"name":
"string",
"type":
"string"
}
],
"subGroups":
[
{ },
],
"accessSettings":
{
"temporaryCredentialsExpirationTime":
{
"value": 0,
"timeframe": "Nanos",
"description": "string"
}
}
}
Copy
{
"entityVersion": 0,
"createdAt": "1970-01-01T00:00:00.000Z",
"updatedAt": "1970-01-01T00:00:00.000Z",
"nameCreatedBy": "string",
"nameUpdatedBy": "string",
"parentId": "string",
"id": "string",
"name": "string",
"description": "string",
"members":
[
{
"name":
"string",
"type":
"string"
}
],
"subGroups":
[
{ },
],
"accessSettings":
{
"temporaryCredentialsExpirationTime":
{
"value": 0,
"timeframe": "Nanos",
"description": "string"
}
}
}
Copy
{
"entityVersion": 0,
"createdAt": "1970-01-01T00:00:00.000Z",
"updatedAt": "1970-01-01T00:00:00.000Z",
"nameCreatedBy": "string",
"nameUpdatedBy": "string",
"parentId": "string",
"id": "string",
"name": "string",
"description": "string",
"members":
[
{
"name":
"string",
"type":
"string"
}
],
"subGroups":
[
{ },
],
"accessSettings":
{
"temporaryCredentialsExpirationTime":
{
"value": 0,
"timeframe": "Nanos",
"description": "string"
}
}
}
Invalid Authorization
Bad request
Delete a Directory Object
delete/api/v1/directory/group/{id}
This HTTP DELETE method is used to remove an existing group from the directory service.
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
PATH PARAMETERS
| *id string |
||
QUERY-STRING PARAMETERS
| force boolean |
Default: false | |
API Server
Authentication
Required (None Applied)
FILL EXAMPLE
CLEAR TRY
RESPONSE
204 400 401 404
Status OK.
Bad configuration request
Invalid Authorization
Resource not found
Taxonomy
The Satori taxonomy is predefined by Satori. You can not modify the Satori Platform taxonomy tag categories or their classification tags.
The Satori custom data classification mechanism is designed to provide you with the ability to extend and enhance the Satori classification system by enabling you to create additional categories and data classifiers specific to your business or organization.
Create a Custom Category
post/api/v1/taxonomy/custom/category
This HTTP POST method is used to create a new custom category within a taxonomy system.
This API call allows you to define and add a new category with specified attributes, which can be used to classify or organize data within the taxonomy.
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
QUERY-STRING PARAMETERS
| *accountId string |
Min 1 chars | |
REQUEST BODY *application/json
EXAMPLESCHEMA
{
"name": "A",
"description": "string",
"parentNode": "string",
"color": "string"
}
object
Multiline description
{
name*: string
Constraints: Min 1 chars
description:string
parentNode:string
color:string
}
API Server
Authentication
Required (None Applied)
FILL EXAMPLE
CLEAR TRY
RESPONSE
201 400 401
Status OK, custom taxonomy category created
EXAMPLE SCHEMA
application/json
Copy
{
"entityVersion": 0,
"createdAt": "1970-01-01T00:00:00.000Z",
"updatedAt": "1970-01-01T00:00:00.000Z",
"nameCreatedBy": "string",
"nameUpdatedBy": "string",
"parentId": "string",
"id": "string",
"nodeType": "CATEGORY",
"name": "string",
"tag": "string",
"description": "string",
"parentNode": "string"
}
Bad configuration request
Invalid Authorization
Create a Custom Classifier
post/api/v1/taxonomy/custom/classifier
This HTTP POST method is used to create a new custom classifier in a custom category folder of the taxonomy system.
This API call allows you to define and add a new classifier, which can be used to categorize or organize data according to specific criteria or rules.
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
QUERY-STRING PARAMETERS
| *accountId string |
Min 1 chars | |
REQUEST BODY *application/json
EXAMPLESCHEMA
{
"name": "A",
"description": "string",
"parentNode": "string",
"scope": {
"datasetIds": [\
"string"\
],
"includeLocations": [\
{\
"locationPath": "For input, these are available options: 'a.b.c' or [{name: 'a'}, {name: 'b'}, {name: 'c'}] or [{name: 'a', type: 'DATABASE'}, {name: 'b', type: 'SCHEMA'}, {name: 'c', type: 'VIEW'}] However, the output will always be a fully populated list of location parts",\
"dataStoreId": "string"\
}\
]
},
"config": {
"type": "SATORI_BASED",
"fieldNamePattern": "string",
"satoriBaseClassifierId": "string",
"fieldType": "ANY",
"values": {
"values": [\
"string"\
],
"caseInsensitive": false,
"regex": false
},
"additionalSatoriCategoriesToTag": [\
"string"\
]
}
}
object
Multiline description
{
name*: string
Constraints: Min 1 chars
description:string
parentNode:string
scope: {
datasetIds:[string]
includeLocations:
[{
locationPath:
[{
Location path, can be either a dot seperated string "a.b.c" or a list of location parts with name and type [{name: ...}, {name: ...}, {name: ....}].
⮕ [ Location path, can be either a dot seperated string "a.b.c" or a list of location parts with name and type [{name: ...}, {name: ...}, {name: ....}]. ]
name:string
type:enum
➔ [Optional] Asset type, when not specified, defaults takes place, resolved by data store type and locationPath length.
Allowed: TABLE┃COLUMN┃SEMANTIC_MODEL┃REPORT┃DASHBOARD┃DATABASE┃SCHEMA┃JSON_PATH┃WAREHOUSE┃ENDPOINT┃TYPE┃FIELD┃EXTERNAL_LOCATION┃CATALOG┃BUCKET┃OBJECT┃COLLECTION┃VIEW┃ACCOUNT_ROLE┃SHARED_DB
}]
dataStoreId:string
location:
{
Deprecated, use locationPath field.
type:enum
Allowed: RELATIONAL_LOCATION┃MYSQL_LOCATION┃ATHENA_LOCATION┃MONGO_LOCATION┃S3_LOCATION┃DATABRICKS_LOCATION┃DATABRICKS_EXTERNAL_LOCATION┃GRAPHQL_LOCATION┃SNOWFLAKE_WAREHOUSE_LOCATION┃ASSET_LOCATION
}
}]
}
config: {
type:enum
Allowed: SATORI_BASED┃CUSTOM┃NON_AUTOMATIC
fieldNamePattern:string
satoriBaseClassifierId:string
fieldType:enum
Allowed: ANY┃TEXT┃NUMERIC┃DATE
values: {
values:[string]
caseInsensitive:boolean
regex:boolean
}
additionalSatoriCategoriesToTag:[string]
}
}
API Server
Authentication
Required (None Applied)
FILL EXAMPLE
CLEAR TRY
RESPONSE
201 400 401
Status OK, custom taxonomy classifier created
EXAMPLE SCHEMA
application/json
Copy
{
"entityVersion": 0,
"createdAt": "1970-01-01T00:00:00.000Z",
"updatedAt": "1970-01-01T00:00:00.000Z",
"nameCreatedBy": "string",
"nameUpdatedBy": "string",
"parentId": "string",
"id": "string",
"nodeType": "CATEGORY",
"name": "string",
"tag": "string",
"description": "string",
"parentNode": "string"
}
Bad configuration request
Invalid Authorization
Retrieve a Custom Node
get/api/v1/taxonomy/custom/{id}
This HTTP GET method is used to retrieve detailed information about a specific custom taxonomy item.
This API call provides details about the custom taxonomy, such as its attributes, categories, classifiers, and any other relevant information associated with it.
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
PATH PARAMETERS
| *id string |
||
API Server
Authentication
Required (None Applied)
FILL EXAMPLE
CLEAR TRY
RESPONSE
200 400 401 404
Status OK, custom taxonomy node found.
EXAMPLE SCHEMA
application/json
Copy
{
"entityVersion": 0,
"createdAt": "1970-01-01T00:00:00.000Z",
"updatedAt": "1970-01-01T00:00:00.000Z",
"nameCreatedBy": "string",
"nameUpdatedBy": "string",
"parentId": "string",
"id": "string",
"nodeType": "CATEGORY",
"name": "string",
"tag": "string",
"description": "string",
"parentNode": "string"
}
Bad configuration request
Invalid Authorization
Resource not found
Delete a Custom Node
delete/api/v1/taxonomy/custom/{id}
This HTTP DELETE method is used to remove a specific custom taxonomy item.
This API call permanently deletes the taxonomy item and all its associated data.
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
PATH PARAMETERS
| *id string |
||
API Server
Authentication
Required (None Applied)
FILL EXAMPLE
CLEAR TRY
RESPONSE
204 400 401 404
Status OK.
Bad configuration request
Invalid Authorization
Resource not found
List all Custom Taxonomy
get/api/v1/taxonomy/custom
This HTTP GET method is used to retrieve a list of all custom taxonomy items within the system.
This API call provides information about each custom taxonomy, including their attributes and classifications.
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
QUERY-STRING PARAMETERS
| accountId string |
||
API Server
Authentication
Required (None Applied)
FILL EXAMPLE
CLEAR TRY
RESPONSE
200 400 401
Status OK.
EXAMPLE SCHEMA
application/json
Copy
{
"records":
[
{
"entityVersion":
0,
"createdAt":
"1970-01-01T00:00:00.000Z",
"updatedAt":
"1970-01-01T00:00:00.000Z",
"nameCreatedBy":
"string",
"nameUpdatedBy":
"string",
"parentId":
"string",
"id":
"string",
"nodeType":
"CATEGORY",
"name":
"string",
"tag":
"string",
"description":
"string",
"parentNode":
"string"
}
],
"count": 0
}
Bad configuration request
Invalid Authorization
List all Satori Taxonomy
get/api/v1/taxonomy/satori
This HTTP GET method is used to retrieve information about the Satori taxonomy within the system.
This API call provides details about the Satori taxonomy, including its structure, categories, classifiers, and any other relevant information associated with it.
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
API Server
Authentication
Required (None Applied)
TRY
RESPONSE
200 400 401
Status OK.
EXAMPLE SCHEMA
application/json
Copy
{
"records":
[
{
"id":
"string",
"nodeType":
"CATEGORY",
"parentNode":
"string",
"tag":
"string",
"name":
"string",
"description":
"string"
}
],
"count": 0
}
Bad configuration request
Invalid Authorization
Remove a Custom Classifier from all Locations
delete/api/v1/taxonomy/custom/remove-from-locations/{id}
This HTTP DELETE method is used to remove a specific custom taxonomy item from associated locations.
This API call disassociates the taxonomy item from any locations it was previously linked to, without deleting the taxonomy item itself.
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
PATH PARAMETERS
| *id string |
||
API Server
Authentication
Required (None Applied)
FILL EXAMPLE
CLEAR TRY
RESPONSE
202 400 401 404
Status OK. Operation accepted.
Bad configuration request
Invalid Authorization
Resource not found
Remove a Satori Classifier from all Locations
delete/api/v1/taxonomy/satori/remove-from-locations/{id}
This HTTP DELETE method is used to remove a specific Satori taxonomy item from associated locations.
This API call disassociates the taxonomy item from any locations it was previously linked to, without deleting the taxonomy item itself.
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
PATH PARAMETERS
| *id string |
||
QUERY-STRING PARAMETERS
| accountId string |
||
API Server
Authentication
Required (None Applied)
FILL EXAMPLE
CLEAR TRY
RESPONSE
202 400 401 404
Status OK. Operation accepted.
Bad configuration request
Invalid Authorization
Resource not found
Update a Custom Category
put/api/v1/taxonomy/custom/category/{id}
This HTTP PUT method is used to update the details of an existing custom taxonomy category.
This API call allows you to modify the attributes, name, description, or other relevant properties of the specified category within the taxonomy system.
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
PATH PARAMETERS
| *id string |
Min 1 chars | |
REQUEST BODY *application/json
EXAMPLESCHEMA
{
"name": "A",
"description": "string",
"parentNode": "string",
"color": "string"
}
object
Multiline description
{
name*: string
Constraints: Min 1 chars
description:string
parentNode:string
color:string
}
API Server
Authentication
Required (None Applied)
FILL EXAMPLE
CLEAR TRY
RESPONSE
200 400 401 404
Status OK, custom taxonomy category updated
EXAMPLE SCHEMA
application/json
Copy
{
"entityVersion": 0,
"createdAt": "1970-01-01T00:00:00.000Z",
"updatedAt": "1970-01-01T00:00:00.000Z",
"nameCreatedBy": "string",
"nameUpdatedBy": "string",
"parentId": "string",
"id": "string",
"nodeType": "CATEGORY",
"name": "string",
"tag": "string",
"description": "string",
"parentNode": "string"
}
Bad request
Invalid Authorization
Resource not found
Update a Custom Classifier
put/api/v1/taxonomy/custom/classifier/{id}
This HTTP PUT method is used to update the details of an existing custom taxonomy classifier.
This API call allows you to modify attributes, name, description, or other relevant properties of the specified classifier within the taxonomy system.
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
PATH PARAMETERS
| *id string |
Min 1 chars | |
REQUEST BODY *application/json
EXAMPLESCHEMA
object
Multiline description
{
name*: string
Constraints: Min 1 chars
description:string
parentNode:string
scope: {
datasetIds:[string]
}
config: {
type:enum
Allowed: SATORI_BASED┃CUSTOM┃NON_AUTOMATIC
fieldNamePattern:string
satoriBaseClassifierId:string
fieldType:enum
Allowed: ANY┃TEXT┃NUMERIC┃DATE
values: {
values:[string]
caseInsensitive:boolean
regex:boolean
}
additionalSatoriCategoriesToTag:[string]
}
}
API Server
Authentication
Required (None Applied)
FILL EXAMPLE
CLEAR TRY
RESPONSE
200 400 401 404
Status OK, custom taxonomy classifier updated
EXAMPLE SCHEMA
application/json
Copy
{
"entityVersion": 0,
"createdAt": "1970-01-01T00:00:00.000Z",
"updatedAt": "1970-01-01T00:00:00.000Z",
"nameCreatedBy": "string",
"nameUpdatedBy": "string",
"parentId": "string",
"id": "string",
"nodeType": "CATEGORY",
"name": "string",
"tag": "string",
"description": "string",
"parentNode": "string"
}
Bad configuration request
Invalid Authorization
Resource not found
Data Access Rules
Permissions to access data are defined for individual users or groups and are limited to a predefined time range. Satori can automatically revoke permissions if they are unused. This helps organizations avoid excess and unused permissions.
List all Data Access Permissions
get/api/v1/data-access-rule/instant-access
This HTTP GET method is used to retrieve information about data access rules that provide instant access.
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
QUERY-STRING PARAMETERS
| *parentId string |
Min 1 chars | |
| Parent ID is a required query param, could be a dataset ID or a data policy ID | ||
| page int32 |
Default: 0 | |
| pageSize int32 |
Default: 5 | |
| orderBy array of string |
||
| orderDirection array of string |
||
| search string |
||
API Server
Authentication
Required (None Applied)
FILL EXAMPLE
CLEAR TRY
RESPONSE
200 400 401
Status OK.
EXAMPLE SCHEMA
application/json
Copy
{
"records":
"count": 0
}
Bad configuration request
Invalid Authorization
Create a Data Access Permission
post/api/v1/data-access-rule/instant-access
This HTTP POST method is used to create or define a new data access rule that grants instant access.
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
QUERY-STRING PARAMETERS
| *parentId string |
Min 1 chars | |
| Parent ID is a required query param, could be a dataset ID or a data policy ID | ||
| accessRequestId string |
||
| allowOverrideExistingUserAccess boolean |
||
REQUEST BODY application/json
EXAMPLESCHEMA
{
"accessLevel": "READ_ONLY",
"timeLimit": {
"shouldExpire": false,
"expiration": "1970-01-01T00:00:00.000Z"
},
"unusedTimeLimit": {
"unusedDaysUntilRevocation": 180,
"shouldRevoke": false
},
"securityPolicyIds": [\
"string"\
],
"suspended": false,
"identity": {
"identityType": "USER",
"identity": "string"
},
"approverNote": "string"
}
object
Multiline description
{
accessLevel*: enum
Allowed: READ_ONLY┃READ_WRITE┃OWNER
timeLimit*: {
shouldExpire:boolean
expiration:date-time
}
unusedTimeLimit*: {
unusedDaysUntilRevocation:integer
Constraints: Max 180
shouldRevoke:boolean
}
securityPolicyIds:[string]
suspended:boolean
identity*: {
identityType*: enum
Allowed: USER┃DB_USER┃GROUP┃IDP_GROUP┃DATABRICKS_GROUP┃DATABRICKS_SERVICE_PRINCIPAL┃SNOWFLAKE_ROLE┃SNOWFLAKE_ACCOUNT_NAME┃SNOWFLAKE_DATABASE_ROLE┃CEL┃EVERYONE
identity:string
}
approverNote:string
}
API Server
Authentication
Required (None Applied)
FILL EXAMPLE
CLEAR TRY
RESPONSE
201 400 401
Status OK, data access rule created
EXAMPLE SCHEMA
application/json
Copy
{
"entityVersion": 0,
"createdAt": "1970-01-01T00:00:00.000Z",
"updatedAt": "1970-01-01T00:00:00.000Z",
"nameCreatedBy": "string",
"nameUpdatedBy": "string",
"parentId": "string",
"id": "string",
"type": "INSTANT_ACCESS",
"suspended": false,
"identity":
{
"identityType": "USER",
"identity": "string",
"id": "string",
"displayName": "string"
},
"accessLevel": "READ_ONLY",
"timeLimit":
{
"shouldExpire": false
},
"unusedTimeLimit":
{
"unusedDaysUntilRevocation": 0,
"shouldRevoke": false
},
"securityPolicyIds":
[
"string"
]
}
Bad configuration request
Invalid Authorization
Retrieve a Data Access Permission
get/api/v1/data-access-rule/instant-access/{id}
This HTTP GET method is used to retrieve detailed information about a specific data access rule that provides instant access.
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
PATH PARAMETERS
| *id string |
||
API Server
Authentication
Required (None Applied)
FILL EXAMPLE
CLEAR TRY
RESPONSE
200 400 401 404
Status OK, data access permission found.
EXAMPLE SCHEMA
application/json
Copy
{
"entityVersion": 0,
"createdAt": "1970-01-01T00:00:00.000Z",
"updatedAt": "1970-01-01T00:00:00.000Z",
"nameCreatedBy": "string",
"nameUpdatedBy": "string",
"parentId": "string",
"id": "string",
"type": "INSTANT_ACCESS",
"suspended": false,
"identity":
{
"identityType": "USER",
"identity": "string",
"id": "string",
"displayName": "string"
},
"accessLevel": "READ_ONLY",
"timeLimit":
{
"shouldExpire": false,
"expiration": "1970-01-01T00:00:00.000Z"
},
"unusedTimeLimit":
{
"unusedDaysUntilRevocation": 0,
"shouldRevoke": false
},
"securityPolicyIds":
[
"string"
],
"origin":
{
"originType": "ACCESS_REQUEST",
"dateRequested": "1970-01-01T00:00:00.000Z",
"user": "string",
"message": "string",
"purpose": "string"
},
"approverNote": "string"
}
Bad configuration request
Invalid Authorization
Resource not found
Update a Data Access Permission
put/api/v1/data-access-rule/instant-access/{id}
This HTTP PUT method is used to update the details of an existing data access rule that provides instant access.
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
PATH PARAMETERS
| *id string |
Min 1 chars | |
REQUEST BODY *application/json
EXAMPLESCHEMA
{
"accessLevel": "READ_ONLY",
"timeLimit": {
"shouldExpire": false,
"expiration": "1970-01-01T00:00:00.000Z"
},
"unusedTimeLimit": {
"unusedDaysUntilRevocation": 180,
"shouldRevoke": false
},
"securityPolicyIds": [\
"string"\
],
"suspended": false
}
object
Multiline description
{
accessLevel*: enum
Allowed: READ_ONLY┃READ_WRITE┃OWNER
timeLimit*: {
shouldExpire:boolean
expiration:date-time
}
unusedTimeLimit*: {
unusedDaysUntilRevocation:integer
Constraints: Max 180
shouldRevoke:boolean
}
securityPolicyIds:[string]
suspended:boolean
}
API Server
Authentication
Required (None Applied)
FILL EXAMPLE
CLEAR TRY
RESPONSE
200 400 401 404
Status OK, data access rule updated
EXAMPLE SCHEMA
application/json
Copy
{
"entityVersion": 0,
"createdAt": "1970-01-01T00:00:00.000Z",
"updatedAt": "1970-01-01T00:00:00.000Z",
"nameCreatedBy": "string",
"nameUpdatedBy": "string",
"parentId": "string",
"id": "string",
"type": "INSTANT_ACCESS",
"suspended": false,
"identity":
{
"identityType": "USER",
"identity": "string",
"id": "string",
"displayName": "string"
},
"accessLevel": "READ_ONLY",
"timeLimit":
{
"shouldExpire": false,
"expiration": "1970-01-01T00:00:00.000Z"
},
"unusedTimeLimit":
{
"unusedDaysUntilRevocation": 0,
"shouldRevoke": false
},
"securityPolicyIds":
[
"string"
],
"origin":
{
"originType": "ACCESS_REQUEST",
"dateRequested": "1970-01-01T00:00:00.000Z",
"user": "string",
"message": "string",
"purpose": "string"
},
"approverNote": "string"
}
Bad configuration request
Invalid Authorization
Resource not found
Delete a Data Access Permission
delete/api/v1/data-access-rule/instant-access/{id}
This HTTP DELETE method is used to remove a specific data access rule that provides instant access.
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
PATH PARAMETERS
| *id string |
||
API Server
Authentication
Required (None Applied)
FILL EXAMPLE
CLEAR TRY
RESPONSE
204 400 401 404
Status OK.
Bad configuration request
Invalid Authorization
Resource not found
List all Data Access Requests
get/api/v1/data-access-rule/access-request
This HTTP GET method is used to retrieve information about data access rules related to access requests.
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
QUERY-STRING PARAMETERS
API Server
Authentication
Required (None Applied)
FILL EXAMPLE
CLEAR TRY
RESPONSE
200 400 401
Status OK.
EXAMPLE SCHEMA
application/json
Copy
{
"records":
"count": 0
}
Bad configuration request
Invalid Authorization
Create a Data Access Request Rule
post/api/v1/data-access-rule/access-request
This HTTP POST method is used to create or define a new data access rule related to access requests.
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
QUERY-STRING PARAMETERS
| *parentId string |
Min 1 chars | |
| Parent ID is a required query param, could be a dataset ID or a data policy ID |
REQUEST BODY application/json
EXAMPLESCHEMA
{
"accessLevel": "READ_ONLY",
"timeLimit": {
"shouldExpire": false,
"unitType": "MINUTES",
"units": 0
},
"unusedTimeLimit": {
"unusedDaysUntilRevocation": 180,
"shouldRevoke": false
},
"securityPolicyIds": [\
"string"\
],
"suspended": false,
"identity": {
"identityType": "USER",
"identity": "string"
},
"requireApproverNote": false,
"approvers": [\
{\
"type": "USER"\
}\
]
}
object
Multiline description
{
accessLevel*: enum
Allowed: READ_ONLY┃READ_WRITE┃OWNER
timeLimit*: {
shouldExpire:boolean
unitType:enum
Allowed: MINUTES┃HOURS┃DAYS┃WEEKS┃MONTHS┃YEARS
units:integer
}
unusedTimeLimit*: {
unusedDaysUntilRevocation:integer
Constraints: Max 180
shouldRevoke:boolean
}
securityPolicyIds:[string]
suspended:boolean
identity*: {
identityType*: enum
identity:string
}
requireApproverNote:boolean
approvers:
[{
type:enum
Allowed: USER┃GROUP┃DIRECTORY┃MANAGER
}]
}
API Server
Authentication
Required (None Applied)
FILL EXAMPLE
CLEAR TRY
RESPONSE
201 400 401
Status OK, data access rule created
EXAMPLE SCHEMA
application/json
Copy
{
"entityVersion": 0,
"createdAt": "1970-01-01T00:00:00.000Z",
"updatedAt": "1970-01-01T00:00:00.000Z",
"nameCreatedBy": "string",
"nameUpdatedBy": "string",
"parentId": "string",
"id": "string",
"type": "INSTANT_ACCESS",
"suspended": false,
"identity":
{
"identityType": "USER",
"identity": "string",
"id": "string",
"displayName": "string"
},
"accessLevel": "READ_ONLY",
"timeLimit":
{
"shouldExpire": false
},
"unusedTimeLimit":
{
"unusedDaysUntilRevocation": 0,
"shouldRevoke": false
},
"securityPolicyIds":
[
"string"
]
}
Bad configuration request
Invalid Authorization
Retrieve a Data Access Request
get/api/v1/data-access-rule/access-request/{id}
This HTTP GET method is used to retrieve detailed information about a specific data access rule related to access requests.
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
PATH PARAMETERS
| *id string |
||
API Server
Authentication
Required (None Applied)
FILL EXAMPLE
CLEAR TRY
RESPONSE
200 400 401 404
Status OK, data access request found.
EXAMPLE SCHEMA
application/json
Copy
{
"entityVersion": 0,
"createdAt": "1970-01-01T00:00:00.000Z",
"updatedAt": "1970-01-01T00:00:00.000Z",
"nameCreatedBy": "string",
"nameUpdatedBy": "string",
"parentId": "string",
"id": "string",
"type": "INSTANT_ACCESS",
"suspended": false,
"identity":
{
"identityType": "USER",
"identity": "string",
"id": "string",
"displayName": "string"
},
"accessLevel": "READ_ONLY",
"timeLimit":
{
"shouldExpire": false,
"unitType": "MINUTES",
"units": 0
},
"unusedTimeLimit":
{
"unusedDaysUntilRevocation": 0,
"shouldRevoke": false
},
"securityPolicyIds":
[
"string"
],
"requireApproverNote": false,
"approvers":
[
{
"type":
"USER"
}
],
"permissions":
{
"canEdit": false,
"canApprove": false
}
}
Bad configuration request
Invalid Authorization
Resource not found
Update a Data Access Request
put/api/v1/data-access-rule/access-request/{id}
This HTTP PUT method is used to retrieve detailed information about a specific data access rule, which is related to handling access requests.
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
PATH PARAMETERS
| *id string |
Min 1 chars | |
REQUEST BODY *application/json
EXAMPLESCHEMA
{
"accessLevel": "READ_ONLY",
"timeLimit": {
"shouldExpire": false,
"unitType": "MINUTES",
"units": 0
},
"unusedTimeLimit": {
"unusedDaysUntilRevocation": 180,
"shouldRevoke": false
},
"securityPolicyIds": [\
"string"\
],
"suspended": false,
"requireApproverNote": false,
"approvers": [\
{\
"type": "USER"\
}\
]
}
object
Multiline description
{
accessLevel*: enum
Allowed: READ_ONLY┃READ_WRITE┃OWNER
timeLimit*: {
shouldExpire:boolean
unitType:enum
Allowed: MINUTES┃HOURS┃DAYS┃WEEKS┃MONTHS┃YEARS
units:integer
}
unusedTimeLimit*: {
unusedDaysUntilRevocation:integer
Constraints: Max 180
shouldRevoke:boolean
}
securityPolicyIds:[string]
suspended:boolean
requireApproverNote:boolean
approvers:
[{
type:enum
Allowed: USER┃GROUP┃DIRECTORY┃MANAGER
}]
}
API Server
Authentication
Required (None Applied)
FILL EXAMPLE
CLEAR TRY
RESPONSE
200 400 401 404
Status OK, data access rule updated
EXAMPLE SCHEMA
application/json
Copy
{
"entityVersion": 0,
"createdAt": "1970-01-01T00:00:00.000Z",
"updatedAt": "1970-01-01T00:00:00.000Z",
"nameCreatedBy": "string",
"nameUpdatedBy": "string",
"parentId": "string",
"id": "string",
"type": "INSTANT_ACCESS",
"suspended": false,
"identity":
{
"identityType": "USER",
"identity": "string",
"id": "string",
"displayName": "string"
},
"accessLevel": "READ_ONLY",
"timeLimit":
{
"shouldExpire": false,
"unitType": "MINUTES",
"units": 0
},
"unusedTimeLimit":
{
"unusedDaysUntilRevocation": 0,
"shouldRevoke": false
},
"securityPolicyIds":
[
"string"
],
"requireApproverNote": false,
"approvers":
[
{
"type":
"USER"
}
],
"permissions":
{
"canEdit": false,
"canApprove": false
}
}
Bad configuration request
Invalid Authorization
Resource not found
Delete a Data Access Request
delete/api/v1/data-access-rule/access-request/{id}
This HTTP DELETE method is used to remove a specific data access rule that pertains to access requests.
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
PATH PARAMETERS
| *id string |
||
API Server
Authentication
Required (None Applied)
FILL EXAMPLE
CLEAR TRY
RESPONSE
204 400 401 404
Status OK.
Bad configuration request
Invalid Authorization
Resource not found
List all Data Access Rules
get/api/v1/data-access-rule
This HTTP GET method is used to retrieve a list of all data access rules in the system.
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
QUERY-STRING PARAMETERS
| accountId string |
||
| page int32 |
Default: 0 | |
| pageSize int32 |
Default: 5 | |
| orderBy array of string |
||
| orderDirection array of string |
||
| search string |
||
| type array of string |
Allowed: INSTANT_ACCESS┃ SELF_SERVICE┃ ACCESS_REQUEST┃ INSTANT_ACCESS_REQUEST |
|
| identity array of string |
||
| identityType array of string |
Allowed: USER┃ DB_USER┃ GROUP┃ IDP_GROUP┃ DATABRICKS_GROUP┃ DATABRICKS_SERVICE_PRINCIPAL┃ SNOWFLAKE_ROLE┃ SNOWFLAKE_ACCOUNT_NAME┃ SNOWFLAKE_DATABASE_ROLE┃ CEL┃ EVERYONE |
|
| accessLevel array of string |
Allowed: READ_ONLY┃ READ_WRITE┃ OWNER |
|
| suspended boolean |
||
| parent array of string |
||
| datasetId array of string |
||
API Server
Authentication
Required (None Applied)
FILL EXAMPLE
CLEAR TRY
RESPONSE
200 400 401
Status OK.
EXAMPLE SCHEMA
application/json
Copy
{
"records":
[
{
"entityVersion":
0,
"createdAt":
"1970-01-01T00:00:00.000Z",
"updatedAt":
"1970-01-01T00:00:00.000Z",
"nameCreatedBy":
"string",
"nameUpdatedBy":
"string",
"parentId":
"string",
"id":
"string",
"type":
"INSTANT_ACCESS",
"suspended":
false,
"identity":
{
"identityType":
"USER",
"identity":
"string",
"id":
"string",
"displayName":
"string"
},
"accessLevel":
"READ_ONLY",
"timeLimit":
{
"shouldExpire":
false
},
"unusedTimeLimit":
{
"unusedDaysUntilRevocation":
0,
"shouldRevoke":
false
},
"securityPolicyIds":
[
"string"
]
}
],
"count": 0
}
Bad configuration request
Invalid Authorization
List Data Access Rule History
get/api/v1/data-access-rule/history
This HTTP GET method is used to retrieve the history or log of changes related to data access rules.
This API call provides information about past modifications, including updates, deletions, and creation of access rules, along with timestamps and the users who made the changes.
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
QUERY-STRING PARAMETERS
API Server
Authentication
Required (None Applied)
FILL EXAMPLE
CLEAR TRY
RESPONSE
200 400 401
Status OK
EXAMPLE SCHEMA
application/json
Copy
{
"records":
[
{ },
],
"count": 0,
"nextPageToken": "string"
}
Bad configuration request
Invalid Authorization
List all Data Access Self-Service
get/api/v1/data-access-rule/self-service
This HTTP GET method is used to retrieve information about data access rules specifically related to self-service access.
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
QUERY-STRING PARAMETERS
API Server
Authentication
Required (None Applied)
FILL EXAMPLE
CLEAR TRY
RESPONSE
200 400 401
Status OK.
EXAMPLE SCHEMA
application/json
Copy
{
"records":
"count": 0
}
Bad configuration request
Invalid Authorization
Create a Data Access Self-Service
post/api/v1/data-access-rule/self-service
This HTTP POST method is used to create or define a new data access rule for self-service access.
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
QUERY-STRING PARAMETERS
| *parentId string |
Min 1 chars | |
| Parent ID is a required query param, could be a dataset ID or a data policy ID |
REQUEST BODY application/json
EXAMPLESCHEMA
{
"accessLevel": "READ_ONLY",
"timeLimit": {
"shouldExpire": false,
"unitType": "MINUTES",
"units": 0
},
"unusedTimeLimit": {
"unusedDaysUntilRevocation": 180,
"shouldRevoke": false
},
"securityPolicyIds": [\
"string"\
],
"suspended": false,
"identity": {
"identityType": "USER",
"identity": "string"
}
}
object
Multiline description
{
accessLevel*: enum
Allowed: READ_ONLY┃READ_WRITE┃OWNER
timeLimit*: {
shouldExpire:boolean
unitType:enum
Allowed: MINUTES┃HOURS┃DAYS┃WEEKS┃MONTHS┃YEARS
units:integer
}
unusedTimeLimit*: {
unusedDaysUntilRevocation:integer
Constraints: Max 180
shouldRevoke:boolean
}
securityPolicyIds:[string]
suspended:boolean
identity*: {
identityType*: enum
identity:string
}
}
API Server
Authentication
Required (None Applied)
FILL EXAMPLE
CLEAR TRY
RESPONSE
201 400 401
Status OK, data access rule created
EXAMPLE SCHEMA
application/json
Copy
{
"entityVersion": 0,
"createdAt": "1970-01-01T00:00:00.000Z",
"updatedAt": "1970-01-01T00:00:00.000Z",
"nameCreatedBy": "string",
"nameUpdatedBy": "string",
"parentId": "string",
"id": "string",
"type": "INSTANT_ACCESS",
"suspended": false,
"identity":
{
"identityType": "USER",
"identity": "string",
"id": "string",
"displayName": "string"
},
"accessLevel": "READ_ONLY",
"timeLimit":
{
"shouldExpire": false
},
"unusedTimeLimit":
{
"unusedDaysUntilRevocation": 0,
"shouldRevoke": false
},
"securityPolicyIds":
[
"string"
]
}
Bad configuration request
Invalid Authorization
Retrieve a Data Access Self-Service
get/api/v1/data-access-rule/self-service/{id}
This HTTP GET method is used to retrieve detailed information about a specific self-service data access rule.
This API call provides details about the self service data access rule’s configuration, conditions, and any permissions or settings.
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
PATH PARAMETERS
| *id string |
||
API Server
Authentication
Required (None Applied)
FILL EXAMPLE
CLEAR TRY
RESPONSE
200 400 401 404
Status OK, data access self-service rule found.
EXAMPLE SCHEMA
application/json
Copy
{
"entityVersion": 0,
"createdAt": "1970-01-01T00:00:00.000Z",
"updatedAt": "1970-01-01T00:00:00.000Z",
"nameCreatedBy": "string",
"nameUpdatedBy": "string",
"parentId": "string",
"id": "string",
"type": "INSTANT_ACCESS",
"suspended": false,
"identity":
{
"identityType": "USER",
"identity": "string",
"id": "string",
"displayName": "string"
},
"accessLevel": "READ_ONLY",
"timeLimit":
{
"shouldExpire": false,
"unitType": "MINUTES",
"units": 0
},
"unusedTimeLimit":
{
"unusedDaysUntilRevocation": 0,
"shouldRevoke": false
},
"securityPolicyIds":
[
"string"
]
}
Bad configuration request
Invalid Authorization
Resource not found
Update a Data Access Self-Service
put/api/v1/data-access-rule/self-service/{id}
This HTTP PUT method is used to update the details of an existing self-service data access rule.
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
PATH PARAMETERS
| *id string |
Min 1 chars | |
REQUEST BODY *application/json
EXAMPLESCHEMA
{
"accessLevel": "READ_ONLY",
"timeLimit": {
"shouldExpire": false,
"unitType": "MINUTES",
"units": 0
},
"unusedTimeLimit": {
"unusedDaysUntilRevocation": 180,
"shouldRevoke": false
},
"securityPolicyIds": [\
"string"\
],
"suspended": false
}
object
Multiline description
{
accessLevel*: enum
Allowed: READ_ONLY┃READ_WRITE┃OWNER
timeLimit*: {
shouldExpire:boolean
unitType:enum
Allowed: MINUTES┃HOURS┃DAYS┃WEEKS┃MONTHS┃YEARS
units:integer
}
unusedTimeLimit*: {
unusedDaysUntilRevocation:integer
Constraints: Max 180
shouldRevoke:boolean
}
securityPolicyIds:[string]
suspended:boolean
}
API Server
Authentication
Required (None Applied)
FILL EXAMPLE
CLEAR TRY
RESPONSE
200 400 401 404
Status OK, data access rule updated
EXAMPLE SCHEMA
application/json
Copy
{
"entityVersion": 0,
"createdAt": "1970-01-01T00:00:00.000Z",
"updatedAt": "1970-01-01T00:00:00.000Z",
"nameCreatedBy": "string",
"nameUpdatedBy": "string",
"parentId": "string",
"id": "string",
"type": "INSTANT_ACCESS",
"suspended": false,
"identity":
{
"identityType": "USER",
"identity": "string",
"id": "string",
"displayName": "string"
},
"accessLevel": "READ_ONLY",
"timeLimit":
{
"shouldExpire": false,
"unitType": "MINUTES",
"units": 0
},
"unusedTimeLimit":
{
"unusedDaysUntilRevocation": 0,
"shouldRevoke": false
},
"securityPolicyIds":
[
"string"
]
}
Bad configuration request
Invalid Authorization
Resource not found
Delete a Data Access Self-Service
delete/api/v1/data-access-rule/self-service/{id}
This HTTP DELETE method is used to remove a specific self-service data access rule.
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
PATH PARAMETERS
| *id string |
||
API Server
Authentication
Required (None Applied)
FILL EXAMPLE
CLEAR TRY
RESPONSE
204 400 401 404
Status OK.
Bad configuration request
Invalid Authorization
Resource not found
Service Account Authentication
Service accounts are used for API access and process automation.
Create Authentication Bearer
post/api/authentication/token
This HTTP POST method is used to generate or request an authentication token.
NOTE: The token usually has a defined validity period and is used to authenticate subsequent API requests.
REQUEST
REQUEST BODY application/json
EXAMPLESCHEMA
{
"serviceAccountId": "A",
"serviceAccountKey": "A"
}
object
Multiline description
{
serviceAccountId*: string
Constraints: Min 1 chars
serviceAccountKey*: string
Constraints: Min 1 chars
}
API Server
Authentication
Not Required
FILL EXAMPLE
CLEAR TRY
RESPONSE
201 400
Status OK, bearer created.
EXAMPLE SCHEMA
application/json
Copy
{
"token": "string"
}
Bad configuration request
Create OAuth Authentication Token
post/api/authentication/oauth/token
This HTTP POST method is used for obtaining authentication tokens that allow secure access to resources protected by OAuth 2.0.
REQUEST
REQUEST BODY application/x-www-form-urlencoded
| grant_type string |
||
| client_id string |
||
| client_secret string |
||
API Server
Authentication
Not Required
FILL EXAMPLE
CLEAR TRY
RESPONSE
201 400
Status OK, bearer created.
EXAMPLE SCHEMA
application/json
Copy
{
"access_token": "string",
"token_type": "string",
"expires_in": 0
}
Bad configuration request
Global Settings
List Management Console Outbound IPs
get/api/global-config/network/management-outbound-ips
This HTTP GET method is used to obtain the IP addresses that are used by the Satori management console to connect to various systems.
REQUEST
API Server
Authentication
Not Required
TRY
RESPONSE
200 401
Status OK
EXAMPLE SCHEMA
application/json
Copy
{
"entityVersion": 0,
"createdAt": "1970-01-01T00:00:00.000Z",
"updatedAt": "1970-01-01T00:00:00.000Z",
"nameCreatedBy": "string",
"nameUpdatedBy": "string",
"parentId": "string",
"ips":
[
"string"
]
}
Invalid Authorization
Network Access Policy
Add a Member to Network Policy
post/api/network-access-policy/assign/{id}/{type}/{memberId}
This HTTP POST method is used to enforce specific network access rules by assigning them to different members of an organization.
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
PATH PARAMETERS
| *id string |
||
| *type enum |
Allowed: management┃ datastore |
|
| *memberId string |
||
API Server
Authentication
Required (None Applied)
FILL EXAMPLE
CLEAR TRY
RESPONSE
200 400 401
Status OK, member assigned to network policy.
EXAMPLE SCHEMA
application/json
Copy
{
"entityVersion": 0,
"createdAt": "1970-01-01T00:00:00.000Z",
"updatedAt": "1970-01-01T00:00:00.000Z",
"nameCreatedBy": "string",
"nameUpdatedBy": "string",
"parentId": "string",
"id": "string",
"name": "string",
"allowedRules":
[
{
"ipRanges":
[
{
"ipRange":
"string"
}
],
"note":
"string"
}
],
"blockedRules":
[
{
"ipRanges":
[
{
"ipRange":
"string"
}
],
"note":
"string"
}
],
"members":
[
{
"type":
"management",
"id":
"string"
}
]
}
Bad configuration request
Invalid Authorization
Find a Network Policy
get/api/network-access-policy/{id}
This HTTP GET method is used for reviewing the details of a network access policy, which includes the rules governing network access, the members to whom the policy applies.
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
PATH PARAMETERS
| *id string |
||
API Server
Authentication
Required (None Applied)
FILL EXAMPLE
CLEAR TRY
RESPONSE
200 400 401 404
Status OK, network policy found.
EXAMPLE SCHEMA
application/json
Copy
{
"entityVersion": 0,
"createdAt": "1970-01-01T00:00:00.000Z",
"updatedAt": "1970-01-01T00:00:00.000Z",
"nameCreatedBy": "string",
"nameUpdatedBy": "string",
"parentId": "string",
"id": "string",
"name": "string",
"allowedRules":
[
{
"ipRanges":
[
{
"ipRange":
"string"
}
],
"note":
"string"
}
],
"blockedRules":
[
{
"ipRanges":
[
{
"ipRange":
"string"
}
],
"note":
"string"
}
],
"members":
[
{
"type":
"management",
"id":
"string"
}
]
}
Bad configuration request
Invalid Authorization
Resource not found
Update a Network Policy
put/api/network-access-policy/{id}
This HTTP PUT method is used for making changes to the configuration of a network access policy.
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
PATH PARAMETERS
| *id string |
Min 1 chars | |
REQUEST BODY application/json
EXAMPLESCHEMA
{
"name": "string",
"allowedRules": [\
{\
"ipRanges": [\
{\
"ipRange": "string"\
}\
],\
"note": "string"\
}\
],
"blockedRules": [\
{\
"ipRanges": [\
{\
"ipRange": "string"\
}\
],\
"note": "string"\
}\
]
}
object
Multiline description
{
name:string
allowedRules:
[{
ipRanges:
[{
ipRange:string
}]
note:string
}]
blockedRules:
[{
ipRanges:
[{
ipRange:string
}]
note:string
}]
}
API Server
Authentication
Required (None Applied)
FILL EXAMPLE
CLEAR TRY
RESPONSE
200 400 401
Status OK, network policy updated.
EXAMPLE SCHEMA
application/json
Copy
{
"entityVersion": 0,
"createdAt": "1970-01-01T00:00:00.000Z",
"updatedAt": "1970-01-01T00:00:00.000Z",
"nameCreatedBy": "string",
"nameUpdatedBy": "string",
"parentId": "string",
"id": "string",
"name": "string",
"allowedRules":
[
{
"ipRanges":
[
{
"ipRange":
"string"
}
],
"note":
"string"
}
],
"blockedRules":
[
{
"ipRanges":
[
{
"ipRange":
"string"
}
],
"note":
"string"
}
],
"members":
[
{
"type":
"management",
"id":
"string"
}
]
}
Bad configuration request
Invalid Authorization
Delete a Network Policy
delete/api/network-access-policy/{id}
This HTTP DELETE method is used when you need to remove a network access policy that is no longer required or has been replaced by a new policy.
NOTE: Deleting a policy ensures that it is no longer applied within the system, this is critical for maintaining the correct access controls.
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
PATH PARAMETERS
| *id string |
||
API Server
Authentication
Required (None Applied)
FILL EXAMPLE
CLEAR TRY
RESPONSE
204 400 401 404
Status OK.
Bad configuration request
Invalid Authorization
Resource not found
Create a Network Policy
post/api/network-access-policy/{accountId}
This HTTP POST method is used for establishing new network access policies tailored to specific accounts.
NOTE: By creating a policy, you can define how network access should be controlled for users, groups, or roles associated with that account.
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
PATH PARAMETERS
| *accountId string |
Min 1 chars | |
REQUEST BODY application/json
EXAMPLESCHEMA
object
Multiline description
{
name:string
allowedRules:
[{
ipRanges:
[{
ipRange:string
}]
note:string
}]
blockedRules:
[{
ipRanges:
[{
ipRange:string
}]
note:string
}]
}
API Server
Authentication
Required (None Applied)
FILL EXAMPLE
CLEAR TRY
RESPONSE
201 400 401
Status OK, network policy created.
EXAMPLE SCHEMA
application/json
Copy
{
"entityVersion": 0,
"createdAt": "1970-01-01T00:00:00.000Z",
"updatedAt": "1970-01-01T00:00:00.000Z",
"nameCreatedBy": "string",
"nameUpdatedBy": "string",
"parentId": "string",
"id": "string",
"name": "string",
"allowedRules":
[
{
"ipRanges":
[
{
"ipRange":
"string"
}
],
"note":
"string"
}
],
"blockedRules":
[
{
"ipRanges":
[
{
"ipRange":
"string"
}
],
"note":
"string"
}
],
"members":
[
{
"type":
"management",
"id":
"string"
}
]
}
Bad configuration request
Invalid Authorization
Find Network Policies by Account ID
get/api/network-access-policy
This HTTP GET method is used to retrieve a list of all network access policies that are currently configured in the system.
This allows you to view and manage the network access rules and conditions applied to various accounts, users or groups.
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
QUERY-STRING PARAMETERS
| accountId string |
||
| memberId string |
||
| page int32 |
Default: 0 | |
| pageSize int32 |
Default: 5 | |
| orderBy array of string |
||
| orderDirection array of string |
||
| search string |
||
API Server
Authentication
Required (None Applied)
FILL EXAMPLE
CLEAR TRY
RESPONSE
200 400 401
Status OK.
EXAMPLE SCHEMA
application/json
Copy
{
"records":
[
{
"entityVersion":
0,
"createdAt":
"1970-01-01T00:00:00.000Z",
"updatedAt":
"1970-01-01T00:00:00.000Z",
"nameCreatedBy":
"string",
"nameUpdatedBy":
"string",
"parentId":
"string",
"id":
"string",
"name":
"string",
"allowedRules":
[
{
"ipRanges":
[
{
"ipRange":
"string"
}
],
"note":
"string"
}
],
"blockedRules":
[
{
"ipRanges":
[
{
"ipRange":
"string"
}
],
"note":
"string"
}
],
"members":
[
{
"type":
"management",
"id":
"string"
}
]
}
],
"count": 0
}
Bad configuration request
Invalid Authorization
Data Stores
Find Data Stores by Account ID
get/api/v1/datastore
This HTTP GET method is used to find a datastore with the account ID. The information retrieved includes, the data store name, hostname, satori host name, port, creation on and last updated dates, name of the creator and the DAC ID.
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
QUERY-STRING PARAMETERS
| *accountId string |
Min 1 chars | |
| page int32 |
Default: 0 | |
| pageSize int32 |
Default: 5 | |
| orderBy array of string |
||
| orderDirection array of string |
||
| search string |
||
| ids array of string |
||
| dataStoreType array of string |
Allowed: SNOWFLAKE┃ REDSHIFT┃ BIGQUERY┃ POSTGRESQL┃ ATHENA┃ MSSQL┃ SYNAPSE┃ MYSQL┃ OCEANBASE┃ API_SERVER┃ MARIA_DB┃ COCKROACH_DB┃ OPENSEARCH┃ ELASTICSEARCH┃ GREENPLUM┃ S3┃ MONGO┃ DATABRICKS┃ FABRIC┃ AZURE_OPEN_AI┃ OPEN_AI┃ BEDROCK┃ ORACLE┃ DB2┃ DYNAMO_DB┃ DOCUMENT_DB┃ REDIS┃ MEMCACHED |
|
| cloudProvider array of string |
Allowed: GCP┃ AZURE┃ AWS┃ BYOC |
|
| activeDataStore boolean |
||
| region string |
||
| cloudAccountId array of string |
||
| dacId array of string |
||
API Server
Authentication
Required (None Applied)
FILL EXAMPLE
CLEAR TRY
RESPONSE
200 400 401
Status OK
EXAMPLE SCHEMA
application/json
Example 1 Example 2 Example 3
Copy
{
"records":
"count": 0
}
Copy
{
"records":
"count": 0
}
Copy
{
"records":
"count": 0
}
Bad request
Invalid Authorization
Create a Data Store
post/api/v1/datastore
This HTTP POST method is used to create a new data store within the system. This API call allows you to define and establish a new storage location where data can be managed, stored and accessed.
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
QUERY-STRING PARAMETERS
| accountId string |
||
REQUEST BODY application/json
EXAMPLESCHEMA
Example 1 Example 2 Example 3 Example 4 Example 5 Example 6 Example 7 Example 8
{
"name": "A",
"hostname": "A",
"type": "SNOWFLAKE",
"dataAccessControllerId": "string",
"projectIds": [\
"string"\
],
"originPort": 0,
"baselineSecurityPolicy": {
"unassociatedQueriesCategory": {
"queryAction": "PASS"
},
"unsupportedQueriesCategory": {
"queryAction": "PASS"
},
"exclusions": {
"excludedIdentities": [\
{\
"identityType": "USER",\
"identity": "string"\
}\
],
"excludedQueryPatterns": [\
{\
"pattern": "string"\
}\
]
},
"type": "BASELINE_POLICY"
},
"dataStoreSettings": {
"deploymentType": "MONGODB",
"originConnectivitySecured": false,
"awsServiceRoleArn": "string",
"awsHostedZoneId": "string"
},
"customIngressPort": 0,
"satoriHostname": "string",
"networkPolicy": {
"name": "string",
"allowedRules": [\
{\
"ipRanges": [\
{\
"ipRange": "string"\
}\
],\
"note": "string"\
}\
],
"blockedRules": [\
{\
"ipRanges": [\
{\
"ipRange": "string"\
}\
],\
"note": "string"\
}\
]
},
"satoriAuthSettings": {
"enabled": false,
"credentials": {
"type": "RSA_KEY_PAIR"
},
"enablePersonalAccessToken": false
},
"authorizationAnalyticsSettings": {
"credentials": {
"type": "SNOWFLAKE"
},
"autoScanEnabled": false,
"enabled": false
}
}
object
Multiline description
{
name*: string
Constraints: Min 1 chars
hostname*: string
Constraints: Min 1 chars
type:enum
Allowed: SNOWFLAKE┃REDSHIFT┃BIGQUERY┃POSTGRESQL┃ATHENA┃MSSQL┃SYNAPSE┃MYSQL┃OCEANBASE┃API_SERVER┃MARIA_DB┃COCKROACH_DB┃OPENSEARCH┃ELASTICSEARCH┃GREENPLUM┃S3┃MONGO┃DATABRICKS┃FABRIC┃AZURE_OPEN_AI┃OPEN_AI┃BEDROCK┃ORACLE┃DB2┃DYNAMO_DB┃DOCUMENT_DB┃REDIS┃MEMCACHED
dataAccessControllerId:string
projectIds:[string]
BigQuery - project IDs, Athena - AWS Account ID, CockroachDB - cluster ID
⮕ [ BigQuery - project IDs, Athena - AWS Account ID, CockroachDB - cluster ID ]
originPort:integer
baselineSecurityPolicy: {
type:enum
Allowed: BASELINE_POLICY┃DEFAULT_ACCESS_LEVEL
ONE OF
1{
unassociatedQueriesCategory: {
queryAction:enum
Allowed: PASS┃REDACT┃BLOCK
}
unsupportedQueriesCategory: {
queryAction:enum
Allowed: PASS┃REDACT┃BLOCK
}
exclusions: {
excludedIdentities:
[{
Only user type is supported.
identityType*:
enum
Allowed: USER┃DB_USER┃GROUP┃IDP_GROUP┃DATABRICKS_GROUP┃DATABRICKS_SERVICE_PRINCIPAL┃SNOWFLAKE_ROLE┃SNOWFLAKE_ACCOUNT_NAME┃SNOWFLAKE_DATABASE_ROLE┃CEL┃EVERYONE
identity:string
}]
excludedQueryPatterns:
[{
pattern:string
}]
}
}
2{
defaultAccessLevel:enum
Allowed: NONE┃READ_ONLY┃READ_WRITE┃OWNER
}
}
dataStoreSettings: {
specific datastore settings
ONE OF
1{
Required on creation of MongoDB data store.
deploymentType:enum
Allowed: MONGODB┃MONGODB_SRV
originConnectivitySecured:boolean
awsServiceRoleArn:string
Optional for MONGODB_SRV deployment. The IAM role ARN assumed by the DAC and used for updating records in the hosted DNS zone.
awsHostedZoneId:string
Optional for MONGODB_SRV deployment. The Hosted AWS DNS Zone created for mapping MongoDB SRV records to Satori.
}
2{
Additional Settings for AI Datastore
modelHost:string
modelCategory:string
defaultModel:string
selectedModels:[string]
customModels:
[{
value:string
name:string
}]
securityPolicy: {
promptInjectionEnabled:boolean
piiProtectionMode:enum
Allowed: OPEN┃BLOCK┃OPTIONAL
maskingProfileId:string
rateLimit: {
numOfTokens:integer
numOfTimeUnit:integer
timeUnit:enum
Allowed: NANOSECONDS┃MICROSECONDS┃MILLISECONDS┃SECONDS┃MINUTES┃HOURS┃DAYS
}
}
}
3{
accountId:string
warehouseId:string
workspaceId:string
orchestrationSettings: {
enabled:boolean
userAttributeKeyName:string
}
credentials: {
type:enum
Allowed: RSA_KEY_PAIR┃USERNAME_PASSWORD┃AZURE_SERVICE_PRINCIPAL_TOKEN┃AZURE_M2M_SERVICE_PRINCIPAL_TOKEN┃AWS_SERVICE_PRINCIPAL_TOKEN┃AWS_IAM_ROLE┃SERVICE_TOKEN
}
}
4{
workspaceId:string
orchestrationSettings: {
enabled:boolean
userAttributeKeyName:string
}
credentials: {
type:enum
}
}
}
customIngressPort:integer
satoriHostname:string
networkPolicy: {
name:string
allowedRules:
[{
ipRanges:
[{
ipRange:string
}]
note:string
}]
blockedRules:
[{
ipRanges:
[{
ipRange:string
}]
note:string
}]
}
satoriAuthSettings: {
enabled:boolean
credentials: {
type:enum
}
enablePersonalAccessToken:boolean
}
authorizationAnalyticsSettings: {
credentials: {
type:enum
}
autoScanEnabled:boolean
enabled:boolean
}
}
API Server
Authentication
Required (None Applied)
FILL EXAMPLE
CLEAR TRY
RESPONSE
201 400 401 403 404
Status OK, data store created
EXAMPLE SCHEMA
application/json
Example 1 Example 2 Example 3 Example 4 Example 5 Example 6
Copy
{
"entityVersion": 0,
"createdAt": "1970-01-01T00:00:00.000Z",
"updatedAt": "1970-01-01T00:00:00.000Z",
"nameCreatedBy": "string",
"nameUpdatedBy": "string",
"parentId": "string",
"id": "string",
"name": "string",
"hostname": "string",
"satoriHostname": "string",
"dataAccessControllerId": "string",
"parent": "string",
"type": "string",
"projectIds":
[
"string"
],
"originPort": 0,
"hasIdp": false,
"demo": false,
"dataStoreSettings":
{
"deploymentType": "MONGODB",
"originConnectivitySecured": false,
"awsServiceRoleArn": "string",
"awsHostedZoneId": "string"
},
"regions":
[
{
"cloudProvider":
"GCP",
"regions":
[
{
"name":
"string",
"countryName":
"string",
"countryCode":
"string"
}
]
}
],
"discoveryDetails":
{
"objectId": "string",
"externalId": "string",
"cloudAccountId": "string",
"cloudAccountProvider": "AWS",
"engineType": "string",
"cloudAccountName": "string",
"cluster": false
},
"environment": "string",
"identityProviderId": "string",
"customIngressPort": 0,
"baselineSecurityPolicy":
{
"unassociatedQueriesCategory":
{
"queryAction": "PASS"
},
"unsupportedQueriesCategory":
{
"queryAction": "PASS"
},
"exclusions":
{
"excludedIdentities":
[
{
"identityType":
"USER",
"identity":
"string"
}
],
"excludedQueryPatterns":
[
{
"pattern":
"string"
}
]
},
"type": "BASELINE_POLICY"
},
"networkPolicy":
{
"name": "string",
"allowedRules":
[
{
"ipRanges":
[
{
"ipRange":
"string"
}
],
"note":
"string"
}
],
"blockedRules":
[
{
"ipRanges":
[
{
"ipRange":
"string"
}
],
"note":
"string"
}
]
},
"satoriAuthSettings":
{
"enabled": false,
"credentials":
{
"hasPassword": false,
"type": "RSA_KEY_PAIR"
},
"enablePersonalAccessToken": false
},
"authorizationAnalyticsSettings":
{
"credentials":
{
"type": "SNOWFLAKE"
},
"autoScanEnabled": false,
"enabled": false
},
"sandboxEnvironment":
{
"users":
[
{
"username":
"string",
"password":
"string"
}
]
},
"enableProxy": false
}
Copy
{
"entityVersion": 0,
"createdAt": "1970-01-01T00:00:00.000Z",
"updatedAt": "1970-01-01T00:00:00.000Z",
"nameCreatedBy": "string",
"nameUpdatedBy": "string",
"parentId": "string",
"id": "string",
"name": "string",
"hostname": "string",
"satoriHostname": "string",
"dataAccessControllerId": "string",
"parent": "string",
"type": "string",
"projectIds":
[
"string"
],
"originPort": 0,
"hasIdp": false,
"demo": false,
"dataStoreSettings":
{
"deploymentType": "MONGODB",
"originConnectivitySecured": false,
"awsServiceRoleArn": "string",
"awsHostedZoneId": "string"
},
"regions":
"discoveryDetails":
{
"objectId": "string",
"externalId": "string",
"cloudAccountId": "string",
"cloudAccountProvider": "AWS",
"engineType": "string",
"cloudAccountName": "string",
"cluster": false
},
"environment": "string",
"identityProviderId": "string",
"customIngressPort": 0,
"baselineSecurityPolicy":
{
"defaultAccessLevel": "NONE",
"type": "BASELINE_POLICY"
},
"networkPolicy":
{
"name": "string",
"allowedRules":
[
{
"ipRanges":
[
{
"ipRange":
"string"
}
],
"note":
"string"
}
],
"blockedRules":
[
{
"ipRanges":
[
{
"ipRange":
"string"
}
],
"note":
"string"
}
]
},
"satoriAuthSettings":
{
"enabled": false,
"credentials":
{
"hasPassword": false,
"type": "RSA_KEY_PAIR"
},
"enablePersonalAccessToken": false
},
"authorizationAnalyticsSettings":
{
"credentials":
{
"type": "SNOWFLAKE"
},
"autoScanEnabled": false,
"enabled": false
},
"sandboxEnvironment":
{
"users":
[
{
"username":
"string",
"password":
"string"
}
]
},
"enableProxy": false
}
Copy
{
"entityVersion": 0,
"createdAt": "1970-01-01T00:00:00.000Z",
"updatedAt": "1970-01-01T00:00:00.000Z",
"nameCreatedBy": "string",
"nameUpdatedBy": "string",
"parentId": "string",
"id": "string",
"name": "string",
"hostname": "string",
"satoriHostname": "string",
"dataAccessControllerId": "string",
"parent": "string",
"type": "string",
"projectIds":
[
"string"
],
"originPort": 0,
"hasIdp": false,
"demo": false,
"dataStoreSettings":
{
"accountId": "string",
"warehouseId": "string",
"workspaceId": "string",
"orchestrationSettings":
{
"enabled": false,
"userAttributeKeyName": "string"
},
"credentials":
{
"hasPassword": false,
"type": "RSA_KEY_PAIR"
}
},
"regions":
"discoveryDetails":
{
"objectId": "string",
"externalId": "string",
"cloudAccountId": "string",
"cloudAccountProvider": "AWS",
"engineType": "string",
"cloudAccountName": "string",
"cluster": false
},
"environment": "string",
"identityProviderId": "string",
"customIngressPort": 0,
"baselineSecurityPolicy":
{
"unassociatedQueriesCategory":
{
"queryAction": "PASS"
},
"unsupportedQueriesCategory":
{
"queryAction": "PASS"
},
"exclusions":
{
"excludedIdentities":
[
{
"identityType":
"USER",
"identity":
"string"
}
],
"excludedQueryPatterns":
[
{
"pattern":
"string"
}
]
},
"type": "BASELINE_POLICY"
},
"networkPolicy":
{
"name": "string",
"allowedRules":
[
{
"ipRanges":
[
{
"ipRange":
"string"
}
],
"note":
"string"
}
],
"blockedRules":
[
{
"ipRanges":
[
{
"ipRange":
"string"
}
],
"note":
"string"
}
]
},
"satoriAuthSettings":
{
"enabled": false,
"credentials":
{
"hasPassword": false,
"type": "RSA_KEY_PAIR"
},
"enablePersonalAccessToken": false
},
"authorizationAnalyticsSettings":
{
"credentials":
{
"type": "SNOWFLAKE"
},
"autoScanEnabled": false,
"enabled": false
},
"sandboxEnvironment":
{
"users":
[
{
"username":
"string",
"password":
"string"
}
]
},
"enableProxy": false
}
Copy
{
"entityVersion": 0,
"createdAt": "1970-01-01T00:00:00.000Z",
"updatedAt": "1970-01-01T00:00:00.000Z",
"nameCreatedBy": "string",
"nameUpdatedBy": "string",
"parentId": "string",
"id": "string",
"name": "string",
"hostname": "string",
"satoriHostname": "string",
"dataAccessControllerId": "string",
"parent": "string",
"type": "string",
"projectIds":
[
"string"
],
"originPort": 0,
"hasIdp": false,
"demo": false,
"dataStoreSettings":
{
"accountId": "string",
"warehouseId": "string",
"workspaceId": "string",
"orchestrationSettings":
{
"enabled": false,
"userAttributeKeyName": "string"
},
"credentials":
{
"hasPassword": false,
"type": "RSA_KEY_PAIR"
}
},
"regions":
"discoveryDetails":
{
"objectId": "string",
"externalId": "string",
"cloudAccountId": "string",
"cloudAccountProvider": "AWS",
"engineType": "string",
"cloudAccountName": "string",
"cluster": false
},
"environment": "string",
"identityProviderId": "string",
"customIngressPort": 0,
"baselineSecurityPolicy":
{
"defaultAccessLevel": "NONE",
"type": "BASELINE_POLICY"
},
"networkPolicy":
{
"name": "string",
"allowedRules":
[
{
"ipRanges":
[
{
"ipRange":
"string"
}
],
"note":
"string"
}
],
"blockedRules":
[
{
"ipRanges":
[
{
"ipRange":
"string"
}
],
"note":
"string"
}
]
},
"satoriAuthSettings":
{
"enabled": false,
"credentials":
{
"hasPassword": false,
"type": "RSA_KEY_PAIR"
},
"enablePersonalAccessToken": false
},
"authorizationAnalyticsSettings":
{
"credentials":
{
"type": "SNOWFLAKE"
},
"autoScanEnabled": false,
"enabled": false
},
"sandboxEnvironment":
{
"users":
[
{
"username":
"string",
"password":
"string"
}
]
},
"enableProxy": false
}
Copy
{
"entityVersion": 0,
"createdAt": "1970-01-01T00:00:00.000Z",
"updatedAt": "1970-01-01T00:00:00.000Z",
"nameCreatedBy": "string",
"nameUpdatedBy": "string",
"parentId": "string",
"id": "string",
"name": "string",
"hostname": "string",
"satoriHostname": "string",
"dataAccessControllerId": "string",
"parent": "string",
"type": "string",
"projectIds":
[
"string"
],
"originPort": 0,
"hasIdp": false,
"demo": false,
"dataStoreSettings":
{
"workspaceId": "string",
"orchestrationSettings":
{
"enabled": false,
"userAttributeKeyName": "string"
},
"credentials":
{
"hasPassword": false,
"type": "RSA_KEY_PAIR"
}
},
"regions":
"discoveryDetails":
{
"objectId": "string",
"externalId": "string",
"cloudAccountId": "string",
"cloudAccountProvider": "AWS",
"engineType": "string",
"cloudAccountName": "string",
"cluster": false
},
"environment": "string",
"identityProviderId": "string",
"customIngressPort": 0,
"baselineSecurityPolicy":
{
"unassociatedQueriesCategory":
{
"queryAction": "PASS"
},
"unsupportedQueriesCategory":
{
"queryAction": "PASS"
},
"exclusions":
{
"excludedIdentities":
[
{
"identityType":
"USER",
"identity":
"string"
}
],
"excludedQueryPatterns":
[
{
"pattern":
"string"
}
]
},
"type": "BASELINE_POLICY"
},
"networkPolicy":
{
"name": "string",
"allowedRules":
[
{
"ipRanges":
[
{
"ipRange":
"string"
}
],
"note":
"string"
}
],
"blockedRules":
[
{
"ipRanges":
[
{
"ipRange":
"string"
}
],
"note":
"string"
}
]
},
"satoriAuthSettings":
{
"enabled": false,
"credentials":
{
"hasPassword": false,
"type": "RSA_KEY_PAIR"
},
"enablePersonalAccessToken": false
},
"authorizationAnalyticsSettings":
{
"credentials":
{
"type": "SNOWFLAKE"
},
"autoScanEnabled": false,
"enabled": false
},
"sandboxEnvironment":
{
"users":
[
{
"username":
"string",
"password":
"string"
}
]
},
"enableProxy": false
}
Copy
{
"entityVersion": 0,
"createdAt": "1970-01-01T00:00:00.000Z",
"updatedAt": "1970-01-01T00:00:00.000Z",
"nameCreatedBy": "string",
"nameUpdatedBy": "string",
"parentId": "string",
"id": "string",
"name": "string",
"hostname": "string",
"satoriHostname": "string",
"dataAccessControllerId": "string",
"parent": "string",
"type": "string",
"projectIds":
[
"string"
],
"originPort": 0,
"hasIdp": false,
"demo": false,
"dataStoreSettings":
{
"workspaceId": "string",
"orchestrationSettings":
{
"enabled": false,
"userAttributeKeyName": "string"
},
"credentials":
{
"hasPassword": false,
"type": "RSA_KEY_PAIR"
}
},
"regions":
"discoveryDetails":
{
"objectId": "string",
"externalId": "string",
"cloudAccountId": "string",
"cloudAccountProvider": "AWS",
"engineType": "string",
"cloudAccountName": "string",
"cluster": false
},
"environment": "string",
"identityProviderId": "string",
"customIngressPort": 0,
"baselineSecurityPolicy":
{
"defaultAccessLevel": "NONE",
"type": "BASELINE_POLICY"
},
"networkPolicy":
{
"name": "string",
"allowedRules":
[
{
"ipRanges":
[
{
"ipRange":
"string"
}
],
"note":
"string"
}
],
"blockedRules":
[
{
"ipRanges":
[
{
"ipRange":
"string"
}
],
"note":
"string"
}
]
},
"satoriAuthSettings":
{
"enabled": false,
"credentials":
{
"hasPassword": false,
"type": "RSA_KEY_PAIR"
},
"enablePersonalAccessToken": false
},
"authorizationAnalyticsSettings":
{
"credentials":
{
"type": "SNOWFLAKE"
},
"autoScanEnabled": false,
"enabled": false
},
"sandboxEnvironment":
{
"users":
[
{
"username":
"string",
"password":
"string"
}
]
},
"enableProxy": false
}
Bad request
Invalid Authorization
Resource Limit Exceeded
Provided account not found
Create a Demo Data Store
post/api/v1/datastore/demo
This HTTP POST method is used to create or activate a new demo data store in the system. This API call allows you to set up a demo data store on a specific user account, which can be used for testing, demos, or investigative purposes.
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
QUERY-STRING PARAMETERS
| accountId string |
||
| type enum |
Allowed: SNOWFLAKE┃ REDSHIFT┃ BIGQUERY┃ POSTGRESQL┃ ATHENA┃ MSSQL┃ SYNAPSE┃ MYSQL┃ OCEANBASE┃ API_SERVER┃ MARIA_DB┃ COCKROACH_DB┃ OPENSEARCH┃ ELASTICSEARCH┃ GREENPLUM┃ S3┃ MONGO┃ DATABRICKS┃ FABRIC┃ AZURE_OPEN_AI┃ OPEN_AI┃ BEDROCK┃ ORACLE┃ DB2┃ DYNAMO_DB┃ DOCUMENT_DB┃ REDIS┃ MEMCACHED |
|
API Server
Authentication
Required (None Applied)
FILL EXAMPLE
CLEAR TRY
RESPONSE
201 400 401 403 404
Status OK, data store created
EXAMPLE SCHEMA
application/json
Example 1 Example 2 Example 3 Example 4 Example 5 Example 6
Copy
{
"entityVersion": 0,
"createdAt": "1970-01-01T00:00:00.000Z",
"updatedAt": "1970-01-01T00:00:00.000Z",
"nameCreatedBy": "string",
"nameUpdatedBy": "string",
"parentId": "string",
"id": "string",
"name": "string",
"hostname": "string",
"satoriHostname": "string",
"dataAccessControllerId": "string",
"parent": "string",
"type": "string",
"projectIds":
[
"string"
],
"originPort": 0,
"hasIdp": false,
"demo": false,
"dataStoreSettings":
{
"deploymentType": "MONGODB",
"originConnectivitySecured": false,
"awsServiceRoleArn": "string",
"awsHostedZoneId": "string"
},
"regions":
"discoveryDetails":
{
"objectId": "string",
"externalId": "string",
"cloudAccountId": "string",
"cloudAccountProvider": "AWS",
"engineType": "string",
"cloudAccountName": "string",
"cluster": false
},
"environment": "string",
"identityProviderId": "string",
"customIngressPort": 0,
"baselineSecurityPolicy":
{
"unassociatedQueriesCategory":
{
"queryAction": "PASS"
},
"unsupportedQueriesCategory":
{
"queryAction": "PASS"
},
"exclusions":
{
"excludedIdentities":
[
{
"identityType":
"USER",
"identity":
"string"
}
],
"excludedQueryPatterns":
[
{
"pattern":
"string"
}
]
},
"type": "BASELINE_POLICY"
},
"networkPolicy":
{
"name": "string",
"allowedRules":
[
{
"ipRanges":
[
{
"ipRange":
"string"
}
],
"note":
"string"
}
],
"blockedRules":
[
{
"ipRanges":
[
{
"ipRange":
"string"
}
],
"note":
"string"
}
]
},
"satoriAuthSettings":
{
"enabled": false,
"credentials":
{
"hasPassword": false,
"type": "RSA_KEY_PAIR"
},
"enablePersonalAccessToken": false
},
"authorizationAnalyticsSettings":
{
"credentials":
{
"type": "SNOWFLAKE"
},
"autoScanEnabled": false,
"enabled": false
},
"sandboxEnvironment":
{
"users":
[
{
"username":
"string",
"password":
"string"
}
]
},
"enableProxy": false
}
Copy
{
"entityVersion": 0,
"createdAt": "1970-01-01T00:00:00.000Z",
"updatedAt": "1970-01-01T00:00:00.000Z",
"nameCreatedBy": "string",
"nameUpdatedBy": "string",
"parentId": "string",
"id": "string",
"name": "string",
"hostname": "string",
"satoriHostname": "string",
"dataAccessControllerId": "string",
"parent": "string",
"type": "string",
"projectIds":
[
"string"
],
"originPort": 0,
"hasIdp": false,
"demo": false,
"dataStoreSettings":
{
"deploymentType": "MONGODB",
"originConnectivitySecured": false,
"awsServiceRoleArn": "string",
"awsHostedZoneId": "string"
},
"regions":
"discoveryDetails":
{
"objectId": "string",
"externalId": "string",
"cloudAccountId": "string",
"cloudAccountProvider": "AWS",
"engineType": "string",
"cloudAccountName": "string",
"cluster": false
},
"environment": "string",
"identityProviderId": "string",
"customIngressPort": 0,
"baselineSecurityPolicy":
{
"defaultAccessLevel": "NONE",
"type": "BASELINE_POLICY"
},
"networkPolicy":
{
"name": "string",
"allowedRules":
[
{
"ipRanges":
[
{
"ipRange":
"string"
}
],
"note":
"string"
}
],
"blockedRules":
[
{
"ipRanges":
[
{
"ipRange":
"string"
}
],
"note":
"string"
}
]
},
"satoriAuthSettings":
{
"enabled": false,
"credentials":
{
"hasPassword": false,
"type": "RSA_KEY_PAIR"
},
"enablePersonalAccessToken": false
},
"authorizationAnalyticsSettings":
{
"credentials":
{
"type": "SNOWFLAKE"
},
"autoScanEnabled": false,
"enabled": false
},
"sandboxEnvironment":
{
"users":
[
{
"username":
"string",
"password":
"string"
}
]
},
"enableProxy": false
}
Copy
{
"entityVersion": 0,
"createdAt": "1970-01-01T00:00:00.000Z",
"updatedAt": "1970-01-01T00:00:00.000Z",
"nameCreatedBy": "string",
"nameUpdatedBy": "string",
"parentId": "string",
"id": "string",
"name": "string",
"hostname": "string",
"satoriHostname": "string",
"dataAccessControllerId": "string",
"parent": "string",
"type": "string",
"projectIds":
[
"string"
],
"originPort": 0,
"hasIdp": false,
"demo": false,
"dataStoreSettings":
{
"accountId": "string",
"warehouseId": "string",
"workspaceId": "string",
"orchestrationSettings":
{
"enabled": false,
"userAttributeKeyName": "string"
},
"credentials":
{
"hasPassword": false,
"type": "RSA_KEY_PAIR"
}
},
"regions":
"discoveryDetails":
{
"objectId": "string",
"externalId": "string",
"cloudAccountId": "string",
"cloudAccountProvider": "AWS",
"engineType": "string",
"cloudAccountName": "string",
"cluster": false
},
"environment": "string",
"identityProviderId": "string",
"customIngressPort": 0,
"baselineSecurityPolicy":
{
"unassociatedQueriesCategory":
{
"queryAction": "PASS"
},
"unsupportedQueriesCategory":
{
"queryAction": "PASS"
},
"exclusions":
{
"excludedIdentities":
[
{
"identityType":
"USER",
"identity":
"string"
}
],
"excludedQueryPatterns":
[
{
"pattern":
"string"
}
]
},
"type": "BASELINE_POLICY"
},
"networkPolicy":
{
"name": "string",
"allowedRules":
[
{
"ipRanges":
[
{
"ipRange":
"string"
}
],
"note":
"string"
}
],
"blockedRules":
[
{
"ipRanges":
[
{
"ipRange":
"string"
}
],
"note":
"string"
}
]
},
"satoriAuthSettings":
{
"enabled": false,
"credentials":
{
"hasPassword": false,
"type": "RSA_KEY_PAIR"
},
"enablePersonalAccessToken": false
},
"authorizationAnalyticsSettings":
{
"credentials":
{
"type": "SNOWFLAKE"
},
"autoScanEnabled": false,
"enabled": false
},
"sandboxEnvironment":
{
"users":
[
{
"username":
"string",
"password":
"string"
}
]
},
"enableProxy": false
}
Copy
{
"entityVersion": 0,
"createdAt": "1970-01-01T00:00:00.000Z",
"updatedAt": "1970-01-01T00:00:00.000Z",
"nameCreatedBy": "string",
"nameUpdatedBy": "string",
"parentId": "string",
"id": "string",
"name": "string",
"hostname": "string",
"satoriHostname": "string",
"dataAccessControllerId": "string",
"parent": "string",
"type": "string",
"projectIds":
[
"string"
],
"originPort": 0,
"hasIdp": false,
"demo": false,
"dataStoreSettings":
{
"accountId": "string",
"warehouseId": "string",
"workspaceId": "string",
"orchestrationSettings":
{
"enabled": false,
"userAttributeKeyName": "string"
},
"credentials":
{
"hasPassword": false,
"type": "RSA_KEY_PAIR"
}
},
"regions":
"discoveryDetails":
{
"objectId": "string",
"externalId": "string",
"cloudAccountId": "string",
"cloudAccountProvider": "AWS",
"engineType": "string",
"cloudAccountName": "string",
"cluster": false
},
"environment": "string",
"identityProviderId": "string",
"customIngressPort": 0,
"baselineSecurityPolicy":
{
"defaultAccessLevel": "NONE",
"type": "BASELINE_POLICY"
},
"networkPolicy":
{
"name": "string",
"allowedRules":
[
{
"ipRanges":
[
{
"ipRange":
"string"
}
],
"note":
"string"
}
],
"blockedRules":
[
{
"ipRanges":
[
{
"ipRange":
"string"
}
],
"note":
"string"
}
]
},
"satoriAuthSettings":
{
"enabled": false,
"credentials":
{
"hasPassword": false,
"type": "RSA_KEY_PAIR"
},
"enablePersonalAccessToken": false
},
"authorizationAnalyticsSettings":
{
"credentials":
{
"type": "SNOWFLAKE"
},
"autoScanEnabled": false,
"enabled": false
},
"sandboxEnvironment":
{
"users":
[
{
"username":
"string",
"password":
"string"
}
]
},
"enableProxy": false
}
Copy
{
"entityVersion": 0,
"createdAt": "1970-01-01T00:00:00.000Z",
"updatedAt": "1970-01-01T00:00:00.000Z",
"nameCreatedBy": "string",
"nameUpdatedBy": "string",
"parentId": "string",
"id": "string",
"name": "string",
"hostname": "string",
"satoriHostname": "string",
"dataAccessControllerId": "string",
"parent": "string",
"type": "string",
"projectIds":
[
"string"
],
"originPort": 0,
"hasIdp": false,
"demo": false,
"dataStoreSettings":
{
"workspaceId": "string",
"orchestrationSettings":
{
"enabled": false,
"userAttributeKeyName": "string"
},
"credentials":
{
"hasPassword": false,
"type": "RSA_KEY_PAIR"
}
},
"regions":
"discoveryDetails":
{
"objectId": "string",
"externalId": "string",
"cloudAccountId": "string",
"cloudAccountProvider": "AWS",
"engineType": "string",
"cloudAccountName": "string",
"cluster": false
},
"environment": "string",
"identityProviderId": "string",
"customIngressPort": 0,
"baselineSecurityPolicy":
{
"unassociatedQueriesCategory":
{
"queryAction": "PASS"
},
"unsupportedQueriesCategory":
{
"queryAction": "PASS"
},
"exclusions":
{
"excludedIdentities":
[
{
"identityType":
"USER",
"identity":
"string"
}
],
"excludedQueryPatterns":
[
{
"pattern":
"string"
}
]
},
"type": "BASELINE_POLICY"
},
"networkPolicy":
{
"name": "string",
"allowedRules":
[
{
"ipRanges":
[
{
"ipRange":
"string"
}
],
"note":
"string"
}
],
"blockedRules":
[
{
"ipRanges":
[
{
"ipRange":
"string"
}
],
"note":
"string"
}
]
},
"satoriAuthSettings":
{
"enabled": false,
"credentials":
{
"hasPassword": false,
"type": "RSA_KEY_PAIR"
},
"enablePersonalAccessToken": false
},
"authorizationAnalyticsSettings":
{
"credentials":
{
"type": "SNOWFLAKE"
},
"autoScanEnabled": false,
"enabled": false
},
"sandboxEnvironment":
{
"users":
[
{
"username":
"string",
"password":
"string"
}
]
},
"enableProxy": false
}
Copy
{
"entityVersion": 0,
"createdAt": "1970-01-01T00:00:00.000Z",
"updatedAt": "1970-01-01T00:00:00.000Z",
"nameCreatedBy": "string",
"nameUpdatedBy": "string",
"parentId": "string",
"id": "string",
"name": "string",
"hostname": "string",
"satoriHostname": "string",
"dataAccessControllerId": "string",
"parent": "string",
"type": "string",
"projectIds":
[
"string"
],
"originPort": 0,
"hasIdp": false,
"demo": false,
"dataStoreSettings":
{
"workspaceId": "string",
"orchestrationSettings":
{
"enabled": false,
"userAttributeKeyName": "string"
},
"credentials":
{
"hasPassword": false,
"type": "RSA_KEY_PAIR"
}
},
"regions":
"discoveryDetails":
{
"objectId": "string",
"externalId": "string",
"cloudAccountId": "string",
"cloudAccountProvider": "AWS",
"engineType": "string",
"cloudAccountName": "string",
"cluster": false
},
"environment": "string",
"identityProviderId": "string",
"customIngressPort": 0,
"baselineSecurityPolicy":
{
"defaultAccessLevel": "NONE",
"type": "BASELINE_POLICY"
},
"networkPolicy":
{
"name": "string",
"allowedRules":
[
{
"ipRanges":
[
{
"ipRange":
"string"
}
],
"note":
"string"
}
],
"blockedRules":
[
{
"ipRanges":
[
{
"ipRange":
"string"
}
],
"note":
"string"
}
]
},
"satoriAuthSettings":
{
"enabled": false,
"credentials":
{
"hasPassword": false,
"type": "RSA_KEY_PAIR"
},
"enablePersonalAccessToken": false
},
"authorizationAnalyticsSettings":
{
"credentials":
{
"type": "SNOWFLAKE"
},
"autoScanEnabled": false,
"enabled": false
},
"sandboxEnvironment":
{
"users":
[
{
"username":
"string",
"password":
"string"
}
]
},
"enableProxy": false
}
Bad request
Invalid Authorization
Resource Limit Exceeded
Provided account not found
Get a Data Store
get/api/v1/datastore/{id}
This HTTP GET method is used to retrieve detailed information about a specific data store.
This API call allows you to access the configuration, status, and other relevant details of the specified data store.
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
PATH PARAMETERS
| *id string |
||
API Server
Authentication
Required (None Applied)
FILL EXAMPLE
CLEAR TRY
RESPONSE
200 400 401 404
Status OK
EXAMPLE SCHEMA
application/json
Example 1 Example 2 Example 3 Example 4 Example 5 Example 6
Copy
{
"entityVersion": 0,
"createdAt": "1970-01-01T00:00:00.000Z",
"updatedAt": "1970-01-01T00:00:00.000Z",
"nameCreatedBy": "string",
"nameUpdatedBy": "string",
"parentId": "string",
"id": "string",
"name": "string",
"hostname": "string",
"satoriHostname": "string",
"dataAccessControllerId": "string",
"parent": "string",
"type": "string",
"projectIds":
[
"string"
],
"originPort": 0,
"hasIdp": false,
"demo": false,
"dataStoreSettings":
{
"deploymentType": "MONGODB",
"originConnectivitySecured": false,
"awsServiceRoleArn": "string",
"awsHostedZoneId": "string"
},
"regions":
"discoveryDetails":
{
"objectId": "string",
"externalId": "string",
"cloudAccountId": "string",
"cloudAccountProvider": "AWS",
"engineType": "string",
"cloudAccountName": "string",
"cluster": false
},
"environment": "string",
"identityProviderId": "string",
"customIngressPort": 0,
"baselineSecurityPolicy":
{
"unassociatedQueriesCategory":
{
"queryAction": "PASS"
},
"unsupportedQueriesCategory":
{
"queryAction": "PASS"
},
"exclusions":
{
"excludedIdentities":
[
{
"identityType":
"USER",
"identity":
"string"
}
],
"excludedQueryPatterns":
[
{
"pattern":
"string"
}
]
},
"type": "BASELINE_POLICY"
},
"networkPolicy":
{
"name": "string",
"allowedRules":
[
{
"ipRanges":
[
{
"ipRange":
"string"
}
],
"note":
"string"
}
],
"blockedRules":
[
{
"ipRanges":
[
{
"ipRange":
"string"
}
],
"note":
"string"
}
]
},
"satoriAuthSettings":
{
"enabled": false,
"credentials":
{
"hasPassword": false,
"type": "RSA_KEY_PAIR"
},
"enablePersonalAccessToken": false
},
"authorizationAnalyticsSettings":
{
"credentials":
{
"type": "SNOWFLAKE"
},
"autoScanEnabled": false,
"enabled": false
},
"sandboxEnvironment":
{
"users":
[
{
"username":
"string",
"password":
"string"
}
]
},
"enableProxy": false
}
Copy
{
"entityVersion": 0,
"createdAt": "1970-01-01T00:00:00.000Z",
"updatedAt": "1970-01-01T00:00:00.000Z",
"nameCreatedBy": "string",
"nameUpdatedBy": "string",
"parentId": "string",
"id": "string",
"name": "string",
"hostname": "string",
"satoriHostname": "string",
"dataAccessControllerId": "string",
"parent": "string",
"type": "string",
"projectIds":
[
"string"
],
"originPort": 0,
"hasIdp": false,
"demo": false,
"dataStoreSettings":
{
"deploymentType": "MONGODB",
"originConnectivitySecured": false,
"awsServiceRoleArn": "string",
"awsHostedZoneId": "string"
},
"regions":
"discoveryDetails":
{
"objectId": "string",
"externalId": "string",
"cloudAccountId": "string",
"cloudAccountProvider": "AWS",
"engineType": "string",
"cloudAccountName": "string",
"cluster": false
},
"environment": "string",
"identityProviderId": "string",
"customIngressPort": 0,
"baselineSecurityPolicy":
{
"defaultAccessLevel": "NONE",
"type": "BASELINE_POLICY"
},
"networkPolicy":
{
"name": "string",
"allowedRules":
[
{
"ipRanges":
[
{
"ipRange":
"string"
}
],
"note":
"string"
}
],
"blockedRules":
[
{
"ipRanges":
[
{
"ipRange":
"string"
}
],
"note":
"string"
}
]
},
"satoriAuthSettings":
{
"enabled": false,
"credentials":
{
"hasPassword": false,
"type": "RSA_KEY_PAIR"
},
"enablePersonalAccessToken": false
},
"authorizationAnalyticsSettings":
{
"credentials":
{
"type": "SNOWFLAKE"
},
"autoScanEnabled": false,
"enabled": false
},
"sandboxEnvironment":
{
"users":
[
{
"username":
"string",
"password":
"string"
}
]
},
"enableProxy": false
}
Copy
{
"entityVersion": 0,
"createdAt": "1970-01-01T00:00:00.000Z",
"updatedAt": "1970-01-01T00:00:00.000Z",
"nameCreatedBy": "string",
"nameUpdatedBy": "string",
"parentId": "string",
"id": "string",
"name": "string",
"hostname": "string",
"satoriHostname": "string",
"dataAccessControllerId": "string",
"parent": "string",
"type": "string",
"projectIds":
[
"string"
],
"originPort": 0,
"hasIdp": false,
"demo": false,
"dataStoreSettings":
{
"accountId": "string",
"warehouseId": "string",
"workspaceId": "string",
"orchestrationSettings":
{
"enabled": false,
"userAttributeKeyName": "string"
},
"credentials":
{
"hasPassword": false,
"type": "RSA_KEY_PAIR"
}
},
"regions":
"discoveryDetails":
{
"objectId": "string",
"externalId": "string",
"cloudAccountId": "string",
"cloudAccountProvider": "AWS",
"engineType": "string",
"cloudAccountName": "string",
"cluster": false
},
"environment": "string",
"identityProviderId": "string",
"customIngressPort": 0,
"baselineSecurityPolicy":
{
"unassociatedQueriesCategory":
{
"queryAction": "PASS"
},
"unsupportedQueriesCategory":
{
"queryAction": "PASS"
},
"exclusions":
{
"excludedIdentities":
[
{
"identityType":
"USER",
"identity":
"string"
}
],
"excludedQueryPatterns":
[
{
"pattern":
"string"
}
]
},
"type": "BASELINE_POLICY"
},
"networkPolicy":
{
"name": "string",
"allowedRules":
[
{
"ipRanges":
[
{
"ipRange":
"string"
}
],
"note":
"string"
}
],
"blockedRules":
[
{
"ipRanges":
[
{
"ipRange":
"string"
}
],
"note":
"string"
}
]
},
"satoriAuthSettings":
{
"enabled": false,
"credentials":
{
"hasPassword": false,
"type": "RSA_KEY_PAIR"
},
"enablePersonalAccessToken": false
},
"authorizationAnalyticsSettings":
{
"credentials":
{
"type": "SNOWFLAKE"
},
"autoScanEnabled": false,
"enabled": false
},
"sandboxEnvironment":
{
"users":
[
{
"username":
"string",
"password":
"string"
}
]
},
"enableProxy": false
}
Copy
{
"entityVersion": 0,
"createdAt": "1970-01-01T00:00:00.000Z",
"updatedAt": "1970-01-01T00:00:00.000Z",
"nameCreatedBy": "string",
"nameUpdatedBy": "string",
"parentId": "string",
"id": "string",
"name": "string",
"hostname": "string",
"satoriHostname": "string",
"dataAccessControllerId": "string",
"parent": "string",
"type": "string",
"projectIds":
[
"string"
],
"originPort": 0,
"hasIdp": false,
"demo": false,
"dataStoreSettings":
{
"accountId": "string",
"warehouseId": "string",
"workspaceId": "string",
"orchestrationSettings":
{
"enabled": false,
"userAttributeKeyName": "string"
},
"credentials":
{
"hasPassword": false,
"type": "RSA_KEY_PAIR"
}
},
"regions":
"discoveryDetails":
{
"objectId": "string",
"externalId": "string",
"cloudAccountId": "string",
"cloudAccountProvider": "AWS",
"engineType": "string",
"cloudAccountName": "string",
"cluster": false
},
"environment": "string",
"identityProviderId": "string",
"customIngressPort": 0,
"baselineSecurityPolicy":
{
"defaultAccessLevel": "NONE",
"type": "BASELINE_POLICY"
},
"networkPolicy":
{
"name": "string",
"allowedRules":
[
{
"ipRanges":
[
{
"ipRange":
"string"
}
],
"note":
"string"
}
],
"blockedRules":
[
{
"ipRanges":
[
{
"ipRange":
"string"
}
],
"note":
"string"
}
]
},
"satoriAuthSettings":
{
"enabled": false,
"credentials":
{
"hasPassword": false,
"type": "RSA_KEY_PAIR"
},
"enablePersonalAccessToken": false
},
"authorizationAnalyticsSettings":
{
"credentials":
{
"type": "SNOWFLAKE"
},
"autoScanEnabled": false,
"enabled": false
},
"sandboxEnvironment":
{
"users":
[
{
"username":
"string",
"password":
"string"
}
]
},
"enableProxy": false
}
Copy
{
"entityVersion": 0,
"createdAt": "1970-01-01T00:00:00.000Z",
"updatedAt": "1970-01-01T00:00:00.000Z",
"nameCreatedBy": "string",
"nameUpdatedBy": "string",
"parentId": "string",
"id": "string",
"name": "string",
"hostname": "string",
"satoriHostname": "string",
"dataAccessControllerId": "string",
"parent": "string",
"type": "string",
"projectIds":
[
"string"
],
"originPort": 0,
"hasIdp": false,
"demo": false,
"dataStoreSettings":
{
"workspaceId": "string",
"orchestrationSettings":
{
"enabled": false,
"userAttributeKeyName": "string"
},
"credentials":
{
"hasPassword": false,
"type": "RSA_KEY_PAIR"
}
},
"regions":
"discoveryDetails":
{
"objectId": "string",
"externalId": "string",
"cloudAccountId": "string",
"cloudAccountProvider": "AWS",
"engineType": "string",
"cloudAccountName": "string",
"cluster": false
},
"environment": "string",
"identityProviderId": "string",
"customIngressPort": 0,
"baselineSecurityPolicy":
{
"unassociatedQueriesCategory":
{
"queryAction": "PASS"
},
"unsupportedQueriesCategory":
{
"queryAction": "PASS"
},
"exclusions":
{
"excludedIdentities":
[
{
"identityType":
"USER",
"identity":
"string"
}
],
"excludedQueryPatterns":
[
{
"pattern":
"string"
}
]
},
"type": "BASELINE_POLICY"
},
"networkPolicy":
{
"name": "string",
"allowedRules":
[
{
"ipRanges":
[
{
"ipRange":
"string"
}
],
"note":
"string"
}
],
"blockedRules":
[
{
"ipRanges":
[
{
"ipRange":
"string"
}
],
"note":
"string"
}
]
},
"satoriAuthSettings":
{
"enabled": false,
"credentials":
{
"hasPassword": false,
"type": "RSA_KEY_PAIR"
},
"enablePersonalAccessToken": false
},
"authorizationAnalyticsSettings":
{
"credentials":
{
"type": "SNOWFLAKE"
},
"autoScanEnabled": false,
"enabled": false
},
"sandboxEnvironment":
{
"users":
[
{
"username":
"string",
"password":
"string"
}
]
},
"enableProxy": false
}
Copy
{
"entityVersion": 0,
"createdAt": "1970-01-01T00:00:00.000Z",
"updatedAt": "1970-01-01T00:00:00.000Z",
"nameCreatedBy": "string",
"nameUpdatedBy": "string",
"parentId": "string",
"id": "string",
"name": "string",
"hostname": "string",
"satoriHostname": "string",
"dataAccessControllerId": "string",
"parent": "string",
"type": "string",
"projectIds":
[
"string"
],
"originPort": 0,
"hasIdp": false,
"demo": false,
"dataStoreSettings":
{
"workspaceId": "string",
"orchestrationSettings":
{
"enabled": false,
"userAttributeKeyName": "string"
},
"credentials":
{
"hasPassword": false,
"type": "RSA_KEY_PAIR"
}
},
"regions":
"discoveryDetails":
{
"objectId": "string",
"externalId": "string",
"cloudAccountId": "string",
"cloudAccountProvider": "AWS",
"engineType": "string",
"cloudAccountName": "string",
"cluster": false
},
"environment": "string",
"identityProviderId": "string",
"customIngressPort": 0,
"baselineSecurityPolicy":
{
"defaultAccessLevel": "NONE",
"type": "BASELINE_POLICY"
},
"networkPolicy":
{
"name": "string",
"allowedRules":
[
{
"ipRanges":
[
{
"ipRange":
"string"
}
],
"note":
"string"
}
],
"blockedRules":
[
{
"ipRanges":
[
{
"ipRange":
"string"
}
],
"note":
"string"
}
]
},
"satoriAuthSettings":
{
"enabled": false,
"credentials":
{
"hasPassword": false,
"type": "RSA_KEY_PAIR"
},
"enablePersonalAccessToken": false
},
"authorizationAnalyticsSettings":
{
"credentials":
{
"type": "SNOWFLAKE"
},
"autoScanEnabled": false,
"enabled": false
},
"sandboxEnvironment":
{
"users":
[
{
"username":
"string",
"password":
"string"
}
]
},
"enableProxy": false
}
Bad request
Invalid Authorization
Provided data store not found
Update a Data Store
put/api/v1/datastore/{id}
This HTTP PUT method is used to update the configuration or details of an existing data store.
This API call allows you to modify settings, properties, or other aspects of the specified data store.
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
PATH PARAMETERS
| *id string |
||
REQUEST BODY application/json
EXAMPLESCHEMA
Example 1 Example 2 Example 3 Example 4 Example 5 Example 6 Example 7 Example 8
object
Multiline description
{
name*: string
Constraints: Min 1 chars
hostname*: string
Constraints: Min 1 chars
type:enum
dataAccessControllerId:string
projectIds:[string]
BigQuery - project IDs, Athena - AWS Account ID, CockroachDB - cluster ID
⮕ [ BigQuery - project IDs, Athena - AWS Account ID, CockroachDB - cluster ID ]
originPort:integer
baselineSecurityPolicy: {
type:enum
Allowed: BASELINE_POLICY┃DEFAULT_ACCESS_LEVEL
ONE OF
1{
unassociatedQueriesCategory: {
queryAction:enum
Allowed: PASS┃REDACT┃BLOCK
}
unsupportedQueriesCategory: {
queryAction:enum
Allowed: PASS┃REDACT┃BLOCK
}
exclusions: {
excludedQueryPatterns:
[{
pattern:string
}]
}
}
2{
defaultAccessLevel:enum
Allowed: NONE┃READ_ONLY┃READ_WRITE┃OWNER
}
}
dataStoreSettings: {
specific datastore settings
ONE OF
1{
Required on creation of MongoDB data store.
deploymentType:enum
Allowed: MONGODB┃MONGODB_SRV
originConnectivitySecured:boolean
awsServiceRoleArn:string
Optional for MONGODB_SRV deployment. The IAM role ARN assumed by the DAC and used for updating records in the hosted DNS zone.
awsHostedZoneId:string
Optional for MONGODB_SRV deployment. The Hosted AWS DNS Zone created for mapping MongoDB SRV records to Satori.
}
2{
Additional Settings for AI Datastore
modelHost:string
modelCategory:string
defaultModel:string
selectedModels:[string]
customModels:
[{
value:string
name:string
}]
securityPolicy: {
promptInjectionEnabled:boolean
piiProtectionMode:enum
Allowed: OPEN┃BLOCK┃OPTIONAL
maskingProfileId:string
rateLimit: {
numOfTokens:integer
numOfTimeUnit:integer
timeUnit:enum
Allowed: NANOSECONDS┃MICROSECONDS┃MILLISECONDS┃SECONDS┃MINUTES┃HOURS┃DAYS
}
}
}
3{
accountId:string
warehouseId:string
workspaceId:string
orchestrationSettings: {
enabled:boolean
userAttributeKeyName:string
}
credentials: {
type:enum
}
}
4{
workspaceId:string
orchestrationSettings: {
enabled:boolean
userAttributeKeyName:string
}
credentials: {
type:enum
}
}
}
customIngressPort:integer
satoriHostname:string
networkPolicy: {
name:string
allowedRules:
[{
ipRanges:
[{
ipRange:string
}]
note:string
}]
blockedRules:
[{
ipRanges:
[{
ipRange:string
}]
note:string
}]
}
satoriAuthSettings: {
enabled:boolean
credentials: {
type:enum
}
enablePersonalAccessToken:boolean
}
authorizationAnalyticsSettings: {
credentials: {
type:enum
}
autoScanEnabled:boolean
enabled:boolean
}
}
API Server
Authentication
Required (None Applied)
FILL EXAMPLE
CLEAR TRY
RESPONSE
200 400 401 404
Status OK, data store updated
EXAMPLE SCHEMA
application/json
Example 1 Example 2 Example 3 Example 4 Example 5 Example 6
Copy
{
"entityVersion": 0,
"createdAt": "1970-01-01T00:00:00.000Z",
"updatedAt": "1970-01-01T00:00:00.000Z",
"nameCreatedBy": "string",
"nameUpdatedBy": "string",
"parentId": "string",
"id": "string",
"name": "string",
"hostname": "string",
"satoriHostname": "string",
"dataAccessControllerId": "string",
"parent": "string",
"type": "string",
"projectIds":
[
"string"
],
"originPort": 0,
"hasIdp": false,
"demo": false,
"dataStoreSettings":
{
"deploymentType": "MONGODB",
"originConnectivitySecured": false,
"awsServiceRoleArn": "string",
"awsHostedZoneId": "string"
},
"regions":
"discoveryDetails":
{
"objectId": "string",
"externalId": "string",
"cloudAccountId": "string",
"cloudAccountProvider": "AWS",
"engineType": "string",
"cloudAccountName": "string",
"cluster": false
},
"environment": "string",
"identityProviderId": "string",
"customIngressPort": 0,
"baselineSecurityPolicy":
{
"unassociatedQueriesCategory":
{
"queryAction": "PASS"
},
"unsupportedQueriesCategory":
{
"queryAction": "PASS"
},
"exclusions":
{
"excludedIdentities":
[
{
"identityType":
"USER",
"identity":
"string"
}
],
"excludedQueryPatterns":
[
{
"pattern":
"string"
}
]
},
"type": "BASELINE_POLICY"
},
"networkPolicy":
{
"name": "string",
"allowedRules":
[
{
"ipRanges":
[
{
"ipRange":
"string"
}
],
"note":
"string"
}
],
"blockedRules":
[
{
"ipRanges":
[
{
"ipRange":
"string"
}
],
"note":
"string"
}
]
},
"satoriAuthSettings":
{
"enabled": false,
"credentials":
{
"hasPassword": false,
"type": "RSA_KEY_PAIR"
},
"enablePersonalAccessToken": false
},
"authorizationAnalyticsSettings":
{
"credentials":
{
"type": "SNOWFLAKE"
},
"autoScanEnabled": false,
"enabled": false
},
"sandboxEnvironment":
{
"users":
[
{
"username":
"string",
"password":
"string"
}
]
},
"enableProxy": false
}
Copy
{
"entityVersion": 0,
"createdAt": "1970-01-01T00:00:00.000Z",
"updatedAt": "1970-01-01T00:00:00.000Z",
"nameCreatedBy": "string",
"nameUpdatedBy": "string",
"parentId": "string",
"id": "string",
"name": "string",
"hostname": "string",
"satoriHostname": "string",
"dataAccessControllerId": "string",
"parent": "string",
"type": "string",
"projectIds":
[
"string"
],
"originPort": 0,
"hasIdp": false,
"demo": false,
"dataStoreSettings":
{
"deploymentType": "MONGODB",
"originConnectivitySecured": false,
"awsServiceRoleArn": "string",
"awsHostedZoneId": "string"
},
"regions":
"discoveryDetails":
{
"objectId": "string",
"externalId": "string",
"cloudAccountId": "string",
"cloudAccountProvider": "AWS",
"engineType": "string",
"cloudAccountName": "string",
"cluster": false
},
"environment": "string",
"identityProviderId": "string",
"customIngressPort": 0,
"baselineSecurityPolicy":
{
"defaultAccessLevel": "NONE",
"type": "BASELINE_POLICY"
},
"networkPolicy":
{
"name": "string",
"allowedRules":
[
{
"ipRanges":
[
{
"ipRange":
"string"
}
],
"note":
"string"
}
],
"blockedRules":
[
{
"ipRanges":
[
{
"ipRange":
"string"
}
],
"note":
"string"
}
]
},
"satoriAuthSettings":
{
"enabled": false,
"credentials":
{
"hasPassword": false,
"type": "RSA_KEY_PAIR"
},
"enablePersonalAccessToken": false
},
"authorizationAnalyticsSettings":
{
"credentials":
{
"type": "SNOWFLAKE"
},
"autoScanEnabled": false,
"enabled": false
},
"sandboxEnvironment":
{
"users":
[
{
"username":
"string",
"password":
"string"
}
]
},
"enableProxy": false
}
Copy
{
"entityVersion": 0,
"createdAt": "1970-01-01T00:00:00.000Z",
"updatedAt": "1970-01-01T00:00:00.000Z",
"nameCreatedBy": "string",
"nameUpdatedBy": "string",
"parentId": "string",
"id": "string",
"name": "string",
"hostname": "string",
"satoriHostname": "string",
"dataAccessControllerId": "string",
"parent": "string",
"type": "string",
"projectIds":
[
"string"
],
"originPort": 0,
"hasIdp": false,
"demo": false,
"dataStoreSettings":
{
"accountId": "string",
"warehouseId": "string",
"workspaceId": "string",
"orchestrationSettings":
{
"enabled": false,
"userAttributeKeyName": "string"
},
"credentials":
{
"hasPassword": false,
"type": "RSA_KEY_PAIR"
}
},
"regions":
"discoveryDetails":
{
"objectId": "string",
"externalId": "string",
"cloudAccountId": "string",
"cloudAccountProvider": "AWS",
"engineType": "string",
"cloudAccountName": "string",
"cluster": false
},
"environment": "string",
"identityProviderId": "string",
"customIngressPort": 0,
"baselineSecurityPolicy":
{
"unassociatedQueriesCategory":
{
"queryAction": "PASS"
},
"unsupportedQueriesCategory":
{
"queryAction": "PASS"
},
"exclusions":
{
"excludedIdentities":
[
{
"identityType":
"USER",
"identity":
"string"
}
],
"excludedQueryPatterns":
[
{
"pattern":
"string"
}
]
},
"type": "BASELINE_POLICY"
},
"networkPolicy":
{
"name": "string",
"allowedRules":
[
{
"ipRanges":
[
{
"ipRange":
"string"
}
],
"note":
"string"
}
],
"blockedRules":
[
{
"ipRanges":
[
{
"ipRange":
"string"
}
],
"note":
"string"
}
]
},
"satoriAuthSettings":
{
"enabled": false,
"credentials":
{
"hasPassword": false,
"type": "RSA_KEY_PAIR"
},
"enablePersonalAccessToken": false
},
"authorizationAnalyticsSettings":
{
"credentials":
{
"type": "SNOWFLAKE"
},
"autoScanEnabled": false,
"enabled": false
},
"sandboxEnvironment":
{
"users":
[
{
"username":
"string",
"password":
"string"
}
]
},
"enableProxy": false
}
Copy
{
"entityVersion": 0,
"createdAt": "1970-01-01T00:00:00.000Z",
"updatedAt": "1970-01-01T00:00:00.000Z",
"nameCreatedBy": "string",
"nameUpdatedBy": "string",
"parentId": "string",
"id": "string",
"name": "string",
"hostname": "string",
"satoriHostname": "string",
"dataAccessControllerId": "string",
"parent": "string",
"type": "string",
"projectIds":
[
"string"
],
"originPort": 0,
"hasIdp": false,
"demo": false,
"dataStoreSettings":
{
"accountId": "string",
"warehouseId": "string",
"workspaceId": "string",
"orchestrationSettings":
{
"enabled": false,
"userAttributeKeyName": "string"
},
"credentials":
{
"hasPassword": false,
"type": "RSA_KEY_PAIR"
}
},
"regions":
"discoveryDetails":
{
"objectId": "string",
"externalId": "string",
"cloudAccountId": "string",
"cloudAccountProvider": "AWS",
"engineType": "string",
"cloudAccountName": "string",
"cluster": false
},
"environment": "string",
"identityProviderId": "string",
"customIngressPort": 0,
"baselineSecurityPolicy":
{
"defaultAccessLevel": "NONE",
"type": "BASELINE_POLICY"
},
"networkPolicy":
{
"name": "string",
"allowedRules":
[
{
"ipRanges":
[
{
"ipRange":
"string"
}
],
"note":
"string"
}
],
"blockedRules":
[
{
"ipRanges":
[
{
"ipRange":
"string"
}
],
"note":
"string"
}
]
},
"satoriAuthSettings":
{
"enabled": false,
"credentials":
{
"hasPassword": false,
"type": "RSA_KEY_PAIR"
},
"enablePersonalAccessToken": false
},
"authorizationAnalyticsSettings":
{
"credentials":
{
"type": "SNOWFLAKE"
},
"autoScanEnabled": false,
"enabled": false
},
"sandboxEnvironment":
{
"users":
[
{
"username":
"string",
"password":
"string"
}
]
},
"enableProxy": false
}
Copy
{
"entityVersion": 0,
"createdAt": "1970-01-01T00:00:00.000Z",
"updatedAt": "1970-01-01T00:00:00.000Z",
"nameCreatedBy": "string",
"nameUpdatedBy": "string",
"parentId": "string",
"id": "string",
"name": "string",
"hostname": "string",
"satoriHostname": "string",
"dataAccessControllerId": "string",
"parent": "string",
"type": "string",
"projectIds":
[
"string"
],
"originPort": 0,
"hasIdp": false,
"demo": false,
"dataStoreSettings":
{
"workspaceId": "string",
"orchestrationSettings":
{
"enabled": false,
"userAttributeKeyName": "string"
},
"credentials":
{
"hasPassword": false,
"type": "RSA_KEY_PAIR"
}
},
"regions":
"discoveryDetails":
{
"objectId": "string",
"externalId": "string",
"cloudAccountId": "string",
"cloudAccountProvider": "AWS",
"engineType": "string",
"cloudAccountName": "string",
"cluster": false
},
"environment": "string",
"identityProviderId": "string",
"customIngressPort": 0,
"baselineSecurityPolicy":
{
"unassociatedQueriesCategory":
{
"queryAction": "PASS"
},
"unsupportedQueriesCategory":
{
"queryAction": "PASS"
},
"exclusions":
{
"excludedIdentities":
[
{
"identityType":
"USER",
"identity":
"string"
}
],
"excludedQueryPatterns":
[
{
"pattern":
"string"
}
]
},
"type": "BASELINE_POLICY"
},
"networkPolicy":
{
"name": "string",
"allowedRules":
[
{
"ipRanges":
[
{
"ipRange":
"string"
}
],
"note":
"string"
}
],
"blockedRules":
[
{
"ipRanges":
[
{
"ipRange":
"string"
}
],
"note":
"string"
}
]
},
"satoriAuthSettings":
{
"enabled": false,
"credentials":
{
"hasPassword": false,
"type": "RSA_KEY_PAIR"
},
"enablePersonalAccessToken": false
},
"authorizationAnalyticsSettings":
{
"credentials":
{
"type": "SNOWFLAKE"
},
"autoScanEnabled": false,
"enabled": false
},
"sandboxEnvironment":
{
"users":
[
{
"username":
"string",
"password":
"string"
}
]
},
"enableProxy": false
}
Copy
{
"entityVersion": 0,
"createdAt": "1970-01-01T00:00:00.000Z",
"updatedAt": "1970-01-01T00:00:00.000Z",
"nameCreatedBy": "string",
"nameUpdatedBy": "string",
"parentId": "string",
"id": "string",
"name": "string",
"hostname": "string",
"satoriHostname": "string",
"dataAccessControllerId": "string",
"parent": "string",
"type": "string",
"projectIds":
[
"string"
],
"originPort": 0,
"hasIdp": false,
"demo": false,
"dataStoreSettings":
{
"workspaceId": "string",
"orchestrationSettings":
{
"enabled": false,
"userAttributeKeyName": "string"
},
"credentials":
{
"hasPassword": false,
"type": "RSA_KEY_PAIR"
}
},
"regions":
"discoveryDetails":
{
"objectId": "string",
"externalId": "string",
"cloudAccountId": "string",
"cloudAccountProvider": "AWS",
"engineType": "string",
"cloudAccountName": "string",
"cluster": false
},
"environment": "string",
"identityProviderId": "string",
"customIngressPort": 0,
"baselineSecurityPolicy":
{
"defaultAccessLevel": "NONE",
"type": "BASELINE_POLICY"
},
"networkPolicy":
{
"name": "string",
"allowedRules":
[
{
"ipRanges":
[
{
"ipRange":
"string"
}
],
"note":
"string"
}
],
"blockedRules":
[
{
"ipRanges":
[
{
"ipRange":
"string"
}
],
"note":
"string"
}
]
},
"satoriAuthSettings":
{
"enabled": false,
"credentials":
{
"hasPassword": false,
"type": "RSA_KEY_PAIR"
},
"enablePersonalAccessToken": false
},
"authorizationAnalyticsSettings":
{
"credentials":
{
"type": "SNOWFLAKE"
},
"autoScanEnabled": false,
"enabled": false
},
"sandboxEnvironment":
{
"users":
[
{
"username":
"string",
"password":
"string"
}
]
},
"enableProxy": false
}
Bad request
Invalid Authorization
Provided data store or account not found
Delete a Data Store
delete/api/v1/datastore/{id}
This HTTP DELETE method is used to remove an existing data store identified by the ID.
This API call permanently deletes the data store and all its associated data and configurations.
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
PATH PARAMETERS
| *id string |
||
API Server
Authentication
Required (None Applied)
FILL EXAMPLE
CLEAR TRY
RESPONSE
204 400 401 404
Status OK, data store deleted
Bad request
Invalid Authorization
Provided data store not found
Generate a Custom Ingress Port
get/api/v1/datastore/{id}/generate-custom-ingress-port
This HTTP GET method is used to generate or retrieve a custom ingress port for a specific data store.
This API call provides a port that can be used for accessing or routing traffic to the data store, typically for custom networking configurations or specific use cases.
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
PATH PARAMETERS
| *id string |
||
API Server
Authentication
Required (None Applied)
FILL EXAMPLE
CLEAR TRY
RESPONSE
200 400 401 404
Status OK, port generated
EXAMPLE SCHEMA
application/json
Example 1 Example 2 Example 3 Example 4 Example 5 Example 6
Copy
{
"entityVersion": 0,
"createdAt": "1970-01-01T00:00:00.000Z",
"updatedAt": "1970-01-01T00:00:00.000Z",
"nameCreatedBy": "string",
"nameUpdatedBy": "string",
"parentId": "string",
"id": "string",
"name": "string",
"hostname": "string",
"satoriHostname": "string",
"dataAccessControllerId": "string",
"parent": "string",
"type": "string",
"projectIds":
[
"string"
],
"originPort": 0,
"hasIdp": false,
"demo": false,
"dataStoreSettings":
{
"deploymentType": "MONGODB",
"originConnectivitySecured": false,
"awsServiceRoleArn": "string",
"awsHostedZoneId": "string"
},
"regions":
"discoveryDetails":
{
"objectId": "string",
"externalId": "string",
"cloudAccountId": "string",
"cloudAccountProvider": "AWS",
"engineType": "string",
"cloudAccountName": "string",
"cluster": false
},
"environment": "string",
"identityProviderId": "string",
"customIngressPort": 0,
"baselineSecurityPolicy":
{
"unassociatedQueriesCategory":
{
"queryAction": "PASS"
},
"unsupportedQueriesCategory":
{
"queryAction": "PASS"
},
"exclusions":
{
"excludedIdentities":
[
{
"identityType":
"USER",
"identity":
"string"
}
],
"excludedQueryPatterns":
[
{
"pattern":
"string"
}
]
},
"type": "BASELINE_POLICY"
},
"networkPolicy":
{
"name": "string",
"allowedRules":
[
{
"ipRanges":
[
{
"ipRange":
"string"
}
],
"note":
"string"
}
],
"blockedRules":
[
{
"ipRanges":
[
{
"ipRange":
"string"
}
],
"note":
"string"
}
]
},
"satoriAuthSettings":
{
"enabled": false,
"credentials":
{
"hasPassword": false,
"type": "RSA_KEY_PAIR"
},
"enablePersonalAccessToken": false
},
"authorizationAnalyticsSettings":
{
"credentials":
{
"type": "SNOWFLAKE"
},
"autoScanEnabled": false,
"enabled": false
},
"sandboxEnvironment":
{
"users":
[
{
"username":
"string",
"password":
"string"
}
]
},
"enableProxy": false
}
Copy
{
"entityVersion": 0,
"createdAt": "1970-01-01T00:00:00.000Z",
"updatedAt": "1970-01-01T00:00:00.000Z",
"nameCreatedBy": "string",
"nameUpdatedBy": "string",
"parentId": "string",
"id": "string",
"name": "string",
"hostname": "string",
"satoriHostname": "string",
"dataAccessControllerId": "string",
"parent": "string",
"type": "string",
"projectIds":
[
"string"
],
"originPort": 0,
"hasIdp": false,
"demo": false,
"dataStoreSettings":
{
"deploymentType": "MONGODB",
"originConnectivitySecured": false,
"awsServiceRoleArn": "string",
"awsHostedZoneId": "string"
},
"regions":
"discoveryDetails":
{
"objectId": "string",
"externalId": "string",
"cloudAccountId": "string",
"cloudAccountProvider": "AWS",
"engineType": "string",
"cloudAccountName": "string",
"cluster": false
},
"environment": "string",
"identityProviderId": "string",
"customIngressPort": 0,
"baselineSecurityPolicy":
{
"defaultAccessLevel": "NONE",
"type": "BASELINE_POLICY"
},
"networkPolicy":
{
"name": "string",
"allowedRules":
[
{
"ipRanges":
[
{
"ipRange":
"string"
}
],
"note":
"string"
}
],
"blockedRules":
[
{
"ipRanges":
[
{
"ipRange":
"string"
}
],
"note":
"string"
}
]
},
"satoriAuthSettings":
{
"enabled": false,
"credentials":
{
"hasPassword": false,
"type": "RSA_KEY_PAIR"
},
"enablePersonalAccessToken": false
},
"authorizationAnalyticsSettings":
{
"credentials":
{
"type": "SNOWFLAKE"
},
"autoScanEnabled": false,
"enabled": false
},
"sandboxEnvironment":
{
"users":
[
{
"username":
"string",
"password":
"string"
}
]
},
"enableProxy": false
}
Copy
{
"entityVersion": 0,
"createdAt": "1970-01-01T00:00:00.000Z",
"updatedAt": "1970-01-01T00:00:00.000Z",
"nameCreatedBy": "string",
"nameUpdatedBy": "string",
"parentId": "string",
"id": "string",
"name": "string",
"hostname": "string",
"satoriHostname": "string",
"dataAccessControllerId": "string",
"parent": "string",
"type": "string",
"projectIds":
[
"string"
],
"originPort": 0,
"hasIdp": false,
"demo": false,
"dataStoreSettings":
{
"accountId": "string",
"warehouseId": "string",
"workspaceId": "string",
"orchestrationSettings":
{
"enabled": false,
"userAttributeKeyName": "string"
},
"credentials":
{
"hasPassword": false,
"type": "RSA_KEY_PAIR"
}
},
"regions":
"discoveryDetails":
{
"objectId": "string",
"externalId": "string",
"cloudAccountId": "string",
"cloudAccountProvider": "AWS",
"engineType": "string",
"cloudAccountName": "string",
"cluster": false
},
"environment": "string",
"identityProviderId": "string",
"customIngressPort": 0,
"baselineSecurityPolicy":
{
"unassociatedQueriesCategory":
{
"queryAction": "PASS"
},
"unsupportedQueriesCategory":
{
"queryAction": "PASS"
},
"exclusions":
{
"excludedIdentities":
[
{
"identityType":
"USER",
"identity":
"string"
}
],
"excludedQueryPatterns":
[
{
"pattern":
"string"
}
]
},
"type": "BASELINE_POLICY"
},
"networkPolicy":
{
"name": "string",
"allowedRules":
[
{
"ipRanges":
[
{
"ipRange":
"string"
}
],
"note":
"string"
}
],
"blockedRules":
[
{
"ipRanges":
[
{
"ipRange":
"string"
}
],
"note":
"string"
}
]
},
"satoriAuthSettings":
{
"enabled": false,
"credentials":
{
"hasPassword": false,
"type": "RSA_KEY_PAIR"
},
"enablePersonalAccessToken": false
},
"authorizationAnalyticsSettings":
{
"credentials":
{
"type": "SNOWFLAKE"
},
"autoScanEnabled": false,
"enabled": false
},
"sandboxEnvironment":
{
"users":
[
{
"username":
"string",
"password":
"string"
}
]
},
"enableProxy": false
}
Copy
{
"entityVersion": 0,
"createdAt": "1970-01-01T00:00:00.000Z",
"updatedAt": "1970-01-01T00:00:00.000Z",
"nameCreatedBy": "string",
"nameUpdatedBy": "string",
"parentId": "string",
"id": "string",
"name": "string",
"hostname": "string",
"satoriHostname": "string",
"dataAccessControllerId": "string",
"parent": "string",
"type": "string",
"projectIds":
[
"string"
],
"originPort": 0,
"hasIdp": false,
"demo": false,
"dataStoreSettings":
{
"accountId": "string",
"warehouseId": "string",
"workspaceId": "string",
"orchestrationSettings":
{
"enabled": false,
"userAttributeKeyName": "string"
},
"credentials":
{
"hasPassword": false,
"type": "RSA_KEY_PAIR"
}
},
"regions":
"discoveryDetails":
{
"objectId": "string",
"externalId": "string",
"cloudAccountId": "string",
"cloudAccountProvider": "AWS",
"engineType": "string",
"cloudAccountName": "string",
"cluster": false
},
"environment": "string",
"identityProviderId": "string",
"customIngressPort": 0,
"baselineSecurityPolicy":
{
"defaultAccessLevel": "NONE",
"type": "BASELINE_POLICY"
},
"networkPolicy":
{
"name": "string",
"allowedRules":
[
{
"ipRanges":
[
{
"ipRange":
"string"
}
],
"note":
"string"
}
],
"blockedRules":
[
{
"ipRanges":
[
{
"ipRange":
"string"
}
],
"note":
"string"
}
]
},
"satoriAuthSettings":
{
"enabled": false,
"credentials":
{
"hasPassword": false,
"type": "RSA_KEY_PAIR"
},
"enablePersonalAccessToken": false
},
"authorizationAnalyticsSettings":
{
"credentials":
{
"type": "SNOWFLAKE"
},
"autoScanEnabled": false,
"enabled": false
},
"sandboxEnvironment":
{
"users":
[
{
"username":
"string",
"password":
"string"
}
]
},
"enableProxy": false
}
Copy
{
"entityVersion": 0,
"createdAt": "1970-01-01T00:00:00.000Z",
"updatedAt": "1970-01-01T00:00:00.000Z",
"nameCreatedBy": "string",
"nameUpdatedBy": "string",
"parentId": "string",
"id": "string",
"name": "string",
"hostname": "string",
"satoriHostname": "string",
"dataAccessControllerId": "string",
"parent": "string",
"type": "string",
"projectIds":
[
"string"
],
"originPort": 0,
"hasIdp": false,
"demo": false,
"dataStoreSettings":
{
"workspaceId": "string",
"orchestrationSettings":
{
"enabled": false,
"userAttributeKeyName": "string"
},
"credentials":
{
"hasPassword": false,
"type": "RSA_KEY_PAIR"
}
},
"regions":
"discoveryDetails":
{
"objectId": "string",
"externalId": "string",
"cloudAccountId": "string",
"cloudAccountProvider": "AWS",
"engineType": "string",
"cloudAccountName": "string",
"cluster": false
},
"environment": "string",
"identityProviderId": "string",
"customIngressPort": 0,
"baselineSecurityPolicy":
{
"unassociatedQueriesCategory":
{
"queryAction": "PASS"
},
"unsupportedQueriesCategory":
{
"queryAction": "PASS"
},
"exclusions":
{
"excludedIdentities":
[
{
"identityType":
"USER",
"identity":
"string"
}
],
"excludedQueryPatterns":
[
{
"pattern":
"string"
}
]
},
"type": "BASELINE_POLICY"
},
"networkPolicy":
{
"name": "string",
"allowedRules":
[
{
"ipRanges":
[
{
"ipRange":
"string"
}
],
"note":
"string"
}
],
"blockedRules":
[
{
"ipRanges":
[
{
"ipRange":
"string"
}
],
"note":
"string"
}
]
},
"satoriAuthSettings":
{
"enabled": false,
"credentials":
{
"hasPassword": false,
"type": "RSA_KEY_PAIR"
},
"enablePersonalAccessToken": false
},
"authorizationAnalyticsSettings":
{
"credentials":
{
"type": "SNOWFLAKE"
},
"autoScanEnabled": false,
"enabled": false
},
"sandboxEnvironment":
{
"users":
[
{
"username":
"string",
"password":
"string"
}
]
},
"enableProxy": false
}
Copy
{
"entityVersion": 0,
"createdAt": "1970-01-01T00:00:00.000Z",
"updatedAt": "1970-01-01T00:00:00.000Z",
"nameCreatedBy": "string",
"nameUpdatedBy": "string",
"parentId": "string",
"id": "string",
"name": "string",
"hostname": "string",
"satoriHostname": "string",
"dataAccessControllerId": "string",
"parent": "string",
"type": "string",
"projectIds":
[
"string"
],
"originPort": 0,
"hasIdp": false,
"demo": false,
"dataStoreSettings":
{
"workspaceId": "string",
"orchestrationSettings":
{
"enabled": false,
"userAttributeKeyName": "string"
},
"credentials":
{
"hasPassword": false,
"type": "RSA_KEY_PAIR"
}
},
"regions":
"discoveryDetails":
{
"objectId": "string",
"externalId": "string",
"cloudAccountId": "string",
"cloudAccountProvider": "AWS",
"engineType": "string",
"cloudAccountName": "string",
"cluster": false
},
"environment": "string",
"identityProviderId": "string",
"customIngressPort": 0,
"baselineSecurityPolicy":
{
"defaultAccessLevel": "NONE",
"type": "BASELINE_POLICY"
},
"networkPolicy":
{
"name": "string",
"allowedRules":
[
{
"ipRanges":
[
{
"ipRange":
"string"
}
],
"note":
"string"
}
],
"blockedRules":
[
{
"ipRanges":
[
{
"ipRange":
"string"
}
],
"note":
"string"
}
]
},
"satoriAuthSettings":
{
"enabled": false,
"credentials":
{
"hasPassword": false,
"type": "RSA_KEY_PAIR"
},
"enablePersonalAccessToken": false
},
"authorizationAnalyticsSettings":
{
"credentials":
{
"type": "SNOWFLAKE"
},
"autoScanEnabled": false,
"enabled": false
},
"sandboxEnvironment":
{
"users":
[
{
"username":
"string",
"password":
"string"
}
]
},
"enableProxy": false
}
Bad request
Invalid Authorization
Provided data store or account not found
Update Data Store Identity Provider
put/api/v1/datastore/{id}/identity-provider
This HTTP PUT method is used to update or configure the identity provider settings for a specific data store.
This API call allows you to modify the identity provider that manages authentication and access control for the data store.
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
PATH PARAMETERS
| *id string |
||
QUERY-STRING PARAMETERS
| identityProviderId string |
||
API Server
Authentication
Required (None Applied)
FILL EXAMPLE
CLEAR TRY
RESPONSE
200 400 401 404
Status OK
EXAMPLE SCHEMA
application/json
Example 1 Example 2 Example 3 Example 4 Example 5 Example 6
Copy
{
"entityVersion": 0,
"createdAt": "1970-01-01T00:00:00.000Z",
"updatedAt": "1970-01-01T00:00:00.000Z",
"nameCreatedBy": "string",
"nameUpdatedBy": "string",
"parentId": "string",
"id": "string",
"name": "string",
"hostname": "string",
"satoriHostname": "string",
"dataAccessControllerId": "string",
"parent": "string",
"type": "string",
"projectIds":
[
"string"
],
"originPort": 0,
"hasIdp": false,
"demo": false,
"dataStoreSettings":
{
"deploymentType": "MONGODB",
"originConnectivitySecured": false,
"awsServiceRoleArn": "string",
"awsHostedZoneId": "string"
},
"regions":
"discoveryDetails":
{
"objectId": "string",
"externalId": "string",
"cloudAccountId": "string",
"cloudAccountProvider": "AWS",
"engineType": "string",
"cloudAccountName": "string",
"cluster": false
},
"environment": "string",
"identityProviderId": "string",
"customIngressPort": 0,
"baselineSecurityPolicy":
{
"unassociatedQueriesCategory":
{
"queryAction": "PASS"
},
"unsupportedQueriesCategory":
{
"queryAction": "PASS"
},
"exclusions":
{
"excludedIdentities":
[
{
"identityType":
"USER",
"identity":
"string"
}
],
"excludedQueryPatterns":
[
{
"pattern":
"string"
}
]
},
"type": "BASELINE_POLICY"
},
"networkPolicy":
{
"name": "string",
"allowedRules":
[
{
"ipRanges":
[
{
"ipRange":
"string"
}
],
"note":
"string"
}
],
"blockedRules":
[
{
"ipRanges":
[
{
"ipRange":
"string"
}
],
"note":
"string"
}
]
},
"satoriAuthSettings":
{
"enabled": false,
"credentials":
{
"hasPassword": false,
"type": "RSA_KEY_PAIR"
},
"enablePersonalAccessToken": false
},
"authorizationAnalyticsSettings":
{
"credentials":
{
"type": "SNOWFLAKE"
},
"autoScanEnabled": false,
"enabled": false
},
"sandboxEnvironment":
{
"users":
[
{
"username":
"string",
"password":
"string"
}
]
},
"enableProxy": false
}
Copy
{
"entityVersion": 0,
"createdAt": "1970-01-01T00:00:00.000Z",
"updatedAt": "1970-01-01T00:00:00.000Z",
"nameCreatedBy": "string",
"nameUpdatedBy": "string",
"parentId": "string",
"id": "string",
"name": "string",
"hostname": "string",
"satoriHostname": "string",
"dataAccessControllerId": "string",
"parent": "string",
"type": "string",
"projectIds":
[
"string"
],
"originPort": 0,
"hasIdp": false,
"demo": false,
"dataStoreSettings":
{
"deploymentType": "MONGODB",
"originConnectivitySecured": false,
"awsServiceRoleArn": "string",
"awsHostedZoneId": "string"
},
"regions":
"discoveryDetails":
{
"objectId": "string",
"externalId": "string",
"cloudAccountId": "string",
"cloudAccountProvider": "AWS",
"engineType": "string",
"cloudAccountName": "string",
"cluster": false
},
"environment": "string",
"identityProviderId": "string",
"customIngressPort": 0,
"baselineSecurityPolicy":
{
"defaultAccessLevel": "NONE",
"type": "BASELINE_POLICY"
},
"networkPolicy":
{
"name": "string",
"allowedRules":
[
{
"ipRanges":
[
{
"ipRange":
"string"
}
],
"note":
"string"
}
],
"blockedRules":
[
{
"ipRanges":
[
{
"ipRange":
"string"
}
],
"note":
"string"
}
]
},
"satoriAuthSettings":
{
"enabled": false,
"credentials":
{
"hasPassword": false,
"type": "RSA_KEY_PAIR"
},
"enablePersonalAccessToken": false
},
"authorizationAnalyticsSettings":
{
"credentials":
{
"type": "SNOWFLAKE"
},
"autoScanEnabled": false,
"enabled": false
},
"sandboxEnvironment":
{
"users":
[
{
"username":
"string",
"password":
"string"
}
]
},
"enableProxy": false
}
Copy
{
"entityVersion": 0,
"createdAt": "1970-01-01T00:00:00.000Z",
"updatedAt": "1970-01-01T00:00:00.000Z",
"nameCreatedBy": "string",
"nameUpdatedBy": "string",
"parentId": "string",
"id": "string",
"name": "string",
"hostname": "string",
"satoriHostname": "string",
"dataAccessControllerId": "string",
"parent": "string",
"type": "string",
"projectIds":
[
"string"
],
"originPort": 0,
"hasIdp": false,
"demo": false,
"dataStoreSettings":
{
"accountId": "string",
"warehouseId": "string",
"workspaceId": "string",
"orchestrationSettings":
{
"enabled": false,
"userAttributeKeyName": "string"
},
"credentials":
{
"hasPassword": false,
"type": "RSA_KEY_PAIR"
}
},
"regions":
"discoveryDetails":
{
"objectId": "string",
"externalId": "string",
"cloudAccountId": "string",
"cloudAccountProvider": "AWS",
"engineType": "string",
"cloudAccountName": "string",
"cluster": false
},
"environment": "string",
"identityProviderId": "string",
"customIngressPort": 0,
"baselineSecurityPolicy":
{
"unassociatedQueriesCategory":
{
"queryAction": "PASS"
},
"unsupportedQueriesCategory":
{
"queryAction": "PASS"
},
"exclusions":
{
"excludedIdentities":
[
{
"identityType":
"USER",
"identity":
"string"
}
],
"excludedQueryPatterns":
[
{
"pattern":
"string"
}
]
},
"type": "BASELINE_POLICY"
},
"networkPolicy":
{
"name": "string",
"allowedRules":
[
{
"ipRanges":
[
{
"ipRange":
"string"
}
],
"note":
"string"
}
],
"blockedRules":
[
{
"ipRanges":
[
{
"ipRange":
"string"
}
],
"note":
"string"
}
]
},
"satoriAuthSettings":
{
"enabled": false,
"credentials":
{
"hasPassword": false,
"type": "RSA_KEY_PAIR"
},
"enablePersonalAccessToken": false
},
"authorizationAnalyticsSettings":
{
"credentials":
{
"type": "SNOWFLAKE"
},
"autoScanEnabled": false,
"enabled": false
},
"sandboxEnvironment":
{
"users":
[
{
"username":
"string",
"password":
"string"
}
]
},
"enableProxy": false
}
Copy
{
"entityVersion": 0,
"createdAt": "1970-01-01T00:00:00.000Z",
"updatedAt": "1970-01-01T00:00:00.000Z",
"nameCreatedBy": "string",
"nameUpdatedBy": "string",
"parentId": "string",
"id": "string",
"name": "string",
"hostname": "string",
"satoriHostname": "string",
"dataAccessControllerId": "string",
"parent": "string",
"type": "string",
"projectIds":
[
"string"
],
"originPort": 0,
"hasIdp": false,
"demo": false,
"dataStoreSettings":
{
"accountId": "string",
"warehouseId": "string",
"workspaceId": "string",
"orchestrationSettings":
{
"enabled": false,
"userAttributeKeyName": "string"
},
"credentials":
{
"hasPassword": false,
"type": "RSA_KEY_PAIR"
}
},
"regions":
"discoveryDetails":
{
"objectId": "string",
"externalId": "string",
"cloudAccountId": "string",
"cloudAccountProvider": "AWS",
"engineType": "string",
"cloudAccountName": "string",
"cluster": false
},
"environment": "string",
"identityProviderId": "string",
"customIngressPort": 0,
"baselineSecurityPolicy":
{
"defaultAccessLevel": "NONE",
"type": "BASELINE_POLICY"
},
"networkPolicy":
{
"name": "string",
"allowedRules":
[
{
"ipRanges":
[
{
"ipRange":
"string"
}
],
"note":
"string"
}
],
"blockedRules":
[
{
"ipRanges":
[
{
"ipRange":
"string"
}
],
"note":
"string"
}
]
},
"satoriAuthSettings":
{
"enabled": false,
"credentials":
{
"hasPassword": false,
"type": "RSA_KEY_PAIR"
},
"enablePersonalAccessToken": false
},
"authorizationAnalyticsSettings":
{
"credentials":
{
"type": "SNOWFLAKE"
},
"autoScanEnabled": false,
"enabled": false
},
"sandboxEnvironment":
{
"users":
[
{
"username":
"string",
"password":
"string"
}
]
},
"enableProxy": false
}
Copy
{
"entityVersion": 0,
"createdAt": "1970-01-01T00:00:00.000Z",
"updatedAt": "1970-01-01T00:00:00.000Z",
"nameCreatedBy": "string",
"nameUpdatedBy": "string",
"parentId": "string",
"id": "string",
"name": "string",
"hostname": "string",
"satoriHostname": "string",
"dataAccessControllerId": "string",
"parent": "string",
"type": "string",
"projectIds":
[
"string"
],
"originPort": 0,
"hasIdp": false,
"demo": false,
"dataStoreSettings":
{
"workspaceId": "string",
"orchestrationSettings":
{
"enabled": false,
"userAttributeKeyName": "string"
},
"credentials":
{
"hasPassword": false,
"type": "RSA_KEY_PAIR"
}
},
"regions":
"discoveryDetails":
{
"objectId": "string",
"externalId": "string",
"cloudAccountId": "string",
"cloudAccountProvider": "AWS",
"engineType": "string",
"cloudAccountName": "string",
"cluster": false
},
"environment": "string",
"identityProviderId": "string",
"customIngressPort": 0,
"baselineSecurityPolicy":
{
"unassociatedQueriesCategory":
{
"queryAction": "PASS"
},
"unsupportedQueriesCategory":
{
"queryAction": "PASS"
},
"exclusions":
{
"excludedIdentities":
[
{
"identityType":
"USER",
"identity":
"string"
}
],
"excludedQueryPatterns":
[
{
"pattern":
"string"
}
]
},
"type": "BASELINE_POLICY"
},
"networkPolicy":
{
"name": "string",
"allowedRules":
[
{
"ipRanges":
[
{
"ipRange":
"string"
}
],
"note":
"string"
}
],
"blockedRules":
[
{
"ipRanges":
[
{
"ipRange":
"string"
}
],
"note":
"string"
}
]
},
"satoriAuthSettings":
{
"enabled": false,
"credentials":
{
"hasPassword": false,
"type": "RSA_KEY_PAIR"
},
"enablePersonalAccessToken": false
},
"authorizationAnalyticsSettings":
{
"credentials":
{
"type": "SNOWFLAKE"
},
"autoScanEnabled": false,
"enabled": false
},
"sandboxEnvironment":
{
"users":
[
{
"username":
"string",
"password":
"string"
}
]
},
"enableProxy": false
}
Copy
{
"entityVersion": 0,
"createdAt": "1970-01-01T00:00:00.000Z",
"updatedAt": "1970-01-01T00:00:00.000Z",
"nameCreatedBy": "string",
"nameUpdatedBy": "string",
"parentId": "string",
"id": "string",
"name": "string",
"hostname": "string",
"satoriHostname": "string",
"dataAccessControllerId": "string",
"parent": "string",
"type": "string",
"projectIds":
[
"string"
],
"originPort": 0,
"hasIdp": false,
"demo": false,
"dataStoreSettings":
{
"workspaceId": "string",
"orchestrationSettings":
{
"enabled": false,
"userAttributeKeyName": "string"
},
"credentials":
{
"hasPassword": false,
"type": "RSA_KEY_PAIR"
}
},
"regions":
"discoveryDetails":
{
"objectId": "string",
"externalId": "string",
"cloudAccountId": "string",
"cloudAccountProvider": "AWS",
"engineType": "string",
"cloudAccountName": "string",
"cluster": false
},
"environment": "string",
"identityProviderId": "string",
"customIngressPort": 0,
"baselineSecurityPolicy":
{
"defaultAccessLevel": "NONE",
"type": "BASELINE_POLICY"
},
"networkPolicy":
{
"name": "string",
"allowedRules":
[
{
"ipRanges":
[
{
"ipRange":
"string"
}
],
"note":
"string"
}
],
"blockedRules":
[
{
"ipRanges":
[
{
"ipRange":
"string"
}
],
"note":
"string"
}
]
},
"satoriAuthSettings":
{
"enabled": false,
"credentials":
{
"hasPassword": false,
"type": "RSA_KEY_PAIR"
},
"enablePersonalAccessToken": false
},
"authorizationAnalyticsSettings":
{
"credentials":
{
"type": "SNOWFLAKE"
},
"autoScanEnabled": false,
"enabled": false
},
"sandboxEnvironment":
{
"users":
[
{
"username":
"string",
"password":
"string"
}
]
},
"enableProxy": false
}
Bad request
Invalid Authorization
Provided data store not found
Export Data
Export Data Inventory (Assets)
get/api/export/asset
The HTTP GET method exports all assets related to a specific account. The data inventory is exported in CSV format, with a maximum limit of 100,000 records.
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
QUERY-STRING PARAMETERS
| *accountId string |
Min 1 chars | |
| page int32 |
Default: 0 | |
| pageSize int32 |
Default: 5 | |
| orderBy array of string |
||
| orderDirection array of string |
||
| search string |
||
| dataStoreId array of string |
||
| datasetId array of string |
||
| locationPrefix string |
||
| tagsFilter array of string |
||
| categoriesFilter array of string |
||
| createdFrom int64 |
||
| createdTo int64 |
||
| updatedFrom int64 |
||
| updatedTo int64 |
||
| updatedByUser boolean |
||
| Indicator for filtering only location that were updated by a user. | ||
| locationType array of string |
Allowed: RELATIONAL_LOCATION┃ MYSQL_LOCATION┃ ATHENA_LOCATION┃ MONGO_LOCATION┃ S3_LOCATION┃ DATABRICKS_LOCATION┃ DATABRICKS_EXTERNAL_LOCATION┃ GRAPHQL_LOCATION┃ SNOWFLAKE_WAREHOUSE_LOCATION┃ ASSET_LOCATION |
|
| nextPageToken string |
||
| assetType array of string |
Allowed: TABLE┃ COLUMN┃ SEMANTIC_MODEL┃ REPORT┃ DASHBOARD┃ DATABASE┃ SCHEMA┃ JSON_PATH┃ WAREHOUSE┃ ENDPOINT┃ TYPE┃ FIELD┃ EXTERNAL_LOCATION┃ CATALOG┃ BUCKET┃ OBJECT┃ COLLECTION┃ VIEW┃ ACCOUNT_ROLE┃ SHARED_DB |
|
| parentId array of string |
||
Parent ID, see directChildren filter for parentId filter mode |
||
| directChildren boolean |
||
| When true, parentId filter refers only for direct children of the parent, otherwise all parent's assets sub-tree. Defaults to false. | ||
| tag array of string |
||
| Filter by classifier IDs, for example: 'tag=EMAIL' or 'tag=UUID' for custom classifiers | ||
| category array of string |
||
| Filter by category IDs, for example: 'category=pii' or 'category=UUID' for custom categories | ||
| dataStoreType array of string |
Allowed: SNOWFLAKE┃ REDSHIFT┃ BIGQUERY┃ POSTGRESQL┃ ATHENA┃ MSSQL┃ SYNAPSE┃ MYSQL┃ OCEANBASE┃ API_SERVER┃ MARIA_DB┃ COCKROACH_DB┃ OPENSEARCH┃ ELASTICSEARCH┃ GREENPLUM┃ S3┃ MONGO┃ DATABRICKS┃ FABRIC┃ AZURE_OPEN_AI┃ OPEN_AI┃ BEDROCK┃ ORACLE┃ DB2┃ DYNAMO_DB┃ DOCUMENT_DB┃ REDIS┃ MEMCACHED |
|
| fields array of string |
Allowed: dataStoreId┃ dataStore.type┃ dataStore.name┃ assetType┃ name┃ description┃ locationObject.fullLocation┃ tags┃ createdAt┃ updatedAt |
|
| Field names which will be returned as columns in the responded list |
API Server
Authentication
Required (None Applied)
FILL EXAMPLE
CLEAR TRY
RESPONSE
200 400 401
Status OK
Bad configuration request
Invalid Authorization
Export Data Access Request Overview
get/api/export/data-access-request-overview
The HTTP GET method exports the Data Access Request Overview in CSV format.
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
QUERY-STRING PARAMETERS
| *accountId string |
Min 1 chars | |
| page int32 |
Default: 0 | |
| pageSize int32 |
Default: 5 | |
| orderBy array of string |
||
| orderDirection array of string |
||
| search string |
||
| identity array of string |
||
| identityType array of string |
Allowed: USER┃ DB_USER┃ GROUP┃ IDP_GROUP┃ DATABRICKS_GROUP┃ DATABRICKS_SERVICE_PRINCIPAL┃ SNOWFLAKE_ROLE┃ SNOWFLAKE_ACCOUNT_NAME┃ SNOWFLAKE_DATABASE_ROLE┃ CEL┃ EVERYONE |
|
| accessLevel array of string |
||
| parent array of string |
||
| datasetId array of string |
||
| fields array of string |
Allowed: type┃ datasetId┃ dataset.id┃ dataset.name┃ identity.identityType┃ identity.identity┃ identity.displayName┃ accessLevel┃ timeLimit┃ unusedTimeLimit┃ securityPolicies.id┃ securityPolicies.name┃ maskingProfiles.id┃ maskingProfiles.name┃ approvers┃ requireApproverNote┃ createdAt┃ updatedAt┃ suspended |
|
| Field names which will be returned as columns in the responded list |
API Server
Authentication
Required (None Applied)
FILL EXAMPLE
CLEAR TRY
RESPONSE
200 400 401
Status OK
Bad configuration request
Invalid Authorization
Export Data Access Rule History
get/api/export/data-access-rule-history
The HTTP GET method exports the Data Access Rule History in CSV format.
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
QUERY-STRING PARAMETERS
| *accountId string |
Min 1 chars | |
| page int32 |
Default: 0 | |
| pageSize int32 |
Default: 5 | |
| orderBy array of string |
||
| orderDirection array of string |
||
| search string |
||
| nextPageToken string |
||
This parameter is used for iterate query result pages without re-run the query for each page. Initial query should contain this parameter (for example, set to empty for the first page), while all following queries should contain it. Each page result will contain the nextPageToken field with the value of the token for the next page. |
||
| from int64 |
||
| to int64 |
||
| performedBy array of string |
||
| performedBySystem boolean |
||
| Allows to include Account Activity records performed by System. | ||
| dataConsumers array of string |
||
| excludeSubActions array of string |
||
| fields array of string |
Allowed: timestamp┃ dataset.id┃ dataset.name┃ performByIdentity┃ end_user_identity┃ action_sub_type┃ system_note┃ user_note┃ access_approver_note |
|
| Field names which will be returned as columns in the responded list |
API Server
Authentication
Required (None Applied)
FILL EXAMPLE
CLEAR TRY
RESPONSE
200 400 401
Status OK
Bad configuration request
Invalid Authorization
Export Data Access Rules Overview
get/api/export/data-access-rule-overview
The HTTP GET method exports the Data Access Rules Overview in CSV format.
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
QUERY-STRING PARAMETERS
| *accountId string |
Min 1 chars | |
| page int32 |
Default: 0 | |
| pageSize int32 |
Default: 5 | |
| orderBy array of string |
||
| orderDirection array of string |
||
| search string |
||
| type array of string |
Allowed: INSTANT_ACCESS┃ SELF_SERVICE┃ ACCESS_REQUEST┃ INSTANT_ACCESS_REQUEST |
|
| identity array of string |
||
| identityType array of string |
Allowed: USER┃ DB_USER┃ GROUP┃ IDP_GROUP┃ DATABRICKS_GROUP┃ DATABRICKS_SERVICE_PRINCIPAL┃ SNOWFLAKE_ROLE┃ SNOWFLAKE_ACCOUNT_NAME┃ SNOWFLAKE_DATABASE_ROLE┃ CEL┃ EVERYONE |
|
| accessLevel array of string |
Allowed: READ_ONLY┃ READ_WRITE┃ OWNER |
|
| suspended boolean |
||
| parent array of string |
||
| datasetId array of string |
||
| fields array of string |
Allowed: type┃ datasetId┃ dataset.id┃ dataset.name┃ identity.identityType┃ identity.identity┃ identity.displayName┃ accessLevel┃ timeLimit┃ unusedTimeLimit┃ securityPolicies.id┃ securityPolicies.name┃ maskingProfiles.id┃ maskingProfiles.name┃ approvers┃ requireApproverNote┃ createdAt┃ updatedAt┃ message┃ purpose┃ suspended |
|
| Field names which will be returned as columns in the responded list |
API Server
Authentication
Required (None Applied)
FILL EXAMPLE
CLEAR TRY
RESPONSE
200 400 401
Status OK
Bad configuration request
Invalid Authorization
Export all Data Flows
get/api/export/data-flow
This HTTP GET method is used to export audit logs in CSV format.
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
QUERY-STRING PARAMETERS
| *accountId string |
Min 1 chars | |
| *from int64 |
||
| Start query time represented by milliseconds since Jan 1, 1970, 00:00:00.000 GMT Examples: 1625573940000 |
||
| *to int64 |
||
| End query time represented by milliseconds since Jan 1, 1970, 00:00:00.000 GMT Examples: 1625660399999 |
||
| orderBy array of string |
||
| orderDirection array of string |
||
| fields array of string |
Allowed: flow_timestamp┃ identity.name┃ data_store.id┃ data_store.name┃ data_store.type┃ datasets.name┃ datasets.id┃ tags.name┃ locations.length┃ locations.location┃ query.query_type┃ volume.value┃ records.value┃ query.original_query┃ tool┃ incident_ids┃ actions.policy_names┃ result_set.column_name┃ actions.type┃ identity.authentication.method┃ query.db_statement_type┃ perf_stats.processing_time┃ perf_stats.ds_response_time |
|
| Field names which will be returned as columns in the responded list | ||
| dataStoreIdsFilter array of string |
||
| dataStoreTypes array of string |
||
| userNamesFilter array of string |
||
| authMethodFilter array of string |
||
| toolsFilter array of string |
||
| toolTypesFilter array of string |
||
| toolDriversFilter array of string |
||
| locationsFilter array of string |
||
| tagsFilter array of string |
||
| incidentIdsFilter array of string |
||
| policyNamesFilter array of string |
||
| countriesFilter array of string |
||
| citiesFilter array of string |
||
| ipsFilter array of string |
||
| actionTypesFilter array of string |
Allowed: ACTION_NONE┃ ACTION_ALERT┃ ACTION_BLOCK┃ ACTION_MASK┃ ACTION_REQUEST_BLOCK┃ ACTION_ROW_FILTER┃ ACTION_ORCH_MASK_POLICY_EXECUTED┃ ACTION_ORCH_ROW_FILTER_POLICY_EXECUTED |
|
| Filter for action types | ||
| tagCategoriesFilter array of string |
||
| hasIncidentsFilter boolean |
||
| hasIncidentsFilterV2 boolean |
||
| hasDataStoreErrorsFilter boolean |
||
| includeAdministrateQueriesFilter boolean |
Default: false | |
| governedQueries array of string |
Allowed: GOVERNED┃ UNGOVERNED |
|
| groupsFilter array of string |
||
| datasetsFilter array of string |
||
| securityPoliciesFilter array of string |
||
| flowId string |
||
| accessPermissionIds array of string |
||
| queryIdFilter string |
||
| genericPropertiesFilter string |
||
| recordsRangeFilter string |
||
| This is a range parameter for the number of records returned from query of the form 'min:max'. for example, '1:30' is a min of 1 and a max of 30, ':20' is without min and a max of 20 |
||
| volumesRangeFilter string |
||
| This is a range parameter for the data volume returned from the query of the form 'min:max'. for example, '1:30' is a min of 1 and a max of 30, ':20' is without min and a max of 20 |
||
| responseTime string |
||
| This is a range parameter for the data store response time of the query of the form 'min:max'. for example, '1:30' is a min of 1 and a max of 30, ':20' is without min and a max of 20 |
||
| processingTime string |
||
| This is a range parameter for the processing time it took satori while running the query of the form 'min:max'. for example, '1:30' is a min of 1 and a max of 30, ':20' is without min and a max of 20 |
||
| statementType array of string |
||
| loginName array of string |
||
| purposeSearch string |
||
API Server
Authentication
Required (None Applied)
FILL EXAMPLE
CLEAR TRY
RESPONSE
200 400 401
Status OK
Bad configuration request
Invalid Authorization
Groups
Retrieve an IdP Group
get/api/v1/groups/{id}
This HTTP GET method is used to retrieve detailed information about a specific group.
This API call allows you to access details about a specific IdP group including details such as, the group name, description, email address, display name, members, ID, creation and last update date and time.
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
PATH PARAMETERS
| *id string |
||
API Server
Authentication
Required (None Applied)
FILL EXAMPLE
CLEAR TRY
RESPONSE
200 400 401 404
Status OK, group found.
EXAMPLE SCHEMA
application/json
Copy
{
"entityVersion": 0,
"createdAt": "1970-01-01T00:00:00.000Z",
"updatedAt": "1970-01-01T00:00:00.000Z",
"nameCreatedBy": "string",
"nameUpdatedBy": "string",
"parentId": "string",
"id": "string",
"name": "string",
"members":
[
{
"id":
"string",
"email":
"string",
"displayName":
"string"
}
],
"accessSettings":
{
"temporaryCredentialsExpirationTime":
{
"value": 0,
"timeframe": "Nanos",
"description": "string"
}
}
}
Bad configuration request
Invalid Authorization
Resource not found
List all IdP Groups
get/api/v1/groups
This HTTP GET method is used to retrieve a list of all groups in the system.
This API call allows you to access details about each IdP group, including the group members, access settings, temporary credentials expiration time and date.
HTTP Bearer
Requires Bearer Token in Authorization header
REQUEST
QUERY-STRING PARAMETERS
| accountId string |
||
| page int32 |
Default: 0 | |
| pageSize int32 |
Default: 5 | |
| orderBy array of string |
||
| orderDirection array of string |
||
| search string |
||
| *accountId string |
Min 1 chars | |
| names array of string |
||
| List of group names to filter by | ||
| memberId string |
||
| memberEmail string |
||
API Server
Authentication
Required (None Applied)
FILL EXAMPLE
CLEAR TRY
RESPONSE
200 400 401
Status OK.
EXAMPLE SCHEMA
application/json
Copy
{
"records":
[
{
"entityVersion":
0,
"createdAt":
"1970-01-01T00:00:00.000Z",
"updatedAt":
"1970-01-01T00:00:00.000Z",
"nameCreatedBy":
"string",
"nameUpdatedBy":
"string",
"parentId":
"string",
"id":
"string",
"name":
"string",
"members":
[
{
"id":
"string",
"email":
"string",
"displayName":
"string"
}
],
"accessSettings":
{
"temporaryCredentialsExpirationTime":
{
"value":
0,
"timeframe":
"Nanos",
"description":
"string"
}
}
}
],
"count": 0
}
Bad configuration request
Invalid Authorization
Satori REST API
The REST API is the primary way for clients, usually applications or scripts, to interact with the Satori platform.
Authentication
Clients must be authenticated to invoke API calls. Authentication is performed by sending an authentication token in the Authorization HTTP header of the request. Authentication tokens are obtained using service account credentials and can expire. Follow these steps to start using the API:
Create a service account
Service accounts represent clients and are equivalent to users of your Satori account. Each service account can be assigned with different permissions to access resources of the account. It is recommended that you follow the principal of least privileged access, and use the minimum level of access for each service account. To create a service account, go to the Service Accounts tab in the User Management screen. After the service account is created, copy the service account ID and key, which you will use to obtain an authentication token. If you don't have access to the User Management screen, contact your account administrator.
To create a service account, go to the Service Accounts tab in the User Management screen. After the service account is created, copy the service account ID and key, which you will use to obtain an authentication token. If you don't have access to the User Management screen, contact your account administrator.
Obtain an authentication token
Authentication tokens can be obtained by calling the Authentication API call and sending the service account ID and key.
Use an authentication token
To call an API, send the authentication token as an HTTP request header. For example:
Authorization: Bearer eyJhbGciOiJSUzI...
Using the API explorer
The API explorer provides documentation for the various API calls and enables invocation of calls from the browser. To authenticate your browser press the API Authentication button and select Import API Token if you already obtained an authentcation token, or Create API Token to enter your service account creadentials and generate a new authentication token.
OpenAPI
The latest OpenAPI specification (formerly Swagger Specification) can be downloaded here.
© Satori Cyber Ltd. 2026