Skip to Content
Release Notes9.9.0 ~ 9.9.8External API Changes (9.8.10 Version > 9.9.4 Version)

API Docs JSON file

📎 9810_external.json 📎 994_external.json


1. Authentication

  • API Key HTTP Header name has been changed
Before ChangeAfter Change
Header Parameter nameX-QueryPie-Api-TokenAuthorization

2. Alert API

Changes/Improvements

API(9.8.10)

Changes

(GET) List

  • Returns all information for each Alert
    → Changed to return simple information for each Alert.
  • Detail API added that returns detailed information for each Alert Type.

(POST) Create

  • Single API can create all types of Alerts
    Creation APIs separated by each Alert Type.
  • Existing Create API has been removed.

(PUT) Update

  • Single API can update all types of Alerts
    Update APIs separated by each Alert Type.
  • Existing Update API has been removed.

(Delete) Delete

  • No changes.

[New] (POST) Create, (PUT) Update, (GET) Detail API

  • For detailed request content, refer to Docs

Alert Type (9.8.10 Standard)

Docs Location (9.9.4)

SQL_EXECUTION

[SQL Execution]
/api/external/alerts/sql-execution

SQL_EXECUTION_PREVENTED

[Prevented SQL Execution]
/api/external/alerts/prevented-sql-execution

DATABASE_AUTHENTICATION_FAILED

[DB Connection Attempt]
/api/external/alerts/db-connection-attempt

SENSITIVE_DATA_BY_POLICY

[Sensitive Data Access]
api/external/alerts/sensitive-data-access

  • policy

SENSITIVE_DATA_BY_LEVEL

[Sensitive Data Access]
api/external/alerts/sensitive-data-access

  • level

EXCEL_EXPORT

[Data Export]
api/external/alerts/data-export

APPROVAL_REQUESTED

[Workflow New Request]
/api/external/alerts/workflow-new-request

Unusual Login Attempt
/api/external/alerts/unusual-login-attempt

(GET) List

/api/external/notifications

Request

  • No changes

Response

Before Change

After Change

{ "list": [ { "condition": {...}, "description": "", "lastAt": "2019-08-24T14:15:22Z", "lastStatus": "UNDEFINED", "notification": {...}, "policy": {...}, "template": "{{userName}} executed {{expRows}} rows.", "uuid": "a5ac2279-b715-4819-a00d-daba81739057" }, ... ], "page": {...} }
{ "list": [ { "alertType": "SQL Execution", "lastAt": "2019-08-24T14:15:22Z", "lastStatus": "UNDEFINED", "name": "string", "template": "{{userName}} executed {{expRows}} rows.", "uuid": "a5ac2279-b715-4819-a00d-daba81739057" }, ... ], "page": {...} }

3. Approval Rule API

(GET) List

/api/external/approval-rules

Request

  • Query Parameter
  • RequestType changed from SQL, ACCESSSQL, EXPORT, ACCESS with EXPORT added.

Response

  • No changes

4. Audit Log API

(GET) List of Approval

/api/external/audit-logs

Request

  • Query Parameter

Before Change

After Change

  • pageNumber
  • pageSize
  • actionType
  • clusterGroupId
  • clusterId
  • startDate
  • endDate
  • databaseType
  • sqlFullText
  • cursor
  • count
  • actionType
  • clusterGroupId
  • clusterId
  • startDate
  • endDate
  • databaseType
  • sqlFullText
  • cursor uses the nextCursor from Response as is. Leave empty for first call.
    • Content shown in /api/docs is incorrect and will be corrected in future versions.
  • count is the same as the existing pageSize, with a max value of 100.
  • Redis has been added to databaseType.

Response

Before Change

After Change

{ "list": [ { "execMillis": 200, "execResult": false, "executedAt": "2019-08-24T14:15:22Z", } ], "page": { "currentPage": 0, "pageSize": 0, "totalElements": 0, "totalPages": 0 } }
{ "hasNext": true, "list": [ { "execMillis": 200, "execResult": false, (Deprecated) "executedAt": "2019-08-24T14:15:22Z", } ], "nextCursor": "2019-08-24T16:15:22Z" }
  • hasNext field has been added. Indicates whether there is next data after Response.
  • execResult has been Deprecated. Will be removed in future versions.
  • page field has disappeared and nextCursor has been added.
    • Refers to executedAt of the last element in the current Response list within the startDate and endDate range of Request.
    • Putting this value in the cursor of Request will continue from that time to fetch data. (startDate, endDate do not need to be changed.)
    • Content shown in /api/docs is incorrect and will be corrected in future versions.


(GET) Detail

/api/external/audit-logs/{id}

Request

  • No changes

Response

Before Change

After Change

{ "execMillis": 200, "execResult": false, "executedAt": "2019-08-24T14:15:22Z", }
{ "execMillis": 200, "execResult": false, (Deprecated) "executedAt": "2019-08-24T14:15:22Z", }
  • execResult has been Deprecated. Will be removed in future versions.

(GET) Detail

/api/external/audit-logs/{uuid}

Request

  • No changes

Response

Before Change

After Change

{ "execMillis": 200, "execResult": false, "executedAt": "2019-08-24T14:15:22Z", }
{ "execMillis": 200, "execResult": false, (Deprecated) "executedAt": "2019-08-24T14:15:22Z", }
  • execResult has been Deprecated. Will be removed in future versions.

5. Authentication History API

(GET) List of Authentication

/api/external/connection-auth-logs

Request

  • Query Parameter

Before Change

After Change

  • pageNumber
  • pageSize
  • actionType
  • clusterGroupId
  • clusterId
  • startDate
  • endDate
  • databaseType
  • sqlFullText
  • pageNumber
  • pageSize
  • actionType
  • clusterGroupId
  • clusterId
  • startDate
  • endDate
  • databaseType
  • sqlFullText
  • LOGIN, LOGOUT, LOCKED, EXPIRED, LOCKED_MANUALLY, UNLOCK have been removed from actionType.
    • Only CONNECT, DISCONNECT are used.
  • Redis has been added to databaseType.

Response

  • No changes

6. User Access History API

(GET) List of User Access History

/api/external/system-auth-logs

Request & Response

  • CONNECT, DISCONNECT have been removed from actionType.
    • Only LOGIN, LOGOUT, LOCKED, EXPIRED, LOCKED_MANUALLY, UNLOCK are used.

7. Cloud Provider API

(GET) List of Cloud Provider

/api/external/cloud-providers

Request

  • No changes

Response

Before Change

After Change

{ "list": [ { "subscriptionId": "string", "targetArn": "string", } ], "page": { } }
{ "list": [ { "subscriptionId": "string", "synchronizableDatabaseTypes": [], "targetArn": "string", } ], "page": { } }
  • synchronizableDatabaseTypes has been added.
    • Output field for database types (vendors) to be synchronized.
    • AURORA_MY_SQL, AURORA_POSTGRESQL, MY_SQL, POSTGRESQL, MARIA_DB, ORACLE, SQL_SERVER, DYNAMO_DB, DOCUMENT_DB, REDSHIFT, ATHENA

(POST) Create Cloud Provider

/api/external/cloud-providers

Request

Before Change

After Change

{ "subscriptionId": "string", "targetArn": "string", }
{ "subscriptionId": "string", "synchronizableDatabaseTypes": [], "targetArn": "string", }
  • synchronizableDatabaseTypes has been added.
    • Input field for database types (vendors) to be synchronized.
    • AURORA_MY_SQL, AURORA_POSTGRESQL, MY_SQL, POSTGRESQL, MARIA_DB, ORACLE, SQL_SERVER, DYNAMO_DB, DOCUMENT_DB, REDSHIFT, ATHENA

Response

Before Change

After Change

{ "subscriptionId": "string", "targetArn": "string", }
{ "subscriptionId": "string", "synchronizableDatabaseTypes": [], "targetArn": "string", }
  • synchronizableDatabaseTypes has been added.
    • Output field for database types (vendors) to be synchronized.
    • AURORA_MY_SQL, AURORA_POSTGRESQL, MY_SQL, POSTGRESQL, MARIA_DB, ORACLE, SQL_SERVER, DYNAMO_DB, DOCUMENT_DB, REDSHIFT, ATHENA

(PUT) Update Cloud Provider

/api/external/cloud-providers/{cloudProviderUuid}

Request

Before Change

After Change

{ "cronExpression": "0 0 6 * * ?", "name": "AWS", "proxyAuthType": "QUERYPIE", "proxyEnabled": true, "replicationMode": "MANUAL" }
{ "cronExpression": "0 0 6 * * ?", "name": "AWS", "proxyAuthType": "QUERYPIE", "proxyEnabled": true, "replicationMode": "MANUAL", "synchronizableDatabaseTypes": [ "AURORA_MY_SQL" ] }
  • synchronizableDatabaseTypes has been added.
    • Input field for database types (vendors) to be synchronized.
    • AURORA_MY_SQL, AURORA_POSTGRESQL, MY_SQL, POSTGRESQL, MARIA_DB, ORACLE, SQL_SERVER, DYNAMO_DB, DOCUMENT_DB, REDSHIFT, ATHENA

Response

Before Change

After Change

{ "subscriptionId": "string", "targetArn": "string", }
{ "subscriptionId": "string", "synchronizableDatabaseTypes": [], "targetArn": "string", }
  • synchronizableDatabaseTypes has been added.
    • Output field for database types (vendors) to be synchronized.
    • AURORA_MY_SQL, AURORA_POSTGRESQL, MY_SQL, POSTGRESQL, MARIA_DB, ORACLE, SQL_SERVER, DYNAMO_DB, DOCUMENT_DB, REDSHIFT, ATHENA

8. Cluster Role API

(GET) List of Role

/api/external/roles

Request

  • No changes

Response

Before Change

After Change

{ "list": [ { ... "privilegeTypes": "SELECT", ... }, ... ], "page": {...} }
{ "list": [ { ... "privilegeTypes": "SELECT", "privilegeVendor": "SQL", ... }, ... ], "page": {...} }
  • privilegeVendor has been added.
    • SQL, REDIS

(POST) Create Role

/api/external/roles

Request & Response

Before Change

After Change

{ "privilegeTypes": "ALL", }
{ "privilegeTypes": "ALL", "privilegeVendor": "SQL", }
  • privilegeVendor has been added.
    • SQL, REDIS

(PUT) Update Role

/api/external/roles/{roleUuid}

Request & Response

Before Change

After Change

{ "privilegeTypes": "ALL", }
{ "privilegeTypes": "ALL", "privilegeVendor": "SQL", }
  • privilegeVendor has been added.
    • SQL, REDIS

9. Connection API

(GET) List of Cluster Group

/api/external/connections

Request

  • No changes

Response

Before Change

After Change

Request

None

Response

{ "list": [ { "clusters": [ ], "connectionOwners": [ ], "databaseType": "MySQL", "databaseVersion": "5.7.10", "dbUserInfos": [ { "dbUserType": "string", "dbUsername": "string" } ], "deleted": false, "schemaName": "test_db", "useMultipleAccount": true, "useProxy": true, } ], "page": { } }
{ "list": [ { "clusters": [ ], "connectionAccount": { "kerberosProtocols": { "admin": { "principal": "string", "realm": "string", "serviceName": "string" }, "common": { "principal": "string", "realm": "string", "serviceName": "string" } }, "type": "UIDPWD", "useMultipleAccount": false, "usernamePasswords": { "admin": { "username": "string" }, "common": { "username": "string" }, "proxy": { "username": "string" } } }, "connectionOwners": [ ], "databaseType": "MySQL", "databaseVersion": "5.7.10", "deleted": false, "schemaName": "test_db", "useProxy": true, } ], "page": { } }
  • dbUserInfo has been removed. userMultipleAccount has been removed.
    • Content of these fields is passed through connectionAccount.
  • connectionAccount has been added.
    • Field that passes account information of the connection.
    • type refers to the type of account.
      • NOAUTH SASL_KERBEROS SASL_PLAIN_UID UIDPWD SASL_PLAIN_UIDPWD_SSL NOAUTH_SSL DELEGATION_TOKEN O_AUTH_CLIENT_CREDENTIALS
    • useMultipleAccount is a boolean value indicating whether to use multi-account.
    • KerberosProtocols is a field that passes Kerberos account information.
      • Kerberos accounts do not support proxy accounts.
    • usernamePasswords is a field that passes usernamePassword account information.

(POST) Create Cluster Group

/api/external/connections

Request

Before Change

After Change

Request

None

Response

{ "clusters": [ ], "connectionOwners": [ ], "databaseType": "MySQL", "databaseVersion": "5.7.10", "dbUserInfos": [ { "dbUserType": "string", "dbUsername": "string" } ], "deleted": false, }
{ "clusters": [ ], "connectionAccount": { "kerberosProtocols": { "admin": { "principal": "string", "realm": "string", "serviceName": "string" }, "common": { "principal": "string", "realm": "string", "serviceName": "string" } }, "type": "UIDPWD", "useMultipleAccount": false, "usernamePasswords": { "admin": { "username": "string" }, "common": { "username": "string" }, "proxy": { "username": "string" } } }, "connectionOwners": [ ], "databaseType": "MySQL", "databaseVersion": "5.7.10", "deleted": false, }
  • dbUserInfo has been removed. userMultipleAccount has been removed.
    • Content of these fields is passed through connectionAccount.
  • connectionAccount has been added.
    • Field that passes account information of the connection.
    • type refers to the type of account.
      • NOAUTH SASL_KERBEROS SASL_PLAIN_UID UIDPWD SASL_PLAIN_UIDPWD_SSL NOAUTH_SSL DELEGATION_TOKEN O_AUTH_CLIENT_CREDENTIALS
    • useMultipleAccount is a boolean value indicating whether to use multi-account.
    • KerberosProtocols is a field that passes Kerberos account information.
      • Kerberos accounts do not support proxy accounts.
    • usernamePasswords is a field that passes usernamePassword account information.

Response

Before Change

After Change

Request

None

Response

{ "clusters": [ ], "connectionOwners": [ ], "databaseType": "MySQL", "databaseVersion": "5.7.10", "dbUserInfos": [ { "dbUserType": "string", "dbUsername": "string" } ], "deleted": false, "schemaName": "test_db", "useMultipleAccount": true, "useProxy": true, }
{ "clusters": [ ], "connectionAccount": { "kerberosProtocols": { "admin": { "principal": "string", "realm": "string", "serviceName": "string" }, "common": { "principal": "string", "realm": "string", "serviceName": "string" } }, "type": "UIDPWD", "useMultipleAccount": false, "usernamePasswords": { "admin": { "username": "string" }, "common": { "username": "string" }, "proxy": { "username": "string" } } }, "connectionOwners": [ ], "databaseType": "MySQL", "databaseVersion": "5.7.10", "deleted": false, "schemaName": "test_db", "useProxy": true, }
  • dbUserInfo has been removed. userMultipleAccount has been removed.
    • Content of these fields is passed through connectionAccount.
  • connectionAccount has been added.
    • Field that passes account information of the connection.
    • type refers to the type of account.
      • NOAUTH SASL_KERBEROS SASL_PLAIN_UID UIDPWD SASL_PLAIN_UIDPWD_SSL NOAUTH_SSL DELEGATION_TOKEN O_AUTH_CLIENT_CREDENTIALS
    • useMultipleAccount is a boolean value indicating whether to use multi-account.
    • KerberosProtocols is a field that passes Kerberos account information.
      • Kerberos accounts do not support proxy accounts.
    • usernamePasswords is a field that passes usernamePassword account information.


(PATCH) Update Cluster Group

/api/external/connections/{uuid}

Request

Before Change

After Change

Request

None

Response

{ "clusters": [ ], "connectionOwners": [ ], "databaseType": "MySQL", "databaseVersion": "5.7.10", "dbUserInfos": [ { "dbUserType": "string", "dbUsername": "string" } ], "deleted": false, }
{ "clusters": [ ], "connectionAccount": { "kerberosProtocols": { "admin": { "principal": "string", "realm": "string", "serviceName": "string" }, "common": { "principal": "string", "realm": "string", "serviceName": "string" } }, "type": "UIDPWD", "useMultipleAccount": false, "usernamePasswords": { "admin": { "username": "string" }, "common": { "username": "string" }, "proxy": { "username": "string" } } }, "connectionOwners": [ ], "databaseType": "MySQL", "databaseVersion": "5.7.10", "deleted": false, }
  • dbUserInfo has been removed. userMultipleAccount has been removed.
    • Content of these fields is passed through connectionAccount.
  • connectionAccount has been added.
    • Field that passes account information of the connection.
    • type refers to the type of account.
      • NOAUTH SASL_KERBEROS SASL_PLAIN_UID UIDPWD SASL_PLAIN_UIDPWD_SSL NOAUTH_SSL DELEGATION_TOKEN O_AUTH_CLIENT_CREDENTIALS
    • useMultipleAccount is a boolean value indicating whether to use multi-account.
    • KerberosProtocols is a field that passes Kerberos account information.
      • Kerberos accounts do not support proxy accounts.
    • usernamePasswords is a field that passes usernamePassword account information.

Response

Before Change

After Change

Request

None

Response

{ "clusters": [ ], "connectionOwners": [ ], "databaseType": "MySQL", "databaseVersion": "5.7.10", "dbUserInfos": [ { "dbUserType": "string", "dbUsername": "string" } ], "deleted": false, "schemaName": "test_db", "useMultipleAccount": true, "useProxy": true, }
{ "clusters": [ ], "connectionAccount": { "kerberosProtocols": { "admin": { "principal": "string", "realm": "string", "serviceName": "string" }, "common": { "principal": "string", "realm": "string", "serviceName": "string" } }, "type": "UIDPWD", "useMultipleAccount": false, "usernamePasswords": { "admin": { "username": "string" }, "common": { "username": "string" }, "proxy": { "username": "string" } } }, "connectionOwners": [ ], "databaseType": "MySQL", "databaseVersion": "5.7.10", "deleted": false, "schemaName": "test_db", "useProxy": true, }
  • dbUserInfo has been removed. userMultipleAccount has been removed.
    • Content of these fields is passed through connectionAccount.
  • connectionAccount has been added.
    • Field that passes account information of the connection.
    • type refers to the type of account.
      • NOAUTH SASL_KERBEROS SASL_PLAIN_UID UIDPWD SASL_PLAIN_UIDPWD_SSL NOAUTH_SSL DELEGATION_TOKEN O_AUTH_CLIENT_CREDENTIALS
    • useMultipleAccount is a boolean value indicating whether to use multi-account.
    • KerberosProtocols is a field that passes Kerberos account information.
      • Kerberos accounts do not support proxy accounts.
    • usernamePasswords is a field that passes usernamePassword account information.

10. Notification Channels API

(GET) List of Notification channel

/api/external/notification-channels

Request

  • Query Parameter field addition

Before Change

After Change

  • dataFlowRequest. filterKey
  • dataFlowRequest. filterValue
  • dataFlowRequest. sortKey
  • dataFlowRequest. sortType
  • dataflowRequest. filterKey is for entering filter key. ex) “Title”
  • dataflowRequest. filterValue is for entering filter value (search term). ex) “channelName123”
  • dataflowRequest. sortKey is for entering column name to sort. ex) “createdAt”
  • dataflowRequest. sortType is for entering whether to sort in descending or ascending order. ex) “ASC”, “DESC”
Last updated on