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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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:

  1. 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.
  2. 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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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

https://app.satoricyber.com

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