Connectors

Retrieve the list of masking connectors.

SecurityApiKeyAuth
Request
query Parameters
limit
integer [ 1 .. 1000 ]
Default: 100

Maximum number of objects to return per query. The value must be between 1 and 1000. Default is 100.

Example: limit=50
cursor
string [ 1 .. 4096 ] characters

Cursor to fetch the next or previous page of results. The value of this property must be extracted from the 'prev_cursor' or 'next_cursor' property of a PaginatedResponseMetadata which is contained in the response of list and search API endpoints.

sort
string or null

The field to sort results by. A property name with a prepended '-' signifies a descending order.

Enum: "id" "-id" "engine_id" "-engine_id" "engine_name" "-engine_name" "type" "-type" "database_type" "-database_type" "platform" "-platform" "name" "-name" "hostname" "-hostname" "username" "-username" "port" "-port" "auth_present" "-auth_present" "custom_driver_name" "-custom_driver_name" "database_name" "-database_name" "instance_name" "-instance_name" "jdbc" "-jdbc" "schema_name" "-schema_name" "sid" "-sid" "kerberos_auth" "-kerberos_auth" "service_principal" "-service_principal" "enable_logger" "-enable_logger" "file_type" "-file_type" "connection_mode" "-connection_mode" "path" "-path" "ssh_key" "-ssh_key" "user_dir_is_root" "-user_dir_is_root" "data_connection_id" "-data_connection_id" "account_id" "-account_id" "account_name" "-account_name" "dct_managed" "-dct_managed" "job_orchestrator_id" "-job_orchestrator_id" "job_orchestrator_name" "-job_orchestrator_name"
Example: sort=id
Responses
200

OK

get/connectors
Response samples
application/json
{
  • "items": [
    ],
  • "response_metadata": {
    }
}

Create a Connector.

SecurityApiKeyAuth
Request
Request Body schema: application/json
required

The new Connector to create

name
required
string

The Connector name.

type
required
string (ConnectorTypeEnum)
Enum: "DATABASE" "FILE" "MAINFRAME_DATASET"
hostname
string

The network hostname or IP address of the database server.

port
integer <int32> [ 1 .. 65535 ]

The TCP port of the server.

username
string

The username this Connector will use to connect to the database.

password
string

The password this Connector will use to connect to the database.

database_type
string

The database variant, such as Oracle, Postgres, MSSQL Server, etc. Currently supports Oracle only.

Value: "ORACLE"
jdbc_url
string

The jdbc URL for this connector

schema_name
string

The schema name for this connector

sid
string

The SID value for this connector. This field is specific to Oracle database connectors

Array of objects (Tag)
make_current_account_owner
boolean
Default: true

Whether the account creating this connector must be configured as owner of it.

job_orchestrator_id
required
string non-empty

The ID or name of the job orchestrator that is associated with this connector.

Responses
201

Created Connector.

post/connectors
Request samples
application/json
{
  • "type": "DATABASE",
  • "database_type": "POSTGRES",
  • "name": "connector-name",
  • "hostname": "database_server.example.com",
  • "port": 5432,
  • "username": "user-123",
  • "password": "******",
  • "schema_name": "public",
  • "database_name": "public",
  • "sid": "ORCL",
  • "jdbc_url": "jdbc:oracle:thin:@//localhost:1521/ORCL"
}
Response samples
application/json
{
  • "id": "string",
  • "job": {
    }
}

Checks connectivity of an unsaved remote data source.

SecurityApiKeyAuth
Request
Request Body schema: application/json
required

The connector details to use to test.

hostname
string

The network hostname or IP address of the database server.

port
integer <int32> [ 1 .. 65535 ]

The TCP port of the server.

username
string

The username this Connector will use to connect to the database.

password
string

The password this Connector will use to connect to the database.

jdbc_url
string

The jdbc URL for this connector

schema_name
string

The schema name for this connector

sid
string

The SID value for this connector. This field is specific to Oracle database connectors

job_orchestrator_id
string

The ID or name of the job orchestrator that is associated with this connector.

Responses
200

Success

post/connectors/test
Request samples
application/json
{
  • "hostname": "database_server.mycompany.co",
  • "port": 9100,
  • "username": "my_username",
  • "password": "my_password",
  • "jdbc_url": "jdbc:oracle:thin:@//localhost:1521/ORCL",
  • "schema_name": "public",
  • "sid": "ORCL",
  • "job_orchestrator_id": "string"
}
Response samples
application/json
{
  • "status": "SUCCEEDED",
  • "message": "Connection Succeeded",
  • "job": {
    }
}

Retrieve a masking Connector by ID.

SecurityApiKeyAuth
Request
path Parameters
connectorId
required
string non-empty

The ID of the Connector.

Responses
200

OK

get/connectors/{connectorId}
Response samples
application/json
{
  • "id": "1-database-123",
  • "name": "connector-name",
  • "engine_id": 123,
  • "type": "DATABASE",
  • "hostname": "database_server.example.com",
  • "database_type": "POSTGRES",
  • "schema_name": "public",
  • "database_name": "public",
  • "port": 5432,
  • "username": "user-123"
}

Update a masking Connector by ID.

SecurityApiKeyAuth
Request
path Parameters
connectorId
required
string non-empty

The ID of the Connector.

Request Body schema: application/json

The new data to update a masking Connector.

name
string

The Connector name.

hostname
string

The network hostname or IP address of the database server.

port
integer <int32> [ 1 .. 65535 ]

The TCP port of the server.

username
string

The username this Connector will use to connect to the database.

password
string

The password this Connector will use to connect to the database.

jdbc_url
string

The jdbc URL for this connector

schema_name
string

The schema name for this connector

sid
string

The SID value for this connector. This field is specific to Oracle database connectors

job_orchestrator_id
string non-empty

The ID or name of the job orchestrator that is associated with this connector.

Responses
200

OK

patch/connectors/{connectorId}
Request samples
application/json
{
  • "name": "connector-name",
  • "hostname": "database_server.mycompany.co",
  • "port": 4322,
  • "username": "user-123",
  • "password": "password123",
  • "jdbc_url": "jdbc:oracle:thin:@//localhost:1521/ORCL",
  • "schema_name": "public",
  • "sid": "ORCL",
  • "job_orchestrator_id": "1-job-orchestrator-123"
}
Response samples
application/json
{
  • "job": {
    }
}

Delete a DCT managed masking connector.

SecurityApiKeyAuth
Request
path Parameters
connectorId
required
string non-empty

The ID of the Connector.

Responses
200

OK

delete/connectors/{connectorId}
Response samples
application/json
{
  • "job": {
    }
}

Checks connectivity of the connector

SecurityApiKeyAuth
Request
path Parameters
connectorId
required
string non-empty

The ID of the Connector.

Request Body schema: application/json

The connector details to use to test.

hostname
string

The network hostname or IP address of the database server.

port
integer <int32> [ 1 .. 65535 ]

The TCP port of the server.

username
string

The username this Connector will use to connect to the database.

password
string

The password this Connector will use to connect to the database.

jdbc_url
string

The jdbc URL for this connector

schema_name
string

The schema name for this connector

sid
string

The SID value for this connector. This field is specific to Oracle database connectors

job_orchestrator_id
string

The ID or name of the job orchestrator that is associated with this connector.

Responses
200

Success

post/connectors/{connectorId}/test
Request samples
application/json
{
  • "hostname": "database_server.mycompany.co",
  • "port": 9100,
  • "username": "my_username",
  • "password": "my_password",
  • "jdbc_url": "jdbc:oracle:thin:@//localhost:1521/ORCL",
  • "schema_name": "public",
  • "sid": "ORCL",
  • "job_orchestrator_id": "string"
}
Response samples
application/json
{
  • "status": "SUCCEEDED",
  • "message": "Connection Succeeded",
  • "job": {
    }
}

Return the name of all tables accessible by the database user.

SecurityApiKeyAuth
Request
path Parameters
connectorId
required
string non-empty

The ID of the Connector.

Request Body schema: application/json
optional
rule_set_id
string

If present fetches only tables names that aren't part of the given rule set.

Responses
200

OK

post/connectors/{connectorId}/fetch-table-names
Request samples
application/json
{
  • "rule_set_id": "string"
}
Response samples
application/json
{
  • "items": [
    ],
  • "job": {
    }
}

Search jobs that use this connector

SecurityApiKeyAuth
Request
path Parameters
connectorId
required
string non-empty

The ID of the Connector.

query Parameters
limit
integer [ 1 .. 1000 ]
Default: 100

Maximum number of objects to return per query. The value must be between 1 and 1000. Default is 100.

Example: limit=50
cursor
string [ 1 .. 4096 ] characters

Cursor to fetch the next or previous page of results. The value of this property must be extracted from the 'prev_cursor' or 'next_cursor' property of a PaginatedResponseMetadata which is contained in the response of list and search API endpoints.

sort
string or null

The field to sort results by. A property name with a prepended '-' signifies a descending order.

Enum: "id" "-id" "name" "-name" "connector_role" "-connector_role" "is_on_the_fly_masking" "-is_on_the_fly_masking" "last_execution_time" "-last_execution_time" "last_execution_status" "-last_execution_status" "creation_date" "-creation_date"
Example: sort=id
Request Body schema: application/json

A request body containing a filter expression. This enables searching for items matching arbitrarily complex conditions. The list of attributes which can be used in filter expressions is available in the x-filterable vendor extension.

Filter Expression Overview

Note: All keywords are case-insensitive

Comparison Operators

Operator Description Example
CONTAINS Substring or membership testing for string and list attributes respectively. field3 CONTAINS 'foobar', field4 CONTAINS TRUE
IN Tests if field is a member of a list literal. List can contain a maximum of 100 values field2 IN ['Goku', 'Vegeta']
GE Tests if a field is greater than or equal to a literal value field1 GE 1.2e-2
GT Tests if a field is greater than a literal value field1 GT 1.2e-2
LE Tests if a field is less than or equal to a literal value field1 LE 9000
LT Tests if a field is less than a literal value field1 LT 9.02
NE Tests if a field is not equal to a literal value field1 NE 42
EQ Tests if a field is equal to a literal value field1 EQ 42

Search Operator

The SEARCH operator filters for items which have any filterable attribute that contains the input string as a substring, comparison is done case-insensitively. This is not restricted to attributes with string values. Specifically SEARCH '12' would match an item with an attribute with an integer value of 123.

Logical Operators

Ordered by precedence.

Operator Description Example
NOT Logical NOT (Right associative) NOT field1 LE 9000
AND Logical AND (Left Associative) field1 GT 9000 AND field2 EQ 'Goku'
OR Logical OR (Left Associative) field1 GT 9000 OR field2 EQ 'Goku'

Grouping

Parenthesis () can be used to override operator precedence.

For example: NOT (field1 LT 1234 AND field2 CONTAINS 'foo')

Literal Values

Literal Description Examples
Nil Represents the absence of a value nil, Nil, nIl, NIL
Boolean true/false boolean true, false, True, False, TRUE, FALSE
Number Signed integer and floating point numbers. Also supports scientific notation. 0, 1, -1, 1.2, 0.35, 1.2e-2, -1.2e+2
String Single or double quoted "foo", "bar", "foo bar", 'foo', 'bar', 'foo bar'
Datetime Formatted according to RFC3339 2018-04-27T18:39:26.397237+00:00
List Comma-separated literals wrapped in square brackets [0], [0, 1], ['foo', "bar"]

Limitations

  • A maximum of 8 unique identifiers may be used inside a filter expression.
filter_expression
string [ 5 .. 50000 ] characters
Responses
200

OK

post/connectors/{connectorId}/masking-jobs/search
Request samples
application/json

An example of a nested Object comparison testing that at least one repository has a version which is equal to 19.0.0.

{
  • "filter_expression": "repositories CONTAINS {version eq '19.0.0'}"
}
Response samples
application/json
{
  • "items": [
    ],
  • "response_metadata": {
    }
}

Create tags for a Connector.

SecurityApiKeyAuth
Request
path Parameters
connectorId
required
string non-empty

The ID of the Connector.

Request Body schema: application/json
required

Tags information for Connector.

required
Array of objects (Tag) [ 1 .. 1000 ] items unique

Array of tags with key value pairs

Responses
201

Created

post/connectors/{connectorId}/tags
Request samples
application/json
{
  • "tags": [
    ]
}
Response samples
application/json
{
  • "tags": [
    ]
}

Get tags for a Connector.

SecurityApiKeyAuth
Request
path Parameters
connectorId
required
string non-empty

The ID of the Connector.

Responses
200

Ok

get/connectors/{connectorId}/tags
Response samples
application/json
{
  • "tags": [
    ]
}

Delete tags for a Connector.

SecurityApiKeyAuth
Request
path Parameters
connectorId
required
string non-empty

The ID of the Connector.

Request Body schema: application/json

The parameters to delete tags

key
string [ 1 .. 4000 ] characters

Key of the tag

value
string [ 1 .. 4000 ] characters

Value of the tag

Array of objects (Tag) [ 1 .. 1000 ] items unique

List of tags to be deleted

Responses
204

No Content

post/connectors/{connectorId}/tags/delete
Request samples
application/json

Delete all tags for given object - No request body required

{ }

Search for masking Connectors.

SecurityApiKeyAuth
Request
query Parameters
limit
integer [ 1 .. 1000 ]
Default: 100

Maximum number of objects to return per query. The value must be between 1 and 1000. Default is 100.

Example: limit=50
cursor
string [ 1 .. 4096 ] characters

Cursor to fetch the next or previous page of results. The value of this property must be extracted from the 'prev_cursor' or 'next_cursor' property of a PaginatedResponseMetadata which is contained in the response of list and search API endpoints.

sort
string or null

The field to sort results by. A property name with a prepended '-' signifies a descending order.

Enum: "id" "-id" "engine_id" "-engine_id" "engine_name" "-engine_name" "type" "-type" "database_type" "-database_type" "platform" "-platform" "name" "-name" "hostname" "-hostname" "username" "-username" "port" "-port" "auth_present" "-auth_present" "custom_driver_name" "-custom_driver_name" "database_name" "-database_name" "instance_name" "-instance_name" "jdbc" "-jdbc" "schema_name" "-schema_name" "sid" "-sid" "kerberos_auth" "-kerberos_auth" "service_principal" "-service_principal" "enable_logger" "-enable_logger" "file_type" "-file_type" "connection_mode" "-connection_mode" "path" "-path" "ssh_key" "-ssh_key" "user_dir_is_root" "-user_dir_is_root" "data_connection_id" "-data_connection_id" "account_id" "-account_id" "account_name" "-account_name" "dct_managed" "-dct_managed" "job_orchestrator_id" "-job_orchestrator_id" "job_orchestrator_name" "-job_orchestrator_name"
Example: sort=id
Request Body schema: application/json

A request body containing a filter expression. This enables searching for items matching arbitrarily complex conditions. The list of attributes which can be used in filter expressions is available in the x-filterable vendor extension.

Filter Expression Overview

Note: All keywords are case-insensitive

Comparison Operators

Operator Description Example
CONTAINS Substring or membership testing for string and list attributes respectively. field3 CONTAINS 'foobar', field4 CONTAINS TRUE
IN Tests if field is a member of a list literal. List can contain a maximum of 100 values field2 IN ['Goku', 'Vegeta']
GE Tests if a field is greater than or equal to a literal value field1 GE 1.2e-2
GT Tests if a field is greater than a literal value field1 GT 1.2e-2
LE Tests if a field is less than or equal to a literal value field1 LE 9000
LT Tests if a field is less than a literal value field1 LT 9.02
NE Tests if a field is not equal to a literal value field1 NE 42
EQ Tests if a field is equal to a literal value field1 EQ 42

Search Operator

The SEARCH operator filters for items which have any filterable attribute that contains the input string as a substring, comparison is done case-insensitively. This is not restricted to attributes with string values. Specifically SEARCH '12' would match an item with an attribute with an integer value of 123.

Logical Operators

Ordered by precedence.

Operator Description Example
NOT Logical NOT (Right associative) NOT field1 LE 9000
AND Logical AND (Left Associative) field1 GT 9000 AND field2 EQ 'Goku'
OR Logical OR (Left Associative) field1 GT 9000 OR field2 EQ 'Goku'

Grouping

Parenthesis () can be used to override operator precedence.

For example: NOT (field1 LT 1234 AND field2 CONTAINS 'foo')

Literal Values

Literal Description Examples
Nil Represents the absence of a value nil, Nil, nIl, NIL
Boolean true/false boolean true, false, True, False, TRUE, FALSE
Number Signed integer and floating point numbers. Also supports scientific notation. 0, 1, -1, 1.2, 0.35, 1.2e-2, -1.2e+2
String Single or double quoted "foo", "bar", "foo bar", 'foo', 'bar', 'foo bar'
Datetime Formatted according to RFC3339 2018-04-27T18:39:26.397237+00:00
List Comma-separated literals wrapped in square brackets [0], [0, 1], ['foo', "bar"]

Limitations

  • A maximum of 8 unique identifiers may be used inside a filter expression.
filter_expression
string [ 5 .. 50000 ] characters
Responses
200

OK

post/connectors/search
Request samples
application/json

An example of a nested Object comparison testing that at least one repository has a version which is equal to 19.0.0.

{
  • "filter_expression": "repositories CONTAINS {version eq '19.0.0'}"
}
Response samples
application/json
{
  • "items": [
    ],
  • "response_metadata": {
    }
}