Enterprise Recon v1 API

Data Type Profiles

Use this set of APIs to retrieve information on, update or delete data type profiles.

List Data Type Profiles

Get information for all or for a specific default and/or user-created data type profiles.

Request

GET

https://er-master:8339/v1/datatypes/profiles/{profile_id}

Authorization

Basic Authentication

Path Parameters

Parameter Data Type Description
profile_id

string

Specify ID of the data type profile to retrieve data for. If no value is specified, response returns data for all data type profiles. profile_id is the id response item from the /v1/datatypes/profiles endpoint.

Query Parameters

Parameter Data Type Description
profile_label

string

Define this parameter to filter data type profiles by name. If no value is specified, response returns information for all built-in and custom data type profiles. Partial matching allowed for this filter.
details

boolean

default: false

enum: true false

Show (true) or hide (false) certain details about the custom data type profiles (e.g. data types to search for during a scan, customized search expressions, test data values configured for the data type profile)
show_disabled

boolean

default: false

enum: true false

Show (true) or hide (false) disabled data type profiles.
show_shared

boolean

default: false

enum: true false

Set true to show data type profiles owned by current as well as shared profiles. Set false to show only data type profiles owned by current user.
offset

integer

default: 0

The first data type profile to return data for. For offset=N, data will be fetched starting from the Nth data type profile. If no value is specified or offset=0, query will return data from the very first data type profile. Results are sorted by data type profile ID in ascending order. Not applicable if a data type profile ID is specified in the path.
limit

integer

default: 1000

max: 100000

Maximum number of data type profiles to return data for, starting from the first record determined by the offset parameter value. Not applicable if a data type profile ID is specified in the path.

Header Parameters

Parameter Data Type Description
Accept-Encoding

string

enum: gzip deflate

Specify the compression algorithm to use on the response object.
Compressed content will not be returned for endpoints that return reports as files (e.g. PDF, CSV etc), endpoints that return binary files (e.g. Node Agent installers) or unsuccessful API calls.

Request Samples

HTTP
GET /v1/datatypes/profiles
Accept: application/json
cURL
curl --request GET 'https://er-master:8339/v1/datatypes/profiles' \
--user apiuser:password123 \
--header "Accept: application/json"

Response Schema

200 OK
Response Item Data Type Description
id

string

Unique ID identifying the data type profile. This ID is unique 20 digit number.
label

string

Label or name set by the user for the data type profile.
version

integer

Version number for the data type profile.
owner

string

Unique user ID identifying the data type profile owner. Returns 0 for ER2 built-in data type profiles.
modified

number

Last modified date and time for the data type profile in Unix time format.
default

boolean

enum: true false

Indicates if this is an ER2 built-in data type profile.
disabled

boolean

enum: true false

Indicates if data type profile is disabled or archived.
global

boolean

enum: true false

Indicates if data type profile is shared with other users.
sealed

boolean

enum: true false

Indicates if data type profile is Sealed. Data type profile is sealed and cannot be deleted if it has been used at least once in a Scan to ensure Scan summaries or reports can be displayed accurately.
builtins

string <array>

Returns an array of data type keys that are enabled for the data type profile. Returned if details=true.
custom_expressions

object

Returned if details=true.
custom_expressions/disabled

boolean

enum: true false

Indicates if a custom expression or custom data type is disabled.
custom_expressions/label

string

Label for custom expression or custom data type.
custom_expressions/expression

string

Full custom expression.
ocr

boolean

enum: true false

Indicates if the "Enable OCR" advanced feature is enabled to scan images for sensitive data. Returned if details=true.
voice

boolean

enum: true false

The Enable Voice Recognition advance feature has reached end-of-support as of Enterprise Recon 2.10.0.
ebcdic

boolean

enum: true false

Indicates if the "Enable EBCDIC mode" advanced feature is enabled to enable scanning of file systems that use IBM's EBCDIC encoding. Returned if details=true.
suppress

boolean

enum: true false

When true, data patterns identified as test data will be ignored during scans and will not be reported. When false, data patterns identified as test data found during scans will be reported as test data matches. Returned if details=true.
See Test Data for more information.
capture

boolean

enum: true false

When true, contextual data will be captured during scans and can be viewed when displaying matches in the Web Console. When false, contextual data will not captured during scans. Returned if details=true.
filters

object

List of filters defined for the data type profile to exclude locations and/or matches. Returned if details=true.
filters/type

string

enum: exclude_prefix exclude_suffix exclude_expression include_date_range include_recent exclude_max_size ignore_match ignore_prefix ignore_expression test_match test_prefix test_expression

Filter type.
filters/expression

string

Full custom expression. Only returned for the following filters:
exclude_prefix, exclude_suffix, exclude_expression, ignore_match, ignore_prefix, ignore_expression, test_match, test_prefix, test_expression.
filters/from_date

string <YYYY-MM-DD>

Scan files that were created or modified within a date range. This is the start date for the date range. Only returned for the include_date_range filter.
filters/to_date

string <YYYY-MM-DD>

Scan files that were created or modified within a date range. This is the end date for the date range. Only returned for the include_date_range filter.
filters/days

integer

Scan files that have been created or modified within the specified number of days. Only returned for include_recent filter.
filters/size

integer <MB>

Exclude locations greater than a specified file size (MB). Only returned for exclude_max_size filter.

Response Samples

200 OK
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: xxx
[
  {
    "id": "1",
    "label": "PCI Compliance",
    "version": 1,
    "owner": "0",
    "modified": "1524030248",
    "default": true,
    "disabled": false,
    "global": true,
    "sealed": true,
    "builtins": [
      "CHD_AMERICANEXPRESS",
      "CHD_AMERICANEXPRESS",
      "CHD_DISCOVER",
      "CHD_JCB",
      "CHD_MASTERCARD",
      "CHD_VISA"
    ],
    "filters": [],
    "ocr": false,
    "ebcdic": false,
    "suppress": false,
    "capture": false
  },
  {
    "id": "2011111590957770403",
    "label": "CardholderData_1",
    "version": 1,
    "owner": "332768006779777470",
    "modified": "1524032314",
    "default": false,
    "disabled": false,
    "global": false,
    "sealed": true,
    "builtins": [
      "CHD_AMERICANEXPRESS",
      "CHD_DINERSCLUB",
      "CHD_DISCOVER",
      "CHD_JCB",
      "CHD_MASTERCARD",
      "CHD_VISA",
      "CHD_CUP",
      "CHD_MAESTRO",
      "CHD_LASER",
      "CHD_PRIVATE"
    ],
    "filters": [
      {
        "type": "exclude_prefix",
        "expression": "C:\\Windows\\System*, /usr/l*"
      }
    ],
    "ocr": false,
    "ebcdic": true,
    "suppress": false,
    "capture": true,
    "custom_expressions": [
      {
        "disabled": false,
        "label": "<My custom expression label>",
        "expression": "INCLUDE 'DEFINE_CHD'\\n REFER 'CHD_MASTERCARD' THEN WORD 'Ignore-This-Phrase'"
      },
      {
        "disabled": false,
        "label": "<My custom expression label>",
        "expression": "INCLUDE 'DEFINE_CHD'\\n REFER 'CHD_MASTERCARD' THEN WORD 'Include-This-Phrase'"
      }
    ]
  }
]

Update a Data Type Profile

Update a data type profile. A data type profile cannot be updated with a PUT request if it has been used in at least one scan schedule; update these profiles with the POST /v1/datatypes/profiles method instead.

Request

PUT

https://er-master:8339/v1/datatypes/profiles/<profile_id>

Authorization

Basic Authentication

Path Parameters

Parameter Data Type Description
profile_id

string

Specify ID of the data type profile to update. profile_id is the id response item from the /v1/datatypes/profiles endpoint.

Request Schema

Response Item Data Type Description
label

string

Label or name for the data type profile. If using an existing data type profile name, a new version of that data type profile will be created.
builtins

string <array>

Array of key values for default data types to enable for the data type profile. key is the response item from the /v1/datatypes/builtins endpoint.
custom_expressions

object

User-defined custom expressions and data types.
custom_expressions/disabled

boolean

enum: true false

Indicates if a custom expression or custom data type is disabled.
custom_expressions/label

string

Label for custom expression or custom data type.
custom_expressions/expression

string

Full custom expression.
ocr

boolean

enum: true false

Set true to enable the "Enable OCR" advanced feature to scan images for sensitive data.
voice

boolean

enum: true false

The Enable Voice Recognition advance feature has reached end-of-support as of Enterprise Recon 2.10.0.
ebcdic

boolean

enum: true false

Set true to enable the "Enable EBCDIC mode" advanced feature to enable scanning of file systems that use IBM's EBCDIC encoding.
suppress

boolean

enum: true false

When true, data patterns identified as test data will be ignored during scans and will not be reported. When false, data patterns identified as test data found during scans will be reported as test data matches.
See Test Data for more information.
capture

boolean

enum: true false

When true, contextual data will be captured during scans and can be viewed when displaying matches in the Web Console. When false, contextual data will not captured during scans.
filters

object

Define list of filters for the data type profile.
filters/type

string

enum: exclude_prefix exclude_suffix exclude_expression include_date_range include_recent exclude_max_size ignore_match ignore_prefix ignore_expression test_match test_prefix test_expression

Filter type.
filters/expression

string

Full custom expression. Only required for the following filters:
exclude_prefix, exclude_suffix, exclude_expression, ignore_match, ignore_prefix, ignore_expression, test_match, test_prefix, test_expression.
filters/from_date

string <YYYY-MM-DD>

Scan files that were created or modified within a date range. This is the start date for the date range. Only required for the include_date_range filter.
filters/to_date

string <YYYY-MM-DD>

Scan files that were created or modified within a date range. This is the end date for the date range. Only required for the include_date_range filter.
filters/days

integer

Scan files that have been created or modified within the specified number of days. Only required for include_recent filter.
filters/size

integer <MB>

Exclude locations greater than a specified file size (MB). Only required for exclude_max_size filter.

Request Samples

HTTP
PUT /v1/datatypes/profiles/12345678901234567890
Content-Type: application/json
{
  "label": "united-kingdom-pii",
  "builtins": [
    "BANK_UNITED_KINGDOM_VAT_STRICT",
    "PHD_UNITED_KINGDOM_CHI",
    "PHD_UNITED_KINGDOM_HCN_STRICT",
    "PHD_UNITED_KINGDOM_NHS_STRICT",
    "PII_MISC_NAME",
    "PII_UK_ADDRESS"
  ],
  "custom_expressions": {
    "disabled": true,
    "label": "string",
    "expression": "string"
  },
  "ocr": true,
  "ebcdic": true,
  "suppress": true,
  "capture": true,
  "filters": [
    {
      "type": "exclude_prefix",
      "expression": "C:\\Windows"
    },
    {
      "type": "exclude_suffix",
      "expression": ".avi |* .mp4"
    },
    {
      "type": "include_date_range",
      "from_date": "2005-01-01",
      "to_date": "2021-09-11"
    },
    {
      "type": "include_recent",
      "days": 28
    },
    {
      "type": "exclude_max_size",
      "size": "5000"
    }
  ]
}
cURL
curl --request PUT 'https://er-master:8339/v1/datatypes/profiles/12345678901234567890' \
--user apiuser:password123 \
--header "Content-Type: application/json" \
--data-raw '{
  "label": "united-kingdom-pii",
  "builtins": [
    "BANK_UNITED_KINGDOM_VAT_STRICT",
    "PHD_UNITED_KINGDOM_CHI",
    "PHD_UNITED_KINGDOM_HCN_STRICT",
    "PHD_UNITED_KINGDOM_NHS_STRICT",
    "PII_MISC_NAME",
    "PII_UK_ADDRESS"
  ],
  "custom_expressions": {
    "disabled": true,
    "label": "string",
    "expression": "string"
  },
  "ocr": true,
  "ebcdic": true,
  "suppress": true,
  "capture": true,
  "filters": [
    {
      "type": "exclude_prefix",
      "expression": "C:\\Windows"
    },
    {
      "type": "exclude_suffix",
      "expression": ".avi |* .mp4"
    },
    {
      "type": "include_date_range",
      "from_date": "2005-01-01",
      "to_date": "2021-09-11"
    },
    {
      "type": "include_recent",
      "days": 28
    },
    {
      "type": "exclude_max_size",
      "size": "5000"
    }
  ]
}'

Response Schema

201 Created
Response Item Data Type Description
version

integer

Version number for the data type profile.

Response Samples

201 Created
HTTP/1.1 201 OK
Content-Type: application/json
Content-Length: xxx
{
  "version": 1
}
422 Unprocessable Entity

Returned if the custom data type expression is invalid.

HTTP/1.1 422 Unprocessable Entity
Content-Type: application/json
Content-Length: xxx
{
  "message": "Invalid custom expression: <custom_data_type_expression>, compile error: <error_message>"
}

Delete a Data Type Profile

Remove a data type profile.

Request

DELETE

https://er-master:8339/v1/datatypes/profiles/<profile_id>

Authorization

Basic Authentication

Path Parameters

Parameter Data Type Description
profile_id

string

Specify ID of the data type profile to delete. If a data type profile is sealed (e.g. it has been used at least once in a Scan) it cannot be deleted to ensure Scan summaries or reports can be displayed accurately. profile_id is the id response item from the /v1/datatypes/profiles endpoint.

Request Samples

HTTP
DELETE /v1/datatypes/profiles/12345678901234567890
cURL
curl --request DELETE 'https://er-master:8339/v1/datatypes/profiles/12345678901234567890' \
--user apiuser:password123

Response Samples

204 No Content

Add a Data Type Profile

Add a new data type profile. If a profile with the same name or label already exists, this POST request will create a new version of that profile.

Request

POST

https://er-master:8339/v1/datatypes/profiles

Authorization

Basic Authentication

Request Schema

Response Item Data Type Description
label

string

Label or name for the data type profile. If using an existing data type profile name, a new version of that data type profile will be created.
builtins

string <array>

Array of key values for default data types to enable for the data type profile. key is the response item from the /v1/datatypes/builtins endpoint.
custom_expressions

object

User-defined custom expressions and data types.
custom_expressions/disabled

boolean

enum: true false

Indicates if a custom expression or custom data type is disabled.
custom_expressions/label

string

Label for custom expression or custom data type.
custom_expressions/expression

string

Full custom expression.
ocr

boolean

enum: true false

Set true to enable the "Enable OCR" advanced feature to scan images for sensitive data.
voice

boolean

enum: true false

The Enable Voice Recognition advance feature has reached end-of-support as of Enterprise Recon 2.10.0.
ebcdic

boolean

enum: true false

Set true to enable the "Enable EBCDIC mode" advanced feature to enable scanning of file systems that use IBM's EBCDIC encoding.
suppress

boolean

enum: true false

When true, data patterns identified as test data will be ignored during scans and will not be reported. When false, data patterns identified as test data found during scans will be reported as test data matches.
See Test Data for more information.
capture

boolean

enum: true false

When true, contextual data will be captured during scans and can be viewed when displaying matches in the Web Console. When false, contextual data will not captured during scans.
filters

object

Define list of filters for the data type profile.
filters/type

string

enum: exclude_prefix exclude_suffix exclude_expression include_date_range include_recent exclude_max_size ignore_match ignore_prefix ignore_expression test_match test_prefix test_expression

Filter type.
filters/expression

string

Full custom expression. Only required for the following filters:
exclude_prefix, exclude_suffix, exclude_expression, ignore_match, ignore_prefix, ignore_expression, test_match, test_prefix, test_expression.
filters/from_date

string <YYYY-MM-DD>

Scan files that were created or modified within a date range. This is the start date for the date range. Only required for the include_date_range filter.
filters/to_date

string <YYYY-MM-DD>

Scan files that were created or modified within a date range. This is the end date for the date range. Only required for the include_date_range filter.
filters/days

integer

Scan files that have been created or modified within the specified number of days. Only required for include_recent filter.
filters/size

integer <MB>

Exclude locations greater than a specified file size (MB). Only required for exclude_max_size filter.

Request Samples

HTTP
POST /v1/datatypes/profiles
Content-Type: application/json
{
  "label": "united-kingdom-pii",
  "builtins": [
    "BANK_UNITED_KINGDOM_VAT_STRICT",
    "PHD_UNITED_KINGDOM_CHI",
    "PHD_UNITED_KINGDOM_HCN_STRICT",
    "PHD_UNITED_KINGDOM_NHS_STRICT",
    "PII_MISC_NAME",
    "PII_UK_ADDRESS"
  ],
  "custom_expressions": {
    "disabled": true,
    "label": "string",
    "expression": "string"
  },
  "ocr": true,
  "ebcdic": true,
  "suppress": true,
  "capture": true,
  "filters": [
    {
      "type": "exclude_prefix",
      "expression": "C:\\Windows"
    },
    {
      "type": "exclude_suffix",
      "expression": ".avi |* .mp4"
    },
    {
      "type": "include_date_range",
      "from_date": "2005-01-01",
      "to_date": "2021-09-11"
    },
    {
      "type": "include_recent",
      "days": 28
    },
    {
      "type": "exclude_max_size",
      "size": "5000"
    }
  ]
}
cURL
curl --request POST 'https://er-master:8339/v1/datatypes/profiles' \
--user apiuser:password123 \
--header "Content-Type: application/json" \
--data-raw '{
  "label": "united-kingdom-pii",
  "builtins": [
    "BANK_UNITED_KINGDOM_VAT_STRICT",
    "PHD_UNITED_KINGDOM_CHI",
    "PHD_UNITED_KINGDOM_HCN_STRICT",
    "PHD_UNITED_KINGDOM_NHS_STRICT",
    "PII_MISC_NAME",
    "PII_UK_ADDRESS"
  ],
  "custom_expressions": {
    "disabled": true,
    "label": "string",
    "expression": "string"
  },
  "ocr": true,
  "ebcdic": true,
  "suppress": true,
  "capture": true,
  "filters": [
    {
      "type": "exclude_prefix",
      "expression": "C:\\Windows"
    },
    {
      "type": "exclude_suffix",
      "expression": ".avi |* .mp4"
    },
    {
      "type": "include_date_range",
      "from_date": "2005-01-01",
      "to_date": "2021-09-11"
    },
    {
      "type": "include_recent",
      "days": 28
    },
    {
      "type": "exclude_max_size",
      "size": "5000"
    }
  ]
}'

Response Schema

201 Created
Response Item Data Type Description
id

string

Unique ID identifying the data type profile.
version

integer

Version number for the data type profile.

Response Samples

201 Created
HTTP/1.1 201 OK
Content-Type: application/json
Content-Length: xxx
{
  "id": "6012690137329599886",
  "version": 1
}
422 Unprocessable Entity

Returned if the custom data type expression is invalid.

HTTP/1.1 422 Unprocessable Entity
Content-Type: application/json
Content-Length: xxx
{
  "message": "Invalid custom expression: <custom_data_type_expression>, compile error: <error_message>"
}

Manage a Data Type Profile

Manage a data type profile by performing a specific action: share, unshare, archive or unarchive a data type profile.

Request

POST

https://er-master:8339/v1/datatypes/profiles/<profile_id>/<action>

Authorization

Basic Authentication

Path Parameters

Parameter Data Type Description
profile_id

string

Specify ID of the data type profile to manage. profile_id is the id response item from the /v1/datatypes/profiles endpoint.
action

string

enum: share unshare archive unarchive

Action to perform on the data type profile.

Request Samples

HTTP
POST /v1/datatypes/profiles/12345678901234567890/share
cURL
curl --request POST 'https://er-master:8339/v1/datatypes/profiles/12345678901234567890/share' \
--user apiuser:password123

Response Samples

201 Created