# Manage Identification

The `/sdd` resource allows you to create and manage identifiers in domains.

## Endpoints

<table><thead><tr><th>Method</th><th width="434">Endpoint</th><th>Description</th></tr></thead><tbody><tr><td><strong>POST</strong></td><td><a href="#post-sdd-identification"><code>/sdd/identification</code></a></td><td>Run identification for a data source or domain</td></tr><tr><td><strong>GET</strong></td><td><a href="#get-sdd-identifier"><code>/sdd/identifier</code></a></td><td>Search all identifiers</td></tr><tr><td><strong>POST</strong></td><td><a href="#post-sdd-identifier"><code>/sdd/identifier</code></a></td><td>Create a new identifier</td></tr><tr><td><strong>GET</strong></td><td><a href="#get-sdd-identifier-id"><code>/sdd/identifier/{id}</code></a></td><td>Search for an identifier by ID</td></tr><tr><td><strong>DELETE</strong></td><td><a href="#delete-sdd-identifier-id"><code>/sdd/identifier/{id}</code></a></td><td>Delete the specified identifier</td></tr><tr><td><strong>PUT</strong></td><td><a href="#put-sdd-identifier-id"><code>/sdd/identifier/{id}</code></a></td><td>Update an identifier</td></tr><tr><td><strong>POST</strong></td><td><a href="#post-sdd-identifier-bulk-copy-domainid"><code>/sdd/identifier/bulk-copy/{domainId}</code></a></td><td>Copy the listed identifiers to a domain</td></tr><tr><td><strong>POST</strong></td><td><a href="#post-sdd-identifier-bulk-delete"><code>/sdd/identifier/bulk-delete</code></a></td><td>Bulk delete identifiers</td></tr></tbody></table>

## <mark style="color:green;">`POST`</mark> `/sdd/identification`

Run identification for a data source or domain.

**Required Immuta permission**: Global `GOVERNANCE` or `Manage Identifiers` within the specific domain

{% tabs %}
{% tab title="Run identification for a domain" %}

```bash
curl -X 'POST' \
    'https://www.organization.immuta.com/sdd/identification' \
    -H 'accept: application/json' \
    -H 'Content-Type: application/json' \
    -H 'Authorization: 846e9e43c86a4ct1be14290d95127d13f' \
    -d '{
    "domainId": "c959079a-4448-4b9c-b6b1-4fd8dd7b3dd1"
    }'
```

{% endtab %}

{% tab title="Run identification for data sources" %}

```
curl -X 'POST' \
    'https://www.organization.immuta.com/sdd/identification' \
    -H 'accept: application/json' \
    -H 'Content-Type: application/json' \
    -H 'Authorization: 846e9e43c86a4ct1be14290d95127d13f' \
    -d '{
    "dataSourceIds": [
      123170,
      613,
      443
    ]
    }'
```

{% endtab %}
{% endtabs %}

### Body parameters

| Parameter                 | Description                                                                                               | Required or optional                            |
| ------------------------- | --------------------------------------------------------------------------------------------------------- | ----------------------------------------------- |
| **dataSourceIds** `array` | A list of the unique identifiers of the data sources to run identification on.                            | Must have either `dataSourceIds` or `domainId`. |
| **domainId** `string`     | The unique identifier of the domain. This will run identification for all the data sources in the domain. | Must have either `dataSourceIds` or `domainId`. |

### Response

The response returns the job ID of the identification run.

```
{
  "workflowId": "DomainIdentification_c959079a-4448-4b9c-b6b1-4fd8dd7b3dd1"
}
```

## <mark style="color:green;">`GET`</mark> `/sdd/identifier`

Search all identifiers.

**Required Immuta permission**: Global `GOVERNANCE` or `Manage Identifiers` within any domain

```bash
curl -X 'GET' \
    'https://www.organization.immuta.com/sdd/identifier' \
    -H 'accept: application/json' \
    -H 'Content-Type: application/json' \
    -H 'Authorization: 846e9e43c86a4ct1be14290d95127d13f'
```

### Response

The response returns a list of all the identifiers in Immuta. See the [identifier object attributes](#identifier-object-attributes) described below.

## <mark style="color:green;">`POST`</mark> `/sdd/identifier`

Create a new identifier.

**Required Immuta permission**: Global `GOVERNANCE` or `Manage Identifiers` within the specific domain

{% tabs %}
{% tab title="Regex" %}

<pre><code>curl -X 'POST' \
    'https://www.organization.immuta.com/sdd/identifier' \
    -H 'accept: application/json' \
    -H 'Content-Type: application/json' \
    -H 'Authorization: 846e9e43c86a4ct1be14290d95127d13f' \
    -d '{
     "name":"Primary regex identifier",
     "description":"This regex identifier will match and tag columns containing primary numbers.",
     "domainId": "c959079a-4448-4b9c-b6b1-4fd8dd7b3dd1",
     "tags":[
        {
           "name":"Discovered. Primary number"
        }
     ],
     "type":"regex",
     "config":{
        "regex":"(/^1?$|^(11+?)1+$/)"
     }
<strong>    }'
</strong></code></pre>

{% endtab %}

{% tab title="Dictionary" %}

```bash
curl -X 'POST' \
    'https://www.organization.immuta.com/sdd/identifier' \
    -H 'accept: application/json' \
    -H 'Content-Type: application/json' \
    -H 'Authorization: 846e9e43c86a4ct1be14290d95127d13f' \
    -d '{
     "name": "Color dictionary identifier",
     "description": "This dictionary identifier will match and tag columns containing primary colors.",
     "domainId": "c959079a-4448-4b9c-b6b1-4fd8dd7b3dd1",
     "tags":[
        {
          "name": "Discovered.Primary color"
        }
     ],
     "type": "dictionary",
     "config": {
        "values":
           [
             "red",
             "blue",
             "yellow"
           ],
        "caseSensitive": true
     }
    }'
```

{% endtab %}

{% tab title="Column name regex" %}

<pre><code>curl -X 'POST' \
    'https://www.organization.immuta.com/sdd/identifier' \
    -H 'accept: application/json' \
    -H 'Content-Type: application/json' \
    -H 'Authorization: 846e9e43c86a4ct1be14290d95127d13f' \
    -d '{
     "name":"Primary column name identifier",
     "description":"This regex identifier will match and tag columns with names of primary numbers.",
     "domainId": "c959079a-4448-4b9c-b6b1-4fd8dd7b3dd1",
     "tags":[
        {
           "name":"Discovered. Primary number"
        }
     ],
     "type":"columnNameRegex",
     "config":{
        "regex":"(/^1?$|^(11+?)1+$/)"
     }
<strong>    }'
</strong></code></pre>

{% endtab %}
{% endtabs %}

### Body parameters

| Parameter                          | Description                                                                                                                                               | Required or optional                                                                    | Default values | Accepted values                                                                                           |
| ---------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | -------------- | --------------------------------------------------------------------------------------------------------- |
| **name** `string`                  | The name of the new identifier.                                                                                                                           | Required                                                                                | -              | -                                                                                                         |
| **description** `string`           | The description of the new identifier.                                                                                                                    | Required                                                                                | -              | -                                                                                                         |
| **domainId** `string`              | The ID of the domain to put the identifier in. Omit to create a reference identifier.                                                                     | Optional                                                                                | -              | -                                                                                                         |
| **tags** `array`                   | The tags to apply when the criteria in the config is matched.                                                                                             | Required                                                                                | -              | -                                                                                                         |
| tags.**name** `string`             | The fully-qualified name of the tag to apply if the criteria is met. The tag must already exist in Immuta.                                                | Required                                                                                | -              | -                                                                                                         |
| **type** `string`                  | The type of criteria the identifier uses.                                                                                                                 | Required                                                                                | -              | <ul><li><code>regex</code></li><li><code>dictionary</code></li><li><code>columnNameRegex</code></li></ul> |
| **config** `object`                | The criteria requirements to match the identifier.                                                                                                        | Required                                                                                | -              | -                                                                                                         |
| config.**regex** `string`          | A case-insensitive regular expression to match against column values (`regex` ) or column names (`columnNameRegex` ), depending on the specified `type` . | The config object must include one of the following: `config.regex` or `config.values`. | -              | -                                                                                                         |
| config.**values** `array`          | The list of strings included in the dictionary to match against column values.                                                                            | The config object must include one of the following: `config.regex` or `config.values`. | -              | -                                                                                                         |
| config.**caseSensitive** `boolean` | When `true`, the dictionary values are case-sensitive.                                                                                                    | Optional                                                                                | `false`        | <ul><li><code>true</code></li><li><code>false</code></li></ul>                                            |

### Response

The response returns details about the new identifier. See the [identifier object attributes](#identifier-object-attributes) described below.

```
{
  "id": "a32c69df-3707-4b03-8144-a8d11d1f52a4",
  "name": "Color dictionary identifier",
  "description": "This dictionary identifier will match and tag columns containing primary colors.",
  "createdAt": "2025-05-07T20:58:04.531Z",
  "updatedAt": "2025-05-07T20:58:04.531Z",
  "domain": {
    "id": "c959079a-4448-4b9c-b6b1-4fd8dd7b3dd1",
    "name": "Artistry domain"
  },
  "createdBy": {
    "id": 117,
    "name": "Taylor Smith",
    "email": "taylor.smith@immuta.com"
  },
  "tags": [
    {
      "id": 244789,
      "name": "Discovered. Primary color",
      "displayName": "Primary color"
    }
  ],
  "type": "dictionary",
  "config": {
    "values": [
      "red",
      "blue",
      "yellow"
    ],
    "caseSensitive": true
  }
}
```

## <mark style="color:green;">`GET`</mark> `/sdd/identifier/{id}`

Search for an identifier by ID.

**Required Immuta permission**: Global `GOVERNANCE` or `Manage Identifiers` within the domain with the identifier

```bash
curl -X 'GET' \
    'https://www.organization.immuta.com/sdd/identifier/ee19775a-d58e-406b-b4c1-d6bdafc0f1a6' \
    -H 'accept: application/json' \
    -H 'Content-Type: application/json' \
    -H 'Authorization: 846e9e43c86a4ct1be14290d95127d13f'
```

### Path parameters

| Parameter       | Description                      |
| --------------- | -------------------------------- |
| **id** `string` | The unique ID of the identifier. |

### Response

The response returns an identifier object. See the [identifier object attributes](#identifier-object-attributes) described below.

## <mark style="color:green;">`DELETE`</mark> `/sdd/identifier/{id}`

Delete the specified identifier.

**Required Immuta permission**: Global `GOVERNANCE` or `Manage Identifiers` within the domain with the identifier

```bash
curl -X 'DELETE' \
    'https://www.organization.immuta.com/sdd/identifier/ee19775a-d58e-406b-b4c1-d6bdafc0f1a6' \
    -H 'accept: application/json' \
    -H 'Content-Type: application/json' \
    -H 'Authorization: 846e9e43c86a4ct1be14290d95127d13f'
```

### Path parameters

| Parameter       | Description                      |
| --------------- | -------------------------------- |
| **id** `string` | The unique ID of the identifier. |

### Response

The response returns an identifier object for the deleted identifier. See the [identifier object attributes](#identifier-object-attributes) described below.

## <mark style="color:green;">`PUT`</mark> `/sdd/identifier/{id}`

Update an identifier. Partial updates are not supported.

**Required Immuta permission**: Global `GOVERNANCE` or `Manage Identifiers` within the domain with the identifier

```bash
curl -X 'PUT' \
    'https://www.organization.immuta.com/sdd/identifier/6d1dd367-df1f-4005-ba82-d20f29b34135' \
    -H 'accept: application/json' \
    -H 'Content-Type: application/json' \
    -H 'Authorization: 846e9e43c86a4ct1be14290d95127d13f' \
    -d '{
    "name": "Color dictionary identifier",
    "description": "This dictionary identifier will match and tag columns containing primary colors.",
    "type": "dictionary",
    "config":
    {
      "values": [
        "magenta",
        "cyan",
        "yellow"
      ]
    },
    "tags": [
    {
      "name": "Discovered.Primary colors"
    }]
    }'
```

### Path parameters

| Parameter       | Description                      |
| --------------- | -------------------------------- |
| **id** `string` | The unique ID of the identifier. |

### Body parameters

| Parameter                          | Description                                                                                                                                               | Required or optional                                                                    | Default values | Accepted values                                                                                           |
| ---------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | -------------- | --------------------------------------------------------------------------------------------------------- |
| **name** `string`                  | The name of the identifier.                                                                                                                               | Required                                                                                | -              | -                                                                                                         |
| **description** `string`           | The description of the identifier.                                                                                                                        | Required                                                                                | -              | -                                                                                                         |
| **domainId** `string`              | The domain the identifier is in.                                                                                                                          | Optional                                                                                | -              | -                                                                                                         |
| **tags** `array`                   | The tags to apply when the criteria requirements in the config are met.                                                                                   | Required                                                                                | -              | -                                                                                                         |
| tags.**name** `string`             | The fully-qualified name of the tag to apply if the criteria is met.                                                                                      | Required                                                                                | -              | -                                                                                                         |
| **type** `string`                  | The type of criteria the identifier uses.                                                                                                                 | Required                                                                                | -              | <ul><li><code>regex</code></li><li><code>dictionary</code></li><li><code>columnNameRegex</code></li></ul> |
| **config** `object`                | The criteria requirements to match the identifier.                                                                                                        | Required                                                                                | -              | -                                                                                                         |
| config.**regex** `string`          | A case-insensitive regular expression to match against column values (`regex` ) or column names (`columnNameRegex` ), depending on the specified `type` . | The config object must include one of the following: `config.regex` or `config.values`. | -              | -                                                                                                         |
| config.**values** `array`          | The list of strings included in the dictionary to match against column values.                                                                            | The config object must include one of the following: `config.regex` or `config.values`. | -              | -                                                                                                         |
| config.**caseSensitive** `boolean` | When `true`, the dictionary values are case-sensitive.                                                                                                    | Optional                                                                                | `false`        | <ul><li><code>true</code></li><li><code>false</code></li></ul>                                            |

### Response

The response returns an identifier object for the updated identifier. See the [identifier object attributes](#identifier-object-attributes) described below.

## <mark style="color:green;">`POST`</mark> `/sdd/identifier/bulk-copy/{domainId}`

Copy the listed identifiers into a domain.

**Required Immuta permission**: Global `GOVERNANCE` or `Manage Identifiers` within the specific domain

```bash
curl -X 'POST' \
    'https://www.organization.immuta.com/sdd/identifier/bulk-copy/c959079a-4448-4b9c-b6b1-4fd8dd7b3dd1' \
    -H 'accept: application/json' \
    -H 'Content-Type: application/json' \
    -H 'Authorization: 846e9e43c86a4ct1be14290d95127d13f' \
    -d '[
    "25949284-f22a-4d46-9240-004b832025dd",
    "a181558f-6d97-4551-92cc-9909f90e107a",
    "a5459521-78dc-45f8-b7ba-e82855e10342"
    ]'
```

### Path parameters

| Parameter             | Description                  |
| --------------------- | ---------------------------- |
| **domainId** `string` | The unique ID of the domain. |

### Body parameters

Include an array of identifier IDs. These identifiers will be cloned and the new identifiers will be in the specified domain.

### Response

The response returns an identifier object for each of the new identifiers. See the [identifier object attributes](#identifier-object-attributes) described below.

## <mark style="color:green;">`POST`</mark> `/sdd/identifier/bulk-delete`

Bulk delete identifiers.

**Required Immuta permission**: Global `GOVERNANCE` or `Manage Identifiers` within the domain with the identifiers

```bash
curl -X 'POST' \
    'https://www.organization.immuta.com/sdd/identifier/bulk-delete' \
    -H 'accept: application/json' \
    -H 'Content-Type: application/json' \
    -H 'Authorization: 846e9e43c86a4ct1be14290d95127d13f' \
    -d '{
    "identifierIds": [
        "6eef29ce-7950-4d01-8c2e-04631a22d9e7",
        "f977de96-604a-4a82-abf2-7a26c04f7054"
    ]}'
```

### Body parameters

| Parameter                 | Description                                            | Required or optional |
| ------------------------- | ------------------------------------------------------ | -------------------- |
| **identifierIds** `array` | A list of the unique IDs of the identifiers to delete. | Required             |

### Response

The response returns an identifier object for each of the deleted identifiers. See the [identifier object attributes](#identifier-object-attributes) described below.

## Identifier object attributes

| Attribute                          | Description                                                                                                                                               |
| ---------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **id** `string`                    | The unique ID of the identifier.                                                                                                                          |
| **name** `string`                  | The name of the identifier.                                                                                                                               |
| **description** `string`           | The description of the identifier.                                                                                                                        |
| **createdAt** `timestamp`          | The date the identifier was created.                                                                                                                      |
| **updatedAt** `timestamp`          | The date the identifier was last updated.                                                                                                                 |
| **type** `string`                  | The type of criteria the identifier uses. Options are `regex` , `dictionary` , or `columnNameRegex` .                                                     |
| **config** `object`                | The criteria requirements to match the identifier. The config object with either of the following: `config.regex` or `config.values`.                     |
| config.**regex** `string`          | A case-insensitive regular expression to match against column values (`regex` ) or column names (`columnNameRegex` ), depending on the specified `type` . |
| config.**values** `array`          | The list of strings included in the dictionary to match against column values.                                                                            |
| config.**caseSensitive** `boolean` | If `true`, `values` are case sensitive.                                                                                                                   |
| **tags** `array`                   | Details on the tags to apply when the criteria requirements are met.                                                                                      |
| tags.**id** `integer`              | The unique ID of the tag.                                                                                                                                 |
| tags.**name** `string`             | The fully-qualified name of the tag.                                                                                                                      |
| tags.**displayName** `string`      | The tag's display name.                                                                                                                                   |
| **createdBy** `object`             | Details on the user who created the identifier.                                                                                                           |
| createdBy.**id** `integer`         | The unique ID of the user.                                                                                                                                |
| createdBy.**name** `string`        | The name of the user.                                                                                                                                     |
| createdBy.**email** `string`       | The email of the user.                                                                                                                                    |
| **domain** `object`                | Details on the domain the identifier is in.                                                                                                               |
| domain.**id** `string`             | The unique ID of the domain.                                                                                                                              |
| domain.**name** `string`           | The name of the domain.                                                                                                                                   |
