# Collibra Developer Portal

<p align="center"><button type="button" class="button primary" data-action="search" data-icon="magnifying-glass">Search...</button></p>

<p align="center"><button type="button" class="button secondary" data-action="search" data-query="How do I authenticate with the Collibra REST API?" data-icon="key">Authenticate</button><button type="button" class="button secondary" data-action="search" data-query="How create data with the Collibra REST API?" data-icon="file-import">Create data</button><button type="button" class="button secondary" data-action="search" data-query="How do I build a workflow in the Workflow Designer?" data-icon="diagram-project">Build a workflow</button><button type="button" class="button secondary" data-action="search" data-query="How do I use a script task in a Collibra workflow?" data-icon="code">Use a script task</button></p>

<p align="center">The Collibra Developer Portal is designed to answer your technical questions and give you the resources to extend the Collibra Platform to the unique needs of your business. Explore the APIs, model your own workflows, follow tutorials, and manage your data in Collibra.</p>

## <mark style="color:$primary;">Explore by subject</mark>

<table data-view="cards"><thead><tr><th></th><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th><th data-hidden data-card-cover data-type="image">Cover image</th><th data-hidden data-card-cover-dark data-type="image">Cover image (dark)</th></tr></thead><tbody><tr><td><h3><i class="fa-gear-api" style="color:$primary;">:gear-api:</i></h3></td><td><h4><strong>APIs</strong></h4></td><td>Create, update, and read data from the Collibra Platform with the REST and GraphQL APIs.</td><td><a href="/spaces/259XXXQinDEdEgkdyb2W">/spaces/259XXXQinDEdEgkdyb2W</a></td><td></td><td></td></tr><tr><td><h3><i class="fa-triple-chevrons-right" style="color:$primary;">:triple-chevrons-right:</i></h3></td><td><h4><strong>Workflow Designer</strong></h4></td><td>Model your own processes with BPMN and Groovy, and run them in Collibra.</td><td><a href="/spaces/AeKwSsP1BP6lDDArkTO2/pages/lHMrFBOD3GsADt1fPLJb">/spaces/AeKwSsP1BP6lDDArkTO2/pages/lHMrFBOD3GsADt1fPLJb</a></td><td></td><td></td></tr><tr><td><h3><i class="fa-sliders" style="color:$primary;">:sliders:</i></h3></td><td><h4><strong>Managing workflows</strong></h4></td><td>Publish, configure, and govern workflows in Collibra, from permissions to day-to-day operation.</td><td><a href="/spaces/AeKwSsP1BP6lDDArkTO2/pages/nVPO2jwPBipYsYqfwluG">/spaces/AeKwSsP1BP6lDDArkTO2/pages/nVPO2jwPBipYsYqfwluG</a></td><td></td><td></td></tr><tr><td><h3><i class="fa-terminal" style="color:$primary;">:terminal:</i></h3></td><td><h4><strong>CLI</strong></h4></td><td>Drive Collibra from the command line. New, with room to grow.</td><td><a href="/spaces/raNtPIJgLykIi3qUGPic">/spaces/raNtPIJgLykIi3qUGPic</a></td><td></td><td></td></tr><tr><td><h3><i class="fa-pen-to-square" style="color:$primary;">:pen-to-square:</i></h3></td><td><h4><strong>Tutorials</strong></h4></td><td>Browse how-tos, expert tips, and worked solutions across APIs and Workflows.</td><td><a href="/spaces/8DYDBo6jzvQ73H6CZj6k">/spaces/8DYDBo6jzvQ73H6CZj6k</a></td><td></td><td></td></tr></tbody></table>

***

## <mark style="color:$primary;">What do you want to build?</mark>

{% columns %}
{% column %}

### Integrate external systems

Bulk-import assets via the Import API, export the Knowledge Graph for downstream systems, provision users through SCIM, and export reports with the Output Module.

<a href="/spaces/259XXXQinDEdEgkdyb2W/pages/O2ZdLKxpmUAagegPSPMZ" class="button primary" data-icon="rocket-launch">API guides</a>
{% endcolumn %}

{% column %}

### Automate business processes

Use the Workflow Designer to model approval flows, data governance routines, and notification pipelines as BPMN processes. Attach Groovy scripts, call delegates, and trigger workflows from Collibra events.

<a href="/spaces/AeKwSsP1BP6lDDArkTO2/pages/lHMrFBOD3GsADt1fPLJb" class="button primary" data-icon="triple-chevrons-right">Workflow Designer</a>
{% endcolumn %}

{% column %}

### Extend and customize

Combine the REST API with custom workflow delegates to build tailor-made governance experiences. Use the tutorials to go from zero to a working integration in one sitting.

<a href="/spaces/8DYDBo6jzvQ73H6CZj6k" class="button primary" data-icon="pen-to-square">Tutorials</a>
{% endcolumn %}
{% endcolumns %}

***

## <mark style="color:$primary;">Latest tutorials</mark>

{% columns %}
{% column %}
{% content-ref url="/spaces/8DYDBo6jzvQ73H6CZj6k/pages/9DAeQ1dLQ9MHOJ8liefY" %}
[Show a link to a created asset after a workflow ends](/tutorials/show-a-link-to-a-created-asset-after-a-workflow-ends)
{% endcontent-ref %}

{% content-ref url="/spaces/8DYDBo6jzvQ73H6CZj6k/pages/IyyT4tPNl5zyIlbXBZhv" %}
[Send notifications from workflows](/tutorials/send-notifications-from-workflows)
{% endcontent-ref %}

{% content-ref url="/spaces/8DYDBo6jzvQ73H6CZj6k/pages/b09oAeC4X9JDH7bbD4rx" %}
[resourceType and resourceDiscriminator](/tutorials/resourcetype-and-resourcediscriminator)
{% endcontent-ref %}
{% endcolumn %}

{% column %}
{% content-ref url="/spaces/8DYDBo6jzvQ73H6CZj6k/pages/sGcJFaus2hSiU7ETQI1n" %}
[Delete assets that are missing from source](/tutorials/delete-assets-that-are-missing-from-source)
{% endcontent-ref %}

{% content-ref url="/spaces/8DYDBo6jzvQ73H6CZj6k/pages/MTYFdqc6oF8VGFr65z3P" %}
[The new Workflow Designer experience](/tutorials/the-new-workflow-designer-experience)
{% endcontent-ref %}

{% content-ref url="/spaces/8DYDBo6jzvQ73H6CZj6k/pages/QquR58kpsKcorpC6NPFs" %}
[How to manage the new workflow permissions](/tutorials/how-to-manage-the-new-workflow-permissions)
{% endcontent-ref %}
{% endcolumn %}

{% column %}
{% content-ref url="/spaces/8DYDBo6jzvQ73H6CZj6k/pages/qw4ZkUfbN1sO7vlE5Tjp" %}
[Soft delete workflow](/tutorials/soft-delete-workflow)
{% endcontent-ref %}

{% content-ref url="/spaces/8DYDBo6jzvQ73H6CZj6k/pages/0vWp8PWOye44kb63hv9y" %}
[Collibra API Task workflow](/tutorials/collibra-api-task-workflow)
{% endcontent-ref %}

{% content-ref url="/spaces/8DYDBo6jzvQ73H6CZj6k/pages/KPZTPDayqzZZTeS8xltN" %}
[Collibra AI model Python integration](/tutorials/collibra-ai-model-python-integration)
{% endcontent-ref %}
{% endcolumn %}
{% endcolumns %}

***

<h2 align="center"><mark style="color:$primary;">Join a community of Data Citizens</mark></h2>

<p align="center">Get help, share what you have built, and find more resources across the Collibra ecosystem.</p>

<table data-card-size="large" data-view="cards"><thead><tr><th></th><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><h3><i class="fa-comments" style="color:$primary;">:comments:</i></h3></td><td><h4><strong>Collibra Community</strong></h4></td><td>Blocked on an issue and not sure where to ask? Join the Collibra Community. Learn best practices, share insights and collaborate with data citizens worldwide.</td><td><a href="https://community.collibra.com/">https://community.collibra.com/</a></td></tr><tr><td><h3><i class="fa-lightbulb" style="color:$primary;">:lightbulb:</i></h3></td><td><h4><strong>Ideation platform</strong></h4></td><td>Have ideas for new features or products and want to share your use case? Add new ideas, comment on existing ideas, and vote for the ideas that you support across the Collibra products.</td><td><a href="https://ideas.collibra.com/">https://ideas.collibra.com/</a></td></tr><tr><td><h3><i class="fa-book-open" style="color:$primary;">:book-open:</i></h3></td><td><h4><strong>Product Resource Center</strong></h4></td><td>Find release information and product downloads. For business-critical issues, get in touch with Collibra Support.</td><td><a href="https://productresources.collibra.com/">https://productresources.collibra.com/</a></td></tr><tr><td><h3><i class="fa-graduation-cap" style="color:$primary;">:graduation-cap:</i></h3></td><td><h4><strong>Collibra University</strong></h4></td><td>With courses for new data citizens all the way to seasoned data pros, Collibra University has learning paths designed to fit your needs.</td><td><a href="https://university.collibra.com/">https://university.collibra.com/</a></td></tr></tbody></table>

{% hint style="success" icon="store" %}
**Want to get listed on the Collibra Marketplace?**

The Collibra Marketplace makes it easy for every developer to distribute their app to a growing community of Data Citizens and partners.

<p align="right"><a href="https://marketplace.collibra.com/faq/#q7" class="button primary" data-icon="store">See how it works</a></p>
{% endhint %}


# APIs

The Collibra REST and GraphQL APIs let you build new ways to create, read, and update data in the Collibra Platform and integrate it with the rest of your data ecosystem.

## <mark style="color:$primary;">Browse the API guides</mark>

<table data-card-size="large" data-view="cards"><thead><tr><th></th><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><h3><i class="fa-file-import" style="color:$primary;">:file-import:</i></h3></td><td><h4><strong>Import API</strong></h4></td><td>Bulk-create and update assets, attributes, and relations from JSON or CSV.</td><td><a href="/pages/tg5mBbcaVwKS4wowOuGp">/pages/tg5mBbcaVwKS4wowOuGp</a></td></tr><tr><td><h3><i class="fa-file-export" style="color:$primary;">:file-export:</i></h3></td><td><h4><strong>Output Module</strong></h4></td><td>Query and export Collibra data with a powerful, structured query language.</td><td><a href="/pages/MzXjad69uIm6JUBXBJWL">/pages/MzXjad69uIm6JUBXBJWL</a></td></tr><tr><td><h3><i class="fa-users-gear" style="color:$primary;">:users-gear:</i></h3></td><td><h4><strong>SCIM API</strong></h4></td><td>Provision and manage users and groups from your identity provider.</td><td><a href="/pages/evvtJ00CUzj2J3twN0IS">/pages/evvtJ00CUzj2J3twN0IS</a></td></tr><tr><td><h3><i class="fa-share-nodes" style="color:$primary;">:share-nodes:</i></h3></td><td><h4><strong>Knowledge Graph API</strong></h4></td><td>Retrieve communities, domains, assets, and complex relations through a single GraphQL endpoint.</td><td><a href="/pages/tMsptmY35tg2xuu0ajph">/pages/tMsptmY35tg2xuu0ajph</a></td></tr></tbody></table>

***

## <mark style="color:$primary;">Inspect REST and GraphQL references</mark>

{% columns %}
{% column %}

### REST API reference

The REST API reference is generated from the OpenAPI specifications shipped with the newest release. Browse endpoints, parameters, and response schemas.

<a href="/pages/CI9vY4K06uXm9xi6YTS1" class="button primary" data-icon="brackets-curly">REST reference</a>
{% endcolumn %}

{% column %}

### GraphQL and the Knowledge Graph API

The Knowledge Graph is a GraphQL API and the full schema reference is available in your environment through introspection. Here you can browse the reference generated from the most recent Collibra release.

<a href="/pages/6oNSa2bTkIdRHssH4vAZ" class="button primary" data-icon="share-nodes">GraphQL reference</a>
{% endcolumn %}
{% endcolumns %}

***

## <mark style="color:$primary;">Work with the APIs</mark>

{% columns %}
{% column %}

### Authenticate

Sign in, manage a session, and pass credentials with every request before you call any endpoint.

<a href="/spaces/8DYDBo6jzvQ73H6CZj6k/pages/qta3HAOVZQtRw5pDGnnE" class="button primary" data-icon="key">Authentication</a>
{% endcolumn %}

{% column %}

### Follow a tutorial

Go from zero to a working integration with worked examples for the REST and Import APIs.

<a href="/spaces/8DYDBo6jzvQ73H6CZj6k" class="button primary" data-icon="pen-to-square">Tutorials</a>
{% endcolumn %}

{% column %}

### Additional help

Ask the community about an endpoint, a parameter, or an error you are seeing.

<a href="https://community.collibra.com/" class="button primary" data-icon="comments">Ask the community</a>
{% endcolumn %}
{% endcolumns %}


# Introduction

The Output Module is a lightweight graph query engine exposed through the public API. It allows different output formats, such as JSON, XML, Excel, and CSV. It also provides a single API to query most of the Collibra entities, such as assets, communities, domains and types, using SQL-like filtering capabilities. You can sort entities using any of the available properties and page results and view permissions for authenticated users who issue REST calls.

## Important considerations for the Output Module API

The Output Module API is a powerful interface that provides extensive querying capabilities, similar to direct SQL access to your Collibra database. To ensure efficient usage, it is important to understand the implications of your queries.

This API provides a comprehensive query language, enabling you to join entities, sort by properties, and filter by criteria. While this allows extensive control over data retrieval, inefficient queries can significantly impact system performance, particularly in large and complex environments.

Key considerations:

* Performance testing is important: Given the ability of the API to perform complex queries, you must thoroughly test the performance of your specific queries in a production-like or large-scale environment. Queries that perform well in a smaller test setup may cause significant performance degradation when executed against a large dataset.
* Understand the impact of queries: Similar to SQL, the structure of your queries, the number of joins, the complexity of filters, and the amount of data retrieved will directly affect execution time and resource usage.
* Contact Collibra for assistance: If you encounter performance issues or your queries do not meet your needs in a production environment, contact our [implementation and advisory teams](https://www.collibra.com/customer-success/professional-services). They can help you optimize your queries and use the API effectively.

By understanding these considerations and thoroughly testing your implementations, you can use the Output Module API effectively while ensuring good performance in your Collibra environment.


# What's new

* Added "BaseRelationType" and "DerivedRelationType" entities. (July 2026)
* Added performance optimization tips. (January 2026)
* Clarified "Asset" classes. (November 2025)
* Added "CSV output format" section. (October 2025)
* Added performance considerations. (August 2025)
* Added the option to sort null values. (May 2025)
* Changes to date formats for "DateAttribute", "createdOn" and "lastModified" fields. (April 2025)
* Added information about cursor-based pagination. (April 2025)
* Added Comment "resolved" and "contentLastModifiedOn" properties. (January 2025)
* Documented global limits enforced on queries. (December 2024)
* Documented case sensitivity on IN and EQUALS filters. (December 2024)
* Updated target name for EXISTS/NOT\_EXISTS filters from Responsibilities to Member. (December 2024)
* Added information about fields that require administrative rights to be queried. (December 2024)
* Deprecated Relation "startingDate" and "endingDate". (March 2023)
* Added "ViewPermission" entity. (March 2023)
* The Community and Domain entities are now extensions of Organization. (January 2022)
* The Output Module API uses the same terminology as the user interface. (September 2021)
* The guide now contains YAML examples.
* References to the deprecated REST API v1 were removed.
* The Timeout mechanism is described.
* The Result limit mechanism is described.
* The API endpoints are described.


# Performance optimization tips

Evaluating the performance of your API queries helps ensure optimal functionality, especially when working with large datasets or complex operations. While queries may appear efficient in smaller test environments, their behavior can differ significantly under production-like conditions, potentially leading to performance challenges. Inefficient queries, sorting strategies, or user permissions can lead to performance degradation in production environments. Comprehensive testing helps you identify and address these issues before deployment.

## Disable count queries

When using `TableViewConfig` queries, the response includes both the actual data and the total number of rows matching your filter criteria. Calculating this total count requires a separate database request that is often slower than the data retrieval query itself.

To improve query response time, disable the count query by setting `maxCountLimit` to 0:

```json
{  
    "TableViewConfig": {  
        "maxCountLimit": 0,  
        ...  
    }  
}
```

## Use asynchronous exports instead of offset pagination

When exporting large datasets, the response size can exceed practical limits. While offset-based pagination allows you to retrieve data in chunks, performance degrades significantly as you move through pages, with each subsequent query becoming slower.

The recommended approach is to let the Output Module handle pagination automatically by submitting a single query to an asynchronous endpoint:

{% stepper %}
{% step %}
Submit your query without `displayLength` to an asynchronous endpoint.
{% endstep %}

{% step %}
Wait for the export job to complete.
{% endstep %}

{% step %}
Download the generated export file.
{% endstep %}
{% endstepper %}

This method is far more efficient than manually paginating through multiple pages.

## Optimize sorting strategy

Sorting assets by attributes or by related asset properties such as name or attributes is computationally expensive from a database perspective.

Some best practices for sorting are:

* Sort by the asset `Id`, `fullName`, or `displayName` when possible.
* Avoid sorting altogether if it's not essential to your use case.

These simpler sorting approaches significantly reduce database load and improve query performance.

## Use accounts with VIEW\_ALL permission

When calling the Output Module using a regular user account, the results are filtered based on the view permissions of that user account. This filtering adds significant overhead to the database query, negatively impacting performance.

For automated exports, use an account that has `VIEW_ALL` permission. This eliminates the need for user permission logic in the database query, resulting in faster query execution and improved overall performance.


# Prerequisites

Before you begin using the query language used in the Output Module, you must understand the Collibra API model and how to execute REST calls. This guide shows examples that query the REST API but does not explain how to execute REST calls. Refer to external online resources for tutorials and instructional resources.

## Terminology

The Collibra API model was based on the Semantics of Business Vocabulary and Rules (SBVR) standard. Over time, the user interface adopted a simpler terminology set that aligns with Collibra concepts. Since version 2021.09 (5.7.10 for on-premisses), the Output Module API uses the same terminology as the user interface while the legacy one is deprecated.

The following table lists the renamed terminology:

| Deprecated                        | Current          |
| --------------------------------- | ---------------- |
| Term                              | Asset            |
| ConceptType                       | AssetType        |
| ConceptTypeSpecializedConcepts    | ChildAssetTypes  |
| Vocabulary                        | Domain           |
| VocabularyType                    | DomainType       |
| VocabularyTypeSpecializedConcepts | ChildDomainTypes |
| Source                            | SourceAsset      |
| Target                            | TargetAsset      |
| BinaryFactType                    | RelationType     |
| HeadTerm                          | SourceAssetType  |
| TailTerm                          | TargetAssetType  |
| Member                            | Responsibility   |

{% hint style="success" %}
Use only the new terminology.
{% endhint %}


# The Output Module query language

The API model has a set of well-defined entities and relations that allow you to create a single-rooted tree graph query and specify constraints that must exist for any of the resulting nodes, such as results filtering.

For example, to query all assets of type **Business Term** and their respective domain and community, specify the following tree graph:

![Example of Business Term tree graph in Collibra Output Module](/files/fOkls7TB5LLXi0c1VT7s)

{% hint style="info" %}

* The graph is a single-rooted tree graph.
* Multiple root nodes are not allowed.
* Each node has one parent.
* For each of the selected properties, you must specify a unique alias within the graph query.
* Filtering is specified on the node you want to filter and can reference any property of the current node or a child or grandchildren. The example above shows assets filtered by their related AssetType name.
  {% endhint %}


# Getting started

The format of the query language is either JSON or YAML. For simplicity, this example starts with a basic query and builds from there.

Select the `Id` and `Name` for all communities as a flat list. The object representing the query is called ViewConfig, as it defines a particular view, which is a selection of the data. The object containing the graph part of the query is called Resources.

The following example shows the `Community` entity along with its `Id` and `Name` properties.

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

```json
{
  "ViewConfig": {
    "Resources": {
      "Community": {
        "name": "Communities",                   <---\
        "Id": { "name": "community id" },             ---- a node can (or must) have a name. Thus the community own 'name' property must be uppercased to avoid conflicts.
        "Name": { "name": "community name" }     <---/
      }
    }
  }
}
```

{% endtab %}

{% tab title="YAML" %}

```yaml
---
ViewConfig:
  Resources:
    Community:
      name: "Communities"           <---\   
      Id:                                ---- a node can (or must) have a name. Thus the community own 'name' property must be uppercased to avoid
        name: "community id"
      Name:                         <---/
        name: "community name"
```

{% endtab %}
{% endtabs %}

{% hint style="info" %}

* Entity and property keys are case insensitive, so `Community` and `Id` can be written in any case.
* The other keys are case sensitive. For example, `ViewConfig`, `Resources` or `Name` must be written as shown.
* If a property is spelled out the same way as a reserved keyword, you must use a different casing than the reserved key. For example, you use lowercase `name` as the node name and capitalized `Name` as the community name.
  {% endhint %}

## Test the API

To test the API, use a REST client, such as the Postman plugin for Chrome. Many output formats are available, but the JSON tree is the format that most resembles the query.

This example uses the following endpoint on the OutputView resource:

* `{{domain}}/rest/2.0/outputModule/export/json`

Use a POST call with the following body.

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

```json
{
  "ViewConfig": {
    "Resources": {
      "Community": {
        "Id": {
          "name": "community id"
        },
        "Name": {
          "name": "community name"
        }
      }
    }
  }
}
```

{% endtab %}

{% tab title="YAML" %}

```yaml
---
ViewConfig:
  Resources:
    Community:
      Id:
        name: "community id"
      Name:
        name: "community name"
```

{% endtab %}
{% endtabs %}

{% hint style="info" %}
Remember to set the content type header.
{% endhint %}

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

```json
'Content-Type': 'application/json'
```

{% endtab %}

{% tab title="YAML" %}

```yaml
'Content-Type': 'application/x-yaml'
```

{% endtab %}
{% endtabs %}

The output is formatted as an array of communities.

```json
{
  "view": {
    "Community0": [
      {
        "communityId": "c87f166e-041f-4bea-8ff7-c1ffbab2ceeb",
        "communityName": "First Community"
      },
      {
        "communityId": "86a745f5-7e87-4851-a107-a3a272ccea0b",
        "communityName": "Second Community"
      }
    ]
  }
}
```

You can use the ViewConfig queries with the following endpoints:

* `{{domain}}/rest/2.0/outputModule/export/{{xml | json}}`
* `{{domain}}/rest/2.0/outputModule/export/{{xml | json}}-file`
* `{{domain}}/rest/2.0/outputModule/export/{{xml | json}}-job`


# Add related entities to the tree

Use this query example to add the users that have been assigned a role at the community level. To reach those entities, you must retrieve the `Responsibility` entities that represent the assignments between a user, a role and one of the following resources:

* **Asset**
* **Domain**
* **Community**

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

```json
{
  "ViewConfig": {
    "Resources": {
      "Community": {
        "Id": { "name": "community id" },
        "Name": { "name": "community name" },
        "Responsibility": {
          "User": {
            "Id": { "name": "user id" },
            "FirstName": { "name": "first name" },
            "LastName": { "name": "last name" }
          },
          "Role": {
            "Signifier": { "name": "role name" }
          }
        }
      }
    }
  }
}
```

{% endtab %}

{% tab title="YAML" %}

```yaml
---
ViewConfig:
  Resources:
    Community:
      Id:
        name: "community id"
      Name:
        name: "community name"
      Responsibility:
        User:
          Id:
            name: "user id"
          FirstName:
            name: "first name"
          LastName:
            name: "last name"
        Role:
          Signifier:
            name: "role name"
```

{% endtab %}
{% endtabs %}

Navigating from one entity to another requires nesting the entities. For a complete list of properties and relations for each entity, see [Entities, properties and relations](/api/guides/output-module/entities-properties-and-relations).

The following is an example of how the results is formatted.

```json
{
  "view": {
    "Community0": [
      {
        "communityId": "c87f166e-041f-4bea-8ff7-c1ffbab2ceeb",
        "communityName": "First Community"
      },
      {
        "communityId": "12345678-0020-0000-0000-000000000000",
        "communityName": "Second Community",
        "Responsibility1": [
          {
            "User2": [
              {
                "userId": "00000000-0000-0000-0000-000000900002",
                "firstName": "Admin",
                "lastName": "Istrator"
              }
            ],
            "Role3": [
              {
                "roleName": "Admin"
              }
            ]
          },
          {
            "User2": [
              {
                "userId": "00000000-0000-0000-0000-000000900002",
                "firstName": "Admin",
                "lastName": "Istrator"
              }
            ],
            "Role3": [
              {
                "roleName": "Steward"
              }
            ]
          }
        ]
      }
    ]
  }
}
```

{% hint style="info" %}

* The `ViewConfig` result tree always uses arrays for related entities, even when relations have a max cardinality of 1.
* Each responsibility has a maximum of one user and one role , even when arrays return.
* The results tree uses a generated entity alias in the response. For example, `Community0`, `Responsibility1` or `User2`.
* To prevent duplicate names in the JSON keys, an index number is concatenated to the entity name.
* The relationship from community to responsibility is optional. The query engine recognizes optional and required relations between entities, which is why `First Community` appears even when no users have roles.
  {% endhint %}


# Specify an entity alias

Auto-generated aliases in the response are not straightforward. For example, `Community0`, `Responsibility1` or `User2`. For this reason, you must specify an alias.

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

```json
{
  "ViewConfig": {
    "Resources": {
      "Community": {
        "name": "community",
        "Id": { "name": "community id" },
        "Name": { "name": "community name" },
        "Responsibility": {
          "name": "responsibility",
          "User": {
            "name": "employee",
            "Id": { "name": "user id" },
            "FirstName": { "name": "first name" },
            "LastName": { "name": "last name" }
          },
          "Role": {
            "name": "role",
            "Signifier": { "name": "role name" }
          }
        }
      }
    }
  }
}
```

{% endtab %}

{% tab title="YAML" %}

```yaml
---
ViewConfig:
  Resources:
    Community:
      name: "community"
      Id:
        name: "community id"
      Name:
        name: "community name"
      Responsibility:
        name: "responsibility"
        User:
          name: "employee"
          Id:
            name: "user id"
          FirstName:
            name: "first name"
          LastName:
            name: "last name"
        Role:
          name: "role"
          Signifier:
            name: "role name"
```

{% endtab %}
{% endtabs %}

The results should then parse like the example below.

```json
{
  "view": {
    "community": [
      {
        "communityId": "c87f166e-041f-4bea-8ff7-c1ffbab2ceeb",
        "communityName": "First Community"
      },
      {
        "communityId": "12345678-0020-0000-0000-000000000000",
        "communityName": "Second Community",
        "responsibility": [
          {
            "employee": [
              {
                "userId": "00000000-0000-0000-0000-000000900002",
                "firstName": "Admin",
                "lastName": "Istrator"
              }
            ],
            "role": [
              {
                "roleName": "Admin"
              }
            ]
          },
          {
            "employee": [
              {
                "userId": "00000000-0000-0000-0000-000000900002",
                "firstName": "Admin",
                "lastName": "Istrator"
              }
            ],
            "role": [
              {
                "roleName": "Steward"
              }
            ]
          }
        ]
      }
    ]
  }
}
```


# Add a related entity more than once

To understand what roles users have in communities, you must query the groups that are linked through a responsibility.

To add another relation from community to responsibility, select the related groups.

This example shows the `Id` property of the two-responsibility nodes selected.

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

```json
{
  "ViewConfig": {
    "Resources": {
      "Community": {
        "Id": { "name": "communityId" },
        "Name": { "name": "communityName" },
        "Responsibility": [
          {
            "Id": { "name": "userResponsibilityId" },
            "User": {
              "Id": { "name": "userId" },
              "FirstName": { "name": "firstName" },
              "LastName": { "name": "lastName" }
            },
            "Role": {
              "Signifier": { "name": "userRoleName" }
            }
          },
          {
            "Id": { "name": "groupResponsibilityId" },
            "Group": {
              "Id": { "name": "groupId" },
              "GroupName": { "name": "groupName" }
            },
            "Role": {
              "Signifier": { "name": "groupRoleName" }
            }
          }
        ]
      }
    }
  }
}
```

{% endtab %}

{% tab title="YAML" %}

```yaml
---
ViewConfig:
  Resources:
    Community:
      Id:
        name: "communityId"
      Name:
        name: "communityName"
      Responsibility:
      - Id:
          name: "userResponsibilityId"
        User:
          Id:
            name: "userId"
          FirstName:
            name: "firstName"
          LastName:
            name: "lastName"
        Role:
          Signifier:
            name: "userRoleName"
      - Id:
          name: "groupResponsibilityId"
        Group:
          Id:
            name: "groupId"
          GroupName:
            name: "groupName"
        Role:
          Signifier:
            name: "groupRoleName"
```

{% endtab %}
{% endtabs %}

To add the same related entity twice under the same node, change the JSON object into an array. In this case, the `Responsibility` JSON object became an array, and the anonymous JSON objects composing the array are multiple responsibilities.

If you add the admin group to the second community, the results would be formatted similar to the example below.

```json
{
  "view": {
    "Community0": [
      {
        "communityId": "c87f166e-041f-4bea-8ff7-c1ffbab2ceeb",
        "communityName": "First Community"
      },
      {
        "communityId": "12345678-0020-0000-0000-000000000000",
        "communityName": "Second Community",
        "Responsibility1": [
          {
            "userResponsibilityId": "0ecb2fff-d5de-43d0-be60-f7f201c10d41",
            "User2": [
              {
                "userId": "00000000-0000-0000-0000-000000900002",
                "firstName": "Admin",
                "lastName": "Istrator"
              }
            ],
            "Role3": [
              {
                "roleName": "Admin"
              }
            ]
          },
          {
            "userResponsibilityId": "42b9d114-2c0c-4e96-a1ce-b645d5e92365",
            "User2": [
              {
                "userId": "00000000-0000-0000-0000-000000900002",
                "firstName": "Admin",
                "lastName": "Istrator"
              }
            ],
            "Role3": [
              {
                "roleName": "Steward"
              }
            ]
          },
          {
            "groupResponsibilityId": "5fc0cc5f-e30e-488c-94bc-acdea171219d",
            "User2": [
              {}
            ],
            "Role3": [
              {
                "roleName": "Admin"
              }
            ]
          }
        ],
        "Responsibility4": [
          {
            "userResponsibilityId": "0ecb2fff-d5de-43d0-be60-f7f201c10d41",
            "Group5": [
              {}
            ],
            "Role6": [
              {
                "groupRoleName": "Admin"
              }
            ]
          },
          {
            "userResponsibilityId": "42b9d114-2c0c-4e96-a1ce-b645d5e92365",
            "Group5": [
              {}
            ],
            "Role6": [
              {
                "groupRoleName": "Steward"
              }
            ]
          },
          {
            "groupResponsibilityId": "5fc0cc5f-e30e-488c-94bc-acdea171219d",
            "Group5": [
              {
                "groupId": "4eb1f4a9-14a3-4539-8afc-733925161179",
                "groupName": "admin"
              }
            ],
            "Role6": [
              {
                "groupRoleName": "Admin"
              }
            ]
          }
        ]
      }
    ]
  }
}
```

{% hint style="info" %}
In the example above, the `userResponsibilityId` and `groupResponsibilityId` values contain three unique values in total: two related to a user and one to a group. When no further filtering is requested, adding the same entity twice means selecting the same thing twice. The result is one empty user for the responsibility linked to the group and two empty groups for each responsibility linked to a user.
{% endhint %}


# Add filtering

To discard irrelevant responsibility results, use filtering.

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

```json
{
  "ViewConfig": {
    "Resources": {
      "Community": {
        "Id": { "name": "communityId" },
        "Name": { "name": "communityName" },
        "Responsibility": [
          {
            "Id": { "name": "userResponsibilityId" },
            "User": {
              "Id": { "name": "userId" },
              "FirstName": { "name": "firstName" },
              "LastName": { "name": "lastName" }
            },
            "Role": {
              "Signifier": { "name": "userRoleName" }
            },
            "Filter": { "Field": { "name": "userId", "operator": "NOT_NULL" } }
          },
          {
            "Id": { "name": "groupResponsibilityId" },
            "Group": {
              "Id": { "name": "groupId" },
              "GroupName": { "name": "groupName" }
            },
            "Role": {
              "Signifier": { "name": "groupRoleName" }
            },
            "Filter": { "Field": { "name": "groupId", "operator": "NOT_NULL" } }
          }
        ]
      }
    }
  }
}
```

{% endtab %}

{% tab title="YAML" %}

```yaml
---
ViewConfig:
  Resources:
    Community:
      Id:
        name: "communityId"
      Name:
        name: "communityName"
      Responsibility:
      -
        Id:
          name: "userResponsibilityId"
        User:
          Id:
            name: "userId"
          FirstName:
            name: "firstName"
          LastName:
            name: "lastName"
        Role:
          Signifier:
            name: "userRoleName"
        Filter:
          Field:
            name: "userId"
            operator: "NOT_NULL"
      -
        Id:
          name: "groupResponsibilityId"
        Group:
          Id:
            name: "groupId"
          GroupName:
            name: "groupName"
        Role:
          Signifier:
            name: "groupRoleName"
        Filter:
          Field:
            name: "groupId"
            operator: "NOT_NULL"
```

{% endtab %}
{% endtabs %}

`Filter` is a reserved key. The example above first includes a "`userId` is not null" filtering clause to show responsibilities with a related user. Then, select the related responsibilities again, this time only keeping those with a related group.

```json
{
  "view": {
    "Community0": [
      {
        "communityId": "c87f166e-041f-4bea-8ff7-c1ffbab2ceeb",
        "communityName": "First Community"
      },
      {
        "communityId": "12345678-0020-0000-0000-000000000000",
        "communityName": "Second Community",
        "Responsibility1": [
          {
            "userResponsibilityId": "0ecb2fff-d5de-43d0-be60-f7f201c10d41",
            "User2": [
              {
                "userId": "00000000-0000-0000-0000-000000900002",
                "firstName": "Admin",
                "lastName": "Istrator"
              }
            ],
            "Role3": [
              {
                "roleName": "Admin"
              }
            ]
          },
          {
            "userResponsibilityId": "42b9d114-2c0c-4e96-a1ce-b645d5e92365",
            "User2": [
              {
                "userId": "00000000-0000-0000-0000-000000900002",
                "firstName": "Admin",
                "lastName": "Istrator"
              }
            ],
            "Role3": [
              {
                "roleName": "Steward"
              }
            ]
          }
        ],
        "Responsibility4": [
          {
            "groupResponsibilityId": "5fc0cc5f-e30e-488c-94bc-acdea171219d",
            "Group5": [
              {
                "groupId": "4eb1f4a9-14a3-4539-8afc-733925161179",
                "groupName": "admin"
              }
            ],
            "Role6": [
              {
                "groupRoleName": "Admin"
              }
            ]
          }
        ]
      }
    ]
  }
}
```

{% hint style="info" %}
In the result tree, `Responsibility1` shows all related users and `Responsibility4` only contains the groups.
{% endhint %}


# Filtering performance considerations

When a to-many relation is traversed in the query tree, performance is impacted because a new query is made against the Collibra internal storage engine. In the above example, the relation between the community and responsibility entities is of the to-many kind because a community can have many related responsibilities. Depending on the shape and amount of results, the performance penalty can range from completely irrelevant to a sizeable chunk added to the overall query time.

Here is the optimal way to query.

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

```json
{
  "ViewConfig": {
    "Resources": {
      "Community": {
        "Id": { "name": "communityId" },
        "Name": { "name": "communityName" },
        "Responsibility": {
          "Id": { "name": "responsibilityId" },
          "User": {
            "Id": { "name": "userId" },
            "FirstName": { "name": "firstName" },
            "LastName": { "name": "lastName" }
          },
          "Group": {
            "Id": { "name": "groupId" },
            "GroupName": { "name": "groupName" }
          },
          "Role": {
            "Signifier": { "name": "roleName" }
          }
        }
      }
    }
  }
}
```

{% endtab %}

{% tab title="YAML" %}

```yaml
---
ViewConfig:
  Resources:
    Community:
      Id:
        name: "communityId"
      Name:
        name: "communityName"
      Responsibility:
        Id:
          name: "ResponsibilityId"
        User:
          Id:
            name: "userId"
          FirstName:
            name: "firstName"
          LastName:
            name: "lastName"
        Group:
          Id:
            name: "groupId"
          GroupName:
            name: "groupName"
        Role:
          Signifier:
            name: "roleName"
```

{% endtab %}
{% endtabs %}

The results should be formatted like the example below.

```json
{
  "view": {
    "Community0": [
      {
        "communityId": "c87f166e-041f-4bea-8ff7-c1ffbab2ceeb",
        "communityName": "First Community"
      },
      {
        "communityId": "12345678-0020-0000-0000-000000000000",
        "communityName": "Second Community",
        "Responsibility1": [
          {
            "responsibilityId": "0ecb2fff-d5de-43d0-be60-f7f201c10d41",
            "User2": [
              {
                "userId": "00000000-0000-0000-0000-000000900002",
                "firstName": "Admin",
                "lastName": "Istrator"
              }
            ],
            "Group3": [
              {}
            ],
            "Role4": [
              {
                "roleName": "Admin"
              }
            ]
          },
          {
            "responsibilityId": "42b9d114-2c0c-4e96-a1ce-b645d5e92365",
            "User2": [
              {
                "userId": "00000000-0000-0000-0000-000000900002",
                "firstName": "Admin",
                "lastName": "Istrator"
              }
            ],
            "Group3": [
              {}
            ],
            "Role4": [
              {
                "roleName": "Steward"
              }
            ]
          },
          {
            "responsibilityId": "5fc0cc5f-e30e-488c-94bc-acdea171219d",
            "User2": [
              {}
            ],
            "Group3": [
              {
                "groupId": "4eb1f4a9-14a3-4539-8afc-733925161179",
                "groupName": "admin"
              }
            ],
            "Role4": [
              {
                "roleName": "Admin"
              }
            ]
          }
        ]
      }
    ]
  }
}
```


# Sort the results

Use the `Order` clause to sort results. Just like filters, `Order` references one or more declared fields on the entity to be sorted or one of its children, or grandchildren.

Use the `ASC`, which is the default, and `DESC` constants to request ordering in ascending or descending order.

Additionally, you can specify the "nulls" field with either a value of "FIRST" or "LAST." This feature determines whether nulls appear before or after non-null values in the sort ordering. By default, null values sort as if larger than any non-null value. "NULLS FIRST" is the default for descending order, and "NULLS LAST" is the default otherwise.

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

```json
{
  "ViewConfig": {
    "Resources": {
      "Community": {
        "Id": { "name": "communityId" },
        "Name": { "name": "communityName" },
        "Order": [
          { "Field": { "name": "communityName", "order": "ASC", "nulls": "LAST" } }
        ]
      }
    }
  }
}
```

{% endtab %}

{% tab title="YAML" %}

```yaml
---
ViewConfig:
  Resources:
    Community:
      Id:
        name: "communityId"
      Name:
        name: "communityName"
      Order:
      -
        Field:
          name: "communityName"
          order: "ASC"
          nulls: "LAST"
```

{% endtab %}
{% endtabs %}

The following example shows assets ordered by the name of a related entity.

{% hint style="info" %}
The Output Module has a broader interpretation of assets, which includes roles, complex relations, and workflows. Use the `class` property to differentiate among these subclasses.
{% endhint %}

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

```json
{
  "ViewConfig": {
    "Resources": {
      "Asset": {
        "Id": { "name": "id" },
        "Signifier": { "name": "name" },
        "Relation": {
          "type": "SOURCE",
          "TargetAsset": {
            "Id": { "name": "targetRelatedAssetId" },
            "Signifier": { "name": "targetRelatedAsset" }
          }
        },
        "Order": [
          { "Field": { "name": "targetRelatedAsset", "order": "ASC" } }
        ]
      }
    }
  }
}
```

{% endtab %}

{% tab title="YAML" %}

```yaml
---
ViewConfig:
  Resources:
    Asset:
      Id:
        name: "id"
      Signifier:
        name: "name"
      Relation:
        type: "SOURCE"
        TargetAsset:
          Id:
            name: "targetRelatedAssetId"
          Signifier:
            name: "targetRelatedAsset"
      Order:
      -
        Field:
          name: "targetRelatedAsset"
          order: "ASC"
```

{% endtab %}
{% endtabs %}

The `type` property on the relation allows you to determine which relationship is used when navigating from the parent asset to the relation. In the example above, there might be more than one `targetRelatedAsset` for each source asset. The query engine orders the related target assets first and uses the first value to order the parent assets. Similar to filtering, the order clause only affects the entities on which it is set. In the example, the `targetRelatedAssets` is not sorted. To sort, you must add another ordering clause on the Relation entity.

You should not sort on the target asset node because ordering only makes sense in a collection. If an asset is the source for many relations and the relation has one target asset, you must sort the collection of relations, not the related target asset directly.

The following query example sorts both collections.

{% hint style="info" %}
For simplicity, this query has no filtering. Executing filtering would return all assets and all relations available in Collibra.
{% endhint %}

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

```json
{
  "ViewConfig": {
    "Resources": {
      "Asset": {
        "Id": { "name": "id" },
        "Signifier": { "name": "name" },
        "Relation": {
          "type": "SOURCE",
          "TargetAsset": {
            "Id": { "name": "targetRelatedAssetId" },
            "Signifier": { "name": "targetRelatedAsset" }
          },
          "Order": [
            { "Field": { "name": "targetRelatedAsset", "order": "ASC" } }
          ]
        },
        "Order": [
          { "Field": { "name": "targetRelatedAsset", "order": "ASC" } }
        ]
      }
    }
  }
}
```

{% endtab %}

{% tab title="YAML" %}

```yaml
---
ViewConfig:
  Resources:
    Asset:
      Id:
        name: "id"
      Signifier:
        name: "name"
      Relation:
        type: "SOURCE"
        TargetAsset:
          Id:
            name: "targetRelatedAssetId"
          Signifier:
            name: "targetRelatedAsset"
        Order:
        -
          Field:
            name: "targetRelatedAsset"
            order: "ASC"
      Order:
      -
        Field:
          name: "targetRelatedAsset"
          order: "ASC"
```

{% endtab %}
{% endtabs %}


# Differentiate selected properties from properties required in a filter clause

To find the most recently created users, query the `CreatedOn` property and add a filter that uses the `greater than` operator. Adding the `CreatedOn` property to the tree also selects that property.

In cases where you only want the user ID and first and last name, tell the query engine not to return the `CreatedOn` property and use it in the filter.

{% hint style="info" %}
`CreatedOn` is a date expressed as the number of milliseconds since 1/1/1970.
{% endhint %}

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

```json
{
  "ViewConfig": {
    "Resources": {
      "User": {
        "Id": { "name": "userId" },
        "FirstName": { "name": "firstName" },
        "LastName": { "name": "lastName" },
        "CreatedOn": { "name": "createdOn", "hidden": true },
        "Filter": { "Field": { "name": "createdOn", "operator": "GREATER", "value": "1440492290300" } }
      }
    }
  }
}
```

{% endtab %}

{% tab title="YAML" %}

```yaml
---
ViewConfig:
  Resources:
    User:
      Id:
        name: "userId"
      FirstName:
        name: "firstName"
      LastName:
        name: "lastName"
      CreatedOn:
        name: "createdOn"
        hidden: true
      Filter:
        Field:
          name: "createdOn"
          operator: "GREATER"
          value: "1440492290300"
```

{% endtab %}
{% endtabs %}

{% hint style="info" %}
Using `hidden: true` on a property removes that property from the results. The default value is false.
{% endhint %}

```json
{
    "view": {
        "User": [
            {
                "userId": "9546bbe9-7299-4a99-bfd2-d97f8256c201",
                "firstName": "Patrick",
                "lastName": "Star"
            },
            {
                "userId": "d9f3cc67-0db7-4aa5-a246-e83a62ea5c62",
                "firstName": "SpongeBob",
                "lastName": "SquarePants"
            }
        ]
    }
}
```


# Strip HTML from text results

Saved values from Collibra also includes HTML formatting tags. Although not visible to users, the user interface uses the tags to format data. These tags are also included when you query data and may look like garbage in Excel reports.

The example below shows how to strip out the HTML formatting tags, leaving only the values.

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

```json
{
 "ViewConfig": {
   "Resources": {
    "Community": {
      "Id": { "name": "communityId" },
       "Name": { "name": "communityName" },
       "Description": { "name": "communityDescription", "stripHtml": true }
     }
   }
  }
}
```

{% endtab %}

{% tab title="YAML" %}

```yaml
---
ViewConfig:
  Resources:
    Community:
      Id:
        name: "communityId"
      Name:
        name: "communityName"
      Description:
        name: "communityDescription"
        stripHtml: true
```

{% endtab %}
{% endtabs %}

{% hint style="info" %}
Use `stripHtml` on any text field. When true, the returned value is stripped from the HTML tags.
{% endhint %}


# Filtering operators

| Operator            | Reverse Operator    | Parameters   | Type compatibility    | Description                                                                                                                                                                     |
| ------------------- | ------------------- | ------------ | --------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| EQUALS              | NOT\_EQUALS         | 1            | Text, Number, Boolean | Equal/not equal to the value.                                                                                                                                                   |
| STARTS\_WITH        | NOT\_STARTS\_WITH   | 1            | Text                  | The text starts/does not start with characters.                                                                                                                                 |
| STARTS\_WITH\_DIGIT | /                   | Optional     | Text                  | The text starts with a digit. The optional parameter is a pair of upper and lower boundaries separated by a comma. For example, "3, 8" means any digit from 3 to 8 is included. |
| ENDS\_WITH          | NOT\_ENDS\_WITH     | 1            | Text                  | The text ends/does not end with characters.                                                                                                                                     |
| INCLUDES            | NOT\_INCLUDES       | 1            | Text                  | The text contains/does not contain the characters.                                                                                                                              |
| LESS                | GREATER             | 1            | Number                | The value is strictly less than/greater than the value.                                                                                                                         |
| LESS\_OR\_EQUALS    | GREATER\_OR\_EQUALS | 1            | Number                | The value is less than or equal to/greater than or equal to the value.                                                                                                          |
| BETWEEN             | /                   | 2            | Number                | The value is included within the values.                                                                                                                                        |
| NULL                | NOT\_NULL           | None         | Text, Number, Boolean | Absence/presence of value.                                                                                                                                                      |
| IN                  | NOT\_IN             | Collection   | Text, Number, Boolean | The value is in/not in the set of values.                                                                                                                                       |
| EXISTS              | NOT\_EXISTS         | 1 (optional) | n/a                   | See below.                                                                                                                                                                      |
| CR\_FILTER\_DOMAIN  | /                   | 1            | n/a                   | `ComplexRelation` specific filter. Includes only complex relations with at least one related asset in the domain.                                                               |

The following table shows samples for each operator.

<table><thead><tr><th>Operator</th><th>Example</th></tr></thead><tbody><tr><td>EQUALS</td><td><pre><code>{ "Field": { "name": "domainName", "operator": "EQUALS", "value": "New Business Terms" } }
</code></pre></td></tr><tr><td>STARTS_WITH</td><td><pre><code>{ "Field": { "name": "domainName", "operator": "STARTS_WITH", "value": "New" } }
</code></pre></td></tr><tr><td>STARTS_WITH_DIGIT</td><td><pre><code>{ "Field": { "name": "assetName", "operator": "STARTS_WITH_DIGIT" } }
</code></pre></td></tr><tr><td>ENDS_WITH</td><td><pre><code>{ "Field": { "name": "domainName", "operator": "ENDS_WITH", "value": "Terms" } }
</code></pre></td></tr><tr><td>INCLUDES</td><td><pre><code>{ "Field": { "name": "domainName", "operator": "CONTAINS", "value": "Bus" } }
</code></pre></td></tr><tr><td>LESS</td><td><pre><code>{ "Field": { "name": "lastModified", "operator": "GREATER", "value": "1440492290300" } }
</code></pre></td></tr><tr><td>LESS_OR_EQUALS</td><td><pre><code>{ "Field": { "name": "lastModified", "operator": "GREATER_OR_EQUALS", "value": "1440492290300" } }
</code></pre></td></tr><tr><td>BETWEEN</td><td><pre><code>{ "Field": { "name": "lastModified", "operator": "BETWEEN", "values": [ "1440492290300", "1440493000000" } }
</code></pre></td></tr><tr><td>NULL</td><td><pre><code>{ "Field": { "name": "description", "operator": "NULL" } }
</code></pre></td></tr><tr><td>IN</td><td><pre><code>{ "Field": { "name": "statusName", "operator": "IN", "values": [ "New", "In Review" ] } }
</code></pre></td></tr><tr><td>EXISTS</td><td><pre><code>{ "Field": { "target": "RelationSource", "operator": "EXISTS", "value": "00000000-0000-0000-0000-000000007001", "name": "assetId" } }
</code></pre></td></tr><tr><td>CR_FILTER_DOMAIN</td><td><pre><code>{ "Field": { "operator": "CR_FILTER_DOMAIN", "value": "00000000-0000-0000-0000-000000006013" } }
</code></pre></td></tr></tbody></table>

{% hint style="info" %}
`EQUALS` and `IN` filters are by default a case sensitive. You can make the filter case insensitive by setting the `caseInsensitive` flag to `true` in the filters body:

```
"Field": { "name": "FullName", "operator": "IN", "caseInsensitive": true, "values": [ "normal", "data quality eDitor" ] }
```

The query matches the lowercase full name to the lowercase values from the `values` section.
{% endhint %}


# EXISTS/NOT\_EXISTS filter

In the context of a graph query, the `EXISTS` filter tests the existence of a relationship with another entity. This is the only filter that is explicitly limited to filtering on an entity located directly under the filtered node. To specify which relation should exist/not exist, the filter has a `target` key.

You can also pass a parameter to the EXISTS filter. This parameter is used as a secondary filtering element. To query the assets with an attribute of type `Description`, use the EXISTS filter on the asset with target value `Attribute` and also the Id of the `Description` type in the `value` key of the filter.

The table below lists the possible target values and the expected value type for optional parameters.

| Filtered Entity          | Target value             | Optional Parameter | Description                                                                                                                                 |
| ------------------------ | ------------------------ | ------------------ | ------------------------------------------------------------------------------------------------------------------------------------------- |
| Community, Domain, Asset | Member                   | Role Id            | Filter resources related/not related to a responsibility. Optionally, only responsibilities related to the Role Id.                         |
| Asset                    | Relation                 | RelationType Id    | Filter assets that are/are not the source or target of a relation. Optionally, only relations related to the RelationType Id.               |
| Asset                    | RelationSource           | RelationType Id    | Filter assets that are/are not the "source " of a relation. Optionally, only relations related to the RelationType Id.                      |
| Asset                    | RelationTarget           | RelationType Id    | Filter assets that are/are not " target" of a relation. Optionally, only relations related to the RelationType Id.                          |
| Asset                    | Attribute                | AttributeType Id   | Filter assets that have/do not have an attribute. Optionally, only attributes related to the AttributeType Id.                              |
| Asset                    | StringAttribute          | AttributeType Id   | Filter assets that have/do not have a StringAttribute. Optionally, only StringAttributes related to the AttributeType Id.                   |
| Asset                    | SingleValueListAttribute | AttributeType Id   | Filter assets that have/do not have a SingleValueListAttribute. Optionally, only SingleValueListAttributes related to the AttributeType Id. |
| Asset                    | MultiValueListAttribute  | AttributeType Id   | Filter assets that have/do not have a MultiValueListAttribute. Optionally, only MultiValueListAttribute related to the AttributeType Id.    |
| Asset                    | BooleanAttribute         | AttributeType Id   | Filter assets that have/do not have a BooleanAttribute. Optionally, only BooleanAttributes related to the AttributeType Id.                 |
| Asset                    | NumericAttribute         | AttributeType Id   | Filter assets that have/do not have a NumericAttribute. Optionally, NumericAttributes related to the AttributeType Id.                      |
| Asset                    | DateTimeAttribute        | AttributeType Id   | Filter assets that have/do not have a DateTimeAttribute. Optionally, only DateTimeAttributes related to the AttributeType Id.               |

{% hint style="info" %}
The EXISTS/NOT\_EXISTS filters are exclusively for communities, domains and assets.
{% endhint %}


# Filtering in Hierarchy

When the `EQUALS/NOT_EQUALS` and `IN/NOT_IN` operators are used in conjunction with an `Id` property of an asset, a `RelationType` or a `Community` can take an additional `descendants: true` parameter. When true, the query engine will force an `IN` or `NOT_IN` filter and add all `Id`s from the child assets, relation types or communities. This allows selecting the following assets.

* All assets under a community, including the subcommunities.
* All assets that are of type "X" or one of its subtypes.
* All assets with all subtypes that implement trait "X".


# Boolean operators

You can combine the filtering operators using Boolean operators. Combining Boolean operators results in a logical binary tree of possibilities. Because the binary tree is not easy to read, the `ViewConfig` provides a way of specifying a `Named Logical Array`.

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

```json
"Filter": {
          "AND": [
            { "Field": { "name": "domainId", "operator": "EQUALS", "value": "02204077-1cd1-4c70-a7c4-4cd845194b81" } },
            { "Field": { "name": "assetId", "operator": "EXISTS", "value": "00000000-0000-0000-0000-000000007001", "target": "RelationSource" } },
            { "Field": { "name": "statusName", "operator": "IN", "values": [ "New", "In Review" ] } }
          ]
        }
```

{% endtab %}

{% tab title="YAML" %}

```yaml
Filter:
  AND:
  -
    Field:
      name: "domainId"
      operator: "EQUALS"
      value: "02204077-1cd1-4c70-a7c4-4cd845194b81"
  -
    Field:
      name: "assetId"
      operator: "EXISTS"
      value: "00000000-0000-0000-0000-000000007001"
      target: "RelationSource"
  -
    Field:
      name: "statusName"
      operator: "IN"
      values:
      - "New"
      - "In Review"
```

{% endtab %}
{% endtabs %}

{% hint style="info" %}
Filtering elements bundled together in a named array, are logically combined using the name of the array: either `AND` or `OR`. You can also nest these logical arrays, allowing all possible Boolean combinations.
{% endhint %}

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

```json
"Filter": {
  "AND": [
    {
      "OR": [
        { "Field": { "name": "domainId", "operator": "EQUALS", "value": "02204077-1cd1-4c70-a7c4-4cd845194b81" } },
        { "Field": { "name": "assetId", "operator": "EXISTS", "value": "00000000-0000-0000-0000-000000007001", "target": "RelationSource" } }
      ]
    },
    { "Field": { "name": "statusName", "operator": "IN", "values": [ "New", "In Review" ] } }
  ]
}
```

{% endtab %}

{% tab title="YAML" %}

```yaml
Filter:
  AND:
  -
    OR:
    -
      Field:
        name: "domainId"
        operator: "EQUALS"
        value: "02204077-1cd1-4c70-a7c4-4cd845194b81"
    -
      Field:
        name: "assetId"
        operator: "EXISTS"
        value: "00000000-0000-0000-0000-000000007001"
        target: "RelationSource"
  -
    Field:
      name: "statusName"
      operator: "IN"
      values:
      - "New"
      - "In Review"
```

{% endtab %}
{% endtabs %}


# Filter properties

You can use filter shortcuts to reduce the amount of time required to write a JSON query. For example, `Relation` has a `typeId` parameter that takes an `Id` and eliminates the need to add a `RelationType` node with an `Id` property. These one-line filtering properties are the most commonly used filters because they make the query a lot less verbose.

The following example shows filtering a `StringAttribute` on an `AttributeType` using the `labelId` filtering property.

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

```json
"StringAttribute": {
    "labelId": "00000000-0000-0000-0000-000000000202",
    "Id": { "name": "descriptionId" },
    "LongExpression": { "name": "description" }
}
```

{% endtab %}

{% tab title="YAML" %}

```yaml
StringAttribute:
  labelId: "00000000-0000-0000-0000-000000000202"
  Id:
    name: "descriptionId"
  LongExpression:
    name: "description"
```

{% endtab %}
{% endtabs %}

Refer to [Entities, properties and relations](/api/guides/output-module/entities-properties-and-relations) for the list of available filter properties for each entity.


# Virtual properties

Collibra does not store virtual properties. It calculates them at runtime and dynamically evaluates the value of each property when the query executes. Virtual properties typically support hierarchical queries that show if the resource has children. Some examples are `hasTaxonomyChildren` and `hasChildForRelation`.


# Clarify the relationship between two entities

When two entities are related in more than one way, nesting the entities inside each other is not enough to determine which path to follow. For example, an asset can be either the `source` or `target` of a relation or a user can be the `creator` or the `lastModifier` of a resource. Depending on the entity, there are two possibilities:

* The name of the child entity is changed. For example,`SourceAsset` or `TargetAsset` should be used under `Relation` instead of `Asset`. In this case, they act and behave just like normal assets and exist for the sole purpose of clarifying the relationship followed.
* A special parameter called the `Parent Relationship Selector` is added to the child entity. For example, `Relation` has a `Type` parameter with possible values of `SOURCE` or `TARGET`. This parameter determines the relationship between the `Relation` and the parent`Asset`.

The following example shows the query going two levels deep.

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

```json
{
  "ViewConfig": {
    "Resources": {
      "Asset": {
        "Id": { "name": "id" },
        "Signifier": { "name": "name" },
        "Relation": {
          "type": "SOURCE",
          "TargetAsset": {
            "Id": { "name": "relatedAssetLevelOneId" },
            "Signifier": { "name": "relatedAssetLevelOne" },
            "Relation": {
              "type": "TARGET",
              "SourceAsset": {
                "Id": { "name": "relatedAssetLevelTwoId" },
                "Signifier": { "name": "relatedAssetLevelTwo" }
              }
            }
          }
        }
      }
    }
  }
}
```

{% endtab %}

{% tab title="YAML" %}

```yaml
---
ViewConfig:
  Resources:
    Asset:
      Id:
        name: "id"
      Signifier:
        name: "name"
      Relation:
        type: "SOURCE"
        TargetAsset:
          Id:
            name: "relatedAssetLevelOneId"
          Signifier:
            name: "relatedAssetLevelOne"
          Relation:
            type: "TARGET"
            SourceAsset:
              Id:
                name: "relatedAssetLevelTwoId"
              Signifier:
                name: "relatedAssetLevelTwo"
```

{% endtab %}
{% endtabs %}

These special parameters and custom entity names only exist for a fraction of the available entities. For a complete list, see [Entities, properties and relations](/api/guides/output-module/entities-properties-and-relations).

{% hint style="info" %}
To reduce the number of assets returned, the query example above is not filtered. Filtering would return a large amount of data and impact performance.
{% endhint %}


# Page the results

The Output Module also supports paging the results for the root node of the query. You can specify an offset and a length parameter to limit the results to a subset of the complete list.

| JSON key      | Default value | Description                                                                                                                                                                 |
| ------------- | ------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| displayStart  | 0             | The offset in the list of results. This offset is a zero-based index value.                                                                                                 |
| displayLength | -1            | The maximum total number of results to return. A negative value means unlimited.                                                                                            |
| maxCountLimit | -1            | The maximum count value. A count of all records can lead to performance problems. When paging, you can limit the max count to this value. Passing 0 means no count is done. |

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

```json
{
  "ViewConfig": {
    "displayStart": 10,
    "displayLength": 5,
    "maxCountLimit": 10000,
    "Resources": {
      "Community": {
        "Id": { "name": "communityId" },
        "Name": { "name": "communityName" },
        "Description": { "name": "communityDescription" },
        "Order": [ { "Field": { "name": "communityName", "order": "ASC" } } ]
      }
    }
  }
}
```

{% endtab %}

{% tab title="YAML" %}

```yaml
---
ViewConfig:
  displayStart: 10
  displayLength: 5
  maxCountLimit: 10000
  Resources:
    Community:
      Id:
        name: "communityId"
      Name:
        name: "communityName"
      Description:
        name: "communityDescription"
      Order:
      -
        Field:
          name: "communityName"
          order: "ASC"
```

{% endtab %}
{% endtabs %}

The example query above selects page 3 of all communities, with five results per page.

{% hint style="info" %}

* Paged results should always be sorted, otherwise the results might seem inconsistent from page to page.
* The paged results list is recalculated upon each request.
* All entities that have been added or removed will appear/disappear from the list, modifying the indexes of the elements in the results list.
* The Collibra Console allows limiting the number of results returned by queries. The values range from 10,000 to 100,000. If enabled, and the limit is set, then:
  * The default `displayLength` value (-1) is overwritten by the limit set through the console.
  * If the `displayLength` set in the `ViewConfig`/`TableViewConfig` is larger than the limit value set in the Collibra Console, an exception is thrown.
    {% endhint %}

## Cursor-based pagination

Offset-based pagination does not scale for a big data set. The bigger the offset, the slower the response time. For a bulk export of many assets, it's better to use cursor-based pagination:

* Run the initial query sorting by ID. This is the recommended option to achieve maximum performance. Use a medium page size, such as 10,000.
* Read the results and keep the last ID value.
* Pass this ID as a filter to the next query.
* Repeat the process until the number of returned results is less than the page size. This means you retrieved all data.

```json
{
  "ViewConfig": {
    "displayLength": 10,
    "Resources": {
      "Asset": {
        "Id": { "name": "assetId" },
        "Signifier": { "name": "assetName" },
        "Order": [
          {
            "Field": {
              "name": "assetId",
              "order": "ASC"
            }
          }
        ],
        "Filter": {
          "Field": {
            "name": "assetId",
            "operator": "GREATER",
            "value": "00000000-0000-0000-0000-000000005032"
          }
        }
      }
    }
  }
}
```


# Map the results to a tabular format

The Output Module supports a tabular output format and uses a different kind of `ViewConfig`, called `TableViewConfig`. `TableViewConfig` has a `Columns` mapping section that assigns each selected field to a column. The previous examples use the `ViewConfig` as input to the API to produce a JSON tree format.

The following example uses `TableViewConfig`. This is available under the same `{{domain}}/rest/2.0/outputModule/export/json` endpoint, just using the `TableViewConfig` as the JSON payload.

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

```json
{
  "TableViewConfig": {
    "displayLength": 5,
    "displayStart": 10,
    "Resources": {
      "Community": {
        "Id": { "name": "communityId" },
        "Name": { "name": "communityName" },
        "Description": { "name": "communityDescription" }
      }
    },
    "Columns": [
      { "Column": { "fieldName": "communityId" } },
      { "Column": { "fieldName": "communityName" } },
      { "Column": { "fieldName": "communityDescription" } }
    ]
  }
}
```

{% endtab %}

{% tab title="YAML" %}

```yaml
---
TableViewConfig:
  displayLength: 5
  displayStart: 10
  Resources:
    Community:
      Id:
        name: "communityId"
      Name:
        name: "communityName"
      Description:
        name: "communityDescription"
  Columns:
  -
    Column:
      fieldName: "communityId"
  -
    Column:
      fieldName: "communityName"
  -
    Column:
      fieldName: "communityDescription"
```

{% endtab %}
{% endtabs %}

When formatted, this query produces an array of rows, each containing the requested columns.

```json
{
    "iTotalDisplayRecords": 48,
    "iTotalRecords": 5,
    "aaData": [
        {
            "communityId": "12345678-0006-0000-0000-000000000000",
            "communityName": "Simple Community 6",
            "communityDescription": ""
        },
        {
            "communityId": "12345678-0007-0000-0000-000000000000",
            "communityName": "Simple Community 7",
            "communityDescription": ""
        },
        {
            "communityId": "12345678-0008-0000-0000-000000000000",
            "communityName": "Simple Community 8",
            "communityDescription": ""
        },
        {
            "communityId": "12345678-0009-0000-0000-000000000000",
            "communityName": "Simple Community 9",
            "communityDescription": ""
        },
        {
            "communityId": "12345678-0010-0000-0000-000000000000",
            "communityName": "Simple Community 10",
            "communityDescription": ""
        }
    ]
}
```

{% hint style="info" %}
Because the `Columns` mapping determines what should be returned, setting `hidden: true` on a property has no effect in a `TableViewConfig`.
{% endhint %}

In the following example, the "displayLength" value is set to 0. This query shows the number of entities without retrieving actual results.

{% hint style="info" %}
The JSON Data Table output contains the total number of available records in Collibra for this query, which is `iTotalDisplayRecords`. It also contains the number of records returned in this set, which is `iTotalRecords`.
{% endhint %}

```json
{
    "iTotalDisplayRecords": 48,
    "iTotalRecords": 0,
    "aaData": []
}
```

You can use the `TableViewConfig` queries with the following endpoints:

* `{{domain}}/rest/2.0/outputModule/export/{{json | csv}}`
* `{{domain}}/rest/2.0/outputModule/export/{{json | csv | excel}}-file`
* `{{domain}}/rest/2.0/outputModule/export/{{json | csv | excel}}-job`


# Handling to-many results in a tabular format

You can select all assets from a domain together with their `Note` attributes. Each asset may have multiple notes. When there are multiple notes, the most recent note should be ordered at the top of the list.

The `TableViewConfig` may look similar to the example below.

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

```json
{
  "TableViewConfig": {
    "Resources": {
      "Asset": {
        "Id": { "name": "assetId" },
        "Signifier": { "name": "assetName" },
        "StringAttribute": {
          "LongExpression": { "name": "note" },
          "CreatedOn": { "name": "noteCreatedOn" },
          "Order": [ { "Field": { "name": "noteCreatedOn", "order": "DESC" } } ]
        },
        "Domain": {
          "Id": { "name": "domainId" }
        },
        "Filter": { "Field": { "name": "domainId", "operator": "EQUALS", "value": "f342423f-54fd-4643-935b-adbd9e7f5e25" } },
        "Order": [ { "Field": { "name": "assetName" } } ]
      }
    },
    "Columns": [
      { "Column": { "fieldName": "assetId" } },
      { "Column": { "fieldName": "assetName" } },
      { "Column": { "fieldName": "note" } }
    ]
  }
}
```

{% endtab %}

{% tab title="YAML" %}

```yaml
---
TableViewConfig:
  Resources:
    Asset:
      Id:
        name: "assetId"
      Signifier:
        name: "assetName"
      StringAttribute:
        LongExpression:
          name: "note"
        CreatedOn:
          name: "noteCreatedOn"
        Order:
        -
          Field:
            name: "noteCreatedOn"
            order: "DESC"
      Domain:
        Id:
          name: "domainId"
      Filter:
        Field:
          name: "domainId"
          operator: "EQUALS"
          value: "f342423f-54fd-4643-935b-adbd9e7f5e25"
      Order:
      -
        Field:
          name: "assetName"
  Columns:
  -
    Column:
      fieldName: "assetId"
  -
    Column:
      fieldName: "assetName"
  -
    Column:
      fieldName: "note"
```

{% endtab %}
{% endtabs %}

Depending on the format requested, the results might be different. In Excel or CSV format, each asset is duplicated on a new row for each note value.

<img src="/files/jVJHzIbGBQFpxdK2Enyn" alt="Example of Collibra asset with multiple notes, with each note on a different row in Excel export" width="50%">

This is similar to using SQL queries to join two tables with a one-to-many relationship. Unlike SQL, if you select an asset with two notes and three responsibilities, the asset would use three lines of the Excel table, not six, and the third row in the note column would be empty.

JSON format, on the other hand, does not add duplicate rows to the results. Instead, it returns the first note found and discards the other notes.

{% tabs %}
{% tab title="Example" icon="glasses-round" %}
"First note" is missing for "Business Asset 1"

```json
{
    "iTotalDisplayRecords": 3,
    "iTotalRecords": 3,
    "aaData": [
        {
            "assetId": "c20d5b39-6c5d-411b-adcb-82a1dd3851cc",
            "assetName": "Business Term 1",
            "note": "Second Note"
        },
        {
            "assetId": "1a6a8f73-43b0-4a29-84c3-baaa3467be70",
            "assetName": "Business Term 2",
            "note": "Single note on BT2"
        },
        {
            "assetId": "7329349e-0631-41a7-a740-738979d887c6",
            "assetName": "Business Term 3",
            "note": "Single Note on BT3"
        }
    ]
}
```

{% endtab %}
{% endtabs %}

For tabular formats that do not duplicate rows, you can add the `Group` mapping construct to the `Columns` section.

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

```json
{
  "TableViewConfig": {
    "Resources": {
      "Asset": {
        "Id": { "name": "assetId" },
        "Signifier": { "name": "assetName" },
        "StringAttribute": {
          "LongExpression": { "name": "note" },
          "CreatedOn": { "name": "noteCreatedOn" },
          "Order": [ { "Field": { "name": "noteCreatedOn", "order": "DESC" } } ]
        },
        "Domain": {
          "Id": { "name": "domainId" }
        },
        "Filter": { "Field": { "name": "domainId", "operator": "EQUALS", "value": "f342423f-54fd-4643-935b-adbd9e7f5e25" } },
        "Order": [ { "Field": { "name": "assetName" } } ]
      }
    },
    "Columns": [
      { "Column": { "fieldName": "assetId" } },
      { "Column": { "fieldName": "assetName" } },
      {
        "Group": {
          "name": "Notes",
          "Columns": [
            { "Column": { "fieldName": "note" } }
          ]
        }
      }
    ]
  }
}
```

{% endtab %}

{% tab title="YAML" %}

```yaml
---
TableViewConfig:
  Resources:
    Asset:
      Id:
        name: "assetId"
      Signifier:
        name: "assetName"
      StringAttribute:
        LongExpression:
          name: "note"
        CreatedOn:
          name: "noteCreatedOn"
        Order:
        -
          Field:
            name: "noteCreatedOn"
            order: "DESC"
      Domian:
        Id:
          name: "domainId"
      Filter:
        Field:
          name: "domainId"
          operator: "EQUALS"
          value: "f342423f-54fd-4643-935b-adbd9e7f5e25"
      Order:
      -
        Field:
          name: "assetName"
  Columns:
  -
    Column:
      fieldName: "assetId"
  -
    Column:
      fieldName: "assetName"
  -
    Group:
      name: "Notes"
      Columns:
      -
        Column:
          fieldName: "note"
```

{% endtab %}
{% endtabs %}

A `Group` mapping allows grouping multiple results for a single parent. A `Group` must receive a user-defined name that will be used when formatting the results.

```json
{
    "iTotalDisplayRecords": 3,
    "iTotalRecords": 3,
    "aaData": [
        {
            "assetId": "c20d5b39-6c5d-411b-adcb-82a1dd3851cc",
            "assetName": "Business Term 1",
            "Notes": [
                {
                    "note": "Second Note"
                },
                {
                    "note": "First note"
                }
            ]
        },
        {
            "assetId": "1a6a8f73-43b0-4a29-84c3-baaa3467be70",
            "assetName": "Business Term 2",
            "Notes": [
                {
                    "note": "Single note on BT2"
                }
            ]
        },
        {
            "assetId": "7329349e-0631-41a7-a740-738979d887c6",
            "assetName": "Business Term 3",
            "Notes": [
                {
                    "note": "Single Note on BT3"
                }
            ]
        }
    ]
}
```

{% hint style="info" %}
Here are some rules about `Group`:

* `Group` mappings cannot be nested, a `Group` defined within a `Group` is not supported.
* All columns within a group must be related to the same parent entity.
  {% endhint %}


# Set an execution timeout

Queries that run on complicated or large amounts of data may be slower than expected. Usually, the best approach is to paginate the results. In cases where the complexity or amount of data is unknown, a timeout can break up the execution. The Output Module can timeout, not only on the execution logic level, but also break running database queries to protect the database load from stress.

You can set a timeout for each `ViewConfig` and `TableViewConfig` execution on the main config level. Defining it in the body of the query is optional.

If a timeout is not set in the `ViewConfig` or `TableViewConfig`, then a default value is added. You can configure the default value in the Collibra console, the default setting is eight hours.

{% hint style="danger" %}

* No single query may run longer than 24 hours, which is the maximum value.
* Pagination is recommended for queries that may run longer.
* Those values will significantly smaller in the next major release, so it would be prudent to think about pagination.
* If the `queryTimeout` is more than 24 hours, the system will overwrite it with the maximum 24-hour limit value.
* Important exceptions are the `{{domain}}/rest/2.0/outputModule/export/{{csv | excel}}-job` endpoints. Here, data is calculated in chunks, with the size of the chunk defined in the Collibra Console. A separate query calculates each chunk and the timeout value set in the `TableViewConfig` will be a timeout value calculation for that chunk.
  {% endhint %}

| JSON key     | Minimum value | Default value          | Maximum value | Description                                                                                                                                                                                                                                                                 |
| ------------ | ------------- | ---------------------- | ------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| queryTimeout | 1 minute      | 8 hours (configurable) | 24 hours      | Timeout in number of seconds that computation of the output can last. No decimal point allowed. Negative values are invalid. Zero means no timeout. Positive values will stop execution and return an error if the execution takes longer than the given number of seconds. |

Example of ViewConfig with a timeout set:

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

```json
{
  "ViewConfig": {
    "queryTimeout": 5,
    "Resources": {
      "Domain": {
        "name": "d",
        "Name": {
          "name": "vocName"
        },
        "Asset": {
          "name": "t",
          "Signifier": {
            "name": "assetName"
          },
          "AssetType": {
            "name": "tt",
            "Name": {
              "name": "assetType"
            }
          }
        }
      }
    }
  }
}
```

{% endtab %}

{% tab title="YAML" %}

```yaml
---
ViewConfig:
  queryTimeout: 5
  Resources:
    Domain:
      name: "d"
      Name:
        name: "vocName"
      Asset:
        name: "t"
        Signifier:
          name: "assetName"
        AssetType:
          name: "tt"
          Name:
            name: "assetType"
```

{% endtab %}
{% endtabs %}

After the timeout is reached, the REST request will receive a response with HTTP error code 408. Instead of a results message, the body will contain a JSON with the error description.


# Structural validation of the query

Because writing `ViewConfigs` and `TableViewConfigs` is a tedious and error-prone task, the following endpoints allow using the `validationEnabled` parameter.

* `{{domain}}/rest/2.0/outputModule/export/{{xml | json | csv}}`
* `{{domain}}/rest/2.0/outputModule/export/{{xml | json | csv | excel}}-file`
* `{{domain}}/rest/2.0/outputModule/export/{{xml | json | csv | excel}}-job`

This parameter, when set to true, enables validation of the input `ViewConfig`/`TableViewConfig`. By default, the parameter value is set to false.

The example below shows a small typo in the filter. `userID` is used instead of `userId`. When you make a POST request to `{{domain}}/rest/2.0/outputModule/export/json?validationEnabled=true`, the following body results.

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

```json
{
  "ViewConfig": {
    "displayLength": 5,
    "Resources": {
      "Community": {
        "Id": { "name": "communityId" },
        "Name": { "name": "community" },
        "Responsibility": {
          "Id":{ "name": "responsibilityId"},
          "User": {
            "Id": { "name": "userId" },
            "FirstName": { "name": "userName" }
          }
        },
        "Filter": {"Field": {"name":"userID", "Operator":"NOT_NULL"}}
      }
    }
  }
}
```

{% endtab %}

{% tab title="YAML" %}

```yaml
---
ViewConfig:
  displayLength: 5
  Resources:
    Community:
      Id:
        name: "communityId"
      Name:
        name: "community"
      Responsibility:
        Id:
          name: "responsibilityId"
        User:
          Id:
            name: "userId"
          FirstName:
            name: "userName"
      Filter:
        Field:
          name: "userID"
          Operator: "NOT_NULL"
```

{% endtab %}
{% endtabs %}

The response will be similar to the example below.

```json
{
    "viewConflict": [
        {
            "type": "View Configuration Conflict",
            "message": "Field 'userID' is unknown.",
            "id": "7c723d33-dc8d-484b-90df-91e3364d771a"
        }
    ]
}
```


# API endpoints and query formats

The available rest API endpoints URL are:

* `{{domain}}/rest/2.0/outputModule/export/{{format}}`
* `{{domain}}/rest/2.0/outputModule/export/{{format}}-file`
* `{{domain}}/rest/2.0/outputModule/export/{{format}}-job`

The available formats are XML, JSON, CSV and Excel.

{% hint style="danger" %}
The JSON response strips special characters from field names with no values.
{% endhint %}


# Endpoints and formats

| Endpoint                                                                  | XML | JSON | CSV | EXCEL |
| ------------------------------------------------------------------------- | --- | ---- | --- | ----- |
| <ul><li>{{domain}}/rest/2.0/outputModule/export/{{format}}</li></ul>      | YES | YES  | YES | NO    |
| <ul><li>{{domain}}/rest/2.0/outputModule/export/{{format}}-file</li></ul> | YES | YES  | YES | YES   |
| <ul><li>{{domain}}/rest/2.0/outputModule/export/{{format}}-job</li></ul>  | YES | YES  | YES | YES   |


# ViewConfig/TableViewConfig and formats

| Format | Supports ViewConfig | Supports TableViewConfig |
| ------ | ------------------- | ------------------------ |
| XML    | YES                 | NO                       |
| JSON   | YES                 | YES                      |
| CSV    | NO                  | YES                      |
| EXCEL  | NO                  | YES                      |


# Single query and multi-query

Multi-query endpoints have less chance to timeout because of execution time limits, and thus can be used for larger exports.

| Endpoint                                                | XML    | JSON   | CSV    | EXCEL  |
| ------------------------------------------------------- | ------ | ------ | ------ | ------ |
| {{domain}}/rest/2.0/outputModule/export/{{format}}      | SINGLE | SINGLE | SINGLE | SINGLE |
| {{domain}}/rest/2.0/outputModule/export/{{format}}-file | SINGLE | SINGLE | SINGLE | SINGLE |
| {{domain}}/rest/2.0/outputModule/export/{{format}}-job  | SINGLE | SINGLE | MULTI  | MULTI  |


# CSV output format

When exporting data to CSV, all newline characters are converted to spaces. This applies to every column, including asset names, descriptions, and plain-text attribute values.

## Limits

To protect Collibra against extensive memory usage from a single query, global limits are applied:

`rootNodesNumberLimit`

The maximum number of root nodes sets the maximum value for the `displayLength` parameter to 100,000.

* By default, this limit is disabled in all environments.
* However, we recommend enabling it and using smaller `displayLength` values to ensure a single query does not overuse system resources.

`pageNodesNumberLimit`

The maximum number of nodes per page sets the maximum number of both root and child nodes to 1,000,000.

* This limit is always enabled.
* All graph queries are internally paged with a page size of 5,000 to produce the full result and return it to the API user.
* This limit is applied per page.

For endpoints that produce results directly in the response, without creating a file or job, reaching the limit could result in partial responses with a 200 OK HTTP status code. This occurs because results are streamed directly to the response to optimize performance.

{% hint style="success" %}
You can change the default values for these limits in Collibra Console in the [**Graph query limits** section](https://productresources.collibra.com/docs/collibra/latest/Content/Console/Infrastructure/DGCService/Configuration/ref_environment-settings.htm#graph-query-limits).
{% endhint %}


# Entities, properties and relations

## Limits

To protect the system against extensive memory usage of a single query, there are global limits applied:

* The maximum number of root nodes that can be requested, `rootNodesNumberLimit`, enforces the maximum value for the `displayLength` parameter to 100,000.

  This limit is currently disabled by default on all environments, but we recommend enabling it and always using smaller `displayLength` values to ensure a single query does not overuse system resources.
* The maximum number of nodes that can be requested in a single page, `pageNodesNumberLimit`, enforces a maximum number of both root and children nodes to 1,000,000.

  This limit is always enabled. All graph queries are internally paged with a page size of 5,000 to produce full results and return them to the API customer. This limit is applied per single page.

  For endpoints that produce results directly into the response, without producing a file or a job, reaching the limit could lead to partial responses with a 200 OK HTTP status code because results are streamed directly to the response for best performance.

You can change the default values for these limits in Collibra Console, in the **Graph query limits** section.

## Entity

Base abstract class of all other entities. An abstract entity cannot be queried, thus `Entity` cannot be used in the query tree.

### Properties

* `id` <kbd>Text (36)</kbd>: Universally unique identifier (UUID).

## Resource

*Extends `Entity`*

Abstract entity, which is the base class of most other entities. Most other entities share the following properties and relations. An abstract entity cannot be queried, thus `Resource` cannot be used in the query tree.

### Properties

* `createdOnIsoDate` <kbd>Number</kbd>: The creation date expressed as an ISO 8601 formatted date.
* `createdOnTimestamp` <kbd>Number</kbd>: The creation date expressed as the number of milliseconds since 1/1/1970.
* `createdBy` <kbd>Text</kbd>: The ID of the user who created this resource.
* `lastModifiedIsoDate` <kbd>Number</kbd>: The last modification date expressed as an ISO 8601 formatted date.
* `lastModifiedTimestamp` <kbd>Number</kbd>: The last modification date expressed as the number of milliseconds since 1/1/1970.
* `lastModifiedBy` <kbd>Text</kbd>: The ID of the last user who modified this resource.
* `system` <kbd>Boolean</kbd>: Indicates if this resource is reserved by the system.

### Relations

* `User` <kbd>Many-to-one</kbd>:
  * The user who created the resource.
  * The user who last modified the resource.
  * The user who created or last modified the resource. See `User` for details on specifying which kind of relationship is used.

## Representation

*Extends `Resource`*

Abstract entity, which is the base class for `Asset`. All assets share the following relationships. An abstract entity cannot be queried, thus `Representation` cannot be used in the query tree.

### Relations

* `Status` <kbd>Many-to-one</kbd>: The current status of the representation.
* `Domain` <kbd>Many-to-one</kbd>: The domain containing the representation.
* `AssetType` <kbd>Many-to-one</kbd>: The `AssetType` of the representation.
* `Attribute` <kbd>One-to-many</kbd>: The collection of attributes in the representation.
* `StringAttribute` <kbd>One-to-many</kbd>: The collection of `StringAttributes` in the representation.
* `ScriptAttribute` <kbd>One-to-many</kbd>: The collection of `ScriptAttributes` in the representation.
* `SingleValueListAttribute` <kbd>One-to-many</kbd>: The collection of `SingleValueListAttributes` in the representation.
* `MultiValueListAttribute` <kbd>One-to-many</kbd>: The collection of `MultiValueListAttributes` in the representation.
* `BooleanAttribute` <kbd>One-to-many</kbd>: The collection of `BooleanAttributes` in the representation.
* `NumericAttribute` <kbd>One-to-many</kbd>: The collection of `NumericAttributes` in the representation.
* `DateTimeAttribute` <kbd>One-to-many</kbd>: The collection of `DateTimeAttributes` in the representation.
* `DateAttribute` <kbd>One-to-many</kbd>: The collection of `DateAttributes` in the representation.

## Organization

*Extends `Resource`*

Represents the hierarchy of organizations available in Collibra.

### Properties

* `Name` <kbd>Text (255)</kbd>: The name of the organization.
* `description` <kbd>Text</kbd>: The description of the organization.
* `uri` <kbd>Text (255)</kbd>: The URI of the organization.
* `language` <kbd>Text (255)</kbd>: The name of the language used.
* `meta` <kbd>Boolean</kbd>: Indicates if the community is related to the meta model, such as a hidden organization.
* `hasNonMetaChildren` <kbd>Boolean</kbd>: Indicates if the organization contains non-meta subcommunities or domains.
* `hasNonMetaChildCommunity` <kbd>Boolean</kbd>: Indicates if the organization contains non-meta communities.
* `organizationType` <kbd>Text</kbd>: Indicates if the organization is a community (`"C"`) or a domain (`"D"`).

### Relations

* `ParentCommunity` <kbd>Many-to-one</kbd>: The parent community of this organization. Null for root communities. Optional.
* `Community` <kbd>One-to-many</kbd>: The collection of subcommunities.
* `Domain` <kbd>One-to-many</kbd>: The collection of domains contained in the organization.
* `Responsibility` <kbd>One-to-many</kbd>: The collection of responsibilities playing a role in the community.
* `ViewPermission` <kbd>One-to-many</kbd>: The collection of view permissions assigned to the organization.
* `SubCommunities` <kbd>One-to-many</kbd>: The collection of domains contained in the community.
* `Comment` <kbd>One-to-many</kbd>: The collection of comments contained in the community.
* `Asset` <kbd>One-to-many</kbd>: The collection of assets contained in the community.
* `DomainType` <kbd>One-to-many</kbd>: The type of domain.
* `Mapping` <kbd>One-to-many</kbd>: The collection of mappings corresponding to this domain.

### Filtering property

* `rootCommunity` <kbd>Boolean</kbd>: When true, the query engine adds a filter retaining only root communities. Only available when the community is also the root of the query tree.

## Community

*Extends `Organization`*

Exact synonym of an organization but with default filtering on `organizationType` equal to `"C"`.

## ParentCommunity

*Extends `Community`*

Exact synonym of a community. It can only be used as a child of the community to disambiguate the relationship followed.

## Domain

*Extends `Organization`*

Synonym of an organization but with default filtering on `organizationType` equal to `"D"` and with overridden relation for `Community`.

### Relations

* `Community` <kbd>Many-to-one</kbd>: The parent community.

## DomainType

*Extends `Resource`*

Each domain has a `DomainType`.

### Properties

* `signifier` <kbd>Text (255)</kbd>: The name of the `DomainType`.
* `name`: Synonym for `signifier`.
* `description` <kbd>Text</kbd>: The description of the `DomainType`.
* `meta` <kbd>Boolean</kbd>: Indicates if the `DomainType` is related to the Collibra meta model.

### Relations

* `Domain` <kbd>One-to-many</kbd>: The collection of domain instances of the `DomainType`.
* `DomainType` <kbd>Many-to-one</kbd>: The parent `DomainType` of the `DomainType`. Null for root `DomainTypes`. Optional.
* `ChildDomainTypes` <kbd>One-to-many</kbd>: The collection of `DomainType` children.

## ChildDomainTypes

*Extends `DomainType`, collection of `DomainType`*

Exact synonym of `DomainType`. Can only be used as a child of `DomainType` to disambiguate the relationship followed.

## BaseRelationType

*Extends `Resource`*

Abstract entity, which is the base class for `RelationType` and `DerivedRelationType`. An abstract entity cannot be queried, thus `BaseRelationType` cannot be used in the query tree.

### Properties

* `role` <kbd>Text</kbd>: The label of the relation when followed from head to tail.
* `corole` <kbd>Text</kbd>: The label of the reversed relation, when followed from tail to head.
* `description` <kbd>Text</kbd>: The description of the relation type.
* `class` <kbd>Text</kbd>: The subclass discriminator. Possible values are `ERT` for `RelationType` and `DRT` for `DerivedRelationType`.

### Relations

* `SourceAssetType` <kbd>Many-to-one</kbd>: The `AssetType` that is the head of the relation type. `SourceAssetType` is a synonym of `AssetType` and clarifies which path is followed from the `Relation` entity to its child. In this case, the child node is the head.
* `TargetAssetType` <kbd>Many-to-one</kbd>: The `AssetType` that is the tail of the relation type. `TargetAssetType` is a synonym of `AssetType` and clarifies which path is followed from the `Relation` entity to its child. In this case, the child node is the tail.

### Parent relationship selector

* `type`: This parameter allows specifying which path should be followed from the parent `AssetType` entity to the relation type. The possible values are either `HEAD` or `TAIL`, which tells whether the parent `AssetType` is the head or the tail of the relation type. The default value is `HEAD`.

## RelationType

*Extends `BaseRelationType`*

A `RelationType` defines a class of relationship between two `AssetTypes`. The `class` value for this subclass is `ERT`.

### Relations

* `Relation` <kbd>One-to-many</kbd>: The collection of relation instances with this `RelationType`.

## DerivedRelationType

*Extends `BaseRelationType`*

A `DerivedRelationType` defines a class of relationship between two `AssetTypes`. The `class` value for this subclass is `DRT`.

## Relation

*Extends `Resource`*

A `Relation` links two `Assets` together.

### Properties

* ~~`startingDate`~~ <kbd>Number</kbd>: (Deprecated) The optional start date for this relation.
* ~~`endingDate`~~ <kbd>Number</kbd>: (Deprecated) The optional end date for this relation.
* `isGenerated` <kbd>Boolean</kbd>: True if this relation was generated.

### Relations

* `RelationType` <kbd>Many-to-one</kbd>: The type of this relation.
* `SourceAsset` <kbd>Many-to-one</kbd>: The source asset of this relation.
* `TargetAsset` <kbd>Many-to-one</kbd>: The target asset of this relation.

### Parent relationship selector

Only if the parent is an asset node or is of a type inheriting from an asset node.

* `type`: This parameter allows specifying which path should be followed from the parent asset entity to this relation. The possible values are either `SOURCE` or `TARGET`, which tells whether the parent asset is the source or target of the relation. This parameter is mandatory because there is no default value.

### Filtering property

* `typeId`: Allows filtering relations using the ID value of their related `RelationType`.

## ComplexRelation

*Extends `Asset`*

A `ComplexRelation` is an anonymous asset, whose signifier, or name, has been generated.

### Relations

* `ComplexRelationType` <kbd>Many-to-one</kbd>: The type of this complex relation.

### Filtering property

* `typeId`: Allows filtering `ComplexRelations` using the ID value of their related `ComplexRelationType`.

### Additional parameters

* `separator`: The character to be used to separate related asset names in an Excel or CSV export.
* `quote`: The character to be used to quote related asset names in an Excel or CSV export.

## ComplexRelationType

*Extends `AssetType`*

A `ComplexRelationType` determines the type of a `ComplexRelation`.

### Relations

* `ComplexRelation` <kbd>One-to-many</kbd>: The collection of `ComplexRelation` instances with the `ComplexRelationType`.
* `ComplexRelationLegType` <kbd>One-to-many</kbd>: The collection of `ComplexRelationLegTypes` linked to the `ComplexRelationType`.
* `ComplexRelationAttributeType` <kbd>One-to-many</kbd>: The collection of `ComplexRelationAttributeTypes` linked to the `ComplexRelationType`.

## ComplexRelationLegType

*Extends `Resource`*

A `ComplexRelationLegType` is a `RelationType` used in the context of a `ComplexRelationType`. The `SourceAssetType` of those `RelationTypes` of the `ComplexRelationType`. It can only be used as a child of `ComplexRelationType`.

### Properties

* `min` <kbd>Number</kbd>: The minimum occurrences of this `RelationType` in the `ComplexRelationType`.
* `max` <kbd>Number</kbd>: The maximum occurrences of this `RelationType` in the `ComplexRelationType`.
* `legOrder` <kbd>Number</kbd>: The order of this `ComplexRelationLegType` in the `ComplexRelationType`.

### Relations

* `RelationType` <kbd>Many-to-one</kbd>: The `RelationType` of the `ComplexRelationLegType`.

## ComplexRelationAttributeType

*Extends `Resource`*

A `ComplexRelationAttributeType` is an `AttributeType` used in the context of a `ComplexRelationType`. Can only be used as a child of `ComplexRelationType`.

### Properties

* `min` <kbd>Number</kbd>: The minimum occurrences of this `AttributeType` in the `ComplexRelationType`.
* `max` <kbd>Number</kbd>: The maximum occurrences of this `AttributeType` in the `ComplexRelationType`.
* `readOnly` <kbd>Boolean</kbd>: Indicates if the attribute can be edited or not.
* `attributeOrder` <kbd>Number</kbd>: The order of this `ComplexRelationAttributeType` in the `ComplexRelationType`.

### Relations

* `AttributeType` <kbd>Many-to-one</kbd>: The `AttributeType` of this `ComplexRelationAttributeType`.

## Asset

*Extends `Representation`*

An `Asset` is the basic building block capturing information about the assets available in Collibra.

### Properties

* `signifier` <kbd>Text (2000)</kbd>: The full name of the asset.
* `displayName` <kbd>Text (2000)</kbd>: The display name of the asset.
* `articulationScore` <kbd>Number</kbd>: Result of the last calculation of the articulation score.
* ~~`hasChildrenForRelation`~~ <kbd>Boolean</kbd>: (Deprecated) Virtual calculated property indicating if this asset has children for the relation type defined at the query level. This property takes two additional parameters:

  * The `RelationType`.
  * `direction` (role or co-role).

  For example:

  ```
  "HasChildrenForRelation": {
    "name": "hasChildren",
    "relationTypeId": "00000000-0000-0000-0000-000000007005",
    "roleDirection": true
  ```

  It can only be used if `Asset` is a root node of the query. It is not inherited by nodes extending the `Asset` node.
* `avgRating` <kbd>Number</kbd>: Average value of all ratings assigned to the asset.
* `ratingsCount` <kbd>Number</kbd>: Number of all ratings assigned to the asset.
* `class` <kbd>Text</kbd>: The class of the asset:

  | Class | Description         |
  | ----- | ------------------- |
  | `TE`  | Asset               |
  | `RL`  | Role                |
  | `CR`  | Complex relation    |
  | `WD`  | Workflow definition |

  The Output Module has a broader interpretation of assets, which includes roles, complex relations, and workflows. Use the `class` property to differentiate among these subclasses.

### Relations

* `Relation` <kbd>One-to-many</kbd>: The collection of relations this asset has. See `Relation` for a mandatory `type` parameter.
* `Responsibility` <kbd>One-to-many</kbd>: The collection of responsibilities this asset has.
* `Mapping` <kbd>One-to-many</kbd>: The related mappings.
* `Tag` <kbd>Many-to-many</kbd>: The collection of tags associated with this asset.

### Filtering property

* `rootOfRelation`: An array of relation type and direction pairs. Root assets are not the child of any of the relations.

  For example:

  ```
  "rootOfRelation": [
    {
      "relationTypeId": "00000000-0000-0000-0000-000000007038",
      "roleDirection": true
    },
    {
      "relationTypeId": "00000000-0000-0000-0000-000000007005",
      "roleDirection": true
    }
  ]
  ```

## SourceAsset

*Extends `Asset`*

Exact synonym of `Asset`. It can only be used as a child of a relation to disambiguate the relationship followed.

## TargetAsset

*Extends `Asset`*

Exact synonym of `Asset`. It can only be used as a child of a relation to disambiguate the relationship followed.

## SourceAssetType

*Extends `AssetType`*

Exact synonym of `AssetType`. It can only be used as a child of `RelationType` or `DerivedRelationType` to disambiguate the relationship followed.

## TargetAssetType

*Extends `AssetType`*

Exact synonym of `AssetType`. Can only be used as a child of `RelationType` or `DerivedRelationType` to disambiguate the relationship followed.

## AssetType

*Extends `Resource`*

An `AssetType` determines the type of asset.

### Properties

* `discriminator` <kbd>Text</kbd>: The type of this `AssetType`. Possible values are:
  * `AssetType`
  * `ComplexRelationType`
  * `Trait`
* `signifier` <kbd>Text (255)</kbd>: The name of this `AssetType`.
* `name`: Synonym for `signifier`.
* `description` <kbd>Text</kbd>: The description of the `AssetType`.
* `meta` <kbd>Boolean</kbd>: Indicates if the `AssetType` is related to the Collibra meta model.
* `color` <kbd>Text</kbd>: The color of the `AssetType`.
* `icon` <kbd>Text</kbd>: The icon of the `AssetType`.
* `acronym` <kbd>Text</kbd>: The acronym of the `AssetType`.
* `symbolType` <kbd>Text</kbd>: Defines the icon or acronym used in Collibra. Possible values are `ICON`, `ACRONYM`, and `NONE`.
* `displayNameEnabled` <kbd>Boolean</kbd>: Indicates if the display name is enabled for all assets of this `AssetType`.
* `ratingEnabled` <kbd>Boolean</kbd>: Indicates if ratings are enabled for all assets of this `AssetType`.

### Relations

* `Asset` <kbd>One-to-many</kbd>: The collection of instances of this `AssetType`.
* `AssetType` <kbd>Many-to-one</kbd>: The parent `AssetType` of this `AssetType`.
* `ChildAssetTypes` <kbd>One-to-many</kbd>: The collection of concept types that have this `AssetType` as parent.

## ChildAssetTypes

*Extends `AssetType`, collection of `AssetType`*

Can only be used as a child of `AssetType` to disambiguate the relationship followed.

The `ComplexRelationType`, despite inheriting from `AssetType`, does not support the `ChildAssetTypes` node.

## Attribute

*Extends `Resource`*

Attribute represents an attribute linked to a representation.

### Properties

* `value` <kbd>Text</kbd>: The text value of this attribute.

{% hint style="info" %}
For date values, a JSON or XML export contains the number of milliseconds since 1/1/1970, while a CSV or Excel export contains an ISO 8601 formatted date.
{% endhint %}

* `class` <kbd>Text</kbd>: With other entities, extends `Attribute`. Use the `class` qualifier to differentiate between the various subclasses.

### Relations

* `AttributeType` <kbd>Many-to-one</kbd>: The type of attribute.
* `Asset` <kbd>Many-to-one</kbd>: The asset to which the attribute belongs.

### Filtering property

* `labelId`: Allows filtering the attributes based on the ID of their related `AttributeType`.

## StringAttribute

*Extends `Attribute`*

A `StringAttribute` is an attribute dedicated to text values.

### Properties

* `longExpression` <kbd>Text</kbd>: The unbounded text value. Obsolete, but returns the same content as `Attribute:value`.

## ScriptAttribute

*Extends `Attribute`*

A `ScriptAttribute` is an attribute dedicated to script values.

### Properties

* `script` <kbd>Text</kbd>: The script. Obsolete, but returns the same content as `Attribute:value`.

## SingleValueListAttribute

*Extends `Attribute`*

A `SingleValueListAttribute` is an attribute dedicated to storing a single value selected from a list.

## MultiValueListAttribute

*Extends `Attribute`*

A `MultiValueListAttribute` is an attribute dedicated to storing multiple values selected from a list.

### Properties

* `values` <kbd>Text</kbd>: The multiple values.

## BooleanAttribute

*Extends `Attribute`*

A `BooleanAttribute` is an attribute dedicated to Boolean values.

### Properties

* `booleanValue` <kbd>Boolean</kbd>: The value.

## NumericAttribute

*Extends `Attribute`*

A `NumericAttribute` is an attribute dedicated to numeric values.

### Properties

* `numericValue` <kbd>Number</kbd>: The stored number.

## DateAttribute

*Extends `Attribute`*

A `DateAttribute` is an attribute dedicated to date values.

### Properties

* `timestamp` <kbd>Number</kbd>: The date value expressed as the number of milliseconds since 1/1/1970.
* `isoDate` <kbd>String</kbd>: The date value expressed as an ISO 8601 formatted date.

## AttributeType

*Extends `Resource`*

The `AttributeType` determines the type of an attribute.

### Properties

* `signifier` <kbd>Text (255)</kbd>: The name of the `AttributeType`.
* `name`: Synonym for `signifier`.
* `description` <kbd>Text</kbd>: The description of this `AttributeType`.
* `attributeKind` <kbd>Text (255)</kbd>: The `AttributeType` kind. The possible values are: `BOOLEAN`, `STRING`, `NUMERIC`, `DATE`, `DATE_TIME`, `SINGLE_VALUE_LIST`, `MULTI_VALUE_LIST`, and `SCRIPT`.
* `language` <kbd>Text (255)</kbd>: The name of the language used. The kind is `SCRIPT`.
* `isInteger` <kbd>Boolean</kbd>: Indicates if the `AttributeType` defines an integer or decimal. If true, it defines an integer. If false, it defines a decimal. The kind is `NUMERIC`.
* `allowedValues` <kbd>Text</kbd>: Comma-separated list of values. The kind is `SINGLE_VALUE_LIST` or `MULTI_VALUE_LIST`.

### Relations

* `Attribute` <kbd>One-to-many</kbd>: The collection of `Attributes` of this type.

## User

*Extends `Resource`*

Represents Collibra users. Any resource has a creation date and the last modification date. Collibra also stores which user made each of these operations. The `User` entity is related to all types as the creator and/or last modifier of the entity.

### Properties

* `userName` <kbd>Text</kbd>: The user name. Requires administrative rights to be queried.
* `firstName` <kbd>Text</kbd>: The first name.
* `lastName` <kbd>Text</kbd>: The last name.
* `fullName` <kbd>Text</kbd>: Virtual property containing the first and last name together, which is useful for filters.
* `gender` <kbd>Text</kbd>: The gender. Requires administrative rights to be queried.
* `language` <kbd>Text</kbd>: The user language. Requires administrative rights to be queried.
* `activated` <kbd>Boolean</kbd>: Indicates if the user is activated. Requires administrative rights to be queried.
* `ldapUser` <kbd>Boolean</kbd>: Indicates if the user is an LDAP user. Requires administrative rights to be queried.
* ~~`apiUser`~~ <kbd>Boolean</kbd>: (Deprecated) Indicates if this is an API user.
* `enabled` <kbd>Boolean</kbd>: Indicates if the user is enabled.
* `emailAddress` <kbd>Text</kbd>: The user's primary email address.
* `guest` <kbd>Boolean</kbd>: Indicates if this is a guest user.

### Relations

* `Email` <kbd>Many-to-many</kbd>: The collection of emails owned by the user.
* `Phone` <kbd>Many-to-many</kbd>: The collection of phone numbers owned by the user.
* `InstantMessagingAccount` <kbd>Many-to-many</kbd>: The collection of `InstantMessagingAccount` accounts owned by this user.
* `Website` <kbd>Many-to-many</kbd>: The collection of websites owned by the user.
* `Address` <kbd>Many-to-many</kbd>: The collection of addresses owned by the user.
* `Community` <kbd>One-to-many</kbd>: The collection of communities created or last modified by the user.
* `Domain` <kbd>One-to-many</kbd>: The collection of vocabularies created or last modified by the user.
* `DomainType` <kbd>One-to-many</kbd>: The collection of `DomainTypes` created or last modified by the user.
* `RelationType` <kbd>One-to-many</kbd>: The collection of `RelationTypes` created or last modified by the user.
* `Relation` <kbd>One-to-many</kbd>: The collection of relations created or last modified by the user.
* `ComplexRelation` <kbd>One-to-many</kbd>: The collection of `ComplexRelations` created or last modified by the user.
* `Asset` <kbd>One-to-many</kbd>: The collection of assets created or last modified by the user.
* `AssetType` <kbd>One-to-many</kbd>: The collection of `AssetTypes` created or last modified by the user.
* `Attribute` <kbd>One-to-many</kbd>: The collection of attributes created or last modified by the user.
* `StringAttribute` <kbd>One-to-many</kbd>: The collection of `StringAttributes` created or last modified by the user.
* `ScriptAttribute` <kbd>One-to-many</kbd>: The collection of `ScriptAttributes` created or last modified by the user.
* `SingleValueListAttribute` <kbd>One-to-many</kbd>: The collection of `SingleValueListAttributes` created or last modified by the user.
* `MultiValueListAttribute` <kbd>One-to-many</kbd>: The collection of `MultiValueListAttributes` created or last modified by the user.
* `BooleanAttribute` <kbd>One-to-many</kbd>: The collection of `BooleanAttributes` created or last modified by the user.
* `NumericAttribute` <kbd>One-to-many</kbd>: The collection of `NumericAttributes` created or last modified by the user.
* `DateTimeAttribute` <kbd>One-to-many</kbd>: The collection of `DateTimeAttributes` created or last modified by the user.
* `DateAttribute` <kbd>One-to-many</kbd>: The collection of `DateAttributes` created or last modified by the user.
* `AttributeType` <kbd>One-to-many</kbd>: The collection of `AttributeTypes` created or last modified by this user.
* `User` <kbd>One-to-many</kbd>: The collection of users created or last modified by this user.
* `Group` <kbd>Many-to-many</kbd>: The collection of groups to which this user belongs.
* `Responsibility` <kbd>One-to-many</kbd>: The collection of responsibilities linking this user to a role on an asset, domain or community.
* `Role` <kbd>One-to-many</kbd>: The collection of roles created or last modified by this user.
* `Status` <kbd>One-to-many</kbd>: The collection of statuses created or last modified by the user.
* ~~`WorkflowTaskInfo`~~ <kbd>One-to-many</kbd>: (Deprecated) The collection of `WorkflowTaskInfos` created or last modified by the user.
* `Mapping` <kbd>One-to-many</kbd>: The collection of mappings created or last modified by the user.

### Parent relationship selector

* `linkType`: This parameter allows specifying the path that should be followed from the parent resource to a user. When the parent resource is a responsibility or group, `linkType` is not used and the relationship defined for responsibility or group is used. When a user is the parent node, `linkType` determines the relationship with the child resources that have a created or last modified kind of relationship. See the relations above. The possible values are `CREATED`, `MODIFIED`, `CREATED_OR_MODIFIED`, or `CREATED OR MODIFIED`. `CREATED_OR_MODIFIED` is the default value, but can only be used when `User` is the root of the query tree. `CREATED_OR_MODIFIED` turns into a simple `CREATED` when `User` is not the root of the query.

## Email

*Extends `Resource`*

Email represents one of the user's email addresses. It can only be used as a child of the user.

### Properties

* `emailAddress` <kbd>Text</kbd>: The email address.

## Phone

*Extends `Resource`*

Phone represents one of the user's phone numbers. It can only be used as a child of the user.

### Properties

* `phoneNumber` <kbd>Text</kbd>: The phone number.
* `phoneType` <kbd>Text</kbd>: The phone type: `FAX`, `MOBILE`, `OTHER`, `PAGER`, `PRIVATE`, and `WORK`.

## InstantMessagingAccount

*Extends `Resource`*

`InstantMessagingAccount` represents one of the user's instant messaging accounts. It can only be used as a child of the user.

### Properties

* `account` <kbd>Text</kbd>: The account ID.
* `instantMessagingAccountType` <kbd>Text</kbd>: The instant messaging type: `AOL`, `GTALK`, `ICQ`, `JABBER`, `LIVE_MESSENGER`, `SKYPE`, or `YAHOO_MESSENGER`.

## Website

*Extends `Resource`*

Website represents one of the user's websites. It can only be used as a child of the user.

### Properties

* `url` <kbd>Text</kbd>: The URL of the website.
* `websiteType` <kbd>Text</kbd>: The type of website: `FACEBOOK`, `LINKEDIN`, `MYSPACE`, `TWITTER`, or `WEBSITE`.

## Address

*Extends `Resource`*

Address represents one of the user's addresses. It can only be used as a child of the user.

### Properties

* `street` <kbd>Text</kbd>: The street.
* `number` <kbd>Text</kbd>: The street number.
* `city` <kbd>Text</kbd>: The city.
* `postalCode` <kbd>Text</kbd>: The zip code.
* `state` <kbd>Text</kbd>: The state.
* `country` <kbd>Text</kbd>: The country.
* `addressType` <kbd>Text</kbd>: The address type: `HOME` or `WORK`.

## Group

*Extends `Resource`*

A group is a named collection of users.

### Properties

* `groupName` <kbd>Text</kbd>: The name of the group.

### Relations

* `User` <kbd>One-to-many</kbd>: The users that are part of this group.
* `Responsibility` <kbd>One-to-many</kbd>: The collection of responsibilities linking this group to a role on an asset, domain or community.

## Responsibility

*Extends `Resource`*

A responsibility links a user or group with a role on an asset, domain or community. Mutually exclusive.

### Relations

* `User` <kbd>Many-to-one</kbd>: The related user. Empty if linked to a group.
* `Group` <kbd>Many-to-one</kbd>: The related group. Empty if linked to a user.
* `Role` <kbd>Many-to-one</kbd>: The related role.
* `Asset` <kbd>Many-to-one</kbd>: The associated asset.
* `Domain` <kbd>Many-to-one</kbd>: The associated domain.
* `Community` <kbd>Many-to-one</kbd>: The associated community.

### Filtering property

* `roleId`: Allows filtering responsibilities using the ID property of the related role.

## ViewPermission

*Extends `Resource`*

A view permission links a user or group with a domain or community. Mutually exclusive.

### Relations

* `User` <kbd>Many-to-one</kbd>: The related user. Empty if linked to a group.
* `Group` <kbd>Many-to-one</kbd>: The related group. Empty if linked to a user.
* `Domain` <kbd>Many-to-one</kbd>: The associated domain.
* `Community` <kbd>Many-to-one</kbd>: The associated community.

## ~~Role~~ (deprecated)

*Extends `Asset`*

The role that a user plays, for example, Steward or Admin.

## Status

*Extends `Resource`*

The status of an asset.

### Properties

* `signifier` <kbd>Text (255)</kbd>: The name of the status.
* `description` <kbd>Text</kbd>: The status description.

### Relations

* `Asset` <kbd>One-to-many</kbd>: The assets of this status.

## ~~WorkflowTaskInfo~~ (deprecated)

*Extends `Resource`*

`WorkflowTaskInfo` holds all information about an ongoing workflow task.

### Properties

* `description` <kbd>Text</kbd>: The description of the task.
* `title` <kbd>Text</kbd>: The title of the task.
* `dueDate` <kbd>Number</kbd>: The due date of the task expressed as the number of milliseconds since 1/1/1970.
* `itemResourceId` <kbd>Text</kbd>: The related item ID.
* `itemResourceType` <kbd>Text</kbd>: The related resource type.
* `itemVerbalized` <kbd>Text</kbd>: The verbalized version of the related item.
* `taskType` <kbd>Text</kbd>: The type of task.
* `assignee` <kbd>Text</kbd>: The ID of the assigned user.
* `candidateUsers` <kbd>Text</kbd>: The IDs of candidate users.
* `domain` <kbd>Text</kbd>: The related domain ID.
* `community` <kbd>Text</kbd>: The related community ID.
* `status` <kbd>Text</kbd>: The status of the task.

## Mapping

*Extends `Resource`*

A `Mapping` links an externally defined entity, such as an asset or domain, to one entity.

### Properties

* `extSystemId` <kbd>Text</kbd>: The identifier of the external system.
* `extEntityId` <kbd>Text</kbd>: The external identifier of the entity.
* ~~`extEntityUrl`~~ <kbd>Text</kbd>: (Deprecated) The external URL of the entity.
* ~~`lastSyncDate`~~ <kbd>Number</kbd>: (Deprecated) The last synchronization date.
* ~~`syncAction`~~ <kbd>Text</kbd>: (Deprecated) The last synchronization action: `ADD`, `UPDATE`, or `REMOVE`.
* ~~`description`~~ <kbd>Text</kbd>: (Deprecated) Description of this mapping.

### Relations

* `Asset` <kbd>Many-to-one</kbd>: The related asset.
* `Domain` <kbd>Many-to-one</kbd>: The related domain.

## Tag

*Extends `Resource`*

A `Tag` allows categorizing assets by adding one or more labels.

### Properties

* `name` <kbd>Text</kbd>: The name of the tag.
* `assetCount` <kbd>Number</kbd>: The number of total related assets.

### Relations

* `Asset` <kbd>Many-to-many</kbd>: The related assets.

## ~~DataQualityRule~~ (deprecated)

*Extends `Resource`*

A `DataQualityRule` describes the rules for the data quality of an asset.

### Properties

* `name` <kbd>Text</kbd>: The name of the `DataQualityRule`.
* `description` <kbd>Text</kbd>: The description of the `DataQualityRule`.

## Scope

*Extends `Resource`*

A `Scope` describes the scope of an assignment.

### Properties

* `name` <kbd>Text</kbd>: The name of the scope.
* `description` <kbd>Text</kbd>: The description of the scope.

## Comment

*Extends `Resource`*

Comment represents a single comment of a resource.

### Properties

* `content` <kbd>String</kbd>: The content of this comment.
* `resourceType` <kbd>String</kbd>: The type of the resource to which this comment belongs.
* `resolved` <kbd>Boolean</kbd>: Whether the comment thread has been resolved.
* `contentLastModifiedOn` <kbd>Number</kbd>: When the last edit happened, expressed in milliseconds since 1/1/1970.

### Relations

* `ParentComment` <kbd>Many-to-one</kbd>: The parent comment of this comment.
* `Comment` <kbd>One-to-many</kbd>: List of subcomments of this comment.
* `Asset` <kbd>One-to-one</kbd>: The asset to which this comment is linked.
* `Domain` <kbd>One-to-one</kbd>: The domain to which this comment is linked.
* `Community` <kbd>One-to-one</kbd>: The community to which this comment is linked.

### Filtering property

* `rootComment` <kbd>Boolean</kbd>: When true, the query engine adds a filter retaining only root comments.

## ParentComment

*Extends `Resource`*

`ParentComment` can only be used as a child of a comment to disambiguate the relationship followed.

## ~~DataType~~ (deprecated)

*Extends `Entity`*

A `DataType` is a Catalog entity that characterizes a data element's data type.

### Properties

* `name` <kbd>Text</kbd>: The name of the type: Date or SSN.
* `description` <kbd>Text</kbd>: Description of the type.
* `class` <kbd>Text</kbd>: The class of `DataTypes`: `BASE` and `ADVANCED`.
* `logicalDataType` <kbd>Text</kbd>: The corresponding logical data type used by the profiling job. It is one of the base types.

### Relations

* `DataTypeMatch` <kbd>One-to-many</kbd>: The related `DataTypeMatches` holding a specific percentage of match value for a Data Element instance.

## ~~AdvancedDataType~~ (deprecated)

*Extends `DataType`*

An `AdvancedDataType` is an extension of one of the base `DataTypes`, for example, Text, Numeric or Date, that provides patterns that help the profiling job detect the data type.

### Relations

* `DataTypePattern` <kbd>One-to-many</kbd>: The patterns associated with this advanced data type.

## ~~DataTypePattern~~ (deprecated)

*Extends `Entity`*

A `DataTypePattern` contains a pattern associated with an `AdvancedDataType`.

### Properties

* `value` <kbd>Text</kbd>: The pattern.

### Relations

* `AdvancedDataType` <kbd>Many-to-one</kbd>: The related `AdvancedDataType`.

## ~~DataTypeMatch~~ (deprecated)

*Extends `Entity`*

A `DataTypeMatch` contains profiling results indicating the percentage of the actual data behind a `DataElement` asset that matches a `DataType`.

### Properties

* `percentage` <kbd>Double</kbd>: The matching percentage.

### Relations

* `Asset` <kbd>Many-to-one</kbd>: The related Data Element.
* `DataType` <kbd>Many-to-one</kbd>: The matched `DataType`.

## ~~BaseView~~ (deprecated)

*Extends `Resource`*

An abstract entity base class of `View` and `DiagramPicture`.

### Properties

* `name` <kbd>Text</kbd>: The name of the `BaseView`.
* `description` <kbd>Text</kbd>: The description of the `BaseView`.
* `config` <kbd>Text</kbd>: The JSON config of the `BaseView`.
* `originalView` <kbd>Text</kbd>: The ID of the original view of this base view, meaning the view from which this base view was created.
* `isDefault` <kbd>Boolean</kbd>: Indicates if this is a default `BaseView`.
* `isPreferred` <kbd>Boolean</kbd>: Indicates if this is a preferred pinned `BaseView`.

## ~~View~~ (deprecated)

*Extends `BaseView`*

A view in Collibra.

## ~~DiagramPicture~~ (deprecated)

*Extends `BaseView`*

A diagram illustration.

### Properties

* `svg` <kbd>Text</kbd>: Text field containing an SVG representation of the diagram picture.

### Relations

* `View` <kbd>Many-to-one</kbd>: The view used to create or take the picture.
* `DiagramPictureSharingRule` <kbd>One-to-many</kbd>: The sharing rules of the diagram picture.
* `AssignmentRule` <kbd>Many-to-many</kbd>: The assignment rules of the diagram picture.

## ~~DiagramPictureSharingRule~~ (deprecated)

*Extends `Resource`*

A `DiagramPicture` sharing rule. A diagram picture can be shared with a user, group or role.

### Relations

* `Role` <kbd>Many-to-one</kbd>: The role linked to this rule.
* `Group` <kbd>Many-to-one</kbd>: The group linked to this rule.
* `User` <kbd>Many-to-one</kbd>: The user linked to this rule.

## ~~AssignmentRule~~ (deprecated)

*Extends `Resource`*

An assignment rule, only exposed to the graph query engine to show the asset linked to a `DiagramPicture`.

### Relations

* `Asset` <kbd>Many-to-one</kbd>: The asset linked to this rule.


# Working with the Import API v2

The import functionality allows you to create or edit data in bulk in Collibra. By importing, you can create and edit communities, domains, assets, mappings, or complex relations and their characteristics such as attributes, relations, responsibilities, and tags.

{% hint style="info" %}
All Import API operations require authentication. For instructions, see the [Collibra REST API authentication](https://developer.collibra.com/tutorials/rest-api-authentication/) tutorial.
{% endhint %}

## Import REST API endpoints and parameters

You can import communities, domains, assets, mappings and complex relations using the following endpoints:

* `/import/json-job`
* `/import/csv-job`
* `/import/excel-job`

### Mandatory parameters

You must provide the following parameters:

| Parameter | Parameter type  | Description                                                                                                                                                   |
| --------- | --------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| fileId    | String (UUID)   | The universally unique identifier (UUID) of a file previously uploaded to Collibra Platform.                                                                  |
| file      | String (binary) | The JSON, CSV or Excel file. During the import, CSV and Excel files are converted to JSON.                                                                    |
| template  | String          | The [JSON template](/api/guides/import-api/importing-csv-and-excel-files/formatting-json-template-files) interprets the tabular data for CSV and Excel files. |

{% hint style="danger" %}
You cannot provide both `fileId` and `file` in the same call because the operation will fail. Use only one of the two options.
{% endhint %}

### Optional import parameters

The following table summarizes additional Import API v2 POST parameters:

| Parameter                                                                 | Parameter type | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| ------------------------------------------------------------------------- | -------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| sendNotification                                                          | Boolean        | <p>Whether notifications about the import job should be sent.</p><p>The default value is <code>false</code>.</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| simulation                                                                | Boolean        | <p>Whether to test the import before applying any changes to Collibra. When <code>true</code>, the Import API performs a simulation of the import or synchronization and produces a summary of the result.</p><p>This parameter does not apply to synchronization requests. It is only relevant for import and ignored for synchronization methods.</p><p>The default value is <code>false</code>.</p><div data-gb-custom-block data-tag="hint" data-style="info" class="hint hint-info"><p>Enabling both <code>continueOnError</code> and <code>simulation</code> in the same request is not supported.</p></div> |
| [continueOnError](/api/guides/import-api/the-option-to-continue-on-error) | Boolean        | <p>Whether the import should continue if some of the import commands are invalid or failed to execute.</p><p>If <code>true</code>, the valid commands are still committed to the database, which can lead to partial results being stored.</p><p>The default value is <code>false</code>.</p><div data-gb-custom-block data-tag="hint" data-style="info" class="hint hint-info"><p>Enabling both <code>continueOnError</code> and <code>simulation</code> in the same request is not supported.</p></div>                                                                                                          |
| fileName                                                                  | String         | <p>The name the file will receive once uploaded to Collibra.</p><p>The default value is <code>import\_file</code>.</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| deleteFile                                                                | Boolean        | <p>Whether to delete the import file after a successful import. Regardless of this setting, the file is kept in case of a failed import.</p><p>The default value is <code>false</code>.</p>                                                                                                                                                                                                                                                                                                                                                                                                                        |
| relationsAction                                                           | String         | <p>The action to take in case of existing relations for the specified relation types. The possible values are:</p><ul><li><code>REPLACE</code>: The relations are replaced.</li><li><code>ADD\_OR\_IGNORE</code>: The import only adds new relations.</li></ul><p>The default value is <code>REPLACE</code>.</p>                                                                                                                                                                                                                                                                                                   |
| attributesAction                                                          | String         | <p>The action to take in case of existing attributes for the specified attribute types. The possible values are:</p><ul><li><code>REPLACE</code>: The attributes are replaced.</li><li><code>ADD\_OR\_IGNORE</code>: The import only adds new attribute values.</li></ul><p>The default value is: <code>REPLACE</code>.</p>                                                                                                                                                                                                                                                                                        |
| synchronizationId                                                         | String (UUID)  | The synchronization ID of the operation.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |

{% hint style="success" %}
To avoid possible performance issues:

* Disable indexing and hyperlinking calculations before starting import or synchronization operations that handle large volumes of data.
* Restrict import jobs to a maximum of 50,000 resources (communities, domains, assets, complex relations or mappings) and 500,000 additional characteristics (attributes, relations or tags).
  {% endhint %}

## Additional resources

* Read the [Getting Started with the Import API](https://developer.collibra.com/tutorials/getting-started-with-the-import-api/) tutorial.
* Consult the Collibra REST Import API documentation provided with your version of Collibra Platform at https\://\<your\_collibra\_url>/api-docs/index.html?urls.primaryName=import-api.


# Importing JSON files

Whether it is the actual input file or the CSV or Excel template, the import API works with data formatted in JSON.

The import API accepts an array of objects where each object represents a command to be executed. The implicit operation for a command is `MERGE`. A merge creates or updates a resource in Collibra depending on the result of a query based on the parameters provided in the `[identifier](./import-commands.md#identifi)` field within the JSON object.

{% hint style="danger" %}
When importing assets from a CSV or Excel file, ensure that the input file is sorted by the asset identifier, such as the name or ID. If the file is not sorted, attributes, relations, or tags may be missing.
{% endhint %}

{% tabs %}
{% tab title="Example" icon="glasses-round" %}
General JSON file format

```json
[
  {command 1},
  {command 2},
  ...
]
```

{% endtab %}
{% endtabs %}

## Order of execution

By default, the importer splits commands into batches. Then, for each batch, the commands are sorted for optimal performance.

If a command depends on the result of a previous command, the previous command has to appear in the input data before the command that depends on it. Commands created from templates, such as DataWeave, should be sorted in the same way.

{% hint style="info" %}
Although not guaranteed, in some situations, the import may still work even if the order of the commands is not correct.
{% endhint %}

When you use a single file to import a community and a domain that belongs to it, the command to import the community should appear first. Additionally, if an asset, a domain or a community is created and mapping also needs to be created for a given resource, the mapping command should be second.

{% hint style="success" %}
To maximize performance, commands should be grouped by resource type within the input file:

```json
[
  {command for Community 1},
  {command for Community 2},
  ...
  {command for Community N},
  {command for Domain 1},
  ...
  {command for Domain M},
  {command for Asset 1},
  ...
  {command for Asset P},
]
```

{% endhint %}

## Command merging

During the import process, multiple subsequent commands with the same identifier are merged and executed as a single import command. This means that an imported asset has attributes and relations from all merged commands.

{% hint style="warning" %}
Only commands that immediately follow each other can be merged, otherwise the last command in the file can override the results of the previous commands with the same identifier.
{% endhint %}

{% hint style="info" %}
For consistent results, use one import command per unique identifier.
{% endhint %}


# Importing CSV and Excel files

You can provide data to the import API through CSV or Excel files. Because of the tabular nature of these formats, you must also provide a [JSON template](/api/guides/import-api/importing-csv-and-excel-files/formatting-json-template-files). This template specifies the import commands and what the column data represents.

To learn more, see:

* [Importing CSV files](/api/guides/import-api/importing-csv-and-excel-files/importing-csv-files)
* [Importing Excel files](/api/guides/import-api/importing-csv-and-excel-files/importing-excel-files)
* [Formatting JSON template files](/api/guides/import-api/importing-csv-and-excel-files/formatting-json-template-files)


# Importing CSV files

The import commands for CSV files must have the mandatory operation fields and identifier requirements as the [import commands](/api/guides/import-api/importing-json-files). The difference is that the [JSON template](/api/guides/import-api/importing-csv-and-excel-files/formatting-json-template-files) contains placeholders for the data that must be retrieved from the CSV file:

{% tabs %}
{% tab title="Example" icon="glasses-round" %}
`${n}`, where *n* represents the number of the table column.
{% endtab %}
{% endtabs %}

{% hint style="info" %}
The first column is 1.
{% endhint %}

{% hint style="warning" %}
Define each asset in consecutive rows. Mixing rows of one asset with the rows of another asset can cause the removal of the asset attributes or relations.
{% endhint %}

You can use a combination of placeholders and hard-coded values in the JSON template.

## JSON template structure

```json
[{
  "resourceType": "Community"
  "identifier": {
    "id": "${n}" //placeholder, where n = 1, 2, 3...)
  },
  "parent": {
    "id": "9f01ccd6-3329-49ef-af9a-3e1c9826f731"
  },
},
{
  "resourceType": "Domain"
  "identifier": {
    "id": "${n}"
  },
  "name": "${n}",
  "description": "${n}",
  "community": {
    "name": "${n}"
  },
  "type": {
    "name": "${n}"
  },
},
{
  "resourceType": "Asset"
  "identifier": {
    "name": "${n}",
    "domain": {
      "name": "${n}",
      "community": {
        "name": "${n}"
      }
    },
    "relations": {
      "relationTypeId:TARGET": [ //for example "9f01ccd6-3329-49ef-af9a-3e1c9826f737:TARGET"
        {
          "name": "${n}",
          "domain": {
            "name": "${n}",
            "community": {
              "name": "${n}"
            }
          }
        }
      ],
      "relationTypeId2": [ //the direction is not needed if it can be implicitly resolved
        {
          "name": "${n}",
          "domain": {
            "name": "${n}",
            "community": {
              "name": "${n}"
            }
          }
        }
      ]
    },
    "attributes": {
      "attributeTypeId": [
        {
          "value": "${n}"
        }
      ],
      "attributeTypeId2": [
        {
          "values": ["${n}"] //a multivalue attribute
        }
      ]
    }
  },
}]
```

## CSV parameters

| Parameter               | Description                                                                                                           | Default value |
| ----------------------- | --------------------------------------------------------------------------------------------------------------------- | ------------- |
| template                | The [JSON template](/api/guides/import-api/importing-json-files#json) used to interpret CSV or Excel data. Mandatory. |               |
| separator               | The delimiter character used to separate entries.                                                                     | ;             |
| quote                   | The delimiter character used for quoted entries.                                                                      | "             |
| escape                  | The delimiter character used to escape separator or quote character.                                                  | \\            |
| strictQuotes            | Whether the characters outside quotes should be ignored.                                                              | false         |
| ignoreLeadingWhitespace | Whether whitespace characters before quotes should be ignored.                                                        | false         |
| headerRow               | Whether the first row of the imported CSV file is the header.                                                         | false         |

## Multivalue separator and quote characters

Use the multivalue separator and quote characters when you import multiple values from the same column or the same line of your CSV file.

You can import multiple values from the same column, in an array, indicated by a placeholder enclosed in square brackets in your JSON template:

{% tabs %}
{% tab title="Example" icon="glasses-round" %}
`["${n}"]`
{% endtab %}
{% endtabs %}

If you use the default [API request field **separator**](#separato) (`;`), the multivalue separator is `,`. Otherwise, the multivalue separator is `;`.

{% tabs %}
{% tab title="Example" icon="glasses-round" %}
For the default API request field **separator** parameter, the third column in the following CSV example contains two values: `C` and `D`.

```
A;B;C,D
```

{% endtab %}
{% endtabs %}

If you use the default [API request **quote**](#quote) (`"`), the multivalue quote is `|`. Otherwise, the multivalue quote is `"`.

{% tabs %}
{% tab title="Example" icon="glasses-round" %}
For the default values for the API request **quote** parameter, the third column in the following CSV example contains one value: `C,D`.

```
A;B;|C,D|
```

{% endtab %}
{% endtabs %}

You can import multiple resources from the same row, in an array, indicated by the import command enclosed in square brackets:

{% tabs %}
{% tab title="Example" icon="glasses-round" %}
For the default values for the API request **separator** parameter, the following combination of CSV and import template upserts two assets: `A` and `B`.

```

Name;Domain;Community;Asset Type
A,B;New Business Terms;Data Governance Council;Business Term
```

```json
[
  [
    {
      "resourceType": "Asset",
      "identifier": {
        "name": "${1}",
        "domain": {
          "name": "${2}",
          "community": {
            "name": "${3}"
          }
        }
      },
      "type": {
        "name": "${4}"
      }
    }
  ]
]
```

{% endtab %}
{% endtabs %}

## The escape character

You can use an escape character to have the Import API treat the following special characters as normal characters when they are part of the values you are importing:

* Separator characters
* Quote characters
* Escape characters

The default [escape character](#escape) is `\`.

{% tabs %}
{% tab title="Example" icon="glasses-round" %}
For **single value** columns and rows, use **one** escape character before the special character you want to escape:

| CSV value     | Escaped special character        | Imported value |
| ------------- | -------------------------------- | -------------- |
| `C\;D`        | Default separator character: `;` | **C;D**        |
| `\"CD\"`      | Default quote character: `"`     | **"CD"**       |
| `C\\D`        | Default escape character: `\`    | **C\D**        |
| {% endtab %}  |                                  |                |
| {% endtabs %} |                                  |                |

{% tabs %}
{% tab title="Example" icon="glasses-round" %}
For **multivalue** columns and rows, use **two** escape characters before the special character you want to escape:

| CSV value     | Escaped special character                   | Imported value |
| ------------- | ------------------------------------------- | -------------- |
| `C\\,D`       | Default multivalue separator character: `,` | **C,D**        |
| \`\\          | CD\\                                        | \`             |
| `C\\\D`       | Default escape character: `\`               | **C\D**        |
| {% endtab %}  |                                             |                |
| {% endtabs %} |                                             |                |

## Relation and Tag columns

To provide backward compatibility with version 1 of the Import API, version 2 processes **Relation** and **Tag** columns as a single value column. Though these columns are still within an array `[]` in the template, they are not parsed to extract multiple values. If you had escaped or quoted special characters such as the multivalue quote or multivalue separator in v2 so far, you should no longer do so. For the rows to be parsed correctly you must still escape the special characters in a CSV file such as the default escape character, which is the backslash, the default quote, which is the double quote or the default separator, which is the comma. This is valid only for importing assets. You can still import multivalues in a relation column when importing complex relations.

{% tabs %}
{% tab title="Example" icon="glasses-round" %}
Column numbers `x`, `y`, `z`,and `n` are all considered as single value columns.

```json
[
  {
    "resourceType": "Asset",
    "identifier": {

    },
    "relations": {
      "00000000-0000-0000-0000-000000007001:SOURCE": [
        {
          "name": "${x}",
          "domain": {
            "name": "${y}",
            "community": {
              "name": "${z}"
            }
          }
        }
      ]
    },
    "tags": [
      "${n}"
    ]
  }
]
```

{% endtab %}
{% endtabs %}


# Importing Excel files

The import commands for Excel files must have the mandatory operations fields and identifier requirements as the [import commands](/api/guides/import-api/import-commands). The difference is that the [JSON template](/api/guides/import-api/importing-csv-and-excel-files/formatting-json-template-files) contains placeholders for the data that must be retrieved from the Excel file:

{% tabs %}
{% tab title="Example" icon="glasses-round" %}
`${n}`, where *n* represents the number of the table column.
{% endtab %}
{% endtabs %}

{% hint style="info" %}
The first column is 1.
{% endhint %}

{% hint style="warning" %}
Define each asset in consecutive rows. Mixing rows of one asset with the rows of another asset can cause the removal of the asset attributes or relations.
{% endhint %}

You can use a combination of placeholders and hard-coded values in the JSON template.

## JSON template structure

```json
[{
  "resourceType": "Community"
  "identifier": {
    "id": "${n}" //placeholder, where n = 1, 2, 3...)
  },
  "parent": {
    "id": "9f01ccd6-3329-49ef-af9a-3e1c9826f731"
  },
},
{
  "resourceType": "Domain"
  "identifier": {
    "id": "${n}"
  },
  "name": "${n}",
  "description": "${n}",
  "community": {
    "name": "${n}"
  },
  "type": {
    "name": "${n}"
  },
},
{
  "resourceType": "Asset"
  "identifier": {
    "name": "${n}",
    "domain": {
      "name": "${n}",
      "community": {
        "name": "${n}"
      }
    },
    "relations": {
      "relationTypeId:TARGET": [ //for example "9f01ccd6-3329-49ef-af9a-3e1c9826f737:TARGET"
        {
          "name": "${n}",
          "domain": {
            "name": "${n}",
            "community": {
              "name": "${n}"
            }
          }
        }
      ],
      "relationTypeId2": [ //the direction is not needed if it can be implicitly resolved
        {
          "name": "${n}",
          "domain": {
            "name": "${n}",
            "community": {
              "name": "${n}"
            }
          }
        }
      ]
    },
    "attributes": {
      "attributeTypeId": [
        {
          "value": "${n}"
        }
      ],
      "attributeTypeId2": [
        {
          "values": ["${n}"] //a multivalue attribute
        }
      ]
    }
  },
}]
```

## Excel parameters

| Parameter  | Description                                                                                                                                              | Default value                                                                |
| ---------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------- |
| template   | The [JSON template](/api/guides/import-api/importing-csv-and-excel-files/formatting-json-template-files) used to interpret CSV or Excel data. Mandatory. |                                                                              |
| sheetName  | The name of the Excel sheet.                                                                                                                             | If the name is null and sheetIndex is null, the first sheet of the workbook. |
| sheetIndex | The index of the Excel sheet.                                                                                                                            | If the index is null and sheetName is null, the first sheet of the workbook. |
| headerRow  | Whether the first row of the imported CSV file is the header.                                                                                            | false                                                                        |

## Multivalue separator and quote characters

Use the multivalue separator and quote characters when you import multiple values from the same column or the same line of your Excel file.

You can import multiple values from the same column, in an array, indicated by a placeholder enclosed in square brackets in your [JSON template](/api/guides/import-api/importing-json-files):

{% tabs %}
{% tab title="Example" icon="glasses-round" %}
`["${n}"]`
{% endtab %}
{% endtabs %}

The multivalue separator and quote characters are defined in section 8.1 of the DGC service configuration. If not defined, the separator is `,` and the quote is `"`.

{% tabs %}
{% tab title="Example" icon="glasses-round" %}
The third column in the following Excel example contains two values: `C` and `D`.

| A             | B | C,D |
| ------------- | - | --- |
| {% endtab %}  |   |     |
| {% endtabs %} |   |     |

{% tabs %}
{% tab title="Example" icon="glasses-round" %}
The third column in the following Excel example contains one value: `C,D`.

| A             | B | "C,D" |
| ------------- | - | ----- |
| {% endtab %}  |   |       |
| {% endtabs %} |   |       |

## The escape character

You can use an escape character to have the Import API treat the following special characters as normal characters when they are part of the values you are importing:

* Separator characters
* Quote characters
* Escape characters

The default escape character is `\`.

{% tabs %}
{% tab title="Example" icon="glasses-round" %}
Use an escape character before the special character you want to escape:

| Excel value   | Escaped special character                   | Imported value |
| ------------- | ------------------------------------------- | -------------- |
| `C\,D`        | Default multivalue separator character: `,` | **C,D**        |
| `\"CD\"`      | Default multivalue quote character: `"`     | **"CD"**       |
| `C\\D`        | Default escape character: `\`               | **C\D**        |
| {% endtab %}  |                                             |                |
| {% endtabs %} |                                             |                |

## Relation and Tag columns

To provide backward compatibility with version 1 of the Import API, version 2 processes **Relation** and **Tag** columns as a single value column. Though these columns are still within an array `[]` in the template, they are not parsed to extract multiple values. If you had escaped or quoted special characters such as the multivalue quote, the multivalue separator, or the escape character in v2 so far, you should no longer do so. This is valid only for importing assets. You can still import multivalues in a relation column when importing complex relations.

{% tabs %}
{% tab title="Example" icon="glasses-round" %}
Column numbers `x`, `y`, `z`,and `n` are all considered as single value columns.

```json
[
  {
    "resourceType": "Asset",
    "identifier": {

    },
    "relations": {
      "00000000-0000-0000-0000-000000007001:SOURCE": [
        {
          "name": "${x}",
          "domain": {
            "name": "${y}",
            "community": {
              "name": "${z}"
            }
          }
        }
      ]
    },
    "tags": [
      "${n}"
    ]
  }
]
```

{% endtab %}
{% endtabs %}


# Formatting JSON template files

The JSON template is one of the required parameters needed to translate data in CSV or Excel files. The template contains the [API import commands](/api/guides/import-api/import-commands) and placeholders that indicate the number of the columns containing the relevant data of the type `${n}`, where `n` is the number of the column.

{% hint style="info" %}
The first column is 1.
{% endhint %}

## Community example

```json
[{
  "resourceType": "Community",
  "identifier": {
    "id": "${n}"
  },
  "parent": {
    "id": "9f01ccd6-3329-49ef-af9a-3e1c9826f731"
  }
}]
```

## Domain example

```json
[{
  "resourceType": "Domain",
  "identifier": {
    "id": "${n}"
  },
  "name": "${n}",
  "description": "${n}",
  "community": {
    "name": "${n}"
  },
  "type": {
    ​"name": "${n}"
  }
}]
```

## Asset example

```json
[{
  "resourceType": "Asset",
  "identifier": {
    "name": "${n}",
    "domain": {
      "name": "${n}",
      "community": {
        "name": "${n}"
      },
    },
  },
  "attributes": {
    "00000000-0000-0000-0000-000000003115": [
      "value": "${n}"
    ]
  }
}]
```


# Import commands

Each import command contains mandatory and optional fields.

## Mandatory fields

The common mandatory fields for all command types are:

| Field          | Description                                                                                                                             | Example                                                                                                                                                                                                 |
| -------------- | --------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `resourceType` | The type of resource the import command is for.                                                                                         | `Community`, `Domain`, `Asset`, `Mapping`, `Complex Relation`                                                                                                                                           |
| `identifier`   | The universally unique identifier (UUID) of the resource or a combination of other characteristics that uniquely identify the resource. | <p><code>id</code>, <code>name</code>, <code>externalSystemId</code> and <code>externalEntityId</code></p><p>See the topics of this section for examples of parameters that identify each resource.</p> |

For the optional fields, consider providing at least the minimum information required to create a new resource in Collibra if that resource needs to be created. For these fields, the default operation is `SET`.

## Resource types

The following resources are supported for import or synchronization via the Import API. Depending on the resource type, the Import API performs one of two operations: `SET` or `MERGE`.

| Resource                                             | Performed operation |
| ---------------------------------------------------- | ------------------- |
| Communities                                          | `MERGE`             |
| Domains                                              | `MERGE`             |
| Assets and the following asset characteristics:      | `MERGE`             |
| <ul><li>Attributes</li></ul>                         | `SET`               |
| <ul><li>Relations</li></ul>                          | `SET`               |
| <ul><li>Tags</li></ul>                               | `SET`               |
| Responsibilities for communities, domains and assets | `SET`               |
| Complex relations                                    | `MERGE`             |
| Mappings                                             | `MERGE`             |

### The `MERGE` operation

For `MERGE` operations:

* If the resource does not exist, it is created with all the properties provided in the input.
* If the resource exists, it is updated so that its properties match the ones provided in the input.

### The `SET` operation

For `SET` operations:

* If the resource exists with the same properties as defined in the input, the Import API performs no action.
* If the resource exists with properties different from the ones defined in the input, the Import API replaces or creates the properties that are provided in the input and performs no action on the other existing properties.
* If the resource exists with properties that have multiple values, for example multi-value attributes or tags, the values provided in the input file are updated and the rest of the existing values are deleted.
* If the resource does not exist, it is created.

## Identifiers

Identifiers ensure the imported resource is uniquely identified. You must identify each resource by exactly one of the following:

* `id`: the universally unique identifier (UUID) of the resource.
* `name`: the community name, the domain and community names or the asset, domain and community names.
* `externalSystemId` and `externalEntityId`: the IDs of the external system containing the resource ad the external resource.

  <div data-gb-custom-block data-tag="hint" data-style="danger" class="hint hint-danger"><p>The long versions of these identifiers, <code>**external**SystemId</code> and <code>**external**EntityId</code>, replace the short versions <code>**ext**SystemId</code> and <code>**ext**EntityId</code>, which are deprecated.</p></div>

Identifiers are mandatory properties in the JSON import commands and in the CSV and Excel templates.

{% hint style="success" %}
Keep the identifiers consistent to avoid possible performance drawbacks. It is possible but not recommended to use different identifiers for the same resource in the same input, for example, once name and once ID.
{% endhint %}

The identifiers from all of the commands of the import process, including the nested identifiers, are used in the identifier resolving stage of the import to:

* Check if the resources exists.
* Get the UUIDs of the resources.

### Command merging

During the import process, multiple subsequent commands with the same identifier are merged and executed as a single import command. This means that an imported asset has attributes and relations from all merged commands.

{% hint style="warning" %}
Only commands that immediately follow each other can be merged, otherwise the last command in the file can override the results of the previous commands with the same identifier.
{% endhint %}

{% hint style="info" %}
For consistent results, use one import command per unique identifier.
{% endhint %}

## Space handling

The Import API does not remove any leading, trailing spaces, or zero-width Unicode characters from the name, description, or attribute values. When importing a relation, for example, specify the referenced asset name with all existing spaces.

The only exception to this rule is parsing attributes with multiple values, where spaces between values are removed. For example, the attribute string `Value A, Value B, Value C` produces the attribute values `Value A`, `Value B`, and `Value C`.


# Importing communities

## Command structure

```json
[
  {
    "resourceType": "Community",
    "identifier": {
      "name": "Technical Community"
    },
    "description": "The Technical Community is organization gathering all technical domains of our company.",
    "name": "New Technical Community",
    "parent": {
      "name": "Parent of All Communities"
    },
    "responsibilities": {
      "00000000-0000-0000-0000-000000005018": [
        {
          "user": {
            "id": "00000000-0000-0000-0000-000000900001"
          }
        }
      ],
      "Business Steward": [
        {
          "userGroup": {
            "id": "00000000-0000-0000-0000-000001000002"
          }
        }
      ]
    }
  }
]
```

## Identifier

You can use any of the following fields as the identifier for a community but only one at a time:

* `id`
* `name`
* `externalSystemId` and `externalEntityId`

### Identifier structure

```json
{
  "id": "12345678-1234-1234-1234-123456788765"
}
```

```json
{
  "name": "Sample Community Name"
}
```

```json
{
  "externalSystemId": "EXT_SYSTEM",
  "externalEntityId": "Community_1234"
}
```

## Optional fields

| Field name                            | Field type                                              | Remarks                                                            |
| ------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------------------ |
| description                           | String                                                  | Sets the community description.                                    |
| name                                  | String                                                  | Sets the community name. Should only be used for updates.          |
| parent                                | The identifier of a community.                          | Sets the parent community for the community.                       |
| [responsibilities](#responsibilities) | The resource role and one or more users or user groups. | Creates or replaces responsibilities for the associated community. |

## Expected behavior

If a community with the name *Technical Community* does not exist, the import API performs an `insert` operation. It creates a community with the specified name and description. The parent community is retrieved and set as parent for the newly created community. If the parent community does not exist, the import results in an error.

{% hint style="info" %}
The community name is changed to *New Technical Community* because of the implicit `SET` operation.

If a community named *Technical Community* already exists, an `update` operation is performed. The description and parent community are updated based on the provided input.
{% endhint %}

The Import API does not support importing nested communities in a single request. Parent communities of imported communities must exist in Collibra for the imported communities to be created successfully. The following example is not supported: to import all three communities, you must send three requests, each with just one community, in the order of dependency, starting from root to the children.

```json
[
  {
    "name": "Technical Community 1",
    "resourceType": "Community",
    "identifier": {
      "externalEntityId": "externalEntity1",
      "externalSystemId": "externalSystem1"
    },
    "parent": {
      "name": "Parent of All Communities"
    }
  },
  {
    "name": "Technical Community 2",
    "resourceType": "Community",
    "identifier": {
      "externalEntityId": "externalEntity2",
      "externalSystemId": "externalSystem2"
    },
    "parent": {
      "name": "Technical Community 1"
    }
  },
  {
    "name": "Technical Community 3",
    "resourceType": "Community",
    "identifier": {
      "externalEntityId": "externalEntity3",
      "externalSystemId": "externalSystem3"
    },
    "parent": {
      "name": "Technical Community 2"
    }
  }
]
```

{% hint style="info" %}
Although not guaranteed, in some situations, the import may still be able to handle nested communities in a single request. To ensure consistency, you should avoid such requests.
{% endhint %}

## Add operation

If the community needs to be created, the following fields have to be provided in order to import successfully:

* `name`

## Responsibilities

You define a responsibility by specifying a resource role, identified by name or ID, and assigning to it one or more users or user groups, identified by ID:

```json
{
  "00000000-0000-0000-0000-000000005018": [
    {
      "user": {
        "id": "00000000-0000-0000-0000-000000900001"
      }
    }
  ],
  "Business Steward": [
    {
      "userGroup": {
        "id": "00000000-0000-0000-0000-000001000002"
      }
    }
  ]
}
```

{% hint style="info" %}
The resource roles, users and user groups that define the imported responsibilities must already exist in Collibra.
{% endhint %}

You must specify each role only once in the list of responsibilities.

You can assign multiple users and multiple user groups to the same role:

```json
"responsibilities": {
  "Chief Data Officer": [
    {
      "user": {
        "id": "00000000-0000-0000-0000-000000900001"
      }
    },
    {
      "user": {
        "id": "00000000-0000-0000-0000-000000900002"
      }
    },
    {
      "userGroup": {
        "id": "00000000-0000-0000-0000-000001000002"
      }
    }
  ]
}
```

The Import API performs a query for the responsibilities in Collibra and:

* If the same responsibilities exist, the Import API performs no action.
* If responsibilities other than the ones provided in the input exist, they remain unchanged.
* If a responsibility exists with the same role but different assignees, the Import API deletes the existing responsibility and replaces it with the one provided in the input.
* If the responsibilities do not exist, the Import API creates them.


# Importing domains

## Command structure

```json
[
  {
    "resourceType": "Domain",
    "identifier": {
      "name": "Technical Domain 1",
      "community": {
        "name": "Technical Community"
      }
    },
    "community": {
      "name": "Technical Community 2"
    },
    "description": "The Technical Domain is container for all technical assets of category 1.",
    "type": {
      "name": "Data Asset Domain"
    },
    "name": "Technical Domain 2",
    "responsibilities": {
      "00000000-0000-0000-0000-000000005018": [
        {
          "user": {
            "id": "00000000-0000-0000-0000-000000900001"
          }
        }
      ],
      "Business Steward": [
        {
          "userGroup": {
            "id": "00000000-0000-0000-0000-000001000002"
          }
        }
      ]
    }
  }
]
```

## Identifier

You can use any of the following fields as the identifier for a domain but only one at a time:

* `id`
* `name` and `community` identified by `id` or by `name`
* `externalSystemId` and `externalEntityId`

{% hint style="info" %}

* The `community` field has the same structure and requirements as the community identifier.
* Code snippets in this section may show redundant data to demonstrate the fields accepted by the import API.
  {% endhint %}

### Identifier structure

```json
{
  "id": "12345678-1234-1234-1234-123456788765"
}
```

```json
{
  "name": "Sample Domain Name",
  "community": {
    "name": "Sample Community Name"
  }
}
```

```json
{
  "externalSystemId": "EXT_SYSTEM",
  "externalEntityId": "Domain_1234"
}
```

## Optional fields

| Field name                            | Field type                                              | Remarks                                                             |
| ------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------------------- |
| description                           | String                                                  | Sets the domain description.                                        |
| type                                  | `id`, `name`, or `publicId`                             | Sets the domain type.                                               |
| community                             | The identifier of a community.                          | Moves the domain to the community. Should only be used for updates. |
| name                                  | String                                                  | Sets the domain name. Should only be used for updates.              |
| [responsibilities](#responsibilities) | The resource role and one or more users or user groups. | Creates or replaces responsibilities for the associated community.  |

## Expected behavior

If a domain with the name *Technical Domain 1* does not exist in the *Technical Community* community, the Import API performs an `insert` operation. It creates a domain with the specified name, description and of the specified type. The domain type is also set according to the specification.

{% hint style="info" %}
The domain name is changed to *Technical Domain 2* and the domain is moved to the *New Technical Community 2* because of the implicit `SET` operation. If the target community does not exist, the import results in an error.

If a domain named *Technical Domain 1* already exists, an `update` operation is performed. The community, description and domain type are updated based on the provided input.
{% endhint %}

## Add operation

If the domain needs to be created, the following fields have to be provided in order to import successfully:

* `name`
* `type`
* `community`

## Responsibilities

You define a responsibility by specifying a resource role, identified by name or ID, and assigning to it one or more users or user groups, identified by ID:

```json
{
  "00000000-0000-0000-0000-000000005018": [
    {
      "user": {
        "id": "00000000-0000-0000-0000-000000900001"
      }
    }
  ],
  "Business Steward": [
    {
      "userGroup": {
        "id": "00000000-0000-0000-0000-000001000002"
      }
    }
  ]
}
```

{% hint style="info" %}
The resource roles, users and user groups that define the imported responsibilities must already exist in Collibra.
{% endhint %}

You must specify each role only once in the list of responsibilities.

You can assign multiple users and multiple user groups to the same role:

```json
"responsibilities": {
  "Chief Data Officer": [
    {
      "user": {
        "id": "00000000-0000-0000-0000-000000900001"
      }
    },
    {
      "user": {
        "id": "00000000-0000-0000-0000-000000900002"
      }
    },
    {
      "userGroup": {
        "id": "00000000-0000-0000-0000-000001000002"
      }
    }
  ]
}
```

The Import API performs a query for the responsibilities in Collibra and:

* If the same responsibilities exist, the Import API performs no action.
* If responsibilities other than the ones provided in the input exist, they remain unchanged.
* If a responsibility exists with the same role but different assignees, the Import API deletes the existing responsibility and replaces it with the one provided in the input.
* If the responsibilities do not exist, the Import API creates them.


# Importing assets

## Command structure

```json
[
  {
    "resourceType": "Asset",
    "identifier": {
      "name": "Asset 1",
      "domain": {
        "name": "Business Data Domain 1",
        "community": {
          "name": "Data Community"
        }
      }
    },
    "domain": {
      "id": "43215678-1234-1234-1234-123456788765"
    },
    "name": "New Asset 1",
    "displayName": "A1",
    "type": {
      "name": "Column"
    },
    "attributes": {
      "Original Column Name": [
        {
          "value": "XXX_COLUMN_1"
        }
      ],
      "00000000-0000-0000-0001-000500000011": [
        {
          "value": "True"
        }
      ]
    },
    "relations": {
      "00000000-0000-0000-0000-000000007062:SOURCE": [
        {
          "name": "Asset 2",
          "domain": {
            "name": "Data Asset Domain 1",
            "community": {
              "name": "Data Community"
            }
          }
        }
      ],
      "00000000-0000-0000-0000-000000007038:SOURCE": [
        {
          "name": "Table representation Asset",
          "domain": {
            "name": "Business Asset Domain 2",
            "community": {
              "name": "Business Community"
            }
          }
        }
      ]
    },
    "status": {
      "name": "Accepted"
    },
    "tags": [
      "sample",
      "technical",
      "crucial"
    ],
    "responsibilities": {
      "00000000-0000-0000-0000-000000005018": [
        {
          "user": {
            "id": "00000000-0000-0000-0000-000000900001"
          }
        }
      ],
      "Business Steward": [
        {
          "userGroup": {
            "id": "00000000-0000-0000-0000-000001000002"
          }
        }
      ]
    }
  }
]
```

## Identifier

You can use any of the following fields as the identifier for an asset but only one at a time:

* `id`
* `name` and `domain` identified by `id`
* `name` and `domain` identified by `name` and by `community` identified by `id` or by `name`
* `externalSystemId` and `externalEntityId`

### Identifier structure

```json
{
  "id": "12345678-1234-1234-1234-123456788765"
}
```

```json
{
  "name": "Sample Asset Name",
  "domain": {
    "name": "Sample Domain Name",
    "community": {
      "name": "Sample Community Name"
    }
  }
}
```

```json
{
  "externalSystemId": "EXT_SYSTEM",
  "externalEntityId": "Asset_1234"
}
```

{% hint style="info" %}

* The `community` and `domain` fields have the same structure and requirements as the community and domain identifiers.
* Code snippets in this section may show redundant data to demonstrate the fields accepted by the import API.
  {% endhint %}

## Optional fields

| Field name                                     | Field type                                                                          | Remarks                                                                                                                                                                                                                                                                                         |
| ---------------------------------------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| type                                           | `id`, `name`, or `publicId`                                                         | Updates the asset type.                                                                                                                                                                                                                                                                         |
| [attributes](#importing-attributes)            | The attribute type and the value or an array of values.                             | Sets or updates the asset attributes.                                                                                                                                                                                                                                                           |
| domain                                         | The identifier of a domain.                                                         | Moves the asset to the domain. Should only be used for updates.                                                                                                                                                                                                                                 |
| name                                           | String                                                                              | <p>Updates the asset full name. Should only be used for updates.</p><div data-gb-custom-block data-tag="hint" data-style="warning" class="hint hint-warning"><p>The full name must be unique per domain. For more details, see <a href="/pages/4MyZKzInWmeXCErn8RLU">Asset names</a>.</p></div> |
| displayName                                    | String                                                                              | Sets or updates the asset display name. One domain may contain multiple assets with the same display name. If not specified, the display name will be the same as the `name` field                                                                                                              |
| [relations](#importing-relations)              | The relation type, the relation direction, and the identifier of the related asset. | Sets the final list of asset relations for each provided relation type and direction. With the default `relationsAction=REPLACE`, existing relations for the imported asset that are not listed are removed.                                                                                    |
| [responsibilities](#importing-responsibilitie) | The resource role and one or more users or user groups.                             | Creates or replaces responsibilities for the associated community.                                                                                                                                                                                                                              |
| status                                         | `id` or `name`                                                                      | Sets or updates the asset status.                                                                                                                                                                                                                                                               |
| [tags](#importing-tags)                        | A list of `string` values.                                                          | Sets or deletes the asset tags. The operation does not add or update a list of tags.                                                                                                                                                                                                            |

## Expected behavior

The behavior is similar to the import of [communities](/api/guides/import-api/import-commands/importing-communities) and [domains](/api/guides/import-api/import-commands/importing-domains).

## Add operation

If the asset needs to be created, the following fields must be provided in order to import successfully:

* `name`
* `type`
* `domain`

## Importing relations

You define a relation by specifying the relation type, the relation direction, and the identifier of the related asset:

```json
"relations": {
  "00000000-0000-0000-0000-000000007030:SOURCE": [
    {
      "name": "Related Asset",
      "domain": {
        "name": "Sample Domain Name",
        "community": {
          "name": "Sample Community Name"
        }
      }
    }
  ]
}
```

Every relation has a source asset and a target asset. The imported asset is the anchor asset. The `:SOURCE` and `:TARGET` suffixes show which end of the relation the listed assets occupy.

| Suffix    | Meaning                                                           |
| --------- | ----------------------------------------------------------------- |
| `:TARGET` | The listed assets are the targets. The input asset is the source. |
| `:SOURCE` | The listed assets are the sources. The input asset is the target. |

{% hint style="info" %}
Use a direction suffix when the source and target asset types are the same. Otherwise, the API cannot determine which end the listed assets occupy. For example, when a **Business Asset** is related to another **Business Asset**, add a suffix such as `PUBLIC_ID:BusinessAssetGroupsBusinessAsset:SOURCE`.
{% endhint %}

You can specify relation types in multiple ways:

* Use the relation type resource ID and the relation direction, such as `00000000-0000-0000-0000-000000007042:TARGET`.
* Use the relation type public ID and the relation direction, such as `PUBLIC_ID:ColumnIsPartOfTable:TARGET`.
* Use the fully qualified relation type name and the relation direction, such as `Column:is part of:contains:Table:TARGET`.

{% hint style="warning" %}
Fully qualified relation type names cannot contain colons.
{% endhint %}

With the default `relationsAction=REPLACE`, the list of related assets is the complete final set for one anchor asset and one relation type. Existing relations in that scope that are not in the list are deleted.

The anchor asset depends on the direction:

* For `:TARGET`, the input asset is the source asset. The source asset is the anchor asset.
* For `:SOURCE`, the input asset is the target asset. The target asset is the anchor asset.

For the anchor asset, the Import API compares the listed assets with the existing relations of that relation type and direction:

* Matching relations are left unchanged.
* Existing relations that are not listed are deleted.
* Listed relations that do not exist are created.

{% hint style="warning" %}
The replace scope is determined only by the anchor asset and the relation type. It is not limited to the relations you created, the command that created them, or the direction suffix you used.
{% endhint %}

Relations of the same type belong to the same replace scope when they resolve to the same anchor asset, even if:

* They point to different related assets.
* They are declared from different assets or commands.
* One is declared with `:SOURCE` and the other with `:TARGET`.

As a result, importing one relation with the `REPLACE` action can delete another relation of the same type if that relation is not in the same list.

{% tabs %}
{% tab title="Example" icon="glasses-round" %}
Suppose `Table_A` already has two `ColumnIsPartOfTable` relations:

* `Table_A → Column_1`
* `Table_A → Column_2`

If you import `ColumnIsPartOfTable:TARGET` on `Table_A` with only `[Column_1]`, the relation `Table_A → Column_2` is deleted because `Column_2` is not in the list.

If you split the two columns across two commands in the same import, each command evaluates the full existing set for `Table_A` independently. The `[Column_1]` command marks `Table_A → Column_2` for deletion. The `[Column_2]` command marks `Table_A → Column_1` for deletion. Both relations are then deleted.
{% endtab %}
{% endtabs %}

To avoid deleting relations unintentionally:

* Declare the full set in one command. List all related assets for the anchor asset and relation type together.
* Use `ADD_OR_IGNORE`. Set `relationsAction` to `ADD_OR_IGNORE` if you only want to create missing relations.

{% hint style="success" %}
To add relations without deleting existing ones, set `relationsAction` to `ADD_OR_IGNORE`.
{% endhint %}

{% hint style="danger" %}
With the `REPLACE` action, an empty list deletes all existing relations of that type for the anchor asset.
{% endhint %}

## Importing attributes

You define attributes by specifying the attribute type and the attribute value or values.

When you provide an attribute, the import API performs a query for the attribute in Collibra.

* If the same attributes exist, the Import API performs no action.
* If the list of attributes is different from the one provided in the input exist, the Import API replaces or creates the attributes that are provided in the input and performs no action on the other existing attributes.
* If multi-value attributes exist, the values provided in the input file are updated and the rest of the existing values are deleted.
* If the attributes do not exist, the Import API creates them.

You can use any of the following methods to specify an attribute type but only one at a time:

* The attribute type ID, for example `"00000000-0000-0000-0000-000000003115"`.
* The attribute type name, for example `"Descriptive Example"`.
* The attribute type public ID, for example `"DescriptiveExample"`.

For each attribute type you can provide a list of attribute values.

For attribute types with one value, the structure is as follows:

```json
{
  "value": "Some value"
}
```

You can also use a shorter syntax:

```json
[
  "Some value"
]
```

{% hint style="info" %}
Most attribute types in Collibra have one value.
{% endhint %}

For attribute types with multiple values, such as **Multiple Selection** attributes, the structure is as follows:

```json
{
  "values": ["Some value 1", "Some value 2"]
}
```

You can also use a shorter syntax:

```json
[
  "Some value 1", "Some value 2"
]
```

To import multiple attributes of the same type, such as **Descriptive Example** attributes for an asset, the `attributes` field structure is as follows:

```json
{
  ...
  "attributes": {
    "Descriptive Example": [
      {
        "value": "This is first descriptive example"
      },
      {
        "value": "This is second descriptive example"
      }
    ]
  }
  ...
}
```

{% hint style="danger" %}
Specifying both a `value` and a `values` field results in an error.
{% endhint %}

## Importing responsibilities

You can enable or disable the ability to import responsibilities at asset level by configuring the **Asset responsibilities support** setting in [Collibra Console](https://productresources.collibra.com/docs/collibra/latest/Default.htm#cshid=DOC0444).

| Setting                        | Description                                                                                                                                                                                                                                                                           |
| ------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Asset responsibilities support | <ul><li><img src="/files/ObT44cvuafuw3fsqOoTE" alt="" data-size="line"> True: Enable importing responsibilities at asset level.</li><li><img src="/files/uV9KxnahAvqHeg0OoENT" alt="" data-size="line"> False (default): Disable importing responsibilities at asset level.</li></ul> |

{% hint style="info" %}
When the setting is disabled and responsibilities are defined at asset level, you get an error.
{% endhint %}

{% hint style="danger" %}
Setting specific responsibilities on a large number of assets will affect the performance and stability of the system.
{% endhint %}

{% hint style="success" %}
Define responsibilities on communities or domains so that the assets can automatically inherit those responsibilities.
{% endhint %}

You define a responsibility by specifying a resource role, identified by name or ID, and assigning to it one or more users or user groups, identified by ID:

```json
{
  "00000000-0000-0000-0000-000000005018": [
    {
      "user": {
        "id": "00000000-0000-0000-0000-000000900001"
      }
    }
  ],
  "Business Steward": [
    {
      "userGroup": {
        "id": "00000000-0000-0000-0000-000001000002"
      }
    }
  ]
}
```

{% hint style="info" %}
The resource roles, users and user groups that define the imported responsibilities must already exist in Collibra.
{% endhint %}

You must specify each role only once in the list of responsibilities.

You can assign multiple users and multiple user groups to the same role:

```json
"responsibilities": {
  "Chief Data Officer": [
    {
      "user": {
        "id": "00000000-0000-0000-0000-000000900001"
      }
    },
    {
      "user": {
        "id": "00000000-0000-0000-0000-000000900002"
      }
    },
    {
      "userGroup": {
        "id": "00000000-0000-0000-0000-000001000002"
      }
    }
  ]
}
```

The Import API performs a query for the responsibilities in Collibra and:

* If the same responsibilities exist, the Import API performs no action.
* If responsibilities other than the ones provided in the input exist, they remain unchanged.
* If a responsibility exists with the same role but different assignees, the Import API deletes the existing responsibility and replaces it with the one provided in the input.
* If the responsibilities do not exist, the Import API creates them.

## Importing tags

When you provide tags in the input command, they replace any tags that the asset already has. After processing the import command for an asset, only the tags provided in the input are assigned. If you provide an empty tag list in the input, all tags are deleted from the asset.


# Asset names

In Collibra Data Governance Center version 5.4 or newer, including Collibra Platform, there is a significant API change impacting asset names. Starting with this version, assets have names and unique full names, respectively referred to as `displayName` and `name` in the API . In older versions, you only had `name` to refer to the asset name.

| Action via API | Behavior                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| -------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Add asset      | <p>When you add an asset via an API call, you must enter a <code>name</code> and you can specify a different <code>displayName</code>:</p><ul><li><code>name</code>: This is the mandatory unique full name of the asset and is represented by <strong>Full name</strong> in the UI.</li><li><code>displayName</code>: This value is optional and corresponds to the asset <strong>Name</strong> in the UI.</li></ul><div data-gb-custom-block data-tag="hint" data-style="info" class="hint hint-info"><p>If you don't specify a <code>displayName</code> ,it automatically defaults to the value of <code>name</code>.</p></div> |
| Update asset   | <p>You can use <code>name</code> to update the asset <strong>Full name</strong> and <code>displayName</code>, to update the asset <strong>Name</strong>.</p><div data-gb-custom-block data-tag="hint" data-style="info" class="hint hint-info"><p>During an update operation, the <code>displayName</code> does not change if you only update the <code>name</code>.</p></div>                                                                                                                                                                                                                                                     |


# Importing mappings

## Command structure

```json
[
  {
    "resourceType": "Mapping",
    "identifier": {
      "externalSystemId": "EXT_SYSTEM",
      "externalEntityId": "EXT_TABLE > EXT_COLUMN_ABC"
    },
    "asset": {
      "name": "Technical Asset 1",
      "domain": {
        "name": "Technical Domain 1",
        "community": {
          "name": "Technical Community"
        }
      }
    },
    "externalEntityUrl": "https://www.example.com",
    "lastSyncDate": "1509631247",
    "syncAction": "ADD",
    "description": "This is a sample mapping"
  }
]
```

## Identifier

The identifier for a mapping may contain any of the following fields:

* `id`
* `externalSystemId` and `externalEntityId` or `dgcId` or `asset` or `domain` or `community`

{% hint style="info" %}

* The `asset`, `community` and `domain` fields have the same structure and requirements as the asset, community and domain identifiers.
  {% endhint %}

### Identifier structure

```json
{
  "id": "12345678-1234-1234-1234-123456788765"
}
```

```json
{
  "externalSystemId": "EXT_SYSTEM",
  "externalEntityId": "Domain_1234"
}
```

```json
{
  "dgcId": "43215678-1234-1234-1234-123456788765"
}
```

```json
{
  "community": {
    "name": "Sample Community Name"
  }
}
```

## Optional fields

| Field name        | Field type                       | Remarks                                                                                                                                                                                                                                                                    |
| ----------------- | -------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| asset             | Same as identifier for asset     | Should only be used for updates.                                                                                                                                                                                                                                           |
| community         | Same as identifier for community | Should only be used for updates.                                                                                                                                                                                                                                           |
| description       | String                           |                                                                                                                                                                                                                                                                            |
| dgcId             | String (UUID)                    | Should only be used for updates.                                                                                                                                                                                                                                           |
| domain            | Same as identifier for domain    | Should only be used for updates.                                                                                                                                                                                                                                           |
| externalEntityUrl | String                           |                                                                                                                                                                                                                                                                            |
| externalEntityId  | String                           | Should only be used for updates.                                                                                                                                                                                                                                           |
| externalSystemId  | String                           | Should only be used for updates.                                                                                                                                                                                                                                           |
| lastSyncDate      | Long                             | The default value is the start date of the import/synchronization process.                                                                                                                                                                                                 |
| syncAction        | `ADD` or `UPDATE` or `REMOVE`    | <p>The default values are:</p><ul><li>ADD for new mappings.</li><li>UPDATE for updated mappings</li></ul><div data-gb-custom-block data-tag="hint" data-style="info" class="hint hint-info"><p>This field is deprecated and will be dropped in a future release.</p></div> |

## Expected behavior

The behavior is similar to the commands for communities and domains.

## Add operation

If the mapping needs to be created, the following fields have to be provided in order to import successfully:

* `externalSystemId`
* `externalEntityId`

## A note on mappings

When you manually delete a resource that is referenced by a mapping, the mapping is not also deleted. Only the reference to the deleted resource in the mapping is removed. This helps external systems detect that Collibra used to store resources that are now deleted. The external systems can then decide to take appropriate action.


# External mappings

You can use external mappings to link external resources with Collibra resources. The external mapping is identified by a pair of properties, which you can choose freely as long as they uniquely identify a resource in the external system:

* **externalSystemId** with a maximum of 36 characters.
* **externalEntityId** with a maximum of 255 characters.

A good choice for **externalSystemId** is the name or identifier of the external system. Therefore, this property is typically common to a large number of mappings. Often, a specific import or synchronization process will only use a single **externalSystemId**, though it’s not a general rule as we can possibly have imports that ingest data originating from several external systems.

The **externalEntityId** is used to uniquely identify a resource in that external system identified by **externalSystemId**. If possible, use the same identifier that the external system uses to identify the resource as **externalEntityId**. However, there are cases where the resource you want to create does not have a specific identifier in the external system. In such a scenario, connect multiple identifiers from that external system to build a new identifier that is unique for that resource. One use case is using a complex relation in Collibra to identify a foreign key in a relational database. Foreign keys don’t necessarily have unique IDs in the database but you could concatenate the schema name, table name, column name and foreign key ID, for instance, to create a unique identifier.

{% hint style="success" %}
You can hash the **externalEntityId** value before inserting it in the import command if there is a risk that the resulting identifier exceeds the 255 characters limit. In practice, this ID is usually only used as input for import scripts, so it’s usually acceptable that its generation process be destructive. Note you cannot use this technique if the ID has to be used for any other purpose than to identify the Collibra resource.
{% endhint %}

Once you have defined a way to identify an external resource, you can associate it with a Collibra resource. An association with an asset or a complex relation is the most common use case, but you can also create an association with a domain or a community.

{% hint style="info" %}
When it comes to the command structure, you can identify directly [assets](/api/guides/import-api/import-commands/importing-assets) and [complex relations](/api/guides/import-api/import-commands/importing-complex-relations) by external mappings in their respective commands. The **externalSystemId** and **externalEntityId** pair is a valid way of specifying the identifier section for those resources. When you use this identification, an external mapping is created automatically if none is present yet, along with the associated resource. For that reason, explicit mapping commands as presented in this section are actually rarely used as a direct specification in the resource identifier is shorter and thus more efficient.
{% endhint %}

{% hint style="success" %}
The only way to uniquely identify a [complex relation](/api/guides/import-api/import-commands/importing-complex-relations) in an import script is by using the complex relation ID or an external mapping. As the complex relation IDs are rarely known when building an import script, it’s actually the second option that is the more frequent.
{% endhint %}


# Importing complex relations

## Command structure

```json
[
  {
    "resourceType": "Complex Relation",
    "identifier": {
      "externalSystemId": "EXT_SYSTEM",
      "externalEntityId": "Asset_1234"
    },
    "complexRelationType": {
      "name": "Field Mapping"
    },
    "attributes": {
      "Original Column Name": [
        {
          "value": "XXX_COLUMN_1"
        }
      ],
      "00000000-0000-0000-0001-000500000011": [
        {
          "value": "True"
        }
      ]
    },
    "relations": {
      "00000000-0000-0000-0000-000000007088:TARGET": [
        {
          "name": "Asset 2",
          "domain": {
            "name": "Data Asset Domain 1",
            "community": {
              "name": "Data Community"
            }
          }
        }
      ],
      "00000000-0000-0000-0000-000000007089:TARGET": [
        {
          "name": "Table representation Asset",
          "domain": {
            "name": "Business Asset Domain 2",
            "community": {
              "name": "Business Community"
            }
          }
        }
      ]
    }
  }
]
```

## Identifier

The identifier for a complex relation may contain any of the following fields:

* `id`
* `externalSystemId` and `externalEntityId`
* `RELATION_TYPE_ID:RELATION_DIRECTION`

  <div data-gb-custom-block data-tag="hint" data-style="warning" class="hint hint-warning"><p>The list of relations, also known as complex relation legs, does not guarantee the unique identification of a complex relation. This method is prone to error in cases where there are two complex relations in Collibra:</p><ul><li>One complex relation with legs A, B and C.</li><li>Another complex relation with legs A, B, C and D.</li></ul><p>In this example, identifying a complex relation by the legs A, B and C results in an error because the API cannot determine which of the two complex relations it should process. In cases like this, use one of the other identification methods.</p></div>

{% hint style="info" %}
Code snippets in this section may show redundant data to demonstrate the fields accepted by the import API.
{% endhint %}

### Identifier structure

```json
{
  "id": "12345678-1234-1234-1234-123456788765"
}
```

```json
{
  "relations": {
    "00000000-0000-0000-0000-000000007088:TARGET": [
      {
        "name": "Data Element Source Asset 1",
        "domain": {
          "name": "Data Domain 1",
          "community": {
            "name": "The Community"
          }
        }
      },
      {
        "name": "Data Element Source Asset 2",
        "domain": {
          "name": "Data Domain 1",
          "community": {
            "name": "The Community"
          }
        }
      }
    ],
    "00000000-0000-0000-0000-000000007089:TARGET": [
      {
        "name": "Data Element Target Asset 1",
        "domain": {
          "name": "Data Domain 2",
          "community": {
            "name": "The Community"
          }
        }
      },
      {
        "name": "Data Element Target Asset 2",
        "domain": {
          "name": "Data Domain 2",
          "community": {
            "name": "The Community"
          }
        }
      }
    ],
    "00000000-0000-0000-0000-000000007090:TARGET": [
      {
        "name": "Mapping Specs 1",
        "domain": {
          "name": "Mapping Specs Domain",
          "community": {
            "name": "The Community"
          }
        }
      }
    ]
  }
}
```

```json
{
  "externalSystemId": "EXT_SYSTEM",
  "externalEntityId": "Asset_1234"
}
```

## Optional fields

| Field name          | Field type                                   | Remarks                                                                                                                      |
| ------------------- | -------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- |
| attributes          | `ATTRIBUTE_TYPE_ID` or `ATTRIBUTE_TYPE_NAME` | Sets or updates the complex relation attributes.                                                                             |
| complexRelationType | `id` or `name`                               | Sets the complex relation type. Should only be used for `create` operations. It is silently ignored for `update` operations. |
| relations           | `RELATION_TYPE_ID:RELATION_DIRECTION`        | Sets or updates the relations of the complex relation based on the relation type id and the direction.                       |

## Expected behavior

The behavior is similar to the commands for communities and domains.

## Add operation

If the complex relation needs to be created, the following fields have to be provided in order to import successfully:

* `relations`


# Synchronization

Use the synchronization process to keep data generated by external sources up to date, for example:

* Daily synchronization of an entire or part of an external system.
* Synchronization of given domain.
* Synchronization of any set of resources that can be processed together as a group.


# About the synchronization component

The synchronization component extends the base import component to support import cycles that can be compared to each other in order to delete or mark assets that are no longer present in the last cycle.

A typical use case for the synchronization component is to keep the data stored in an external system in sync with assets in Collibra or to keep metadata that describe an external system up-to-date. More generally, this component allows to synchronize any set of resources that can be processed together as a group and to keep them up-to-date. As time goes by, more and more data is added, modified or deleted from the external system. Detecting removed data is usually a challenge but the synchronization component solves this by comparing the current synchronization with the previous one. What is no longer in the current synchronization cycle is considered to be no longer present in the external system. During the finalization step of the cycle, you have the choice to delete these missing assets or mark them with a specific status.

On top of this, the synchronization component allows the ingestion of a large amount of data by allowing multiple import REST calls to be part of the same cycle. At the end, an explicit **finalize** REST call completes the cycle.

<img src="/files/3W1a4U9RjUWQBFyKET4M" alt="" width="75%">

A synchronization is identified by a [synchronization ID](/api/guides/import-api/synchronization/synchronization-id). All REST commands hat have the same synchronization ID form a single synchronization. Commands with different synchronization IDs are independent from each other. This allows you to have multiple synchronizations running in parallel without interfering with each other.

In general, a synchronization cycle is composed of a series of [import](/api/guides/import-api/import-commands) steps followed by a [finalization](/api/guides/import-api/synchronization/synchronization-finalization-request-format) step that concludes the cycle. Each import step adds or updates resources the same way as a regular import would do, but using a different REST endpoint. That dedicated endpoint also stores additional metadata behind-the-scenes to allow the synchronization component to track changes from cycle to cycle. To complete the cycle, the finalization step compares the assets that were added or updated in this cycle with those from the previous cycle.

When a cycle starts, all assets that were part of the previous cycle are considered inactive. During the cycle, all assets that are updated become active. At the end of the cycle, during the finalization step, all assets that are still inactive are either deleted or [have their status changed](/api/guides/import-api/synchronization/changing-and-restoring-the-status-of-externally-missing-resources), depending on your choice. When you opt for a status change, the new status marks assets as deleted through their status instead of actually deleting them. This has the advantage of not losing any information related to those assets and also being able to restore them if the asset absence was transient, for example due to a technical issue, temporary loss of permissions and so on. When a synchronization cycle updates an asset that was marked as deleted through its status, that asset is restored by changing automatically its status back to the default one, which is the first in the list of statuses supported by that asset type.

It is strongly advised to always check the result of a set of import commands before submitting the finalization command. A failed import in the cycle may lead to assets being deleted by mistake during the finalization step as some operations have been canceled. Currently, the finalization step doesn’t check for failed import commands in the same cycle as it cannot tell whether the failed import was already fixed manually or through a new import submission.

The cycles are actually implicit and do not have any specific identifiers. So an import that is submitted with a specific synchronization ID will be considered belonging to the current cycle until you submit a finalization step. From that point, all incoming commands with the same synchronization ID are part of the next cycle. For the moment, the synchronization component doesn’t allow any new cycle to start if a previous one is ongoing. Once you submit a finalization, all further requests that refer to the same synchronization ID are automatically rejected until that finalization step is completed.

## Synchronization component remarks

* The synchronization import steps have dedicated REST endpoints that are different from those used by the regular import component.
* A specific REST endpoint is available to submit a full cycle in one single REST call. You should use that endpoint only for small payloads under 50,000 resources.
* Each synchronization stores some metadata in the database to keep track of the progress and to compare cycles. If you consider that a synchronization is no longer needed, you can delete that data and reclaim the database space using the delete REST command.
* Starting with Collibra version 2023.06, marking assets as deleted using their status available for both full and batch synchronization opertaions.
* There is currently nothing that prevents two or more different synchronizations to update the same assets. However, this could lead to unpredictable behavior when facing asset deletion or parallel execution of synchronization. It therefore advised not to share assets between different synchronizations.


# Synchronization endpoints

The synchronization REST API exposes the following endpoints.

| Method                                                                  | Description                                                                                  |
| ----------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- |
| POST `/import/synchronize/<synchronization_id>/batch/<file_format>-job` | Start or continue a synchronization cycle by providing a list of import commands to execute. |
| POST `/import/synchronize/<synchronization_id>/finalize/job`            | Terminate a synchronization cycle.                                                           |
| POST `/import/synchronize/<synchronization_id>/<file_format>-job`       | Execute a full synchronization cycle in one single REST call.                                |

{% hint style="info" %}

* `<synchronization_id>` is the [ID](/api/guides/import-api/synchronization/synchronization-id) assigned to your synchronization
* `<file_format>` is either [`json`](/api/guides/import-api/importing-json-files), [`csv`](/api/guides/import-api/importing-csv-and-excel-files/importing-csv-files), or [`excel`](/api/guides/import-api/importing-csv-and-excel-files/importing-excel-files) depending on the used import file format.
  {% endhint %}


# Synchronization ID

You must specify a synchronization ID for all the synchronization API calls. The ID is used to uniquely identify the external source and is assigned to all the resources imported during a synchronization process. The Synchronization API tracking system relies on the synchronization ID to efficiently identify resources that need to be removed.

{% hint style="success" %}
Although there is no predefined format for the synchronization ID, it should clearly identify the external source.
{% endhint %}


# Synchronization of existing resources

To start tracking already existing resources in Collibra, you have to include all the components of the system or resource for the first synchronization. This will allow the synchronization API to track the resources during future synchronizations.

{% hint style="info" %}
No resources are removed on an initial synchronization as there is no previous state for any resource identified by the new [synchronization ID](/api/guides/import-api/synchronization/synchronization-id).
{% endhint %}


# Batch synchronization

For synchronizing less than 50 000 resources, you can use `/import/synchronize/<synchronization_id>/<file_format>-job` to complete the entire synchronization process in one call.

{% hint style="info" %}
This call performs both the import and finalization steps in a single job. Resources that no longer exist in the external system are removed from Collibra.
{% endhint %}

To synchronize large amounts of data:

{% stepper %}
{% step %}
Divide the input into multiple files which do not exceed the 50 000 resources recommended limit.
{% endstep %}

{% step %}
Start the synchronization process for each batch by calling `/import/synchronize/<synchronization_id>/batch/<file_format>-job`.
{% endstep %}

{% step %}
[Finalize](/api/guides/import-api/synchronization/synchronization-finalization-request-format) the synchronization by calling `/import/synchronize/<synchronization_id>/finalize/job`.

{% hint style="success" %}
The optional `finalizationStrategy` parameter determines the behavior regarding resources that no longer exist in the external system. You can set the parameter to `REMOVE_RESOURCES` to delete externally missing resources, to `CHANGE_STATUS` to update their status in Collibra or to `IGNORE` to leave them as they are. The default behavior of the Import API is to delete externally missing resources.

When you select `CHANGE_STATUS`, you must also specify the status to use with the `missingAssetStatusId`.
{% endhint %}
{% endstep %}
{% endstepper %}

{% hint style="info" %}
Provide the same [synchronization ID](/api/guides/import-api/synchronization/synchronization-id) throughout the batch synchronization process.
{% endhint %}


# Changing and restoring the status of externally missing resources

When doing a synchronization, the `finalizationStrategy` parameter determines how to manage the assets that no longer exist in the external system.

The `finalizationStrategy` parameter accepts these possible values:

* `REMOVE_RESOURCES` is the default value and deletes the missing resources in Collibra.
* `CHANGE_STATUS` changes the status of the missing resources in Collibra to the corresponding ID from the `missingAssetStatusId` parameter. When you set the `finalizationStrategy` to `CHANGE_STATUS`, you must also provide a value for `missingAssetStatusId`.
* `IGNORE` ignores missing assets and leaves them as is.

## Change the status

To change the status of an externally missing resource instead of deleting it, set the following parameters for a full synchronization or for the finalization step of a batch synchronization:

* `finalizationStrategy=CHANGE_STATUS`.
* `missingAssetStatusId=“<desired_status_id>“`.

<i class="fa-chevrons-right">:chevrons-right:</i> When the finalization completes, the resources that are missing from the external system have a new status in Collibra matching the one provided in `missingAssetStatusId`.

## Restore the status

To restore the status of a resource that was previously missing but reappeared in the external system, set the following parameters for a full synchronization or for the finalization step of a batch synchronization::

* `finalizationStrategy=CHANGE_STATUS`.
* `missingAssetStatusId=“<desired_status_id>“`.

<i class="fa-chevrons-right">:chevrons-right:</i> The resources that are restored no longer have a status matching the one provided in `missingAssetStatusId` and return to the default status for that asset type in Collibra.


# Synchronization finalization request format

{% hint style="warning" %}
Starting with Collibra version 2022.08, the `finalizationParameters` is deprecated and replaced with `missingAssetStatusId`.
{% endhint %}

The finalization step calls `/import/synchronize/<synchronization_id>/finalize/job` and has `finalizationStrategy` and `finalizationParameters` as optional parameters.

{% hint style="info" %}
When you set the `finalizationStrategy` to [`CHANGE_STATUS`](/api/guides/import-api/synchronization/changing-and-restoring-the-status-of-externally-missing-resources), you must also provide a value for `finalizationParameters`.
{% endhint %}

## Curl

To call the finalization step using curl, add the `finalizationParameters` field as JSON with an **application/json** content type appended to the end, for example:

```bash
curl \
  -X POST \
  -u <your_credentials> \
  -H  'content-type: multipart/form-data' \
  -H  'accept: application/json' \
  https://<your_collibra_platform_url>/rest/2.0/import/synchronize/<synchronization_id>/finalize/job \
  -F 'finalizationStrategy=CHANGE_STATUS' \
  -F 'finalizationParameters={ "STATUS_ID": "00000000-0000-0000-0000-000000005066" };type=application/json'
```

## Postman

1. Create a JSON file with the `finalizationParameters`, for example:

   ```json
   {
       ​"STATUS_ID": "00000000-0000-0000-0000-000000005066"
   }
   ```
2. Change the input type of the `finalizationParameters` to **File** and select the JSON file that you created:

   <img src="/files/6XnlWOI6MmhSHpyExErr" alt="" width="75%">

## Java

To call the finalization step in Java use `dgcClient` to make the REST API calls, for example:

```java
import static com.collibra.dgc.configuration.core.model.ResourceIDConstants.META_STATUS_MISSING_FROM_SOURCE;
import com.collibra.dgc.importer.api.request.SynchronizationFinalizationRequest;
public class SynchronizationFinalizationTest extends AbstractSynchronizationFunctionalTest {
	SynchronizationFinalizationRequest synchronizationFinalizationRequest = SynchronizationFinalizationRequest.builder()
		.synchronizationId(synchronizationId)
		.saveResult(false)
		.finalizationStrategy("CHANGE_STATUS")
		.addFinalizationParameter(
			SynchronizationFinalizationRequest.SynchronizationFinalizationRequestBuilder.CustomFinalizationParameter.STATUS_ID,
			META_STATUS_MISSING_FROM_SOURCE
		)
		.build();
	Job job = dgcClient.importer().synchronizeFinalizationInJob(synchronizationFinalizationRequest);
}
```


# Update discovery

The update discovery feature identifies if the same import command has already been executed during a previous import for a given resource. If so, that resource is skipped in the running import process. This allows only updates to be processed.

{% hint style="info" %}
In case any resource that is being synchronized is modified outside the synchronization process, you must remove the cache used by the update discovery feature by calling `/import/synchronize/<synchronization_id>/evict`.
{% endhint %}


# Synchronization administration

| API call                                                                                                                                                          | Usage                                                                                                                                                  |
| ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ |
| GET `/import/synchronize`                                                                                                                                         | Retrieve a list of [synchronization IDs](/api/guides/import-api/synchronization/synchronization-id) being used.                                        |
| GET `/import/synchronize/exists/<synchronization_id>`                                                                                                             | Check the if the specified synchronization ID is being used.                                                                                           |
| DELETE `/import/synchronize/<synchronization_id>/evict`                                                                                                           | Remove the cache used by the [update discovery](/api/guides/import-api/synchronization/update-discovery) feature for the specified synchronization ID. |
| <i class="fa-chevrons-right">:chevrons-right:</i> The next synchronization will perform all commands.                                                             |                                                                                                                                                        |
| DELETE `/import/synchronize/<synchronization_id>`                                                                                                                 | Remove all the information about the specified synchronization ID. Does not remove any resource.                                                       |
| <i class="fa-chevrons-right">:chevrons-right:</i> A future synchronization of the same resources will be treated as a first run and no resources will be removed. |                                                                                                                                                        |

{% hint style="info" %}
To monitor the status of a synchronization job, use the **Jobs** resource of the REST Core API: `GET /jobs/{jobId}`. The id of the job is returned in the synchronization request response body as the `id` field.
{% endhint %}


# The option to continue on error

The option to continue on error allows you to execute the import even if one or more commands fail. You can turn on or off this option via the `continueOnError` parameter in your API call.

{% hint style="info" %}
Enabling both `continueOnError` and `simulation` in the same request is not supported.
{% endhint %}

## Disabling the option to continue on error

With the option disabled (`false`), the import job runs as one single transaction. If one of the import commands fails, the job is stopped and all previous commands are rolled back. In this case, you must address the failed command before retrying the import. If another command fails, you must repeat the process until all commands are successful.

For large payloads, this single-transaction approach can put a significant strain on the database. This may cause data synchronization delays, impact UI responsiveness, and lead to outdated information in reporting dashboards during the import. Prior to Collibra version 2026.07, this is the default behavior.

## Enabling the option to continue on error

With the option enabled (`true`), the import job uses smaller, incremental transactions. It skips commands that have validation errors and that failed to execute. The import continues until it has processed all commands or until it reaches a predetermined number of failed commands.

This approach optimizes how data is processed and alleviates resource strain on the database. It improves data synchronization speed, UI responsiveness, and provides near real-time updates for reporting. Starting with Collibra version 2026.07, this is the default behavior.

You can see the details of any skipped commands by [listing the import errors](/api/guides/import-api/import-results/listing-import-errors). The threshold for the number of failed commands before an import job stops is initially 100. You can change the **Number of failed commands before stopping import job** import configuration setting in Collibra Console.

When your command contains multiple items, if one item fails the entire command is skipped. For example, if there are multiple relations in one command and one relation is invalid, none of the relations in that command are created.

{% hint style="warning" %}
When you enable the option to continue on error, already executed commands remain committed. However, because failed commands are skipped, you can have partial results being stored in Collibra or inconsistencies in data between Collibra and the external system.
{% endhint %}


# Job results

After submitting an import or synchronization request, you can monitor the status of the job via the **Jobs** resource of the REST Core API: `GET /jobs/{jobId}`. The id of the job is returned in the Import API request response body as the `id` field.

Depending on whether you selected [the option to continue on error](/api/guides/import-api/the-option-to-continue-on-error), the following table explains the returned job state and job result.

| Continue on error  | Job state              | Job result                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  | Description                                                                           |
| ------------------ | ---------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- |
| Disabled (default) | Completed              | Success                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     | All import commands were executed, there were no errors and everything was committed. |
| Error              | Failure                | There was at least one error and nothing was committed.                                                                                                                                                                                                                                                                                                                                                                                                                                                     |                                                                                       |
| Enabled            | Completed              | Success                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     | All import commands were executed, there were no errors and everything was committed. |
| Completed          | Completed\_with\_Error | <p>All import commands were executed, there were some errors and all successful commands were committed.</p><div data-gb-custom-block data-tag="hint" data-style="info" class="hint hint-info"><p>The same state and result are also returned even when all commands have errors and nothing is committed but the number of failed commands is below the <strong>Number of failed commands before stopping import job</strong> set in the import configuration setting in Collibra Console.</p></div>       |                                                                                       |
| Completed          | Aborted                | <p>The import operation was stopped after reaching the <strong>Number of failed commands before stopping import job</strong> set in the import configuration setting in Collibra Console. All successful commands before reaching the threshold were committed.</p><div data-gb-custom-block data-tag="hint" data-style="info" class="hint hint-info"><p>There might be cases where there are no valid commands before reaching the threshold and nothing is committed before the job is stopped.</p></div> |                                                                                       |
| Error              | Failure                | <p>Something went wrong and caused the job to stop before processing all commands or reaching the number of failed commands threshold.</p><div data-gb-custom-block data-tag="hint" data-style="info" class="hint hint-info"><p>Some data may have been committed.</p></div>                                                                                                                                                                                                                                |                                                                                       |

To get information about the number of resources that were created or modified and details about the failed commands, use [the **Import Results** resource](/api/guides/import-api/import-results) of the REST Import API.


# Import results

After an import or synchronization job completes, you can use the **Import Results** resource to get information about the number of resources that were created or modified and details about the failed commands.


# Retrieving the import summary

After an import or synchronization job completes, you can get a summary of the number of created or modified resources and the total number of errors by using the **Import Results** resource: `GET /import/results/{jobId}/summary`. The id of the job is returned in the Import API request response body as the `id` field.

## Parameters

| Parameter        | Parameter type | Description                                          |
| ---------------- | -------------- | ---------------------------------------------------- |
| jobId (required) | String (UUID)  | The universally unique identifier (UUID) of the job. |

## Response example

```json
{
  "resourceTypes": [ 
    {
      "resourceType": "ASSET",
      "counters": {
        "added": 2,
        "removed": 6,
        "updated": 4,
        "failed": 8
      },
      "subcategories": [ 
        {
          "category": {
            "id": "c91833f3-0da1-442e-9abc-c2d00533a213",
            "name": "asset1"
          },
          "counters": {
            "added": 1,
            "removed": 3,
            "updated": 2,
            "failed": 4
          }
        },
        {
          "category": {
            "id": "9a915ebc-b082-4da6-800c-fd1341dd8cf1",
            "name": "asset2"
          },
          "counters": {
            "added": 1,
            "removed": 3,
            "updated": 2,
            "failed": 4
          }
        }
      ]
    },
    {
      "resourceType": "MAPPING",
      "counters": {
        "added": 1,
        "removed": 3,
        "updated": 2,
        "failed": 4
      },
      "subcategories": null
    },
    {
      "resourceType": "DOMAIN",
      "counters": {
        "added": 1,
        "removed": 3,
        "updated": 2,
        "failed": 4
      },
      "subcategories": [
        {
          "category": {
            "id": "c60cfe31-47e5-4be9-815c-a1f28b74a36b",
            "name": "domain"
          },
          "counters": {
            "added": 1,
            "removed": 3,
            "updated": 2,
            "failed": 4
          }
        }
      ]
    }
  ],
  "errorsCount": 16,
  "importJobState": "COMPLETED"
}
```


# Listing import errors

After an import or synchronization job completes, you can get a list of the errors that occurred by using the **Import Results** resource: `GET /import/results/{jobId}/errors`. The id of the job is returned in the Import API request response body as the `id` field.

{% hint style="success" %}
You can see if there are any errors by [retrieving an import summary](/api/guides/import-api/import-results/retrieving-the-import-summary) or by getting the [job state and job result](/api/guides/import-api/job-results) from the **Jobs** resource of the REST Core API: `GET /jobs/{jobId}`.
{% endhint %}

## Parameters

| Parameter        | Parameter type | Description                                                                                                                                                                                          |
| ---------------- | -------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| jobId (required) | String (UUID)  | The universally unique identifier (UUID) of the job.                                                                                                                                                 |
| offset           | Integer        | <p>The first result to retrieve. If not set or set to <code>0</code>, results will be retrieved starting from row <code>0</code>.</p><p>The default value is <code>0</code>.</p>                     |
| limit            | Integer        | <p>The maximum number of results to retrieve. If not set or set to <code>0</code>, the default limit of <code>1000</code> will be used.</p><p>The default value is <code>0</code>.</p>               |
| countLimit       | Integer        | <p>Allows to limit the number of elements that will be counted. <code>-1</code> counts everything and <code>0</code> causes the count to be skipped.</p><p>The default value is <code>-1</code>.</p> |

## Response example

```json
{
  "total": 1000,
  "offset": 10,
  "limit": 100,
  "results": [
    {
      "errorType": "RUNTIME",
      "resourceType": "ASSET",
      "errorMessage": "error message",
      "command": {
        "indices": [
          1,
          2,
          3
        ],
        "identifier": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
      }	
    }
  ]
}
```


# Differences between import and synchronization

This section explains the different strategies that the import and synchronization operations use to handle data and the scenarios in which you can best use them.

## Import

The import operation is idempotent. You can re-import the same data multiple times and the Import API will only make the necessary changes to update the database to the state provided in the input file. This means that importing the same data for the second time will be faster because previous changes will not be applied to the database. However, the Import API will check every attribute and relation of the assets from the input file.

The import operation only updates and creates new assets. It does not delete them.

## Synchronization

The synchronization operation is intended to be used when you want to replicate the state of the external system, for example a physical database schema. Typically you perform this operation on a regular basis. You collect the metadata from the external system, such as database tables and columns and you upload the full schema to Collibra. The Synchronization component will make sure that Collibra data replicates exactly the external system. The difference between import and synchronization is that new assets will be not only added and existing ones updated, but that assets removed from the external system will be removed from Collibra. Another difference is performance: synchronizing the same data for the second time is faster than the simple import because Collibra stores the hash of every synchronized asset and uses it to decide if an asset needs to be updated. This is faster than comparing each attribute and relation individually.

## Usage recommendations

If you need to import data once, use the import operation because the initial import is slightly faster than an initial synchronization and Collibra doesn’t need to store asset hashes in the database.

If you want to update only a subset of your existing assets, use the import operation because a synchronization will delete all the assets not present in the last input.

If you want to replicate the state of an external system on a regular basis and perform both updates and deletes, use the synchronization operation.


# Validation

Each import operation undergoes a validation process as described below.

[Import operation](/api/guides/import-api/import-commands)

↓

Public validation

[Idempotence validation](/api/guides/import-api/validation/idempotence)

[Operation identifier validation](/api/guides/import-api/validation/operation-identifier-validation)

[Operation specific validation](/api/guides/import-api/validation/operation-specific-validation)

↓

Resolve identifiers

↓

Internal validation

[Action specific validation](/api/guides/import-api/validation/action-specific-validation)


# Idempotence

Idempotence validation prevents you from modifying the property of a resource when you used the same property to identify that resource.

For example, you are not allowed to change the name of an asset if you identify that asset by name.

{% tabs %}
{% tab title="Example" icon="glasses-round" %}
An operation that is not allowed

```json
{
​  "resourceType": "Asset",
​  "identifier": {
​    "name": "Customer",
​    "domain": {
​      "name": "Finance Glossary",
​    "community": {
​      "name": "Finance"
​      }
    }
​  },
​  "name": "New Customer"
}
```

{% endtab %}
{% endtabs %}

{% hint style="info" %}
The idempotence validation was introduced in Collibra Platform version 5.7.
{% endhint %}

## Complex relation idempotence validation

A [complex relation](/api/guides/import-api/import-commands/importing-complex-relations) that is not identified by ID, is uniquely identified by the sum of its legs (relations) that have a cardinality of 1. Those legs must be in the identifier section of the import operation. The same legs must not be present in other sections of the import operation.


# Operation identifier validation

For each operation, the validation checks that the identifiers exist and that they contain only one of the [combination of fields](/api/guides/import-api/import-commands) that uniquely identify a resource. The identifiers of the resources used to identify another resource are also validated.

Note the following character limits for resource names:

| Resource type      | Number of characters |
| ------------------ | -------------------- |
| Asset              | 1 - 2 000            |
| Domain             | 1 - 255              |
| Community          | 1 - 255              |
| External system ID | 1 - 36               |
| External entity ID | 1 - 255              |


# Operation specific validation

For each operation, the validation checks that the fields have names or IDs defined. The identifiers of the resources used to identify another resource are also [validated](/api/guides/import-api/validation/operation-identifier-validation).

Note the following character limits for names:

| Resource type                    | Number of characters |
| -------------------------------- | -------------------- |
| Asset                            | 1 - 2 000            |
| Domain                           | 1 - 255              |
| Community                        | 1 - 255              |
| External system ID               | 1 - 36               |
| External entity ID               | 1 - 255              |
| Other resource types or statuses | 1 - 255              |


# Action specific validation

The internal validation checks that there is enough data to perform the required action: create or update.

The following table lists the mandatory fields for each resource and action:

| Resource         | Create                                                                                                                                                  | Update                                                      |
| ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------- |
| Asset            | <ul><li><code>name</code></li><li><code>type</code></li><li><code>domain</code></li></ul>                                                               | None                                                        |
| Domain           | <ul><li><code>name</code></li><li><code>type</code></li><li><code>community</code></li></ul>                                                            | None                                                        |
| Community        | <ul><li><code>name</code></li></ul>                                                                                                                     | None                                                        |
| Mapping          | <ul><li><code>externalSystemId</code></li><li><code>externalEntityId</code></li></ul><p>Checks that only one mapping matches the selected criteria.</p> | Checks that only one mapping matches the selected criteria. |
| Complex relation | <ul><li><code>relations</code></li></ul><p>Checks if the <strong>complex relation type</strong> field is defined.</p>                                   | None                                                        |


# Concurrent import

To reduce the amount of time it takes to import data, you can use a concurrent import and run multiple import operations at the same time. Because each REST API call triggers one import job, you can perform multiple REST calls.

{% hint style="info" %}
The number of import operations is limited by the configuration settings in Collibra Console. Due to machine restrictions, you can run up to 8 import operations concurrently.
{% endhint %}

Most concurrent import errors occur because of missing dependencies between import commands executed within different jobs at the same time. To ensure successful imports, data should be preprocessed first following these rules:

* A concurrent import of communities and domains is not supported. You must create them manually or import them in a dedicated job.
* You should not use two concurrent jobs to import assets with the same identifier.
* You should not use two concurrent jobs that specify the same relation between two assets.

By default, the whole import job is executed in one single database transaction. The bigger the transaction size, the higher the chance of database locks and job failure. To limit the database transaction size, you can use any of the following options:

* Use smaller input files, with no more than 10,000 assets. In case of concurrency errors, retry the failed job.
* Run import jobs with the [**continueOnError**](/api/guides/import-api/the-option-to-continue-on-error) parameter set to `true`. With this option, Collibra automatically splits the input data into smaller chunks.

.


# Sample use cases

## Add a community, a domain with assets representing schema, tables, columns and the relevant relations

The JSON in this section performs the following operations in an environment where these resources do not exist yet:

* Adds a community: `DBs Community`.
* Adds a domain inside the created community: `Physical Domain`.
* Adds the following assets to the created domain: `SCHEMA_1`, `TABLE_1`, `TABLE_2`, `TAB_1_COLUMN_1`, `TAB_1_COLUMN_2`, `TAB_2_COLUMN_1`.
* Creates the relations:
  * `SCHEMA_1 contains TABLE_1`.
  * `SCHEMA_1 contains TABLE_2`.
  * `TAB_1_COLUMN_1 is part of TABLE_1`.
  * `TAB_1_COLUMN_2 is part of TABLE_1`.
  * `TAB_2_COLUMN_1 is part of TABLE_2`.

### Input

```json
[{
  "resourceType": "Community",
  "identifier": {
    "name": "DBs Community"
  }
},
{
  "resourceType": "Domain",
  "identifier": {
    "name": "Physical Domain",
    "community": {
      "name": "DBs Community"
    }
  },
  "type": {
    "name": "Physical Data Dictionary"
  }
},
{
  "resourceType": "Asset",
  "identifier": {
    "name": "SCHEMA_1",
    "domain": {
      "name": "Physical Domain",
      "community": {
        "name": "DBs Community"
      }
    }
  },
  "type": {
    "name": "Schema"
  }
},
{
  "resourceType": "Asset",
  "identifier": {
    "name": "TABLE_1",
    "domain": {
      "name": "Physical Domain",
      "community": {
        "name": "DBs Community"
      }
    }
  },
  "type": {
    "name": "Table"
  },
  "relations": {
    "00000000-0000-0000-0000-000000007043:SOURCE": [
      {
        "name": "SCHEMA_1",
        "domain": {
          "name": "Physical Domain",
          "community": {
            "name": "DBs Community"
          }
        }
      }
    ]
  }
},
{
  "resourceType": "Asset",
  "identifier": {
    "name": "TABLE_2",
    "domain": {
      "name": "Physical Domain",
      "community": {
        "name": "DBs Community"
      }
    }
  },
  "type": {
    "name": "Table"
  },
  "relations": {
    "00000000-0000-0000-0000-000000007043:SOURCE": [
      {
        "name": "SCHEMA_1",
        "domain": {
          "name": "Physical Domain",
          "community": {
            "name": "DBs Community"
          }
        }
      }
    ]
  }
},
{
  "resourceType": "Asset",
  "identifier": {
    "name": "TAB_1_COLUMN_1",
    "domain": {
      "name": "Physical Domain",
      "community": {
        "name": "DBs Community"
      }
    }
  },
  "type": {
    "name": "Column"
  },
  "relations": {
    "00000000-0000-0000-0000-000000007042:TARGET": [
      {
        "name": "TABLE_1",
        "domain": {
          "name": "Physical Domain",
          "community": {
            "name": "DBs Community"
          }
        }
      }
    ]
  }
},
{
  "resourceType": "Asset",
  "identifier": {
    "name": "TAB_1_COLUMN_2",
    "domain": {
      "name": "Physical Domain",
      "community": {
        "name": "DBs Community"
      }
    }
  },
  "type": {
    "name": "Column"
  },
  "relations": {
    "00000000-0000-0000-0000-000000007042:TARGET": [
      {
        "name": "TABLE_1",
        "domain": {
          "name": "Physical Domain",
          "community": {
            "name": "DBs Community"
          }
        }
      }
    ]
  }
},
{
  "resourceType": "Asset",
  "identifier": {
    "name": "TAB_2_COLUMN_1",
    "domain": {
      "name": "Physical Domain",
      "community": {
        "name": "DBs Community"
      }
    }
  },
  "type": {
    "name": "Column"
  },
  "relations": {
    "00000000-0000-0000-0000-000000007042:TARGET": [
      {
        "name": "TABLE_2",
        "domain": {
          "name": "Physical Domain",
          "community": {
            "name": "DBs Community"
          }
        }
      }
    ]
  }
}]
```

## Import mappings for assets

The JSON in this section creates mappings for schema, table and column assets.

{% hint style="info" %}
This example works only if the referenced resources exist. Run the import commands from the beginning of this page to create them.
{% endhint %}

The following mappings are created, in an environment where these resources do not exist yet:

* (`EXT_SYSTEM`, `EXT_SCHEMA_1_ID`) → `SCHEMA_1`.
* (`EXT_SYSTEM`, `EXT_TABLE_1_ID`) → `TABLE_1`.
* (`EXT_SYSTEM`, `EXT_TABLE_2_ID`) → `TABLE_2`.
* (`EXT_SYSTEM`, `EXT_TABLE_1_COLUMN_1_ID`) → `TAB_1_COLUMN_1`.
* (`EXT_SYSTEM`, `EXT_TABLE_1_COLUMN_2_ID`) → `TAB_1_COLUMN_2`.
* (`EXT_SYSTEM`, `EXT_TABLE_2_COLUMN_1_ID`) → `TAB_2_COLUMN_1`.

{% hint style="info" %}
When you manually delete a resource that is referenced by a mapping, the mapping is not also deleted. Only the reference to the deleted resource in the mapping is removed. This helps external systems detect that Collibra used to store resources that are now deleted. The external systems can then decide to take appropriate action.
{% endhint %}

### Input

```json
[{
  "resourceType": "Mapping",
  "identifier": {
    "externalSystemId": "EXT_SYSTEM",
    "externalEntityId": "EXT_SCHEMA_1_ID"
  },
  "asset": {
    "name": "SCHEMA_1",
    "domain": {
      "name": "Physical Domain",
      "community": {
        "name": "DBs Community"
      }
    }
  }
},
{
  "resourceType": "Mapping",
  "identifier": {
    "externalSystemId": "EXT_SYSTEM",
    "externalEntityId": "EXT_TABLE_1_ID"
  },
  "asset": {
    "name": "TABLE_1",
    "domain": {
      "name": "Physical Domain",
      "community": {
        "name": "DBs Community"
      }
    }
  }
},
{
  "resourceType": "Mapping",
  "identifier": {
    "externalSystemId": "EXT_SYSTEM",
    "externalEntityId": "EXT_TABLE_2_ID"
  },
  "asset": {
    "name": "TABLE_2",
    "domain": {
      "name": "Physical Domain",
      "community": {
        "name": "DBs Community"
      }
    }
  }
},
{
  "resourceType": "Mapping",
  "identifier": {
    "externalSystemId": "EXT_SYSTEM",
    "externalEntityId": "EXT_TABLE_1_COLUMN_1_ID"
  },
  "asset": {
    "name": "TAB_1_COLUMN_1",
    "domain": {
      "name": "Physical Domain",
      "community": {
        "name": "DBs Community"
      }
    }
  }
},
{
  "resourceType": "Mapping",
  "identifier": {
    "externalSystemId": "EXT_SYSTEM",
    "externalEntityId": "EXT_TABLE_1_COLUMN_2_ID"
  },
  "asset": {
    "name": "TAB_1_COLUMN_2",
    "domain": {
      "name": "Physical Domain",
      "community": {
        "name": "DBs Community"
      }
    }
  }
},
{
  "resourceType": "Mapping",
  "identifier": {
    "externalSystemId": "EXT_SYSTEM",
    "externalEntityId": "EXT_TABLE_2_COLUMN_1_ID"
  },
  "asset": {
    "name": "TAB_2_COLUMN_1",
    "domain": {
      "name": "Physical Domain",
      "community": {
        "name": "DBs Community"
      }
    }
  }
}]
```

## Import assets and create mappings implicitly

You can import assets and their mappings within the same input file.

The JSON in this section performs the following operations in an environment where these resources do not exist yet:

* Adds a community: `DBs Community`.
* Adds a domain inside the created community: `Physical Domain`.
* Adds the following assets to the created domain: `SCHEMA_1`, `TABLE_1`, `TABLE_2`, `TAB_1_COLUMN_1`, `TAB_1_COLUMN_2`, `TAB_2_COLUMN_1`.
* Creates the relations:
  * `SCHEMA_1 contains TABLE_1`.
  * `SCHEMA_1 contains TABLE_2`.
  * `TAB_1_COLUMN_1 is part of TABLE_1`.
  * `TAB_1_COLUMN_2 is part of TABLE_1`.
  * `TAB_2_COLUMN_1 is part of TABLE_2`.
* Creates the mappings:
  * (`EXT_SYSTEM`, `EXT_SCHEMA_1_ID`) → `SCHEMA_1`.
  * (`EXT_SYSTEM`, `EXT_TABLE_1_ID`) → `TABLE_1`.
  * (`EXT_SYSTEM`, `EXT_TABLE_2_ID`) → `TABLE_2`.
  * (`EXT_SYSTEM`, `EXT_TABLE_1_COLUMN_1_ID`) → `TAB_1_COLUMN_1`.
  * (`EXT_SYSTEM`, `EXT_TABLE_1_COLUMN_2_ID`) → `TAB_1_COLUMN_2`.
  * (`EXT_SYSTEM`, `EXT_TABLE_2_COLUMN_1_ID`) → `TAB_2_COLUMN_1`.

{% hint style="info" %}
When you manually delete a resource that is referenced by a mapping, the mapping is not also deleted. Only the reference to the deleted resource in the mapping is removed. This helps external systems detect that Collibra used to store resources that are now deleted. The external systems can then decide to take appropriate action.
{% endhint %}

### Input

```json
[{
  "resourceType": "Community",
  "identifier": {
    "name": "DBs Community"
  }
},
{
  "resourceType": "Domain",
  "identifier": {
    "name": "Physical Domain",
    "community": {
      "name": "DBs Community"
    }
  },
  "type": {
    "name": "Physical Data Dictionary"
  }
},
{
  "resourceType": "Asset",
  "identifier": {
    "externalSystemId": "EXT_SYSTEM",
    "externalEntityId": "EXT_SCHEMA_1_ID"
  },
  "name": "SCHEMA_1",
  "domain": {
    "name": "Physical Domain",
    "community": {
      "name": "DBs Community"
    }
  },
  "type": {
    "name": "Schema"
  }
},
{
  "resourceType": "Asset",
  "identifier": {
    "externalSystemId": "EXT_SYSTEM",
    "externalEntityId": "EXT_TABLE_1_ID"
  },
  "name": "TABLE_1",
  "domain": {
    "name": "Physical Domain",
    "community": {
      "name": "DBs Community"
    }
  },
  "type": {
    "name": "Table"
  },
  "relations": {
    "00000000-0000-0000-0000-000000007043:SOURCE": [
      {
        "externalSystemId": "EXT_SYSTEM",
        "externalEntityId": "EXT_SCHEMA_1_ID"
      }
    ]
  }
},
{
  "resourceType": "Asset",
  "identifier": {
    "externalSystemId": "EXT_SYSTEM",
    "externalEntityId": "EXT_TABLE_2_ID"
  },
  "name": "TABLE_2",
  "domain": {
    "name": "Physical Domain",
    "community": {
      "name": "DBs Community"
    }
  },
  "type": {
    "name": "Table"
  },
  "relations": {
    "00000000-0000-0000-0000-000000007043:SOURCE": [
      {
        "externalSystemId": "EXT_SYSTEM",
        "externalEntityId": "EXT_SCHEMA_1_ID"
      }
    ]
  }
},
{
  "resourceType": "Asset",
  "identifier": {
    "externalSystemId": "EXT_SYSTEM",
    "externalEntityId": "EXT_TABLE_1_COLUMN_1_ID"
  },
  "name": "TAB_1_COLUMN_1",
  "domain": {
    "name": "Physical Domain",
    "community": {
      "name": "DBs Community"
    }
  },
  "type": {
    "name": "Column"
  },
  "relations": {
    "00000000-0000-0000-0000-000000007042:TARGET": [
      {
        "externalSystemId": "EXT_SYSTEM",
        "externalEntityId": "EXT_TABLE_1_ID"
      }
    ]
  }
},
{
  "resourceType": "Asset",
  "identifier": {
    "externalSystemId": "EXT_SYSTEM",
    "externalEntityId": "EXT_TABLE_1_COLUMN_2_ID"
  },
  "name": "TAB_1_COLUMN_2",
  "domain": {
    "name": "Physical Domain",
    "community": {
      "name": "DBs Community"
    }
  },
  "type": {
    "name": "Column"
  },
  "relations": {
    "00000000-0000-0000-0000-000000007042:TARGET": [
      {
        "externalSystemId": "EXT_SYSTEM",
        "externalEntityId": "EXT_TABLE_1_ID"
      }
    ]
  }
},
{
  "resourceType": "Asset",
  "identifier": {
    "externalSystemId": "EXT_SYSTEM",
    "externalEntityId": "EXT_TABLE_2_COLUMN_1_ID"
  },
  "name": "TAB_2_COLUMN_1",
  "domain": {
    "name": "Physical Domain",
    "community": {
      "name": "DBs Community"
    }
  },
  "type": {
    "name": "Column"
  },
  "relations": {
    "00000000-0000-0000-0000-000000007042:TARGET": [
      {
        "externalSystemId": "EXT_SYSTEM",
        "externalEntityId": "EXT_TABLE_2_ID"
      }
    ]
  }
}]
```

## Modify an asset using the asset mapping as identification

You can update an asset using the asset mapping as identifier.

{% hint style="info" %}
This example works only if the referenced resources exist. Run the import commands from the beginning of this page to create them.
{% endhint %}

### Input

```json
[{
  "resourceType": "Asset",
  "identifier": {
    "externalSystemId": "EXT_SYSTEM",
    "externalEntityId": "EXT_TABLE_1_COLUMN_1_ID"
  },
  "name": "TAB_1_COLUMN_1_NEW"
}]
```

## Update schema, table and column assets

{% hint style="info" %}
This example works only if the referenced resources exist. Run the import commands from the beginning of this page to create them.
{% endhint %}

The JSON in this section performs the following operations:

* Changes the display name of `SCHEMA_1` to **SCHEMA**.
* Changes the display name of `TABLE_1` to **T1**.
* Changes the display name of `TABLE_2` to **T2**.
* Changes the display name of `TAB_1_COLUMN_1` to **C1**.
* Changes the display name of `TAB_1_COLUMN_2` to **C2**.
* Changes the display name of `TAB_2_COLUMN_1` to **C3**.

### Input

```json
[{
  "resourceType": "Asset",
  "identifier": {
    "name": "SCHEMA_1",
    "domain": {
      "name": "Physical Domain",
      "community": {
        "name": "DBs Community"
      }
    }
  },
  "displayName": "SCHEMA",
  "type": {
    "name": "Schema"
  }
},
{
  "resourceType": "Asset",
  "identifier": {
    "name": "TABLE_1",
    "domain": {
      "name": "Physical Domain",
      "community": {
        "name": "DBs Community"
      }
    }
  },
  "displayName": "T1",
  "type": {
    "name": "Table"
  },
  "relations": {
    "00000000-0000-0000-0000-000000007043:SOURCE": [
      {
        "name": "SCHEMA_1",
        "domain": {
          "name": "Physical Domain",
          "community": {
            "name": "DBs Community"
          }
        }
      }
    ]
  }
},
{
  "resourceType": "Asset",
  "identifier": {
    "name": "TABLE_2",
    "domain": {
      "name": "Physical Domain",
      "community": {
        "name": "DBs Community"
      }
    }
  },
  "displayName": "T2",
  "type": {
    "name": "Table"
  },
  "relations": {
    "00000000-0000-0000-0000-000000007043:SOURCE": [
      {
        "name": "SCHEMA_1",
        "domain": {
          "name": "Physical Domain",
          "community": {
            "name": "DBs Community"
          }
        }
      }
    ]
  }
},
{
  "resourceType": "Asset",
  "identifier": {
    "name": "TAB_1_COLUMN_1",
    "domain": {
      "name": "Physical Domain",
      "community": {
        "name": "DBs Community"
      }
    }
  },
  "type": {
    "name": "Column"
  },
  "displayName": "C1",
  "relations": {
    "00000000-0000-0000-0000-000000007042:TARGET": [
      {
        "name": "TABLE_1",
        "domain": {
          "name": "Physical Domain",
          "community": {
            "name": "DBs Community"
          }
        }
      }
    ]
  }
},
{
  "resourceType": "Asset",
  "identifier": {
    "name": "TAB_1_COLUMN_2",
    "domain": {
      "name": "Physical Domain",
      "community": {
        "name": "DBs Community"
      }
    }
  },
  "displayName": "C2",
  "type": {
    "name": "Column"
  },
  "relations": {
    "00000000-0000-0000-0000-000000007042:TARGET": [
      {
        "name": "TABLE_1",
        "domain": {
          "name": "Physical Domain",
          "community": {
            "name": "DBs Community"
          }
        }
      }
    ]
  }
},
{
  "resourceType": "Asset",
  "identifier": {
    "name": "TAB_2_COLUMN_1",
    "domain": {
      "name": "Physical Domain",
      "community": {
        "name": "DBs Community"
      }
    }
  },
  "displayName": "C3",
  "type": {
    "name": "Column"
  },
  "relations": {
    "00000000-0000-0000-0000-000000007042:TARGET": [
      {
        "name": "TABLE_2",
        "domain": {
          "name": "Physical Domain",
          "community": {
            "name": "DBs Community"
          }
        }
      }
    ]
  }
}]
```

## Import multiple resource attributes

The JSON in this section performs the following operations in an environment where these resources do not exist yet:

* Adds a community: `DBs Community`.
* Adds a domain inside the created community: `Physical Domain`.
* Adds the asset `DB_TABLE` to the created domain with the following attributes:
  * Profiling Information.
  * Description.

### Input

```json
[{
  "resourceType": "Community",
  "identifier": {
    "name": "DBs Community"
  }
},
{
  "resourceType": "Domain",
  "identifier": {
    "name": "Physical Domain",
    "community": {
      "name": "DBs Community"
    }
  },
  "type": {
    "name": "Physical Data Dictionary"
  }
},
{
  "resourceType": "Asset",
  "identifier": {
    "name": "DB_TABLE",
    "domain": {
      "name": "Physical Domain",
      "community": {
        "name": "DBs Community"
      }
    }
  },
  "type": {
    "name": "Table"
  },
  "attributes": {
    "Description": [
      {
        "value": "The Users table"
      }
    ],
    "Profiling Information": [
      {
        "value": "Please do"
      }
    ]
  }
}]
```

## Import multivalue attributes

For this example to work, you must create a new attribute type and assign it to the **Table** asset type in Collibra Platform.

<details>

<summary>Show me how</summary>

{% stepper %}
{% step %}
On the main toolbar, click <img src="/files/4ZYD85jq9jfq7oXGyW7Q" alt="Products icon" data-size="line"> → <img src="/files/XaJ5gL6tybCqj3hVpDHe" alt="Cogwheel icon" data-size="line"> **Settings**.\ <i class="fa-chevrons-right">:chevrons-right:</i> The **Settings** page opens.
{% endstep %}

{% step %}
Click **Attribute types**.\ <i class="fa-chevrons-right">:chevrons-right:</i> The attributes table opens.
{% endstep %}

{% step %}
Above the table, to the right, click **Add**.\ <i class="fa-chevrons-right">:chevrons-right:</i> The **Create Attribute Type** dialog box appears.
{% endstep %}

{% step %}
Enter the required information.

| Field         | Value                                                           |
| ------------- | --------------------------------------------------------------- |
| Name          | Indexes                                                         |
| Kind          | Multiple Selection                                              |
| with values   | surname name id (press <kbd>Enter</kbd> to separate each value) |
| {% endstep %} |                                                                 |

{% step %}
Click **Save**.\ <i class="fa-chevrons-right">:chevrons-right:</i> The attribute type Indexes is created.
{% endstep %}

{% step %}
Click **Asset Types**.\ <i class="fa-chevrons-right">:chevrons-right:</i> The asset type table appears.
{% endstep %}

{% step %}
In the asset type table, select the **Table** asset type.\ <i class="fa-chevrons-right">:chevrons-right:</i> The asset type editor opens.
{% endstep %}

{% step %}
In the tab pane, click **Global assignment**.\ <i class="fa-chevrons-right">:chevrons-right:</i> The global assignments: characteristic table appears.
{% endstep %}

{% step %}
Above the table, to the right, click **Edit**.
{% endstep %}

{% step %}
Above the table, to the right, click **Add characteristic**.\ <i class="fa-chevrons-right">:chevrons-right:</i> The **Add a Characteristic** dialog box appears.
{% endstep %}

{% step %}
Select **Indexes**.
{% endstep %}

{% step %}
Above the table, to the right, click **Save**.
{% endstep %}
{% endstepper %}

</details>

The JSON in this section performs the following operations in an environment where these resources do not exist yet:

* Adds a community: `DBs Community`.
* Adds a domain inside the created community: `Physical Domain`.
* Adds the asset `DB_TABLE` to the created domain with the following multivalue attribute:
  * Indexes.

### Input

```json
[{
  "resourceType": "Community",
  "identifier": {
    "name": "DBs Community"
  }
},
{
  "resourceType": "Domain",
  "identifier": {
    "name": "Physical Domain",
    "community": {
      "name": "DBs Community"
    }
  },
  "type": {
    "name": "Physical Data Dictionary"
  }
},
{
  "resourceType": "Asset",
  "identifier": {
    "externalSystemId": "EXT_SYSTEM",
    "externalEntityId": "EXT_TABLE"
  },
  "name": "DB_TABLE",
  "domain": {
    "name": "Physical Domain",
    "community": {
      "name": "DBs Community"
    }
  },
  "type": {
    "name": "Table"
  },
  "attributes": {
    "Indexes": [
      {
        "values": [ "surname", "name" ]
      }
    ]
  }
}]
```

## Import relations

The JSON in this section performs the following operations in an environment where these resources do not exist yet:

* Adds a community: `DBs Community`.
* Adds a domain inside the created community: `Physical Domain`.
* Adds the asset `DB_SCHEMA` without relations.
* Adds the asset `DB_TABLE` with a source relation to `USERS_SCHEMA`.
* Adds the asset `DB_COLUMN` with a target relation to `USERS_TABLE`.

You can specify relation types in multiple ways:

* Using the relation type resource ID and the relation direction separated by a colon, for example: `00000000-0000-0000-0000-000000007042:TARGET`.
* Using the relation type public ID and the relation direction separated by a colon, for example: `PUBLIC_ID:ColumnIsPartOfTable:TARGET`.
* Using a fully qualified relation type name separated by colons and the relation direction also separated by a colon, for example: `Schema:contains:is part of:Table:SOURCE`.

{% hint style="info" %}
You can not use the fully qualified name to specify a relation type if the name of the relation type contains a colon.
{% endhint %}

### Input

```json
[
  {
    "resourceType": "Community",
    "identifier": {
      "name": "DBs Community"
    }
  },
  {
    "resourceType": "Domain",
    "identifier": {
      "name": "Physical Domain",
      "community": {
        "name": "DBs Community"
      }
    },
    "type": {
      "name": "Physical Data Dictionary"
    }
  },
  {
    "resourceType": "Asset",
    "identifier": {
      "name": "DB_SCHEMA",
      "domain": {
        "name": "Physical Domain",
        "community": {
          "name": "DBs Community"
        }
      }
    },
    "type": {
      "name": "Schema"
    }
  },
  {
    "resourceType": "Asset",
    "identifier": {
      "name": "DB_TABLE",
      "domain": {
        "name": "Physical Domain",
        "community": {
          "name": "DBs Community"
        }
      }
    },
    "type": {
      "name": "Table"
    },
    "relations": {
      "SchemaContainsTable:SOURCE": [
        {
          "name": "DB_SCHEMA",
          "domain": {
            "name": "Physical Domain",
            "community": {
              "name": "DBs Community"
            }
          }
        }
      ]
    }
  },
  {
    "resourceType": "Asset",
    "identifier": {
      "name": "DB_COLUMN",
      "domain": {
        "name": "Physical Domain",
        "community": {
          "name": "DBs Community"
        }
      }
    },
    "type": {
      "name": "Column"
    },
    "relations": {
      "ColumnIsPartOfTable:TARGET": [
        {
          "name": "DB_TABLE",
          "domain": {
            "name": "Physical Domain",
            "community": {
              "name": "DBs Community"
            }
          }
        }
      ]
    }
  }
]
```

## Import tags

The JSON in this section performs the following operations in an environment where these resources do not exist yet:

* Adds a community: `DBs Community`.
* Adds a domain inside the created community: `Physical Domain`.
* Adds the asset `DB_SCHEMA` without tags.
* Adds the asset `DB_TABLE` with the tags:
  * `TAG_1`.
  * `TAG_2`.

### Input

```json
[{
  "resourceType": "Community",
  "identifier": {
    "name": "DBs Community"
  }
},
{
  "resourceType": "Domain",
  "identifier": {
    "name": "Physical Domain",
    "community": {
      "name": "DBs Community"
    }
  },
  "type": {
    "name": "Physical Data Dictionary"
  }
},
{
  "resourceType": "Asset",
  "identifier": {
    "name": "DB_SCHEMA",
    "domain": {
      "name": "Physical Domain",
      "community": {
        "name": "DBs Community"
      }
    }
  },
  "type": {
    "name": "Schema"
  }
},
{
  "resourceType": "Asset",
  "identifier": {
    "name": "DB_TABLE",
    "domain": {
      "name": "Physical Domain",
      "community": {
        "name": "DBs Community"
      }
    }
  },
  "type": {
    "name": "Table"
  },
  "tags": ["TAG_1", "TAG_2"]
}]
```

## Import complex relations

For this example to work, you must have the following resources:

* A community named `DBs Community`.
* A **Physical Data Dictionary** domain inside the community named `Physical Domain`.
* A **Mapping** domain inside the community named `My Mapping Domain`.
* The following **Column** assets in **Physical Domain**: `DB_COL_SOURCE_1`, `DB_COL_SOURCE_2`, `DB_COL_TARGET_1`, `DB_COL_TARGET_2`.
* A **Mapping Specification** asset named `MapSpec` in **My Mapping Domain**.

<details>

<summary>Get the JSON to create them</summary>

### Input

```json
[{
  "resourceType": "Community",
  "identifier": {
    "name": "DBs Community"
  }
},
{
  "resourceType": "Domain",
  "identifier": {
    "name": "Physical Domain",
    "community": {
      "name": "DBs Community"
    }
  },
  "type": {
    "name": "Physical Data Dictionary"
  }
},
{
  "resourceType": "Domain",
  "identifier": {
    "name": "My Mapping Domain",
    "community": {
      "name": "DBs Community"
    }
  },
  "type": {
    "name": "Mapping Domain"
  }
},
{
  "resourceType": "Asset",
  "identifier": {
    "name": "DB_COL_SOURCE_1",
    "domain": {
      "name": "Physical Domain",
      "community": {
        "name": "DBs Community"
      }
    }
  },
  "type": {
    "name": "Column"
  }
},
{
  "resourceType": "Asset",
  "identifier": {
    "name": "DB_COL_SOURCE_2",
    "domain": {
      "name": "Physical Domain",
      "community": {
        "name": "DBs Community"
      }
    }
  },
  "type": {
    "name": "Column"
  }
},
{
  "resourceType": "Asset",
  "identifier": {
    "name": "DB_COL_TARGET_1",
    "domain": {
      "name": "Physical Domain",
      "community": {
        "name": "DBs Community"
      }
    }
  },
  "type": {
    "name": "Column"
  }
},
{
  "resourceType": "Asset",
  "identifier": {
    "name": "DB_COL_TARGET_2",
    "domain": {
      "name": "Physical Domain",
      "community": {
        "name": "DBs Community"
      }
    }
  },
  "type": {
    "name": "Column"
  }
},
{
  "resourceType": "Asset",
  "identifier": {
    "name": "MapSpec",
    "domain": {
      "name": "My Mapping Domain",
      "community": {
        "name": "DBs Community"
      }
    }
  },
  "type": {
    "name": "Mapping Specification"
  }
  }]
```

</details>

The JSON in this section performs the following operations in an environment where these resources do not exist yet:

* Adds a field mapping complex relation between the assets and a description attribute.
* Creates a mapping based on the external system and entity for the imported complex relation for further reference.

### Input

```json
[{
  "resourceType": "Complex Relation",
  "identifier": {
    "externalSystemId": "DB-Metadata-System",
    "externalEntityId": "FieldMapping12345678"
  },
  "complexRelationType": {
    "name": "Field Mapping"
  },
  "relations": {
    "00000000-0000-0000-0000-000000007088": [
      {
        "name": "DB_COL_SOURCE_1",
        "domain": {
          "name": "Physical Domain",
          "community": {
            "name": "DBs Community"
          }
        }
      },
      {
        "name": "DB_COL_SOURCE_2",
        "domain": {
          "name": "Physical Domain",
          "community": {
            "name": "DBs Community"
          }
        }
      }
    ],
    "00000000-0000-0000-0000-000000007089": [
      {
        "name": "DB_COL_TARGET_1",
        "domain": {
          "name": "Physical Domain",
          "community": {
            "name": "DBs Community"
          }
        }
      },
      {
        "name": "DB_COL_TARGET_2",
        "domain": {
          "name": "Physical Domain",
          "community": {
            "name": "DBs Community"
          }
        }
      }
    ],
    "00000000-0000-0000-0000-000000007090": [
      {
        "name": "MapSpec",
        "domain": {
          "name": "My Mapping Domain",
          "community": {
            "name": "DBs Community"
          }
        }
      }
    ]
  },
  "attributes": {
    "Description": [
      {
        "value": "XXX_COLUMN_1"
      }
    ]
  }
  }]
```


# Troubleshooting

When you work with the Import API v2, you might encounter situations where import operations fail. Some of the potential reasons are:

* The content of the input file has an invalid structure.
* One of the mandatory parameters for a command is missing.
* The import resource defined by a command violates a business constraint.

To help you identify the cause of failure, the following tables explain the most common errors. The error codes are logged in Collibra Console.

## Generic command errors

| Error code (visible in **dgc.log**) | Structure of error message                                                                                                                                                                                                                                   | Reason                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| ----------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| importCommandIdentifierAmbiguous    | There are either too many or too few parameters to identify the {0}. As a general rule, use the resource ID as an identifier or the resource name and the identifier of the parent resource. The same rule applies to the identifier of the parent resource. | <p>Only specific subsets of properties are expected in <code>identifier</code>.</p><div data-gb-custom-block data-tag="tabs"><div data-gb-custom-block data-tag="tab" data-title="Example" data-icon="glasses-round"><p>Asset name and domain ID.</p></div></div><p>The other combinations result in this error.</p><p>See the sections of the <a href="/pages/qzSJUtlFtIxDAdElntsy">API import operations</a> chapter for examples.</p> |
| importCommandIdentifierNotDefined   | Specify the criteria for identifying the {0}.                                                                                                                                                                                                                | The import command does not contain the `identifier` mandatory property.                                                                                                                                                                                                                                                                                                                                                                 |
| importCommandNotIdempotent          | You cannot change the {1} if the {0} is identified by {1}.                                                                                                                                                                                                   | <p>You change the same property that you use to identify the resource.</p><div data-gb-custom-block data-tag="tabs"><div data-gb-custom-block data-tag="tab" data-title="Example" data-icon="glasses-round"><p>You update the name of an asset, identified by name and domain ID.</p></div></div>                                                                                                                                        |
| importCommandResourceAmbiguous      | More than one {0} matches the specified criteria.                                                                                                                                                                                                            | The identifier does not contain enough elements to uniquely identify a resource.                                                                                                                                                                                                                                                                                                                                                         |
| importCommandResourceNotFound       | No {0} matches the specified criteria.                                                                                                                                                                                                                       | <p>A mandatory dependency for the resource does not exist.</p><div data-gb-custom-block data-tag="tabs"><div data-gb-custom-block data-tag="tab" data-title="Example" data-icon="glasses-round"><p>The asset type of an imported asset does not exist.</p></div></div>                                                                                                                                                                   |
| importCommandResourceTypeInvalid    | The resource type is invalid. The supported resource types are: {0}.                                                                                                                                                                                         | You are trying to import a resource that is not currently supported or there resource type is misspelled.                                                                                                                                                                                                                                                                                                                                |
| importCommandResourceTypeNotDefined | The resource type is not defined. The available resource types are: {0}.                                                                                                                                                                                     | The import command is missing the mandatory `resourceType` property.                                                                                                                                                                                                                                                                                                                                                                     |

## Asset errors

| Error code(visible in **dgc.log**)         | Structure of error message                                                               | Reason                                                                                                                                                                 |
| ------------------------------------------ | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| importCommandAssetAttributeValuesAmbiguous | The asset defines both ''value'' and ''values'' properties for one or more attributes.   | The `value` and `values` fields are mutually exclusive. You must provide only one for each attribute defined in the import command for an asset or a complex relation. |
| importCommandAssetDisplayNameInvalidLength | The asset display name must have between {0} and {1} characters, but had {2} characters. | The asset display name length must be within the range defined in the error message.                                                                                   |
| importCommandAssetDomainNull               | The domain for the asset is not defined.                                                 | The domain is mandatory for the assets that need to be added during import or synchronization.                                                                         |
| importCommandAssetNameInvalidLength        | The asset name must have between {0} and {1} characters, but had {2} characters.         | The asset name length must be within the range defined in the error message.                                                                                           |
| importCommandAssetNameNull                 | The asset name is not defined.                                                           | The asset name is mandatory for the assets that need to be added during import or synchronization.                                                                     |
| importCommandAssetTypeNull                 | The asset type is not defined.                                                           | The asset type is mandatory for the assets that need to be added during import or synchronization.                                                                     |

## Asset type errors

| Error code(visible in **dgc.log**)      | Structure of error message                                                            | Reason                                                                            |
| --------------------------------------- | ------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- |
| importCommandAssetTypeNameInvalidLength | The asset type name must have between {0} and {1} characters, but had {2} characters. | The asset type name length must be within the range defined in the error message. |

## Attribute type errors

| Error code(visible in **dgc.log**)          | Structure of error message                                                                | Reason                                                                                |
| ------------------------------------------- | ----------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- |
| importCommandAttributeTypeNameInvalidLength | The attribute type name must have between {0} and {1} characters, but had {2} characters. | The attribute type name length must be within the range defined in the error message. |

## Community errors

| Error code(visible in **dgc.log**)      | Structure of error message                                                           | Reason                                                                                                      |
| --------------------------------------- | ------------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------------- |
| importCommandCommunityNameInvalidLength | The community name must have between {0} and {1} characters, but had {2} characters. | The community name length must be within the range defined in the error message.                            |
| importCommandCommunityNameNull          | The community name is not defined.                                                   | The community name is mandatory for the communities that need to be added during import or synchronization. |

## Complex relation errors

| Error code(visible in **dgc.log**)              | Structure of error message                                               | Reason                                                                                                                    |
| ----------------------------------------------- | ------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------- |
| importCommandComplexRelationRelationsDuplicated | Complex Relation relations are duplicated for relation type ID: ''{0}''. | The import command contains a duplicated relation that was defined both in the command and in the identifier.             |
| importCommandComplexRelationRelationsNull       | The relations for the complex relation are not defined.                  | The identifying relations are mandatory for the complex relations that need to be added during import or synchronization. |
| importCommandComplexRelationTypeNull            | The complex relation type is not defined.                                | The complex relation type is mandatory for the complex relations that need to be added during import or synchronization.  |

## Complex relation type errors

| Error code(visible in **dgc.log**)                | Structure of error message                                                                       | Reason                                                                                       |
| ------------------------------------------------- | ------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------- |
| importCommandComplexRelationTypeNameInvalidLength | The complex relation type name must have between {0} and {1} characters, but had {2} characters. | The complex relation type name length must be within the range defined in the error message. |

## Domain errors

| Error code(visible in **dgc.log**)   | Structure of error message                                                        | Reason                                                                                               |
| ------------------------------------ | --------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- |
| importCommandDomainCommunityNull     | The community for the domain is not defined.                                      | The community is mandatory for the domains that need to be added during import or synchronization.   |
| importCommandDomainNameInvalidLength | The domain name must have between {0} and {1} characters, but had {2} characters. | The domain name length must be within the range defined in the error message.                        |
| importCommandDomainNameNull          | The domain name is not defined.                                                   | The domain name is mandatory for the domains that need to be added during import or synchronization. |
| importCommandDomainTypeNull          | The domain type is not defined.                                                   | The domain type is mandatory for the domains that need to be added during import or synchronization. |

## Domain type errors

| Error code(visible in **dgc.log**)       | Structure of error message                                                             | Reason                                                                             |
| ---------------------------------------- | -------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- |
| importCommandDomainTypeNameInvalidLength | The domain type name must have between {0} and {1} characters, but had {2} characters. | The domain type name length must be within the range defined in the error message. |

## External identifier errors

| Error code(visible in **dgc.log**)                         | Structure of error message                                                                                         | Reason                                                                               |
| ---------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ |
| importCommandExternalIdentifierExternalEntityInvalidLength | The {0} external entity ID must have between {1} and {2} characters, but had {3} characters.                       | The external entity ID length must be within the range defined in the error message. |
| importCommandExternalIdentifierExternalEntityNull          | The {0} external entity ID must be provided if the external system ID is provided. Specify the external entity ID. | The external entity ID is mandatory when you provided an external system ID.         |
| importCommandExternalIdentifierExternalSystemInvalidLength | The {0} external system must have between {1} and {2} characters, but had {3} characters.                          | The external system ID length must be within the range defined in the error message. |
| importCommandExternalIdentifierExternalSystemNull          | The {0} external system ID must be provided if the external entity ID is provided. Specify the external system ID. | The external system entity ID is mandatory when you provided an external entity ID.  |

## Mapping errors

| Error code(visible in **dgc.log**)                | Structure of error message                                                               | Reason                                                                                                                                                        |
| ------------------------------------------------- | ---------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| importCommandMappingExternalEntityIdInvalidLength | The external entity ID must have between {0} and {1} characters, but had {2} characters. | The external entity ID length must be within the range defined in the error message.                                                                          |
| importCommandMappingExternalEntityIdNull          | The external entity ID is not defined.                                                   | The external entity ID is mandatory for the mappings that need to be added during import or synchronization.                                                  |
| importCommandMappingExternalSystemIdInvalidLength | The external system ID must have between {0} and {1} characters, but had {2} characters. | The external system ID length must be within the range defined in the error message.                                                                          |
| importCommandMappingExternalSystemIdNull          | The external system ID is not defined.                                                   | The external system ID is mandatory for the mappings that need to be added during import or synchronization.                                                  |
| importCommandMappingResourceAmbiguous             | More than one mapping matches the specified criteria.                                    | The input for the mapping (JSON command or CSV/Excel content) contains reference to the resources via multiple properties (UUID, community, domain or asset). |
| importCommandMappingResourceNotFound              | No mapping matches the specified criteria.                                               | A mapping could not be found for the provided identifier(s).                                                                                                  |

## Role errors

| Error code(visible in **dgc.log**) | Structure of error message                                                      | Reason                                                                      |
| ---------------------------------- | ------------------------------------------------------------------------------- | --------------------------------------------------------------------------- |
| importCommandRoleNameInvalidLength | The role name must have between {0} and {1} characters, but had {2} characters. | The role name length must be within the range defined in the error message. |

## Status errors

| Error code(visible in **dgc.log**)   | Structure of error message                                                        | Reason                                                                        |
| ------------------------------------ | --------------------------------------------------------------------------------- | ----------------------------------------------------------------------------- |
| importCommandStatusNameInvalidLength | The status name must have between {0} and {1} characters, but had {2} characters. | The status name length must be within the range defined in the error message. |

## Tag errors

| Error code(visible in **dgc.log**) | Structure of error message                                                     | Reason                                                                     |
| ---------------------------------- | ------------------------------------------------------------------------------ | -------------------------------------------------------------------------- |
| importCommandTagNameInvalidLength  | The tag name must have between {0} and {1} characters, but had {2} characters. | The tag name length must be within the range defined in the error message. |

## User errors

| Error code(visible in **dgc.log**) | Structure of error message     | Reason                                      |
| ---------------------------------- | ------------------------------ | ------------------------------------------- |
| importCommandUserNameEmpty         | The user name cannot be empty. | You must provide a value for the user name. |

## User group errors

| Error code(visible in **dgc.log**)      | Structure of error message                                                            | Reason                                                                            |
| --------------------------------------- | ------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- |
| importCommandUserGroupNameInvalidLength | The user group name must have between {0} and {1} characters, but had {2} characters. | The user group name length must be within the range defined in the error message. |

## General errors

| Error code(visible in **dgc.log**) | Structure of error message                          | Reason                                                                     |
| ---------------------------------- | --------------------------------------------------- | -------------------------------------------------------------------------- |
| importError                        | The import failed.                                  | A generic import error for issues that have no obvious solution.           |
| synchronizationError               | The synchronization failed.                         | A generic synchronization error for issues that have no obvious solution.  |
| errorHelp                          | Line {0} contains the following error(s):           | N/A                                                                        |
| importErrorsLines                  | Line {0} contains the following error(s):           | N/A                                                                        |
| importProcessingError              | The input processing did not complete successfully. | A generic processing error for issues that have no obvious solution.       |
| importValidationError              | The input validation did not complete successfully. | A generic input validation error for issues that have no obvious solution. |

## API request errors

| Error code(visible in **dgc.log**) | Structure of error message                                             | Reason                                                                                        |
| ---------------------------------- | ---------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- |
| importRequestFileNotSpecified      | The request must contain the file ID or the file stream, but not both. | The file ID and file stream are mutually exclusive .You must provide at least one of the two. |
| importRequestFileNotSpecifiedHelp  | Enter the file ID or file stream in the request.                       | N/A                                                                                           |
| importRequestFileNameBlank         | You provided a file stream. You must also provide a file name.         | You must provide the file name if you used file stream as an input parameter.                 |

## Import parameters validation errors

| Error code(visible in **dgc.log**)                                    | Structure of error message                                                                                                                                            | Reason                                                                                                                            |
| --------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- |
| importParametersBatchSizeInvalidValue                                 | The expected batch size value is between {0} and {1} but was {2}.                                                                                                     | The batch size must have a value within the range defined in the error message.                                                   |
| importParametersCsvSeparatorNull                                      | The CSV separator must be provided. Specify the CSV separator.                                                                                                        | The CSV separator character is a mandatory parameter.                                                                             |
| importParametersCsvQuoteNull                                          | The CSV quote character must be provided. Specify the CSV quote character.                                                                                            | The CSV quote character is a mandatory parameter.                                                                                 |
| importParametersCsvEscapeNull                                         | The CSV escape character must be provided. Specify the CSV escape character.                                                                                          | The CSV escape character is a mandatory parameter.                                                                                |
| importParametersExcelSheetAmbiguous                                   | You cannot provide the Excel sheet index and the sheet name at the same time (sheet index = ''{0}'', sheet name = ''{1}'').                                           | The Excel sheet index and Excel sheet name parameters are mutually exclusive. You can only provide one at a time.                 |
| importParametersFileIdNull                                            | The file ID must be provided.                                                                                                                                         | The file ID is a mandatory parameter.                                                                                             |
| importParametersSynchronizationIdBlank                                | The synchronization ID must be provided for a synchronization operation. Specify the synchronization ID.                                                              | The synchronization ID is mandatory for synchronizations.                                                                         |
| importParametersSynchronizationIdInvalidLength                        | The synchronization ID must have between {0} and {1} characters, but was {2}.                                                                                         | The synchronization ID length must be within the range defined in the error message.                                              |
| importParametersSynchronizationIdNotNull                              | The synchronization ID must not be provided for an import operation.                                                                                                  | The synchronization ID must not be provided for regular import.                                                                   |
| importParametersTemplateBlank                                         | The [JSON template](/api/guides/import-api/importing-csv-and-excel-files/formatting-json-template-files) must be provided.                                            | The JSON template is a mandatory parameter.                                                                                       |
| importParametersTemplateInvalid                                       | The [JSON template](/api/guides/import-api/importing-csv-and-excel-files/formatting-json-template-files) is invalid.                                                  | The JSON template does not follow the JSON syntax.                                                                                |
| importParametersTemplatePlaceholderMissing                            | The [JSON template](/api/guides/import-api/importing-csv-and-excel-files/formatting-json-template-files) must contain at least one placeholder.                       | You must provide at least one placeholder in the JSON template, representing the data that must be retrieved from a tabular file. |
| importParametersTemplatePlaceholderInvalid                            | The [JSON template](/api/guides/import-api/importing-csv-and-excel-files/formatting-json-template-files) must contain placeholders that are positive integer numbers. | The JSON template contains '${0}' as placeholder.                                                                                 |
| synchronizationAdministrationParametersSynchronizationIdBlank         | The synchronization ID must be provided. Specify the synchronization ID.                                                                                              | The synchronization ID is a mandatory parameter for synchronization administration.                                               |
| synchronizationAdministrationParametersSynchronizationIdInvalidLength | The synchronization ID must have between {0} and {1} characters, but was {2}.                                                                                         | The synchronization ID must have a value within the range defined in the error message.                                           |

## JSON input parsing errors

| Error code(visible in **dgc.log**) | Structure of error message                                                                              | Reason |
| ---------------------------------- | ------------------------------------------------------------------------------------------------------- | ------ |
| importJsonParsingGeneralError      | An error occurred when parsing the JSON file.                                                           | N/A    |
| importJsonParsingErrorWithPosition | An error occurred when parsing the JSON file, caused by: {0}, localized at line = {1} and column = {2}. | N/A    |

## Template parsing errors

| Error code(visible in **dgc.log**) | Structure of error message                                                                                                                               | Reason                                             |
| ---------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------- |
| importJsonTemplateGeneralError     | An error occurred when parsing the [JSON template](/api/guides/import-api/importing-csv-and-excel-files/formatting-json-template-files), caused by: {0}. | The JSON template does not follow the JSON syntax. |

## Excel parsing errors

| Error code(visible in **dgc.log**) | Structure of error message                                     | Reason                                                       |
| ---------------------------------- | -------------------------------------------------------------- | ------------------------------------------------------------ |
| importExcelParsingGeneralError     | An error occurred when parsing the Excel file, caused by: {0}. | The file you provided is not a valid Excel file.             |
| importExcelParsingEmptyFile        | The Excel sheet {0} contains no data.                          | The Excel sheet used for import or synchronization is empty. |

## Table view config parsing errors

| Error code(visible in **dgc.log**) | Structure of error message                       | Reason                                                                                          |
| ---------------------------------- | ------------------------------------------------ | ----------------------------------------------------------------------------------------------- |
| importTableViewConfigParsingError  | An error occurred while parsing TableViewConfig. | The table view configuration does not follow the JSON syntax or contains unexpected JSON nodes. |

## Concurrent import errors

| Error code(visible in **dgc.log**)      | Structure of error message                                                                                                       | Reason                                                                                                             |
| --------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------ |
| importConcurrentAddEntityWithSameId     | The concurrent import caused a constraint violation.                                                                             | More than one import or synchronization job running concurrently contains the same resource that needs be added.   |
| importConcurrentAddEntityWithSameIdHelp | This can happen when the same resource is added twice. Ensure multiple import batches do not contain the same resources.         | N/A                                                                                                                |
| importConcurrentEntityUpdate            | The concurrent import caused an update exception.                                                                                | More than one import or synchronization job running concurrently contains the same resource that needs be updated. |
| importConcurrentEntityUpdateHelp        | This can happen when the same resource is updated in parallel. Ensure multiple import batches do not contain the same resources. | N/A                                                                                                                |

## Synchronization errors

| Error code(visible in **dgc.log**)              | Structure of error message                                                                                           | Reason                                                                                                                                                           |
| ----------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| importSynchronizationFinalizationAlreadyRunning | You cannot start the synchronization import for synchronization ID (''{0}'') while a cleanup is in progress for it.  | The finalization step of a synchronization is in progress. During this time, you cannot run any other synchronization operation for the same synchronization ID. |
| importFinalizationSynchronizationAlreadyRunning | You cannot start the synchronization cleanup for synchronization ID (''{0}'') while an import is in progress for it. | The synchronization operation is in progress. During this time you cannot run the finalization step for the same synchronization ID.                             |


# Common concepts

The Knowledge Graph API is a lightweight graph query engine based on industry-standard [GraphQL](https://graphql.org/) language. It provides a single API to query most of the Collibra entities, such as assets, communities, domains and types, using SQL-like filtering capabilities. You can also sort entities using any of the available properties and page the results. As it's a query engine, it only provides read capabilities and no mutations are involved.


# API endpoint

The API is available at this URL:

https\://\<your\_collibra\_url>/graphql/knowledgeGraph/v1

Because of the wide adoption of the GraphQL there are many UI applications that can help you write and run your queries, such as [Postman](https://www.postman.com/), [Insomnia](https://insomnia.rest/), or [Altair](https://altairgraphql.dev/). Before you start using the Knowledge Graph API, if you haven't done so already, please familiarize yourself with the core concepts of GraphQL.


# Understanding the query language

The API model has a set of well-defined entities and relations that allow you to create a single-rooted tree graph query and specify constraints that must exist for any of the resulting nodes, such as results filtering.

For example, to query all assets of type Business Term and their respective domain and community, specify the following tree graph:

![graph](/files/fOkls7TB5LLXi0c1VT7s)


# Fields

The following basic query retrieves a list of assets with their IDs and full names:

<table data-header-hidden><thead><tr><th></th><th></th></tr></thead><tbody><tr><td><pre><code>query {
    assets {
        id
        fullName
    }
}
</code></pre></td><td><pre><code>{
  "data": {
    "assets": [
      {
        "id": "47741d1f-4d0b-4af0-a907-78782f9dca46",
        "fullName": "First Asset"
      },
      {
        "id": "b34cc4dd-0f7d-4e06-82e6-9cf6e7ddf113",
        "fullName": "Another Asset"
      },
      ...
    ]
  }
}
</code></pre></td></tr></tbody></table>


# Related entities

Some fields can refer to other entities. In this case, you can make a sub-selection of fields for that entity. GraphQL queries can traverse related entities and their fields, allowing you to retrieve related data in one request. The following example adds the asset parent domain and parent community to the initial basic query:

<table data-header-hidden><thead><tr><th></th><th></th></tr></thead><tbody><tr><td><pre><code>query {
    assets {
        id
        fullName
        domain {
            name
            parent {
                name
            }
        }
    }
}
</code></pre></td><td><pre><code>{
  "data": {
    "assets": [
      {
        "id": "00000000-0000-0000-0000-000000005015",
        "fullName": "Community Manager",
        "domain": {
          "name": "Roles",
          "parent": {
            "name": "Admin Community"
          }
        }
      }
    ]
  }
}
</code></pre></td></tr></tbody></table>

Some fields are collections and they can contain multiple related entities, for example a community can have multiple child domains:

<table data-header-hidden><thead><tr><th></th><th></th></tr></thead><tbody><tr><td><pre><code>query {
    communities(limit: 1) {
        name
        subDomains(limit: 3) {
            name
        }
    }
}
</code></pre></td><td><pre><code>{
  "data": {
    "communities": [
      {
        "name": "Admin Community",
        "subDomains": [
          {
            "name": "System"
          },
          {
            "name": "Workflow Definitions"
          },
          {
            "name": "Complex Relations"
          }
        ]
      }
    ]
  }
}
</code></pre></td></tr></tbody></table>

{% hint style="info" %}
For every collection field you can specify the maximum number of returned items with the `limit` argument. For additional details, see [Pagination](/api/guides/knowledge-graph/pagination).
{% endhint %}


# Filtering

You can narrow down the contents of a collection field using one or more filter arguments. a community that has name **Business Analysts Community**:

```graphql
query {
    communities (where: {name: {eq: "Business Analysts Community"}}) {
        id
        name
    }
}
```

The available operators depend on the field type. You can find the complete list of filter operators in the [Filter operators](/api/guides/knowledge-graph/filtering/filter-operators) section.

To combine multiple filters, put them next to one another. All such filters are related to one another using the implicit boolean `AND` operator. The following example is a query for communities that have been created by a user with the first name **Admin** and the last name **Istrator**:

```graphql
query {
    communities(
        where: {
            createdBy: { firstName: { eq: "Admin" }, lastName: { eq: "Istrator" } }
        }
    ) {
        id
        name
    }
}
```

You can also combine multiple filters or alter the filtering logic by explicitly using one of the boolean operators: `AND` or `OR`. This example is the equivalent the query above:

```graphql
query {
    communities(
        where: {
            createdBy: {
                _and: [{ firstName: { eq: "Admin" } }, { lastName: { eq: "Istrator" } }]
            }
        }
    ) {
        id
        name
    }
}
```

The same rules apply to the usage of the `OR` filter. The following example is a query for communities that have been created by a user whose first name is either **Admin** or contains the letter **S**:

```graphql
query {
    communities(
        where: {
            createdBy: {
                _or: [{ firstName: { eq: "Admin" } }, { firstName: { contains: "S" } }]
            }
        }
    ) {
        id
        name
        createdBy {
            fullName
        }
    }
}
```

To combine operators or to use filtering on the same field more then once, you must explicitly provide the boolean operators:

```graphql
query {
    communities(
        where: {
            _and: [
                {_or: [{name: {contains: "Data"}}, {description: {contains: "Data"}}]}
                {system: false}
            ]
        }
    ) {
        id
        name
        description
        system
    }
}
```

```graphql
query {
    communities(
        where: {
            _and: [
                {name: {endsWith: "Blocks"}}
                {name: {contains: "building"}}
            ]
        }
    ) {
        id
        name
    }
}
```

Filtering is not limited to the queried entity but you can also filter on the fields of related entities. The following query retrieves assets from domains that belong to the **Finance**:

```graphql
query {
    assets(where: {
        domain: {
            parent: {
                name : {eq: "Finance"}
            }
        }
    }) {
        fullName
    }
}
```

{% hint style="danger" %}
Due to technical limitations not all of those rules apply to **stringValues** of **MultiValueAttributes**. When filtering, use either the `contains` operator to match a single value, or `eq` separated by semicolon to match all of them:

```graphql
query {
    assets(where: {multiValueAttributes: {any: {stringValues: {contains: "Success"}}}}) {
        id
        fullName
        multiValueAttributes {
            stringValues
        }
    }
}
```

```graphql
query {
    assets(where: {multiValueAttributes: {any: {stringValues: {eq: "Failed;Success"}}}}) {
        id
        fullName
        multiValueAttributes {
            stringValues
        }
    }
}
```

{% endhint %}


# Filter operators

## String

| Name          | Description                     |
| ------------- | ------------------------------- |
| startsWith    | Starts with                     |
| notStartsWith | Not starts with                 |
| endsWith      | Ends with                       |
| notEndsWith   | Not ends with                   |
| contains      | Contains                        |
| notContains   | Does not contain                |
| eq            | Equals                          |
| gt            | Greater than                    |
| gte           | Greater than or equals          |
| in            | Equals to one of the values     |
| notIn         | Not equals to any of the values |
| lt            | Less than                       |
| lte           | Less than or equals             |
| ne            | Not equals                      |
| null          | The field value is null         |

## Float, Date, DateTime, UUID

| Name | Description             |
| ---- | ----------------------- |
| eq   | Equals                  |
| gt   | Greater than            |
| gte  | Greater than or equals  |
| lt   | Less than               |
| lte  | Less than or equals     |
| ne   | Not equals              |
| null | The field value is null |


# Collections filtering

In addition to entity properties, you can apply filtering on collections that are in relation with those entities, with the following operators:

## Operators

| Name         | Type                      | Description                                                                                                                                                       |
| ------------ | ------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| any          | Depends on the collection | Any of the collection items matches the given expression.                                                                                                         |
| all          | Depends on the collection | Every collection item matches the given expression.                                                                                                               |
| none         | Depends on the collection | None of the collection items matches the given expression.                                                                                                        |
| empty        | Boolean                   | The target collection is empty.                                                                                                                                   |
| typePublicId | String                    | Only available for the `typed` collections, such as asset attributes or relations. Allows you to filter collection elements by the public ID of the element type. |

{% hint style="info" %}
You can only use one of the `any`, `all`, `none`, and `empty` operators in the same collection filter expression.
{% endhint %}

### The `any` operator

This filtering operator means that any of the related entities fulfill the given criteria. The following example is a query for all assets with a **stringAttribute** that contains the word **personal** and is created by user with first name **Admin**:

```graphql
query {
    assets(
        where: {
            stringAttributes: {
                any: {_and: [
                    {stringValue: {contains: "Personal"}}
                    {createdBy: {firstName: {eq: "Admin"}}}
                ]}}
        }
    ) {
        id
        fullName
        stringAttributes {
            stringValue
            createdBy {
                firstName
            }
        }
    }
}
```

The response contains all assets that have a string attribute containing the word **personal** and created by a user with first name **Admin** but all of the other string attributes are returned. To further narrow down the results and only get the descriptions, add another filter on the inner **stringAttributes** field:

```graphql
query {
    assets(
        where: {
            stringAttributes: {any: {_and: [
                {stringValue: {contains: "Personal"}}
                {createdBy: {firstName: {eq: "Admin"}}}
            ]}}
        }
    ) {
        id
        fullName
        stringAttributes(where: {createdBy: {firstName: {eq: "Admin"}}}) {
            stringValue
            createdBy {
                firstName
            }
        }
    }
}
```

### The `all` operator

This filtering operator means that every entity fulfills the given criteria. The following example is a query for domains where all of the assets have the status **Accepted**:

```graphql
query {
    domains(
        where: { assets: { all: { status: { name: { eq: "Accepted" } } } } }
    ) {
        id
        assets {
            fullName
            status {
                name
            }
        }
    }
}
```

### The `none` operator

This filtering operator means that none of the entities fulfills the given criteria. This example demonstrates how to query the opposite of the `all` query example, domains where none of their assets have the status **Accepted**:

```graphql
query {
    domains(
        where: { assets: { none: { status: { name: { eq: "Accepted" } } } } }
    ) {
        id
        assets {
            fullName
            status {
                name
            }
        }
    }
}
```

The difference between using `{ all: { status: { name: { ne: "Accepted" } } } }` and `{ none: { status: { name: { eq: "Accepted" } } } }` is that for the `none` condition, the response contains domains where there are no assets or there are assets with no status set.

### The `empty` operator

This operator specifies that a given collection is empty. The following example is a query for all of the assets that don't have any `dateAttributes` assigned:

```graphql
query {
    assets(where: { dateAttributes: { empty: true } }) {
        id
        fullName
        dateAttributes {
            type {
                name
            }
            dateValue
        }
    }
}
```

### The `typePublicId` operator

This filtering operator restricts the next filtering condition to only apply on a given type of relation. It is the equivalent of `{ type: { publicId: { eq: "someValue" } } }`.

You can add the filter in a collection filter using the implicit `AND`. The following example returns assets that don't have any **stringAttributes** that have a **publicId** equal to **Note**:

```graphql
query {
    assets(where: { stringAttributes: { typePublicId: "Note", empty: true } }) {
        id
        fullName
        stringAttributes(where: { type: { publicId: { eq: "Note" } } }) {
            stringValue
            type {
                name
            }
        }
    }
}
```

In all of the above examples the query fetches the fields you are filtering on even though this is not necessary. If you don't need to verify the results, the above query is going to return the same asset data when omitting fetching the **stringAttributes**:

```graphql
query {
    assets(where: { stringAttributes: { typePublicId: "Note", empty: true } }) {
        id
        fullName
    }
}
```


# Field aliases

Use aliases to query the same type of entity collections more than once and make a distinction between them, for example, assets with their definitions and descriptive examples. Both of them are **stringAttributes** so it might not be obvious at first sight which response part belongs to which attribute. Using aliases makes the response easier to read as you don't need to look at the type returned by each node and can even skip it:

<table data-header-hidden><thead><tr><th></th><th></th></tr></thead><tbody><tr><td><pre><code>query {
    assets(where: {id: {eq: "c500633c-2c1a-4990-afcd-274cbde93500"}}) {
        definitions: stringAttributes(where: {
            type: {publicId: {eq: "Definition"} }
        }) {
            stringValue
        }
        examples: stringAttributes(where: {
            type: {publicId: {eq: "DescriptiveExample"} }
        }) {
            stringValue
        }
    }
}
</code></pre></td><td><pre><code>{
  "data": {
    "assets": [
      {
        "id": "c500633c-2c1a-4990-afcd-274cbde93500",
        "definitions": [
          {
            "stringValue": "definition"
          }
        ],
        "examples": [
          {
            "stringValue": "example"
          }
        ]
      }
    ]
  }
}
</code></pre></td></tr></tbody></table>


# Sorting query results

You can sort the query results on one or more fields. If you have multiple fields to sort on, you must enclose them in an array and set the sorting order by rearranging the array elements. For each sorting field you must specify the order direction:

* Ascending: `asc`.
* Descending: `desc`.

To retrieve a list of assets ordered by their full names in ascending order use the following query:

```graphql
query {
    assets(order: {fullName: asc} ) {
        fullName
    }
}
```

To retrieve a list of assets ordered first by the parent domain name and then by the asset full name use the following query:

```graphql
query {
    assets(order: [ {domain: {name: asc}}, {fullName: desc} ]) {
        domain {
            name
        }
        fullName
    }
}
```

{% hint style="info" %}
If you don't provide any order field, the entities are sorted in ascending order of their IDs.
{% endhint %}


# Pagination

You can use the following arguments for every collection field to page the results:

| Name   | Default value | Description                 |
| ------ | ------------- | --------------------------- |
| limit  | 10            | The maximum items to return |
| offset | 0             | The number of items to skip |

To select communities from 5th to 10th, each with a maximum of two child domains, use the following query:

```graphql
query {
  communities(limit: 5, offset: 5) {
    subDomains(limit: 2) {
      name
    }
  }
}
```

Offset-based pagination works well for the first pages, but using a very large offset will have a negative impact on performance. If you need to select many assets in small chunks it's better to achieve pagination using a `where` argument. For example, to fetch the first page, use:

{% code title="Query" %}

```graphql
query {
  assets(
    order: { id: asc }
    where: { id: { gt: "00000000-0000-0000-0000-000000000000" } }
  ) {
    id
    fullName
  }
}
```

{% endcode %}

{% code title="Response" %}

```json
{
  "data": {
    "assets": [
      {
        "id": "00000000-0000-0000-0000-000000008001",
        "fullName": "Data Quality Issue"
      },
      {
        "id": "00000000-0000-0000-0000-000000008002",
        "fullName": "Data Policy Issue"
      },
      {
        "id": "00000000-0000-0000-0000-000000008003",
        "fullName": "Data Definition Issue"
      },
      {
        "id": "00000000-0000-0000-0000-000000008004",
        "fullName": "Completeness Issue"
      },
      {
        "id": "00000000-0000-0000-0000-000000008005",
        "fullName": "Conformity Issue"
      },
      {
        "id": "00000000-0000-0000-0000-000000008006",
        "fullName": "Consistency Issue"
      },
      {
        "id": "00000000-0000-0000-0000-000000008007",
        "fullName": "Accuracy Issue"
      },
      {
        "id": "00000000-0000-0000-0000-000000008008",
        "fullName": "Duplication Issue"
      },
      {
        "id": "00000000-0000-0000-0000-000000008009",
        "fullName": "Integrity Issue"
      },
      {
        "id": "00000000-0000-0000-0000-000000008010",
        "fullName": "Policy non Compliance Issue"
      }
    ]
  }
}
```

{% endcode %}

For each of the next pages, use the ID of the last item in the where clause. In this example, with the default limit of 10 elements it's going to be `00000000-0000-0000-0000-000000008010`.

{% code title="Query" %}

```graphql
query {
  assets(
    order: { id: asc }
    where: { id: { gt: "00000000-0000-0000-0000-000000008010" } }
  ) {
    id
    fullName
  }
}
```

{% endcode %}

{% code title="Response" %}

```json
{
  "data": {
    "assets": [
      {
        "id": "00000000-0000-0000-0000-000000008011",
        "fullName": "Policy Is Missing"
      },
      {
        "id": "00000000-0000-0000-0000-000000008012",
        "fullName": "Definition not Clear"
      },
      {
        "id": "00000000-0000-0000-0000-000000008013",
        "fullName": "Definition not Correct"
      },
      {
        "id": "00000000-0000-0000-0000-000000008014",
        "fullName": "Definition Is Missing"
      },
      {
        "id": "00000000-0000-0000-0000-000000008041",
        "fullName": "Completeness"
      },
      {
        "id": "00000000-0000-0000-0000-000000008042",
        "fullName": "Conformity"
      },
      {
        "id": "00000000-0000-0000-0000-000000008043",
        "fullName": "Consistency"
      },
      {
        "id": "00000000-0000-0000-0000-000000008044",
        "fullName": "Accuracy"
      },
      {
        "id": "00000000-0000-0000-0000-000000008045",
        "fullName": "Duplication"
      },
      {
        "id": "00000000-0000-0000-0000-000000008046",
        "fullName": "Integrity"
      }
    ]
  }
}
```

{% endcode %}


# Limits

To limit the amount of resources used by a single query, you can retrieve a maximum of 100,000 nodes in a single query. A query that can potentially return more than this limit is not executed and an error message is returned in the response:

```json
{
  "errors": [
    {
      "message": "The query has exceeded the size limit. Your request is for 101000 fields, while the maximum limit is 100000 fields.",
      "locations": [
        {
          "line": -1,
          "column": -1
        }
      ],
      "extensions": {
        "classification": "ValidationError"
      }
    }
  ]
}
```

{% hint style="warning" %}
The number of nodes is calculated before executing the query and is based on limit parameters. The actual count of nodes that would be returned does not matter. This is to avoid that the query would succeed or fail depending on the data that is present in the system at a given point in time.
{% endhint %}

The number of nodes for a query is calculated as the number of root nodes multiplied by the total number of child nodes. The same calculation is applied recursively for each level of parent-child relationships in the query.

The following query can potentially return 135 nodes:

```graphql
query {
    communities(limit: 3) {        # 135 = 3 + (3 * 44)
        name
        subCommunities(limit: 4) { # 44 = 4 + (4 * 10)
            name
            subDomains(limit: 5) { # 10 = 5 + (5 * 1)
                name
                createdBy {        # 1
                    firstName
                    lastName
                }
            }
        }
    }
}
```

If you don’t specify a limit, the default value of `10` applies. The size of the following query is 110 nodes:

```graphql
query {
    communities {    # 110 = 10 + (10 * 10)
        name
        subDomains { # 10
            name
        }
    }
}
```


# Examples

## Communities and domains

A community or domain tree, starting from top-level communities:

```graphql
query {
    communities(where: {parent: {_null: true}}) {
        name
        subCommunities {
            name
            subDomains {
                name
            }
        }
        subDomains {
            name
        }
    }
}
```

Domains filtered by the parent community name, including the parent community and responsibilities:

```graphql
query {
    domains(where: {parent: {name: {contains: "Data"}}}) {
        name
        parent {
            name
        }
        responsibilities {
            userGroup {
                name
            }
            user {
                fullName
            }
        }
    }
}
```

Domains that have at least one asset, including the first five assets:

```graphql
query {
    domains(
        where: { assets: {any: {id: {null: false} } } }
    ) {
        name
        assets(limit: 5) {
            fullName
        }
    }
}
```

## Assets

Assets from a particular domain identified by ID, sorted by creation date, including asset tags:

```graphql
query {
    assets(
        where: {domain: {id: {eq: "00000000-0000-0000-0001-000200000001"}}}
        order: {createdOn: desc}
    ) {
        id
        type {
            publicId
        }
        displayName
        fullName
        createdOn
        createdBy {
            fullName
        }
        tags {
            name
        }
    }
}
```

Assets from a particular domain identified by name, having at least one attribute, including all attributes:

```graphql
query {
    assets(where: {
        domain: {name: {eq: "New Data Sets"}}
        attributes: {any: {id: {null: false}}}
    }) {
        fullName
        stringAttributes {
            type {
                publicId
            }
            stringValue
        }
        numericAttributes {
            type {
                publicId
            }
            numericValue
        }
        dateAttributes {
            type {
                publicId
            }
            dateValue
        }
        booleanAttributes {
            type {
                publicId
            }
            booleanValue
        }
    }
}
```

Assets filtered by attribute value, including the parent domain and two specific attributes:

```graphql
query {
    assets( where: { stringAttributes: { typePublicId: "DataType", any: { stringValue: { eq: "Whole Number" } } } } ) {
        fullName
        domain {
            name
        }
        dataType: stringAttributes(where: { type: { publicId: { eq: "DataType" } } } ) {
            stringValue
        }
        description: stringAttributes(where: { type: { publicId: { eq: "Description" } } } ) {
            stringValue
        }
    }
}
```

An asset identified by ID, including all incoming and outgoing relations:

```graphql
query {
    assets (
        where: {id: {eq: "ddd9f9c5-87cf-421f-a406-a52144c693d0"}}
    ) {
        fullName
        outgoingRelations {
            type {
                publicId
            }
            target {
                id
                fullName
            }
        }
        incomingRelations {
            type {
                publicId
            }
            source {
                id
                fullName
            }
        }
    }
}
```

An asset with two different relation types:

```graphql
query {
    assets (
        where: {id: {eq: "ddd9f9c5-87cf-421f-a406-a52144c693d0"}}
    ) {
        fullName
        children: outgoingRelations(
            where: {type: {publicId: {eq: "BusinessAssetGroupsBusinessAsset"}}}
        ) {
            target {
                id
                fullName
            }
        }
        acronyms: outgoingRelations(
            where: {type: {publicId: {eq: "BusinessAssetHasAcronymAcronym"}}}
        ) {
            target {
                id
                fullName
            }
        }
    }
}
```

Assets identified by the related asset ID and the relation type:

```graphql
query {
    assets (
        where: {
            incomingRelations: { any: {
                source: {id: {eq: "ddd9f9c5-87cf-421f-a406-a52144c693d0"}}
                type: { publicId: {eq: "BusinessAssetGroupsBusinessAsset"}}
            }}
        }) {
        fullName
        incomingRelations {
            type { publicId }
        }
    }
}
```

Assets with description attribute:

```graphql
query {
    assets(where: {
        attributes: {
            typePublicId: "Description"
            empty: false
        }
    })
    {
        fullName
        descriptions: stringAttributes(
            where: { type: { publicId: { eq: "Description" } } }
        ) {
            stringValue
        }
    }
}
```

## Schemas, tables, and columns

![schema table column](/files/GDMGJK7fd0pes6NE1KLb)

Top-down query (Schema → Table → Column):

```graphql
query {
    schemas: assets(where: { type: { publicId: {eq: "Schema"}}  }) {
        displayName
        tables: outgoingRelations(where: { type: { publicId: {eq: "SchemaContainsTable"}}  }) {
            target {
                displayName
                columns: incomingRelations(where: { type: { publicId: {eq: "ColumnIsPartOfTable"}}  }) {
                    source {
                        displayName
                    }
                }
            }
        }
    }
}
```

Bottom-up query (Column → Table → Schema):

```graphql
query {
    columns: assets(where: { type: { publicId: {eq: "Column"}}  }) {
        displayName
        tables: outgoingRelations(where: { type: { publicId: {eq: "ColumnIsPartOfTable"}}  }) {
            target {
                displayName
                schemas: incomingRelations(where: { type: { publicId: {eq: "SchemaContainsTable"}}  }) {
                    source {
                        displayName
                    }
                }
            }
        }
    }
}
```

Mixed query (Table → Schema, Table → Column)

```graphql
query {
    tables: assets(where: { type: { publicId: {eq: "Table"}}  }) {
        displayName
        columns: incomingRelations(where: { type: { publicId: {eq: "ColumnIsPartOfTable"}}  }) {
            source {
                displayName
            }
        }
        schemas: incomingRelations(where: { type: { publicId: {eq: "SchemaContainsTable"}}  }) {
            source {
                displayName
            }
        }
    }
}
```

Please note the following tradeoffs for the above queries:

* For the first query it might be difficult to set the limits in the right way as each schema can have a very different number of tables and the same thing happens for table to column relations.
* The second query duplicates each table and schema multiple times thus making it more difficult to read.
* The last query mixes both problems.

Sometimes you need to verify if the tree structure of the response is what you actually need. Consider using a query similar to the following example to specify the limits between all of the entities and still link them using the parent identifier:

```graphql
query {
    schemas: assets(
        where: {
            _and: [
                { type: { publicId: { eq: "Schema" } } }
                { domain: { parent: { name: { eq: "Schemas" } } } }
            ]
        }
    ) {
        id
        fullName
    }
    tables: assets(
        where: {
            _and: [
                { type: { publicId: { eq: "Table" } } }
                { domain: { parent: { name: { eq: "Schemas" } } } }
            ]
        }
    ) {
        fullName
        incomingRelations(where: {type: {publicId: {eq: "SchemaContainsTable"}}}) {
            source {
                id
            }
        }
    }
    columns: assets(
        where: {
            _and: [
                { type: { publicId: { eq: "Column" } } }
                { domain: { parent: { name: { eq: "Schemas" } } } }
            ]
        }
    ) {
        fullName
        outgoingRelations(where: {type: {publicId: {eq: "ColumnIsPartOfTable"}}}) {
            target {
                id
            }
        }
    }
}
```

## Complex relations

Complex relations including all legs:

```graphql
query {
    complexRelations {
        id
        relations {
            type {
                publicId
            }
            target {
                id
                displayName
            }
        }
    }
}
```

All complex relations related to a given asset:

```graphql
query {
    complexRelations(
        where: {
            outgoingRelations: {
                any: { target: { id: { eq: "51f986dc-e19a-4d39-b762-b941c506fafc" } } }
            }
        }
    ) {
        outgoingRelations {
            target {
                id
                fullName
            }
        }
    }
}
```

{% hint style="info" %}
Complex relations are always on the source side of a relation so there is no need to search for this asset in `incomingRelations`.
{% endhint %}


# The System for Cross-domain Identity Management

The System for Cross-domain Identity Management (SCIM) is an open standard formulated to oversee user and group identity information in a seamless manner. SCIM introduces a well-defined schema for the representation of users and groups, accompanied by a RESTful API tailored for executing CRUD operations on user and group assets.

The central objective of SCIM revolves around the secure and automated facilitation of user identity data interchange between your company’s Identity Provider (IdP) and Collibra.

Collibra has developed SCIM capabilities to align with industry standards, providing advantages such as:

* Efficient user and group management through automation of user and group provisioning, deprovisioning, and updates.
* Real-time data synchronization so you can keep user and group data in sync between your identity providers or identity governance tools and Collibra.
* Reduced manual effort to update identity data in Collibra and reduced risk of errors.
* Better user experience, with no need to wait to interact with any new user until the user has logged in for the very first time, known as Just in Time (JIT) provisioning.
* Reduced IT development needs, with no need for customized solutions.

## Use cases

| Use case             | Details                                                                                                                                                     | How SCIM helps                                                                                                                                                                                                                                |
| -------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| User provisioning    | Automatically create user accounts in Collibra when new users are added to your company’s IdP.                                                              | Enables your company’s IdP to trigger the creation of corresponding user accounts in Collibra. This eliminates manual account setup and ensures that users can access your application seamlessly, with no need to wait for JIT provisioning. |
| User deprovisioning  | Disable user accounts in Collibra when users are deactivated or deleted from your company’s IdP.                                                            | Facilitates the synchronization of user account status between your company’s IdP and Collibra. When a user is deactivated or deleted in the IdP, the corresponding user account in Collibra can be similarly disabled.                       |
| User updates         | Keep user information up-to-date across both your company’s IdP and Collibra, including changes to attributes such as name, email, phone number, and so on. | Enables synchronization of user attributes between your company’s IdP and Collibra. Any changes made in your company’s IdP, such as a user email address or department, can be automatically updated in Collibra.                             |
| Group provisioning   | Automatically create groups in Collibra based on group information defined in your company’s IdP.                                                           | Allows you to establish consistent group structures across both your company’s IdP and Collibra. Any new groups created in the IdP can be automatically replicated in Collibra.                                                               |
| Group deprovisioning | Delete groups in Collibra when they are no longer active or relevant in your company’s IdP.                                                                 | Enables the removal of corresponding groups in Collibra when they are deleted or deactivated in your company’s IdP. This helps maintain data consistency.                                                                                     |
| Group updates        | Keep group information synchronized between your company’s IdP and Collibra, including changes to group membership and attributes.                          | Ensures that any changes to group membership or attributes made in your company’s IdP are reflected in Collibra for accurate access control.                                                                                                  |

## Prerequisites

* You have a [global role](https://productresources.collibra.com/docs/collibra/latest/Default.htm#cshid=DOC0635) with the **Product Rights** > **System administration** [global permission](https://productresources.collibra.com/docs/collibra/latest/Default.htm#cshid=DOC0630).
* Administrator-level access to your company’s IdP.
* Basic understanding of how SCIM APIs work.
* A supported authentication and authorization method for SCIM.
* You have disabled the **Groups DGC managed** Console configuration option if you want to manage groups in your IdP.

Because the Collibra SCIM feature relies on an underlying API, proper authentication and authorization are prerequisites. Currently, our SCIM feature offers support for the following methods:

* Basic authentication
* JWT


# Okta authorization for SCIM

Collibra supports only basic and bearer token authentication with JWT.

{% tabs %}
{% tab title="Basic authentication" %}
To set up basic authentication, you create a new SCIM application and authenticate with Collibra:

{% stepper %}
{% step %}
Sign in to your Okta Admin Console and go to **Applications** → **Browse App Catalog**.
{% endstep %}

{% step %}
Search for and select the **SCIM 2.0 Test App (Basic Auth)** application.
{% endstep %}

{% step %}
Click **Add Integration**.
{% endstep %}

{% step %}
Modify the application level.
{% endstep %}

{% step %}
Click **Next** to select the **Sign-On options**.
{% endstep %}

{% step %}
Select the required **Sign-On method**.
{% endstep %}

{% step %}
Click **Done** to create the application.\ <i class="fa-chevrons-right">:chevrons-right:</i> Your newly created application appears in the list of **Applications**.
{% endstep %}

{% step %}
From the list of applications, select your new application → **Provisioning** → **Integration**.
{% endstep %}

{% step %}
Click **Configure API Integration** to enable the integration between Okta and Collibra SCIM.
{% endstep %}

{% step %}
Select the **Enable API integration** check box and enter the required information:

* **SCIM 2.0 Base Url**: The endpoint of the Collibra SCIM API, for example *https\://\<your\_collibra\_url>/rest/scim/v2*.
* **Username**: The user name of a dedicated Collibra user for this integration.
* **Password**: The password of a dedicated Collibra user for this integration.
  {% endstep %}

{% step %}
Click **Test API Credentials**.\ <i class="fa-chevrons-right">:chevrons-right:</i> If your credentials are successfully verified, Okta displays a confirmation message.
{% endstep %}

{% step %}
Click **Save** to complete the process.
{% endstep %}
{% endstepper %}
{% endtab %}

{% tab title="JWT authentication" %}

## Obtain a client ID and secret

{% stepper %}
{% step %}
Sign in to your Okta Admin Console and go to **Applications** → **Create App Integration**.
{% endstep %}

{% step %}
In the **Create a new app integration dialog box**, select **API Services**.
{% endstep %}

{% step %}
Click **Next**.
{% endstep %}

{% step %}
In the **New API Services App Integration** section, enter the name of your integration.
{% endstep %}

{% step %}
Click **Save**.\ <i class="fa-chevrons-right">:chevrons-right:</i> Your newly created application appears under **Applications** in Okta.
{% endstep %}

{% step %}
From the list of applications, open your new application.
{% endstep %}

{% step %}
Copy the **Client ID** and **Client Secret** for future use.
{% endstep %}
{% endstepper %}

## Obtain the **sub** and **aud** parameters

{% stepper %}
{% step %}
Sign in to your Okta Admin Console and go to **Security** → **API**.
{% endstep %}

{% step %}
Create a new scope:

1. In the **Authorization servers** section, select the **default** server → **Scopes**.
2. Click **Add Scope**.
3. In the **Add Scope** dialog box enter the required information.
4. Click **Save** and copy the scope name for future use.
   {% endstep %}

{% step %}
Obtain the **jwks\_uri** and **issuer** parameters:

1. In the **Authorization servers** section, select the **default** server → **Settings**.
2. Click the **Metadata URI** link.
3. From the JSON response, copy the **jwks\_uri** and **issuer** values for future use.
   {% endstep %}

{% step %}
Obtain an access token:

1. Send a POST request to the */v1/token* endpoint of the **issuer**, using your client ID, secret, and scope name:

   ```bash
   curl --request POST \
     --url \<issuer\>/v1/token \
     --header 'accept: application/json' \
     --header 'authorization: Basic \<base64_encoded(client_id;client_secret)\>' \
     --header 'cache-control: no-cache' \
     --header 'content-type: application/x-www-form-urlencoded' \
     --data 'grant_type=client_credentials&scope=\<scope_name\>'
   ```
2. From the response, copy the access token.
   {% endstep %}

{% step %}
Obtain the **sub** and **aud** parameters:

1. Decode the JWT with an application such as [JWT.io](https://jwt.io).
2. Copy the **sub** and **aud** parameters for future use.
   {% endstep %}
   {% endstepper %}

## Register the JWKS endpoint with Collibra

Follow the instructions to [Register the JWKS endpoint](https://productresources.collibra.com/docs/collibra/latest/Default.htm#cshid=DOC0773) with Collibra and use the following values:

| Collibra Console field | Value                                                              |
| ---------------------- | ------------------------------------------------------------------ |
| JSON Web Key Set URL   | The **jwks\_uri** from the JSON response of the Metadata URI link. |
| JWT Issuer             | The **issuer** from the JSON response of the Metadata URI link.    |
| JWT Audience           | The **aud** parameter from the decoded JWT.                        |

## Create a user in Collibra

Follow the instructions to [Create a user](https://productresources.collibra.com/docs/collibra/latest/Default.htm#cshid=DOC0655) in Collibra for your client application account:

| User details | Value                                                                                                              |
| ------------ | ------------------------------------------------------------------------------------------------------------------ |
| Username     | The **sub** parameter from the decoded JWT.                                                                        |
| User groups  | Assign the user to a group that has elevated permissions such as **Sysadmin** or one that has similar permissions. |

## Create a SCIM application

Create a new SCIM application and authenticate with Collibra:

{% stepper %}
{% step %}
Sign in to your Okta Admin Console and go to **Applications** → **Browse App Catalog**.
{% endstep %}

{% step %}
Search for and select the **SCIM 2.0 Test App (OAuth Bearer Token)** application.
{% endstep %}

{% step %}
Click **Add Integration**.
{% endstep %}

{% step %}
Modify the application level.
{% endstep %}

{% step %}
Click **Next** to select the **Sign-On options**.
{% endstep %}

{% step %}
Select the required **Sign-On method**.
{% endstep %}

{% step %}
Click **Done** to create the application.\ <i class="fa-chevrons-right">:chevrons-right:</i> Your newly created application appears under **Applications** in Okta.
{% endstep %}

{% step %}
From the list of applications, select your new application → **Provisioning** → **Integration**.
{% endstep %}

{% step %}
Click **Configure API Integration** to enable the integration between Okta and CollibraSCIM.
{% endstep %}

{% step %}
Select the **Enable API integration** check box and enter the required information:

* **SCIM 2.0 Base Url**: The endpoint of the CollibraSCIM API, for example *https\://\<your\_collibra\_url>/rest/scim/v2*.
* **OAuth Bearer Token**: Your JSON Web Token.
  {% endstep %}

{% step %}
Click **Test API Credentials**.\ <i class="fa-chevrons-right">:chevrons-right:</i> If your credentials are successfully verified, Okta displays a confirmation message.
{% endstep %}

{% step %}
Click **Save** to complete the process.
{% endstep %}
{% endstepper %}
{% endtab %}
{% endtabs %}

## Map SCIM app attributes

{% stepper %}
{% step %}
Sign in to your Okta Admin Console and select your application from the **Applications** list.
{% endstep %}

{% step %}
Select **Provisioning** → **To App**.
{% endstep %}

{% step %}
In the **Attribute Mappings** section, click **Go to Profile Editor**.
{% endstep %}

{% step %}
Click **Mappings** to select the **Sign-On options**.
{% endstep %}

{% step %}
In the **User Profile Mappings** dialog box, edit or add your desired mappings.

{% hint style="info" %}
Collibra supports a limited number of SCIM attributes.
{% endhint %}

| Attribute          | Attribute Type | Value                                                              | Apply on          |
| ------------------ | -------------- | ------------------------------------------------------------------ | ----------------- |
| Username           | Personal       | Configured in Sign On settings                                     |                   |
| Given name         | Personal       | `user.firstName`                                                   | Create and update |
| Family name        | Personal       | `user.lastName`                                                    | Create and update |
| Email              | Personal       | `user.email`                                                       | Create and update |
| Primary email type | Personal       | `(user.email !=null && user.email !='') ? 'work':''`               | Create and update |
| Title              | Personal       | `user.title`                                                       | Create and update |
| Department         | Personal       | `user.department`                                                  | Create and update |
| Profile Url        | Personal       | `user.profileUrl`                                                  | Create            |
| Primary phone      | Personal       | `user.primaryPhone`                                                | Create and update |
| Primary phone type | Personal       | `(user.primaryPhone !=null && user.primaryPhone !='') ? 'work':''` | Create and update |
| Address type       | Personal       | `(user.addressType !=null && user.addressType !='') ? 'work':''`   | Create and update |
| Street address     | Personal       | `user.streetAddress`                                               | Create and update |
| Locality           | Personal       | `user.city`                                                        | Create and update |
| Region             | Personal       | `user.state`                                                       | Create and update |
| Postal Code        | Personal       | `user.zipCode`                                                     | Create            |
| Country            | Personal       | `user.countryCode`                                                 | Create and update |
| Locale Name        | Group          | `user.locale`                                                      | Create and update |
| {% endstep %}      |                |                                                                    |                   |

{% step %}
Click **Save Mappings**.
{% endstep %}
{% endstepper %}

{% hint style="info" %}

* You cannot assign roles to users via SCIM. However, you can manage groups and group membership in your IdP and disable the **Groups DGC managed** Console configuration option. Following the initial provisioning, your IdP groups are available in Collibra and you can start assigning roles to them.
* Okta internally transmits an `externalId` attribute to Collibra, which maps it automatically.
* Collibra users have a single email address and an additional list of email addresses. In contrast, SCIM uses a list of email addresses. If the SCIM list contains only one email address or one of the email addresses is marked as primary, that email address becomes the Collibra user email address. If the SCIM list contains multiple email addresses and none is marked as primary, the operation returns an error.
  {% endhint %}

## Additional resources

* [Okta developer portal](https://developer.okta.com/)
* [Understanding SCIM](https://developer.okta.com/docs/concepts/scim/)
* [Prepare your SCIM API service](https://developer.okta.com/docs/guides/scim-provisioning-integration-prepare/main/)
* [Okta and SCIM Version 2.0](https://developer.okta.com/docs/reference/scim/scim-20/)
* Okta [Users API](https://developer.okta.com/docs/reference/api/users/)
* Okta [Groups API](https://developer.okta.com/docs/reference/api/groups/)
* [Build a JWT for Client Authentication](https://developer.okta.com/docs/guides/build-self-signed-jwt/main/)
* [Collibra JSON Web Token authentication guide](/tutorials/collibra-json-web-token-authentication-guide)
* [Collibra REST API authentication with JSON Web Token](/tutorials/collibra-rest-api-authentication-with-json-web-token)


# Microsoft Entra ID authorization for SCIM

Collibra supports only basic, bearer token authentication with JWT, and OAuth.

{% tabs %}
{% tab title="JWT authentication" %}
The following table summarizes acquiring and using JWT in Collibra REST API requests.

| Process                                            | Steps                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| -------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Initial setup                                      | <ol><li>Create a client credential account with a secret in your IdP.</li><li>Determine the JSON Web Key Set (JWKS) endpoint URL for your IdP.</li><li><a href="https://productresources.collibra.com/docs/collibra/latest/Default.htm#cshid=DOC0773">Register the JWKS endpoint</a> with Collibra.</li><li><p><a href="https://productresources.collibra.com/docs/collibra/latest/Default.htm#cshid=DOC0655">Create a user</a> in Collibra for your client application account.</p><div data-gb-custom-block data-tag="hint" data-style="success" class="hint hint-success"><p>Provide a meaningful first and last name to identify that this is a service account.</p></div></li></ol> |
| When your application starts                       | <ol><li>Authenticate your client application with your IdP.</li><li>Save the returned access token for use in REST API calls.</li></ol>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| When your application calls the Collibra REST APIs | <ol><li>Include the JWT token in the authorization HTTP header as a bearer token.</li><li>If the API call responds with <strong>unauthorized</strong>, the access token or JWKS credentials may have expired. Re-authenticate and retry the request.</li></ol>                                                                                                                                                                                                                                                                                                                                                                                                                           |

## Obtain the client secret

{% stepper %}
{% step %}
Sign in to your Microsoft Entra admin center.
{% endstep %}

{% step %}
Select **Entra ID** → **App registrations** → **New registration**.
{% endstep %}

{% step %}
On the **Register an application** page, enter the required information:

* **Name**: The name of your application.
* **Supported account types**: Select **Accounts in this organizational directory only (Single tenant)**.
  {% endstep %}

{% step %}
Click **Register**.
{% endstep %}

{% step %}
In the **Manage** section of your application page, select **Certificates & secrets** → **Client secrets**.
{% endstep %}

{% step %}
Click **New client secret**.
{% endstep %}

{% step %}
In the **Add a client secret** dialog box, enter the required information:

* **Description**: The description of your client secret.
* **Expires**: Select an expiry period.
  {% endstep %}

{% step %}
Click **Add**.\ <i class="fa-chevrons-right">:chevrons-right:</i> Your new secret is generated and added to the **Client secrets** list.
{% endstep %}

{% step %}
Copy the **Value** of your secret for future use.
{% endstep %}
{% endstepper %}

## Obtain the client and tenant IDs

{% stepper %}
{% step %}
Sign in to your Microsoft Entra admin center.
{% endstep %}

{% step %}
Select **Entra ID** → **App registrations** → your application.
{% endstep %}

{% step %}
In the **Overview** section, copy the **Application (client) ID** and **Directory (tenant) ID** values for future use.
{% endstep %}
{% endstepper %}

## Obtain the **jwks\_uri** parameter

1. Request a verbose output from *<https://login.microsoftonline.com/\\>\<tenant\_id>/.well-known/openid-configuration*.
2. From the JSON response, copy the **jwks\_uri** value for future use.

## Obtain the **typ**, **iss**, **sub**, and **aud** parameters

{% stepper %}
{% step %}
Send a POST request to the *<https://login.microsoftonline.com/\\>\<tenant\_id>/oauth2/v2.0/token* endpoint using your tenant ID, client ID, and client secret:

{% tabs %}
{% tab title="Windows, Postman, Powershell" %}

```bash
curl -X POST -H 'Content-Type: application/x-www-form-urlencoded' \
  https://login.microsoftonline.com/<tenant_id>/oauth2/v2.0/token \
  -d 'client_id=<client_id>' \
  -d 'grant_type=client_credentials' \
  -d 'scope=2ff814a6-3304-4ab8-85cb-cd0e6f879c1d/.default' \
  -d 'client_secret=<client_secret>'
```

{% endtab %}

{% tab title="Linux, Mac" %}

```bash
curl -X POST -H 'Content-Type: application/x-www-form-urlencoded' \
  https://login.microsoftonline.com/<tenant_id>/oauth2/v2.0/token \
  -d 'client_id=<client_id>' \
  -d 'grant_type=client_credentials' \
  -d 'scope=2ff814a6-3304-4ab8-85cb-cd0e6f879c1d%2F.default' \
  -d 'client_secret=<client_secret>'
```

{% endtab %}
{% endtabs %}
{% endstep %}

{% step %}
From the response, copy the access token.
{% endstep %}

{% step %}
Decode the JWT with an application such as [JWT.io](https://jwt.io).
{% endstep %}

{% step %}
Copy the **typ**, **iss**, **sub**, and **aud** parameters for future use.
{% endstep %}
{% endstepper %}

## Register the JWKS endpoint with Collibra

Follow the instructions to [Register the JWKS endpoint](https://productresources.collibra.com/docs/collibra/latest/Default.htm#cshid=DOC0773) with Collibra and use the following values:

| Collibra Console field | Value                                                                      |
| ---------------------- | -------------------------------------------------------------------------- |
| JSON Web Key Set URL   | The **jwks\_uri** from the verbose output.                                 |
| JWT Token Types        | The **typ** parameter from the decoded JWT.                                |
| JWT Issuer             | The **iss** parameter from the decoded JWT without the trailing tenant ID. |
| JWT Audience           | The **aud** parameter from the decoded JWT.                                |

## Create a user in Collibra

Follow the instructions to [Create a user](https://productresources.collibra.com/docs/collibra/latest/Default.htm#cshid=DOC0655) in Collibra for your client application account:

| User details | Value                                                                                                              |
| ------------ | ------------------------------------------------------------------------------------------------------------------ |
| Username     | The **sub** parameter from the decoded JWT.                                                                        |
| User groups  | Assign the user to a group that has elevated permissions such as **Sysadmin** or one that has similar permissions. |

## Create a SCIM application

Create a new SCIM application and authorize it:

{% stepper %}
{% step %}
Sign in to your Microsoft Entra admin center.
{% endstep %}

{% step %}
Select **Entra ID** → **Enterprise applications**.
{% endstep %}

{% step %}
Select **New application** → **Create your own application**.
{% endstep %}

{% step %}
In the **Create your own application** dialog box, enter the required information:

* **What's the name of your app?**: The name of your application.
* **What are you looking to do with your application?**: Select **Integrate any other application you don't find in the gallery (Non-gallery)**.
  {% endstep %}

{% step %}
Click **Create**.
{% endstep %}
{% endstepper %}

<i class="fa-chevrons-right">:chevrons-right:</i> Your newly created application appears in the list of **Enterprise applications**.

{% hint style="info" %}
Collibra supports v1.0 Microsoft identity platform access tokens.
{% endhint %}

### Authorize your SCIM application

{% stepper %}
{% step %}
From the list of applications, select your new application → **Provisioning**.
{% endstep %}

{% step %}
Select **New configuration**.
{% endstep %}

{% step %}
Enter the require information:

* **Provisioning mode**: Automatic
* **Admin credentials**:
  * **Tenant URL**: The endpoint of the CollibraSCIM API, for example *https\://\<your\_collibra\_url>/rest/scim/v2*.
  * **Secret Token**: Your JSON Web Token.
    {% endstep %}

{% step %}
Click **Test Connection**.\ <i class="fa-chevrons-right">:chevrons-right:</i> If your credentials are successfully verified, Microsoft Entra ID displays a confirmation message.
{% endstep %}

{% step %}
Click **Save** to complete the process.
{% endstep %}
{% endstepper %}

## Start and stop a provisioning job

Microsoft Entra access tokens are valid only for one hour and cannot be refreshed due to the Entra ID limitations on token refresh. The workaround to achieve users and groups provisioning and deprovisioning is to start and stop the provisioning job based on your need:

{% stepper %}
{% step %}
[Generate a new client secret](#secret).
{% endstep %}

{% step %}
Select **Entra ID** → **Enterprise applications** → your application → **Provisioning**.
{% endstep %}

{% step %}
On the **Provisioning** page, in the **Manage provisioning** section, select **Update credentials**.
{% endstep %}

{% step %}
Enter the new token.
{% endstep %}

{% step %}
Click **Test Connection**.\ <i class="fa-chevrons-right">:chevrons-right:</i> If your credentials are successfully verified, Microsoft Entra ID displays a confirmation message.
{% endstep %}

{% step %}
Click **Save** to complete the process.
{% endstep %}

{% step %}
Return to the **Provisioning** page and click **Start provisioning** to perform the initial synchronization of Collibra users.

{% hint style="success" %}
Wait for the process to complete and validate the results in Collibra.
{% endhint %}
{% endstep %}

{% step %}
Click **Stop provisioning**.
{% endstep %}

{% step %}
Generate a new client secret and update the credentials.
{% endstep %}

{% step %}
Start the provisioning again when you need to perform another synchronization of users and groups.
{% endstep %}
{% endstepper %}
{% endtab %}

{% tab title="OAuth authentication" %}

## Register an application

To access Collibra public APIs without requiring individual user credentials you must first register your application in Collibra and obtain a client ID and client secret that are required to request an access token. You can register new applications in <img src="/files/XaJ5gL6tybCqj3hVpDHe" alt="Cogwheel icon" data-size="line"> **Settings** → **OAuth Applications** → **Manage OAuth**:

{% stepper %}
{% step %}
Click **Register New Application**\ <i class="fa-chevrons-right">:chevrons-right:</i> The **Register New Application** dialog box appears.

<img src="/files/jPSeCq06QmQuonuGPrtu" alt="" width="25%">
{% endstep %}

{% step %}
Enter the required information:

| Field            | Description                                                                                                                                                    |
| ---------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Application Type | Integration: For applications that are developed by you to access and interact with the Collibra public APIs, facilitating integration with our product suite. |
| Application Name | The name of you application, used to identify it in the list of registered applications.                                                                       |
| {% endstep %}    |                                                                                                                                                                |

{% step %}
Click **Register**.\ <i class="fa-chevrons-right">:chevrons-right:</i> The **Registration Confirmation** dialog box appears.

<img src="/files/INBDsnG9wzx91AvYF8mn" alt="" width="25%">
{% endstep %}

{% step %}
Copy and safely store the **Client ID** and **Client Secret**.

{% hint style="warning" %}
This is the only time you are able to see the client secret.
{% endhint %}
{% endstep %}
{% endstepper %}

## Create a SCIM application

Create a new SCIM application and authorize it:

{% stepper %}
{% step %}
Sign in to your Microsoft Entra admin center.
{% endstep %}

{% step %}
Select **Entra ID** → **Enterprise applications**.
{% endstep %}

{% step %}
Select **New application** → **Create your own application**.
{% endstep %}

{% step %}
In the **Create your own application** dialog box, enter the required information:

* **What's the name of your app?**: The name of your application.
* **What are you looking to do with your application?**: Select **Integrate any other application you don't find in the gallery (Non-gallery)**.
  {% endstep %}

{% step %}
Click **Create**.
{% endstep %}
{% endstepper %}

<i class="fa-chevrons-right">:chevrons-right:</i> Your newly created application appears in the list of **Enterprise applications**.

### Authorize your SCIM application

{% stepper %}
{% step %}
From the list of applications, select your new application → **Provisioning**.
{% endstep %}

{% step %}
Select **New configuration**.
{% endstep %}

{% step %}
Enter the require information:

* **Provisioning mode**: Automatic
* **Admin credentials**:
  * **Authentication Method**: Select **OAuth2 Client Credentials Grant**.
  * **Tenant URL**: The endpoint of the CollibraSCIM API, including the Entra ID optimization flag, for example *https\://\<your\_collibra\_url>/rest/scim/v2?aadOptscim062020*.
  * **Token Endpoint**: The token endpoint of the Collibra OAuth 2.0 Authorization API: *https\://\<your\_collibra\_url>/rest/oauth/v2/token*.
  * **Client Identifier**: The URL encoded value of the **Client ID** of your registered application in Collibra, for example *urn%3Asys%3Aenv%3A4a1261cc-5bc0-44c0-9b85-fc4942ae7c58%3Ai%3Aq2724e*.
  * **Client Secret**: The secret that provided by Collibra during the application registration process.
    {% endstep %}

{% step %}
Click **Test Connection**.\ <i class="fa-chevrons-right">:chevrons-right:</i> If your credentials are successfully verified, Microsoft Entra ID displays a confirmation message.
{% endstep %}

{% step %}
Click **Save** to complete the process.
{% endstep %}
{% endstepper %}
{% endtab %}
{% endtabs %}

## Map SCIM app attributes

{% stepper %}
{% step %}
Sign in to your Microsoft Entra admin center.
{% endstep %}

{% step %}
Search for and select **Entra ID** → **Enterprise applications** → your application → **Provisioning**.
{% endstep %}

{% step %}
Select **Mappings** → **Provision API:Users**.
{% endstep %}

{% step %}
On the **Attribute Mapping** page, edit or add your desired mappings.

{% hint style="info" %}
Collibra supports a limited number of SCIM attributes.
{% endhint %}

* User attribute mapping

  | Microsoft Entra ID Attribute                             | API Attribute                                                           |
  | -------------------------------------------------------- | ----------------------------------------------------------------------- |
  | `userPrincipalName`                                      | `userName`                                                              |
  | `Switch([IsSoftDeleted],,"False" "True","True","False")` | `active`                                                                |
  | `Coalesce([mail], [userPrincipalName])`                  | `emails[type eq "work"].value`                                          |
  | `givenName`                                              | `name.givenName`                                                        |
  | `surname`                                                | `name.familyName`                                                       |
  | `displayName`                                            | `displayName`                                                           |
  | `jobTitle`                                               | `title`                                                                 |
  | `department`                                             | `urn:ietf:params:scim:schemas:extension:enterprise:2.0:User:department` |
  | `streetAddress`                                          | `addresses[type eq "work"].streetAddress`                               |
  | `city`                                                   | `addresses[type eq "work"].locality`                                    |
  | `state`                                                  | `addresses[type eq "work"].region`                                      |
  | `postalCode`                                             | `addresses[type eq "work"].postalCode`                                  |
  | `country`                                                | `addresses[type eq "work"].country`                                     |
  | `telephoneNumber`                                        | `phoneNumbers[type eq "work"].value`                                    |
  | `mobile`                                                 | `phoneNumbers[type eq "mobile"].value`                                  |
  | `facsimileTelephoneNumber`                               | `phoneNumbers[type eq "fax"].value`                                     |
  | `otherMails`                                             | `emails[type eq "other"].value`                                         |
  | `preferredLanguage`                                      | `locale`                                                                |
  | `employeeId`                                             | `externalId`                                                            |

{% hint style="info" %}
Collibra users have a single email address and an additional list of email addresses. In contrast, SCIM uses a list of email addresses. If the SCIM list contains only one email address or one of the email addresses is marked as primary, that email address becomes the Collibra user email address. If the SCIM list contains multiple email addresses and none is marked as primary, the operation returns an error.
{% endhint %}

* Group attribute mapping

  | Microsoft Entra ID Attribute | API Attribute |
  | ---------------------------- | ------------- |
  | `displayName`                | `displayName` |
  | `members`                    | `members`     |

  <div data-gb-custom-block data-tag="hint" data-style="warning" class="hint hint-warning"><p>You cannot assign roles to users via SCIM. However, you can manage groups and group membership in your IdP and disable the <strong>Groups DGC managed</strong> Console configuration option. Following the initial provisioning, your IdP groups are available in Collibra and you can start assigning roles to them.</p></div>

{% endstep %}

{% step %}
Click **Save** to complete the process.
{% endstep %}
{% endstepper %}

## Additional resources

* [Azure developer portal](https://portal.azure.com/#home)
* [Develop and plan provisioning for a SCIM endpoint in Microsoft Entra ID](https://learn.microsoft.com/en-us/azure/active-directory/app-provisioning/use-scim-to-provision-users-and-groups)
* [How Application Provisioning works in Microsoft Entra ID](https://learn.microsoft.com/en-us/azure/active-directory/app-provisioning/how-provisioning-works)
* [Customize user provisioning attribute-mappings for SaaS applications in Microsoft Entra ID](https://learn.microsoft.com/en-us/azure/active-directory/app-provisioning/customize-application-attributes)
* [Known issues for provisioning in Microsoft Entra ID](https://learn.microsoft.com/en-us/azure/active-directory/app-provisioning/known-issues)
* [Known issues and resolutions with SCIM 2.0 protocol compliance of the Microsoft Entra user provisioning service](https://learn.microsoft.com/en-us/azure/active-directory/app-provisioning/application-provisioning-config-problem-scim-compatibility)
* [Collibra JSON Web Token authentication guide](https://developer.collibra.com/tutorials/rest-api-json-web-token/)
* [Collibra REST API authentication with JSON Web Token](https://developer.collibra.com/tutorials/rest-api-authentication-jwt/)


# Enable SCIM logs

To troubleshoot issues with your SCIM integration, contact Collibra Support to enable SCIM request logging.

{% stepper %}
{% step %}
Contact [Collibra Support](https://support.collibra.com/) to request the addition of the `com.collibra.iam.identity.scim.v2.log.ScimRequestLoggingFilter` logger.
{% endstep %}

{% step %}
After Collibra Support enables the logger, view and download SCIM logs on the [Logs settings page](https://productresources.collibra.com/docs/collibra/latest/Content/Settings/Logs/co_logs.htm). You can identify SCIM-related entries by the class name **ScimRequestLoggingFilter**.
{% endstep %}
{% endstepper %}


# Core REST API (Version 2)

The Core API is the main entry point to interact with your Collibra environment. Create, update or delete all resources such as users, assets, domains or trigger workflows.


# Activities

## Returns activities matching the given search criteria.

> Returns activities matching the given search criteria.Only parameters that are specified in this request and have not \<code>null\</code> values are used for filtering.All other parameters are ignored.The returned activities satisfy all constraints that are specified in this search criteria.By default a result containing 100 activities is returned.

```json
{"openapi":"3.0.3","info":{"title":"Collibra Data Governance Center Core API","version":"2.0"},"servers":[{"url":"/rest/2.0","variables":{}}],"security":[{"basicAuth":[]},{"jwtAuth":[]},{"oauth2":["sys.admin"]},{"oauth2":[]}],"components":{"securitySchemes":{"basicAuth":{"type":"http","scheme":"basic"},"jwtAuth":{"type":"http","description":"Collibra REST API authentication using JSON Web Token.","scheme":"bearer","bearerFormat":"JWT"},"oauth2":{"type":"oauth2","description":"Collibra REST API authentication using OAuth 2.","flows":{"clientCredentials":{"tokenUrl":"/rest/oauth/v2/token","scopes":{"sys.admin":"System administration","kg.manage-all":"Manage all knowledge graph resources","kg.view-all":"View any knowledge graph resource","kg.manage-tags":"Manage tags","insights.download":"Download insights reporting zip files","wf.administration":"Workflow administration","wf.use-message-events":"Use workflow events"}}}}}},"paths":{"/activities":{"get":{"tags":["Activities"],"summary":"Returns activities matching the given search criteria.","description":"Returns activities matching the given search criteria.Only parameters that are specified in this request and have not <code>null</code> values are used for filtering.All other parameters are ignored.The returned activities satisfy all constraints that are specified in this search criteria.By default a result containing 100 activities is returned.","operationId":"getActivities","parameters":[{"name":"offset","in":"query","description":"The first result to retrieve. If not set (offset = <code>0</code>), results will be retrieved starting from row <code>0</code>.","schema":{"type":"integer","format":"int32","default":0}},{"name":"limit","in":"query","description":"The maximum number of results to retrieve. If not set (limit = <code>0</code>), the default limit will be used. The maximum allowed limit is 1000.","schema":{"type":"integer","format":"int32","default":0}},{"name":"countLimit","in":"query","description":"Parameter not used in the context of activities, for performance reasons they are not counted.","deprecated":true,"schema":{"type":"integer","format":"int32","default":-1}},{"name":"taskId","in":"query","description":"The ID of the task which contains the basic find activities request.","schema":{"type":"string","format":"uuid"}},{"name":"contextId","in":"query","description":"The ID of the context which the activities should be searched for.","schema":{"type":"string","format":"uuid"}},{"name":"involvedPeopleIds","in":"query","description":"The list of IDs of the people that should be involved in searched activities.","schema":{"uniqueItems":true,"type":"array","items":{"type":"string","format":"uuid"}}},{"name":"involvedRoleIds","in":"query","description":"The list of IDs of the roles that should be involved in searched activities.","schema":{"uniqueItems":true,"type":"array","items":{"type":"string","format":"uuid"}}},{"name":"performedByUserId","in":"query","description":"The ID of the user who performed searched activities.","schema":{"type":"string","format":"uuid"}},{"name":"performedByRoleIds","in":"query","description":"The list of IDs of the roles assigned to users who performed searched activities.","schema":{"uniqueItems":true,"type":"array","items":{"type":"string","format":"uuid"}}},{"name":"activityType","in":"query","description":"The type of the activity.","schema":{"type":"string","enum":["ADD","UPDATE","DELETE"]}},{"name":"callId","in":"query","description":"The ID of the call.","schema":{"type":"string"}},{"name":"categories","in":"query","description":"The set of the categories of activities that should be searched. One of [ATTRIBUTE, ATTACHMENT, RELATION, COMMENT,<br/>STATUS, WORKFLOW, RESPONSIBILITY, USER, USER_GROUP, ROLE, TAGS, OTHERS].","schema":{"uniqueItems":true,"type":"array","items":{"type":"string","enum":["ATTRIBUTE","ATTACHMENT","RELATION","COMMENT","RATING","STATUS","WORKFLOW","RESPONSIBILITY","USER","USER_GROUP","ROLE","TAGS","OTHERS","USER_PASSWORD","VIEW_PERMISSION"]}}},{"name":"resourceTypes","in":"query","description":"The set of the resource types that searched activities refer to, i.e. [Community, Asset, Domain, Attribute,<br/>Relation, WorkflowInstance]. This parameter is deprecated. Use resourceDiscriminators instead.","deprecated":true,"schema":{"uniqueItems":true,"type":"array","items":{"type":"string","enum":["View","Asset","Community","Domain","AssetType","DomainType","Status","User","ClassificationMatch","UserGroup","Attribute","StringAttribute","ScriptAttribute","BooleanAttribute","DateAttribute","NumericAttribute","SingleValueListAttribute","MultiValueListAttribute","Comment","Attachment","Responsibility","Workflow","Job","Relation","RelationType","ComplexRelation","ComplexRelationType","ArticulationRule","Assignment","Scope","RelationTrace","ValidationRule","DataQualityRule","DataQualityMetric","Address","InstantMessagingAccount","Email","PhoneNumber","Website","Activity","FormProperty","WorkflowTask","ActivityChange","WorkflowInstance","Role","AttributeType","BooleanAttributeType","DateAttributeType","DateTimeAttributeType","MultiValueListAttributeType","NumericAttributeType","ScriptAttributeType","SingleValueListAttributeType","StringAttributeType","ViewSharingRule","ViewAssignmentRule","JdbcDriverFile","JdbcDriver","JdbcIngestionProperties","CsvIngestionProperties","ExcelIngestionProperties","ConnectionStringParameter","AssignedCharacteristicType","Notification","Tag","ComplexRelationLegType","ComplexRelationAttributeType","ComplexRelationLeg","BaseDataType","AdvancedDataType","DiagramPicture","DiagramPictureSharingRule","DiagramPictureAssignmentRule","Rating","Classification","PhysicalDataConnector","Context"]}}},{"name":"resourceDiscriminators","in":"query","description":"The set of the resource discriminators that searched activities refer to, i.e. [Community, Asset, Domain, Attribute,<br/>\nRelation, WorkflowInstance].\n","schema":{"uniqueItems":true,"type":"array","items":{"type":"string"}}},{"name":"startDate","in":"query","description":"The start date of the searched activities, expressed as a Unix timestamp in milliseconds.","schema":{"type":"integer","format":"int64"}},{"name":"endDate","in":"query","description":"The end date of the searched activities, expressed as a Unix timestamp in milliseconds.","schema":{"type":"integer","format":"int64"}},{"name":"callCountEnabled","in":"query","description":"Flag to indicate if the number of calls standing behind the activity should be returned or not.<br/>Note that by default that count will be not calculated as it brings an important performance penalty.","schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"The paged response with found Activity information. The total number of results is not calculated and should be ignored"}}}}}}
```


# Application

## Returns the basic information about the application.

> Returns the basic information about the application.

```json
{"openapi":"3.0.3","info":{"title":"Collibra Data Governance Center Core API","version":"2.0"},"servers":[{"url":"/rest/2.0","variables":{}}],"security":[{},{"basicAuth":[]},{"jwtAuth":[]},{"oauth2":[]}],"components":{"securitySchemes":{"basicAuth":{"type":"http","scheme":"basic"},"jwtAuth":{"type":"http","description":"Collibra REST API authentication using JSON Web Token.","scheme":"bearer","bearerFormat":"JWT"},"oauth2":{"type":"oauth2","description":"Collibra REST API authentication using OAuth 2.","flows":{"clientCredentials":{"tokenUrl":"/rest/oauth/v2/token","scopes":{"sys.admin":"System administration","kg.manage-all":"Manage all knowledge graph resources","kg.view-all":"View any knowledge graph resource","kg.manage-tags":"Manage tags","insights.download":"Download insights reporting zip files","wf.administration":"Workflow administration","wf.use-message-events":"Use workflow events"}}}}},"schemas":{"ApplicationInfo":{"type":"object","properties":{"buildNumber":{"type":"string"},"solutions":{"type":"array","items":{"$ref":"#/components/schemas/SolutionInfo"}},"version":{"$ref":"#/components/schemas/ApplicationVersionImpl"},"baseUrl":{"type":"string"}}},"SolutionInfo":{"type":"object","properties":{"name":{"type":"string"},"version":{"$ref":"#/components/schemas/ApplicationVersionImpl"}}},"ApplicationVersionImpl":{"type":"object","properties":{"major":{"type":"integer","description":"The major version number of the application version. This version number is increased with the major changes and releases of the application","format":"int32"},"minor":{"type":"integer","description":"The minor version number of the application version. This version number is increased whenever new features are added in given release","format":"int32"},"fullVersion":{"type":"string","description":"The full version of the application."},"displayVersion":{"type":"string","description":"The display version of the application. This is the version to be displayed to the customer and can be different from the actual internal version."}}}}},"paths":{"/application/info":{"get":{"tags":["Application"],"summary":"Returns the basic information about the application.","description":"Returns the basic information about the application.","operationId":"getInfo","responses":{"default":{"description":"default response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApplicationInfo"}}}}}}}}}
```


# Assignments

## Adds a new Assignment.

> Adds a new Assignment.

```json
{"openapi":"3.0.3","info":{"title":"Collibra Data Governance Center Core API","version":"2.0"},"servers":[{"url":"/rest/2.0","variables":{}}],"security":[{"basicAuth":[]},{"jwtAuth":[]},{"oauth2":["sys.admin"]}],"components":{"securitySchemes":{"basicAuth":{"type":"http","scheme":"basic"},"jwtAuth":{"type":"http","description":"Collibra REST API authentication using JSON Web Token.","scheme":"bearer","bearerFormat":"JWT"},"oauth2":{"type":"oauth2","description":"Collibra REST API authentication using OAuth 2.","flows":{"clientCredentials":{"tokenUrl":"/rest/oauth/v2/token","scopes":{"sys.admin":"System administration","kg.manage-all":"Manage all knowledge graph resources","kg.view-all":"View any knowledge graph resource","kg.manage-tags":"Manage tags","insights.download":"Download insights reporting zip files","wf.administration":"Workflow administration","wf.use-message-events":"Use workflow events"}}}}},"schemas":{"AddAssignmentRequest":{"required":["assetTypeId","statusIds"],"type":"object","properties":{"id":{"type":"string","description":"The ID of the new assignment. Should be unique within all assignments.<br/>\nIt should have a format of universally unique identifier (UUID) and should not start with <code>00000000-0000-0000-</code> which is a reserved prefix.\n","format":"uuid"},"assetTypeId":{"type":"string","description":"The ID of the asset type corresponding to the assignment","format":"uuid"},"statusIds":{"maxItems":2147483647,"minItems":1,"type":"array","description":"The list of IDs of the statuses. The first element in the list is used as default status id.","items":{"type":"string","description":"The list of IDs of the statuses. The first element in the list is used as default status id.","format":"uuid"}},"characteristicTypes":{"type":"array","description":"The list of characteristic types to be assigned, along with their assignment modalities.","items":{"$ref":"#/components/schemas/CharacteristicTypeAssignmentReference"}},"articulationRules":{"type":"array","description":"The articulation rule definitions.","items":{"$ref":"#/components/schemas/ArticulationRuleRequest"}},"validationRuleIds":{"type":"array","description":"The list of IDs of the validation rules","items":{"type":"string","description":"The list of IDs of the validation rules","format":"uuid"}},"dataQualityRuleIds":{"type":"array","description":"The list of IDs of the data quality rules","items":{"type":"string","description":"The list of IDs of the data quality rules","format":"uuid"}},"domainTypeIds":{"type":"array","description":"The list of IDs of the domain types","items":{"type":"string","description":"The list of IDs of the domain types","format":"uuid"}},"defaultStatusId":{"type":"string","description":"The ID of the default status for the asset type. Deprecated : this property is ignored. The default status is the first status in the list of assigned statuses of the assignment.","format":"uuid","deprecated":true},"scopeId":{"type":"string","description":"The ID of the scope the assignment corresponds to","format":"uuid"}}},"CharacteristicTypeAssignmentReference":{"required":["id"],"type":"object","properties":{"id":{"type":"string","description":"The ID of the reference.","format":"uuid"},"min":{"minimum":0,"type":"integer","description":"The minimum allowed.","format":"int32"},"max":{"type":"integer","description":"The maximum allowed, unlimited when null.","format":"int32"},"readOnly":{"type":"boolean","description":"When set to true, the value of the assigned Characteristic Type cannot be edited by the user. Only applicable to AttributeType assignment lines. Leave unset to preserve the existing value on change."},"type":{"type":"string","description":"The resource type. Deprecated in favour of ResourceDiscriminator.","deprecated":true,"enum":["View","Asset","Community","Domain","AssetType","DomainType","Status","User","ClassificationMatch","UserGroup","Attribute","StringAttribute","ScriptAttribute","BooleanAttribute","DateAttribute","NumericAttribute","SingleValueListAttribute","MultiValueListAttribute","Comment","Attachment","Responsibility","Workflow","Job","Relation","RelationType","ComplexRelation","ComplexRelationType","ArticulationRule","Assignment","Scope","RelationTrace","ValidationRule","DataQualityRule","DataQualityMetric","Address","InstantMessagingAccount","Email","PhoneNumber","Website","Activity","FormProperty","WorkflowTask","ActivityChange","WorkflowInstance","Role","AttributeType","BooleanAttributeType","DateAttributeType","DateTimeAttributeType","MultiValueListAttributeType","NumericAttributeType","ScriptAttributeType","SingleValueListAttributeType","StringAttributeType","ViewSharingRule","ViewAssignmentRule","JdbcDriverFile","JdbcDriver","JdbcIngestionProperties","CsvIngestionProperties","ExcelIngestionProperties","ConnectionStringParameter","AssignedCharacteristicType","Notification","Tag","ComplexRelationLegType","ComplexRelationAttributeType","ComplexRelationLeg","BaseDataType","AdvancedDataType","DiagramPicture","DiagramPictureSharingRule","DiagramPictureAssignmentRule","Rating","Classification","PhysicalDataConnector","Context"]},"resourceDiscriminator":{"pattern":"^\\w*AttributeType$|^DerivedRelationType$|^RelationType$|^ComplexRelationType$","type":"string","description":"The resource discriminator. Possible values: 'AttributeType', 'DerivedRelationType', 'RelationType' and 'ComplexRelationType'"},"relationTypeDirection":{"type":"string","description":"The relation type direction, if the referenced resource is a relation type; otherwise null.","enum":["TO_SOURCE","TO_TARGET","BOTH","NONE"]},"relationTypeRestriction":{"type":"string","description":"The relation type restriction of the target Asset Type, if the referenced resource is a relation type; otherwise null. When specified, it effectively replaces the source asset type of the relation when relationTypeDirection = TO_SOURCE or the target asset type of the relation when relationTypeDirection = TO_TARGET.You can specify the relation type restriction only when relationTypeDirection is not null. If specified, it must be an ID of a subtype of the source or target asset type, depending on the value of relationTypeDirection.","format":"uuid"}},"description":"A characteristic type which will be assigned, as well as assignment modalities such as cardinality etc.<br/>\nWhen adding or changing an assigned Relation Type, the relationTypeDirection must be set.<br/>\nWhen adding or changing an assigned Boolean Attribute Type, the maximum must not be <code>null</code> or higher than 1.\n"},"ArticulationRuleRequest":{"required":["operation","score"],"type":"object","properties":{"id":{"type":"string","description":"The ID of the articulation rule.","format":"uuid"},"operation":{"type":"string","description":"The <code>operation</code> ADD or SET.","enum":["ADD","SET"]},"score":{"type":"number","description":"The articulation score (between 0 and 100).","format":"double"},"statusId":{"type":"string","description":"The ID of the status.","format":"uuid"},"attributeTypeId":{"type":"string","description":"The ID of the attribute type.","format":"uuid"}},"description":"An articulation rule definition."},"AssignmentImpl":{"required":["id","resourceType"],"type":"object","properties":{"id":{"type":"string","description":"The id of the represented object (entity).","format":"uuid"},"createdBy":{"type":"string","description":"The id of the user that created this resource.","format":"uuid"},"createdOn":{"type":"integer","description":"The timestamp (in UTC time standard) of the creation of this resource.","format":"int64"},"lastModifiedBy":{"type":"string","description":"The id of the user who modified this resource the last time.","format":"uuid"},"lastModifiedOn":{"type":"integer","description":"The timestamp (in UTC time standard) of the last modification of this resource.","format":"int64"},"system":{"type":"boolean","description":"Whether this is a system resource or not."},"resourceType":{"type":"string","description":"The type of the resource, e.g. [Community, Asset, Domain, Attribute, Relation, WorkflowInstance, ...].\nThis property is deprecated and will be removed in the future. In order to stay backwards compatible\nand to enable introduction of new types of resources, where necessary, a resource discriminator\nproperty (of type String) has been added to specific subtypes of Resource,\ne.g. assignedResourceDiscriminator on AssignedResource, or attributeDiscriminator on Attribute.\nFor new types of resource that didn't exist before this change, the resourceType will be\nBaseDataType.\n","deprecated":true,"enum":["View","Asset","Community","Domain","AssetType","DomainType","Status","User","ClassificationMatch","UserGroup","Attribute","StringAttribute","ScriptAttribute","BooleanAttribute","DateAttribute","NumericAttribute","SingleValueListAttribute","MultiValueListAttribute","Comment","Attachment","Responsibility","Workflow","Job","Relation","RelationType","ComplexRelation","ComplexRelationType","ArticulationRule","Assignment","Scope","RelationTrace","ValidationRule","DataQualityRule","DataQualityMetric","Address","InstantMessagingAccount","Email","PhoneNumber","Website","Activity","FormProperty","WorkflowTask","ActivityChange","WorkflowInstance","Role","AttributeType","BooleanAttributeType","DateAttributeType","DateTimeAttributeType","MultiValueListAttributeType","NumericAttributeType","ScriptAttributeType","SingleValueListAttributeType","StringAttributeType","ViewSharingRule","ViewAssignmentRule","JdbcDriverFile","JdbcDriver","JdbcIngestionProperties","CsvIngestionProperties","ExcelIngestionProperties","ConnectionStringParameter","AssignedCharacteristicType","Notification","Tag","ComplexRelationLegType","ComplexRelationAttributeType","ComplexRelationLeg","BaseDataType","AdvancedDataType","DiagramPicture","DiagramPictureSharingRule","DiagramPictureAssignmentRule","Rating","Classification","PhysicalDataConnector","Context"]},"assetType":{"$ref":"#/components/schemas/NamedResourceReferenceImpl"},"statuses":{"type":"array","description":"The list of references to the statuses.  These references will always contain 'Status' as resourceDiscriminator value.","items":{"$ref":"#/components/schemas/NamedDescribedResourceReference"}},"defaultStatusId":{"type":"string","description":"The ID of the default status. Deprecated : this property is ignored. The default status is the first status in the list of assigned statuses of the assignment.","format":"uuid","deprecated":true},"characteristicTypes":{"type":"array","description":"The list of assigned characteristic types. Depending on the actual type, a characteristic type may contain additional properties. For additional details, refer to the schemas of AssignedAttributeType, AssignedComplexRelationType and AssignedRelationType. These references will always contain 'AttributeType', 'RelationType' or 'ComplexRelationType' as resourceDiscriminator value.Deprecated in favour of assignedCharacteristicTypeReferences.","deprecated":true,"items":{"$ref":"#/components/schemas/AssignedCharacteristicType"}},"assignedCharacteristicTypeReferences":{"type":"array","description":"The list of assigned characteristic types. Depending on the actual type, a characteristic type may contain additional properties. These references will contain 'AttributeType', 'RelationType' or 'ComplexRelationType' or 'DerivedRelationType' as resourceDiscriminator value.","items":{"$ref":"#/components/schemas/AssignedCharacteristicTypeReferenceImpl"}},"articulationRules":{"type":"array","description":"The list of articulation rules applying with the assignment.","items":{"$ref":"#/components/schemas/ArticulationRuleImpl"}},"validationRules":{"type":"array","description":"The list of references to validation rules applying with the assignment. These references will always contain 'Asset' as resourceDiscriminator value.","items":{"$ref":"#/components/schemas/NamedResourceReferenceImpl"}},"dataQualityRules":{"type":"array","description":"The list of references to data quality rules applying with the assignment. These references will always contain 'DataQualityRule' as resourceDiscriminator value.","items":{"$ref":"#/components/schemas/NamedDescribedResourceReference"}},"domainTypes":{"type":"array","description":"The list of references to domain types which the assignment refers to.  These references will always contain 'DomainType' as resourceDiscriminator value.","items":{"$ref":"#/components/schemas/NamedDescribedResourceReference"}},"scope":{"$ref":"#/components/schemas/ScopeImpl"},"assignmentInheritances":{"type":"array","description":"The inheritances stemming from assignments applied to ancestors of the asset type of this assignment.","items":{"$ref":"#/components/schemas/AssignmentInheritance"}},"traitAssignmentInheritances":{"type":"array","description":"The inheritances stemming from Traits applied to the Asset Type.","items":{"$ref":"#/components/schemas/TraitAssignmentInheritance"}}}},"NamedResourceReferenceImpl":{"required":["id","resourceType"],"type":"object","properties":{"id":{"type":"string","description":"The id of the referenced resource.","format":"uuid"},"resourceType":{"type":"string","description":"The type of the resource, e.g. [Community, Asset, Domain, Attribute, Relation, WorkflowInstance, ...]. This property is deprecated and will be removed in the future. In order to stay backwards compatible and to enable us to introduce new types of resources, we are replacing the ResourceType enum with a String. For new types of resources that didn't exist before this change, resourceType will be BaseDataType. Please use the resourceDiscriminator property instead. Refer to the object containing the ResourceReference for possible values.","deprecated":true,"enum":["View","Asset","Community","Domain","AssetType","DomainType","Status","User","ClassificationMatch","UserGroup","Attribute","StringAttribute","ScriptAttribute","BooleanAttribute","DateAttribute","NumericAttribute","SingleValueListAttribute","MultiValueListAttribute","Comment","Attachment","Responsibility","Workflow","Job","Relation","RelationType","ComplexRelation","ComplexRelationType","ArticulationRule","Assignment","Scope","RelationTrace","ValidationRule","DataQualityRule","DataQualityMetric","Address","InstantMessagingAccount","Email","PhoneNumber","Website","Activity","FormProperty","WorkflowTask","ActivityChange","WorkflowInstance","Role","AttributeType","BooleanAttributeType","DateAttributeType","DateTimeAttributeType","MultiValueListAttributeType","NumericAttributeType","ScriptAttributeType","SingleValueListAttributeType","StringAttributeType","ViewSharingRule","ViewAssignmentRule","JdbcDriverFile","JdbcDriver","JdbcIngestionProperties","CsvIngestionProperties","ExcelIngestionProperties","ConnectionStringParameter","AssignedCharacteristicType","Notification","Tag","ComplexRelationLegType","ComplexRelationAttributeType","ComplexRelationLeg","BaseDataType","AdvancedDataType","DiagramPicture","DiagramPictureSharingRule","DiagramPictureAssignmentRule","Rating","Classification","PhysicalDataConnector","Context"]},"resourceDiscriminator":{"type":"string","description":"The resource discriminator, which indicates the type of the referenced resource, e.g. \"Community\", \"Asset\", ... Check the documentation of the class using the resource reference for detailed documentation regarding the possible resource discriminator values."},"name":{"type":"string","description":"The name of the referenced resource."}},"description":"Represents reference to the resource, including its name."},"NamedDescribedResourceReference":{"required":["id","resourceType"],"type":"object","properties":{"id":{"type":"string","description":"The id of the referenced resource.","format":"uuid"},"resourceType":{"type":"string","description":"The type of the resource, e.g. [Community, Asset, Domain, Attribute, Relation, WorkflowInstance, ...]. This property is deprecated and will be removed in the future. In order to stay backwards compatible and to enable us to introduce new types of resources, we are replacing the ResourceType enum with a String. For new types of resources that didn't exist before this change, resourceType will be BaseDataType. Please use the resourceDiscriminator property instead. Refer to the object containing the ResourceReference for possible values.","deprecated":true,"enum":["View","Asset","Community","Domain","AssetType","DomainType","Status","User","ClassificationMatch","UserGroup","Attribute","StringAttribute","ScriptAttribute","BooleanAttribute","DateAttribute","NumericAttribute","SingleValueListAttribute","MultiValueListAttribute","Comment","Attachment","Responsibility","Workflow","Job","Relation","RelationType","ComplexRelation","ComplexRelationType","ArticulationRule","Assignment","Scope","RelationTrace","ValidationRule","DataQualityRule","DataQualityMetric","Address","InstantMessagingAccount","Email","PhoneNumber","Website","Activity","FormProperty","WorkflowTask","ActivityChange","WorkflowInstance","Role","AttributeType","BooleanAttributeType","DateAttributeType","DateTimeAttributeType","MultiValueListAttributeType","NumericAttributeType","ScriptAttributeType","SingleValueListAttributeType","StringAttributeType","ViewSharingRule","ViewAssignmentRule","JdbcDriverFile","JdbcDriver","JdbcIngestionProperties","CsvIngestionProperties","ExcelIngestionProperties","ConnectionStringParameter","AssignedCharacteristicType","Notification","Tag","ComplexRelationLegType","ComplexRelationAttributeType","ComplexRelationLeg","BaseDataType","AdvancedDataType","DiagramPicture","DiagramPictureSharingRule","DiagramPictureAssignmentRule","Rating","Classification","PhysicalDataConnector","Context"]},"resourceDiscriminator":{"type":"string","description":"The resource discriminator, which indicates the type of the referenced resource, e.g. \"Community\", \"Asset\", ... Check the documentation of the class using the resource reference for detailed documentation regarding the possible resource discriminator values."},"name":{"type":"string","description":"The name of the referenced resource."},"description":{"type":"string","description":"The description of the referenced resource."}},"description":"Represents reference to the resource, including its name and description."},"AssignedCharacteristicType":{"required":["assignedResourceType"],"type":"object","properties":{"readOnly":{"type":"boolean","description":"Whether the characteristic value of the assigned type can be edited by the user."},"system":{"type":"boolean","description":"Whether the characteristic type can be unassigned."},"assignedResourceType":{"type":"string","description":"The type of the resource the characteristic refers to. The value can be one of : AttributeType, RelationType or ComplexRelationType. Deprecated in favour of assignedCharacteristicTypeDiscriminator.","deprecated":true,"enum":["View","Asset","Community","Domain","AssetType","DomainType","Status","User","ClassificationMatch","UserGroup","Attribute","StringAttribute","ScriptAttribute","BooleanAttribute","DateAttribute","NumericAttribute","SingleValueListAttribute","MultiValueListAttribute","Comment","Attachment","Responsibility","Workflow","Job","Relation","RelationType","ComplexRelation","ComplexRelationType","ArticulationRule","Assignment","Scope","RelationTrace","ValidationRule","DataQualityRule","DataQualityMetric","Address","InstantMessagingAccount","Email","PhoneNumber","Website","Activity","FormProperty","WorkflowTask","ActivityChange","WorkflowInstance","Role","AttributeType","BooleanAttributeType","DateAttributeType","DateTimeAttributeType","MultiValueListAttributeType","NumericAttributeType","ScriptAttributeType","SingleValueListAttributeType","StringAttributeType","ViewSharingRule","ViewAssignmentRule","JdbcDriverFile","JdbcDriver","JdbcIngestionProperties","CsvIngestionProperties","ExcelIngestionProperties","ConnectionStringParameter","AssignedCharacteristicType","Notification","Tag","ComplexRelationLegType","ComplexRelationAttributeType","ComplexRelationLeg","BaseDataType","AdvancedDataType","DiagramPicture","DiagramPictureSharingRule","DiagramPictureAssignmentRule","Rating","Classification","PhysicalDataConnector","Context"]},"assignedCharacteristicTypeDiscriminator":{"type":"string","description":"The discriminator of the characteristic type that is assigned. The value can be one of : AttributeType, RelationType or ComplexRelationType"},"minimumOccurrences":{"type":"integer","description":"How many times at least the assigned characteristic must be added to the resource. Zero means no restriction.","format":"int32"},"assignedResourceId":{"type":"string","description":"The id of the resource the characteristic refers to.","format":"uuid"},"maximumOccurrences":{"type":"integer","description":"How many times at least the assigned characteristic may be added to the resource. Null means no limit.","format":"int32"},"id":{"type":"string","description":"The id of the represented object (entity).","format":"uuid"}},"description":"The list of assigned characteristic types. Depending on the actual type, a characteristic type may contain additional properties. For additional details, refer to the schemas of AssignedAttributeType, AssignedComplexRelationType and AssignedRelationType. These references will always contain 'AttributeType', 'RelationType' or 'ComplexRelationType' as resourceDiscriminator value.","discriminator":{"propertyName":"assignedResourceType","mapping":{"AttributeType":"#/components/schemas/AssignedAttributeType","ComplexRelationType":"#/components/schemas/AssignedComplexRelationType","RelationType":"#/components/schemas/AssignedRelationType"}}},"AssignedCharacteristicTypeReferenceImpl":{"type":"object","properties":{"id":{"type":"string","description":"The unique identifier of the Assigned Characteristic Type Reference.","format":"uuid"},"assignedResourceReference":{"$ref":"#/components/schemas/NamedResourceReferenceImpl"},"assignedResourcePublicId":{"type":"string","description":"The public id of assigned Characteristic Type. This can be an Attribute Type, Relation Type, Complex Relation Type or Derived Relation Type."},"minimumOccurrences":{"type":"integer","description":"How many times the assigned Characteristic must at the minimum be added to the Resource. Zero means no restriction.","format":"int32"},"maximumOccurrences":{"type":"integer","description":"Defines how many times an assigned Characteristic may be added at most to the resource. Null means no limit.","format":"int32"},"system":{"type":"boolean","description":"When the system flag is set to true, it means the Characteristic Type cannot be unassigned."},"readOnly":{"type":"boolean","description":"When the readOnly flag is set to true, the value of the assigned Characteristic Type cannot be edited by the user. Only applicable to AttributeType assignment lines."},"relationTypeDirection":{"type":"string","description":"The direction of the Relation Type or null when this reference isn't a reference to a Relation Type.","enum":["TO_SOURCE","TO_TARGET","BOTH","NONE"]},"relationTypeRestriction":{"$ref":"#/components/schemas/NamedResourceReferenceImpl"},"matchingLegTypesIds":{"type":"array","description":"The list of ids that should match the legs of the complex relation or null if this reference is not a ComplexRelationType.","deprecated":true,"items":{"type":"string","description":"The list of ids that should match the legs of the complex relation or null if this reference is not a ComplexRelationType.","format":"uuid","deprecated":true}}},"description":"The list of assigned characteristic types.\nDepending on the actual type, a characteristic type may contain additional properties.\nThese references will always contain 'AttributeType', 'StringAttributeType', 'ScriptAttributeType',\n'BooleanAttributeType', 'DateAttributeType', 'SingleValueListAttributeType',\n'MultiValueListAttributeType', 'NumericAttributeType', 'RelationType', 'DerivedRelationType' or 'ComplexRelationType'\nas resourceDiscriminator value."},"ArticulationRuleImpl":{"required":["id","resourceType"],"type":"object","properties":{"id":{"type":"string","description":"The id of the represented object (entity).","format":"uuid"},"createdBy":{"type":"string","description":"The id of the user that created this resource.","format":"uuid"},"createdOn":{"type":"integer","description":"The timestamp (in UTC time standard) of the creation of this resource.","format":"int64"},"lastModifiedBy":{"type":"string","description":"The id of the user who modified this resource the last time.","format":"uuid"},"lastModifiedOn":{"type":"integer","description":"The timestamp (in UTC time standard) of the last modification of this resource.","format":"int64"},"system":{"type":"boolean","description":"Whether this is a system resource or not."},"resourceType":{"type":"string","description":"The type of the resource, e.g. [Community, Asset, Domain, Attribute, Relation, WorkflowInstance, ...].\nThis property is deprecated and will be removed in the future. In order to stay backwards compatible\nand to enable introduction of new types of resources, where necessary, a resource discriminator\nproperty (of type String) has been added to specific subtypes of Resource,\ne.g. assignedResourceDiscriminator on AssignedResource, or attributeDiscriminator on Attribute.\nFor new types of resource that didn't exist before this change, the resourceType will be\nBaseDataType.\n","deprecated":true,"enum":["View","Asset","Community","Domain","AssetType","DomainType","Status","User","ClassificationMatch","UserGroup","Attribute","StringAttribute","ScriptAttribute","BooleanAttribute","DateAttribute","NumericAttribute","SingleValueListAttribute","MultiValueListAttribute","Comment","Attachment","Responsibility","Workflow","Job","Relation","RelationType","ComplexRelation","ComplexRelationType","ArticulationRule","Assignment","Scope","RelationTrace","ValidationRule","DataQualityRule","DataQualityMetric","Address","InstantMessagingAccount","Email","PhoneNumber","Website","Activity","FormProperty","WorkflowTask","ActivityChange","WorkflowInstance","Role","AttributeType","BooleanAttributeType","DateAttributeType","DateTimeAttributeType","MultiValueListAttributeType","NumericAttributeType","ScriptAttributeType","SingleValueListAttributeType","StringAttributeType","ViewSharingRule","ViewAssignmentRule","JdbcDriverFile","JdbcDriver","JdbcIngestionProperties","CsvIngestionProperties","ExcelIngestionProperties","ConnectionStringParameter","AssignedCharacteristicType","Notification","Tag","ComplexRelationLegType","ComplexRelationAttributeType","ComplexRelationLeg","BaseDataType","AdvancedDataType","DiagramPicture","DiagramPictureSharingRule","DiagramPictureAssignmentRule","Rating","Classification","PhysicalDataConnector","Context"]},"score":{"type":"number","description":"The value that should be either added or set (depending on the operation) when this rule matches.","format":"double"},"operation":{"type":"string","description":"The type of an operation that should be performed when asset is matching this rule.","enum":["ADD","SET"]},"status":{"$ref":"#/components/schemas/NamedResourceReferenceImpl"},"attributeType":{"$ref":"#/components/schemas/NamedResourceReferenceImpl"}},"description":"The list of articulation rules applying with the assignment."},"ScopeImpl":{"required":["id","resourceType"],"type":"object","properties":{"id":{"type":"string","description":"The id of the represented object (entity).","format":"uuid"},"createdBy":{"type":"string","description":"The id of the user that created this resource.","format":"uuid"},"createdOn":{"type":"integer","description":"The timestamp (in UTC time standard) of the creation of this resource.","format":"int64"},"lastModifiedBy":{"type":"string","description":"The id of the user who modified this resource the last time.","format":"uuid"},"lastModifiedOn":{"type":"integer","description":"The timestamp (in UTC time standard) of the last modification of this resource.","format":"int64"},"system":{"type":"boolean","description":"Whether this is a system resource or not."},"resourceType":{"type":"string","description":"The type of the resource, e.g. [Community, Asset, Domain, Attribute, Relation, WorkflowInstance, ...].\nThis property is deprecated and will be removed in the future. In order to stay backwards compatible\nand to enable introduction of new types of resources, where necessary, a resource discriminator\nproperty (of type String) has been added to specific subtypes of Resource,\ne.g. assignedResourceDiscriminator on AssignedResource, or attributeDiscriminator on Attribute.\nFor new types of resource that didn't exist before this change, the resourceType will be\nBaseDataType.\n","deprecated":true,"enum":["View","Asset","Community","Domain","AssetType","DomainType","Status","User","ClassificationMatch","UserGroup","Attribute","StringAttribute","ScriptAttribute","BooleanAttribute","DateAttribute","NumericAttribute","SingleValueListAttribute","MultiValueListAttribute","Comment","Attachment","Responsibility","Workflow","Job","Relation","RelationType","ComplexRelation","ComplexRelationType","ArticulationRule","Assignment","Scope","RelationTrace","ValidationRule","DataQualityRule","DataQualityMetric","Address","InstantMessagingAccount","Email","PhoneNumber","Website","Activity","FormProperty","WorkflowTask","ActivityChange","WorkflowInstance","Role","AttributeType","BooleanAttributeType","DateAttributeType","DateTimeAttributeType","MultiValueListAttributeType","NumericAttributeType","ScriptAttributeType","SingleValueListAttributeType","StringAttributeType","ViewSharingRule","ViewAssignmentRule","JdbcDriverFile","JdbcDriver","JdbcIngestionProperties","CsvIngestionProperties","ExcelIngestionProperties","ConnectionStringParameter","AssignedCharacteristicType","Notification","Tag","ComplexRelationLegType","ComplexRelationAttributeType","ComplexRelationLeg","BaseDataType","AdvancedDataType","DiagramPicture","DiagramPictureSharingRule","DiagramPictureAssignmentRule","Rating","Classification","PhysicalDataConnector","Context"]},"name":{"type":"string","description":"The name of the resource."},"description":{"type":"string","description":"The description of the resource."},"publicId":{"type":"string","description":"The public id of the scope."},"domains":{"type":"array","description":"The list of domains that are included in this scope.","items":{"$ref":"#/components/schemas/NamedResourceReferenceImpl"}},"communities":{"type":"array","description":"The list of communities that are included in this scope.","items":{"$ref":"#/components/schemas/NamedResourceReferenceImpl"}}}},"AssignmentInheritance":{"type":"object","properties":{"scope":{"$ref":"#/components/schemas/NamedResourceReferenceImpl"},"traitAssignmentInheritances":{"type":"array","description":"The inheritances stemming from Traits applied to the Asset Type.","items":{"$ref":"#/components/schemas/TraitAssignmentInheritance"}},"assignment":{"$ref":"#/components/schemas/ResourceReference"},"assetType":{"$ref":"#/components/schemas/NamedResourceReferenceImpl"}},"description":"An inheritance stemming from an assignment of an ancestor."},"TraitAssignmentInheritance":{"type":"object","properties":{"scope":{"$ref":"#/components/schemas/NamedResourceReferenceImpl"},"characteristicTypes":{"type":"array","description":"The list of assigned characteristic types.\nDepending on the actual type, a characteristic type may contain additional properties.\nFor additional details, refer to the schemas of AssignedAttributeType, AssignedComplexRelationType\nand AssignedRelationType.\nThese references will always contain 'AttributeType', 'StringAttributeType', 'ScriptAttributeType',\n'BooleanAttributeType', 'DateAttributeType', 'SingleValueListAttributeType',\n'MultiValueListAttributeType', 'NumericAttributeType''RelationType' or 'ComplexRelationType'\nas resourceDiscriminator value.","items":{"$ref":"#/components/schemas/AssignedCharacteristicType"}},"assignedCharacteristicTypeReferences":{"type":"array","description":"The list of assigned characteristic types.\nDepending on the actual type, a characteristic type may contain additional properties.\nThese references will always contain 'AttributeType', 'StringAttributeType', 'ScriptAttributeType',\n'BooleanAttributeType', 'DateAttributeType', 'SingleValueListAttributeType',\n'MultiValueListAttributeType', 'NumericAttributeType', 'RelationType', 'DerivedRelationType' or 'ComplexRelationType'\nas resourceDiscriminator value.","items":{"$ref":"#/components/schemas/AssignedCharacteristicTypeReferenceImpl"}},"traitAssignment":{"$ref":"#/components/schemas/ResourceReference"},"trait":{"$ref":"#/components/schemas/NamedResourceReferenceImpl"},"assetType":{"$ref":"#/components/schemas/NamedResourceReferenceImpl"}},"description":"The inheritance stemming from a single Trait applied to the Asset Type.\nPlease note that the 'assetType' property of TraitAssignmentInheritance is deprecated.\nThis property was incorrectly named, and has therefore been replaced by the 'trait' property.\nBoth properties contain a reference to the trait from which the inheritance comes.\n"},"ResourceReference":{"required":["id","resourceType"],"type":"object","properties":{"id":{"type":"string","description":"The id of the referenced resource.","format":"uuid"},"resourceType":{"type":"string","description":"The type of the resource, e.g. [Community, Asset, Domain, Attribute, Relation, WorkflowInstance, ...]. This property is deprecated and will be removed in the future. In order to stay backwards compatible and to enable us to introduce new types of resources, we are replacing the ResourceType enum with a String. For new types of resources that didn't exist before this change, resourceType will be BaseDataType. Please use the resourceDiscriminator property instead. Refer to the object containing the ResourceReference for possible values.","deprecated":true,"enum":["View","Asset","Community","Domain","AssetType","DomainType","Status","User","ClassificationMatch","UserGroup","Attribute","StringAttribute","ScriptAttribute","BooleanAttribute","DateAttribute","NumericAttribute","SingleValueListAttribute","MultiValueListAttribute","Comment","Attachment","Responsibility","Workflow","Job","Relation","RelationType","ComplexRelation","ComplexRelationType","ArticulationRule","Assignment","Scope","RelationTrace","ValidationRule","DataQualityRule","DataQualityMetric","Address","InstantMessagingAccount","Email","PhoneNumber","Website","Activity","FormProperty","WorkflowTask","ActivityChange","WorkflowInstance","Role","AttributeType","BooleanAttributeType","DateAttributeType","DateTimeAttributeType","MultiValueListAttributeType","NumericAttributeType","ScriptAttributeType","SingleValueListAttributeType","StringAttributeType","ViewSharingRule","ViewAssignmentRule","JdbcDriverFile","JdbcDriver","JdbcIngestionProperties","CsvIngestionProperties","ExcelIngestionProperties","ConnectionStringParameter","AssignedCharacteristicType","Notification","Tag","ComplexRelationLegType","ComplexRelationAttributeType","ComplexRelationLeg","BaseDataType","AdvancedDataType","DiagramPicture","DiagramPictureSharingRule","DiagramPictureAssignmentRule","Rating","Classification","PhysicalDataConnector","Context"]},"resourceDiscriminator":{"type":"string","description":"The resource discriminator, which indicates the type of the referenced resource, e.g. \"Community\", \"Asset\", ... Check the documentation of the class using the resource reference for detailed documentation regarding the possible resource discriminator values."}},"description":"Represents reference to the resource."}}},"paths":{"/assignments":{"post":{"tags":["Assignments"],"summary":"Adds a new Assignment.","description":"Adds a new Assignment.","operationId":"addAssignment","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddAssignmentRequest"}}}},"responses":{"201":{"description":"Assignment successfully added.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssignmentImpl"}}}},"400":{"description":"An assignment with the given ID already exists"},"403":{"description":"Forbidden - Insufficient permissions to perform the requested operation."},"404":{"description":"The AssetType, scope, or a referenced resource was not found"}}}}}}
```

## Removes the Assignment identified by the given id.

> Removes the Assignment identified by the given id.

```json
{"openapi":"3.0.3","info":{"title":"Collibra Data Governance Center Core API","version":"2.0"},"servers":[{"url":"/rest/2.0","variables":{}}],"security":[{"basicAuth":[]},{"jwtAuth":[]},{"oauth2":["sys.admin"]}],"components":{"securitySchemes":{"basicAuth":{"type":"http","scheme":"basic"},"jwtAuth":{"type":"http","description":"Collibra REST API authentication using JSON Web Token.","scheme":"bearer","bearerFormat":"JWT"},"oauth2":{"type":"oauth2","description":"Collibra REST API authentication using OAuth 2.","flows":{"clientCredentials":{"tokenUrl":"/rest/oauth/v2/token","scopes":{"sys.admin":"System administration","kg.manage-all":"Manage all knowledge graph resources","kg.view-all":"View any knowledge graph resource","kg.manage-tags":"Manage tags","insights.download":"Download insights reporting zip files","wf.administration":"Workflow administration","wf.use-message-events":"Use workflow events"}}}}}},"paths":{"/assignments/{assignmentId}":{"delete":{"tags":["Assignments"],"summary":"Removes the Assignment identified by the given id.","description":"Removes the Assignment identified by the given id.","operationId":"removeAssignment","parameters":[{"name":"assignmentId","in":"path","description":"The unique identifier of the Assignment.","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"204":{"description":"Assignment removed."},"400":{"description":"The assignment cannot be removed because it is the last unscoped assignment while scoped assignments still exist, or its asset type has applied traits."},"403":{"description":"Forbidden - Insufficient permissions to perform the requested operation."},"404":{"description":"Assignment not found."}}}}}}
```

## Changes the assignment with the information that is provided in the request.

> Changes the assignment with the information that is provided in the request. Only properties that are specified in the request and are not NULL are updated. All other properties are ignored.

```json
{"openapi":"3.0.3","info":{"title":"Collibra Data Governance Center Core API","version":"2.0"},"servers":[{"url":"/rest/2.0","variables":{}}],"security":[{"basicAuth":[]},{"jwtAuth":[]},{"oauth2":["sys.admin"]}],"components":{"securitySchemes":{"basicAuth":{"type":"http","scheme":"basic"},"jwtAuth":{"type":"http","description":"Collibra REST API authentication using JSON Web Token.","scheme":"bearer","bearerFormat":"JWT"},"oauth2":{"type":"oauth2","description":"Collibra REST API authentication using OAuth 2.","flows":{"clientCredentials":{"tokenUrl":"/rest/oauth/v2/token","scopes":{"sys.admin":"System administration","kg.manage-all":"Manage all knowledge graph resources","kg.view-all":"View any knowledge graph resource","kg.manage-tags":"Manage tags","insights.download":"Download insights reporting zip files","wf.administration":"Workflow administration","wf.use-message-events":"Use workflow events"}}}}},"schemas":{"ChangeAssignmentRequest":{"type":"object","properties":{"statusIds":{"type":"array","description":"The list of IDs of the statuses. The first element in the list is used as default status id.","items":{"type":"string","description":"The list of IDs of the statuses. The first element in the list is used as default status id.","format":"uuid"}},"characteristicTypes":{"type":"array","description":"The list of characteristic types to be assigned, along with their assignment modalities.","items":{"$ref":"#/components/schemas/CharacteristicTypeAssignmentReference"}},"articulationRules":{"type":"array","description":"The articulation rule definitions.","items":{"$ref":"#/components/schemas/ArticulationRuleRequest"}},"validationRuleIds":{"type":"array","description":"The list of IDs of the validation rules","items":{"type":"string","description":"The list of IDs of the validation rules","format":"uuid"}},"dataQualityRuleIds":{"type":"array","description":"The list of IDs of the data quality rules","items":{"type":"string","description":"The list of IDs of the data quality rules","format":"uuid"}},"domainTypeIds":{"type":"array","description":"The list of IDs of the domain types","items":{"type":"string","description":"The list of IDs of the domain types","format":"uuid"}},"defaultStatusId":{"type":"string","description":"The ID of the default status for the asset type. Deprecated : this property is ignored. The default status is the first status in the list of assigned statuses of the assignment.","format":"uuid","deprecated":true},"scopeId":{"type":"string","description":"The ID of the scope the assignment corresponds to.\nThe scopeId is ignored, and will be removed in the future.","format":"uuid","deprecated":true}}},"CharacteristicTypeAssignmentReference":{"required":["id"],"type":"object","properties":{"id":{"type":"string","description":"The ID of the reference.","format":"uuid"},"min":{"minimum":0,"type":"integer","description":"The minimum allowed.","format":"int32"},"max":{"type":"integer","description":"The maximum allowed, unlimited when null.","format":"int32"},"readOnly":{"type":"boolean","description":"When set to true, the value of the assigned Characteristic Type cannot be edited by the user. Only applicable to AttributeType assignment lines. Leave unset to preserve the existing value on change."},"type":{"type":"string","description":"The resource type. Deprecated in favour of ResourceDiscriminator.","deprecated":true,"enum":["View","Asset","Community","Domain","AssetType","DomainType","Status","User","ClassificationMatch","UserGroup","Attribute","StringAttribute","ScriptAttribute","BooleanAttribute","DateAttribute","NumericAttribute","SingleValueListAttribute","MultiValueListAttribute","Comment","Attachment","Responsibility","Workflow","Job","Relation","RelationType","ComplexRelation","ComplexRelationType","ArticulationRule","Assignment","Scope","RelationTrace","ValidationRule","DataQualityRule","DataQualityMetric","Address","InstantMessagingAccount","Email","PhoneNumber","Website","Activity","FormProperty","WorkflowTask","ActivityChange","WorkflowInstance","Role","AttributeType","BooleanAttributeType","DateAttributeType","DateTimeAttributeType","MultiValueListAttributeType","NumericAttributeType","ScriptAttributeType","SingleValueListAttributeType","StringAttributeType","ViewSharingRule","ViewAssignmentRule","JdbcDriverFile","JdbcDriver","JdbcIngestionProperties","CsvIngestionProperties","ExcelIngestionProperties","ConnectionStringParameter","AssignedCharacteristicType","Notification","Tag","ComplexRelationLegType","ComplexRelationAttributeType","ComplexRelationLeg","BaseDataType","AdvancedDataType","DiagramPicture","DiagramPictureSharingRule","DiagramPictureAssignmentRule","Rating","Classification","PhysicalDataConnector","Context"]},"resourceDiscriminator":{"pattern":"^\\w*AttributeType$|^DerivedRelationType$|^RelationType$|^ComplexRelationType$","type":"string","description":"The resource discriminator. Possible values: 'AttributeType', 'DerivedRelationType', 'RelationType' and 'ComplexRelationType'"},"relationTypeDirection":{"type":"string","description":"The relation type direction, if the referenced resource is a relation type; otherwise null.","enum":["TO_SOURCE","TO_TARGET","BOTH","NONE"]},"relationTypeRestriction":{"type":"string","description":"The relation type restriction of the target Asset Type, if the referenced resource is a relation type; otherwise null. When specified, it effectively replaces the source asset type of the relation when relationTypeDirection = TO_SOURCE or the target asset type of the relation when relationTypeDirection = TO_TARGET.You can specify the relation type restriction only when relationTypeDirection is not null. If specified, it must be an ID of a subtype of the source or target asset type, depending on the value of relationTypeDirection.","format":"uuid"}},"description":"A characteristic type which will be assigned, as well as assignment modalities such as cardinality etc.<br/>\nWhen adding or changing an assigned Relation Type, the relationTypeDirection must be set.<br/>\nWhen adding or changing an assigned Boolean Attribute Type, the maximum must not be <code>null</code> or higher than 1.\n"},"ArticulationRuleRequest":{"required":["operation","score"],"type":"object","properties":{"id":{"type":"string","description":"The ID of the articulation rule.","format":"uuid"},"operation":{"type":"string","description":"The <code>operation</code> ADD or SET.","enum":["ADD","SET"]},"score":{"type":"number","description":"The articulation score (between 0 and 100).","format":"double"},"statusId":{"type":"string","description":"The ID of the status.","format":"uuid"},"attributeTypeId":{"type":"string","description":"The ID of the attribute type.","format":"uuid"}},"description":"An articulation rule definition."},"AssignmentImpl":{"required":["id","resourceType"],"type":"object","properties":{"id":{"type":"string","description":"The id of the represented object (entity).","format":"uuid"},"createdBy":{"type":"string","description":"The id of the user that created this resource.","format":"uuid"},"createdOn":{"type":"integer","description":"The timestamp (in UTC time standard) of the creation of this resource.","format":"int64"},"lastModifiedBy":{"type":"string","description":"The id of the user who modified this resource the last time.","format":"uuid"},"lastModifiedOn":{"type":"integer","description":"The timestamp (in UTC time standard) of the last modification of this resource.","format":"int64"},"system":{"type":"boolean","description":"Whether this is a system resource or not."},"resourceType":{"type":"string","description":"The type of the resource, e.g. [Community, Asset, Domain, Attribute, Relation, WorkflowInstance, ...].\nThis property is deprecated and will be removed in the future. In order to stay backwards compatible\nand to enable introduction of new types of resources, where necessary, a resource discriminator\nproperty (of type String) has been added to specific subtypes of Resource,\ne.g. assignedResourceDiscriminator on AssignedResource, or attributeDiscriminator on Attribute.\nFor new types of resource that didn't exist before this change, the resourceType will be\nBaseDataType.\n","deprecated":true,"enum":["View","Asset","Community","Domain","AssetType","DomainType","Status","User","ClassificationMatch","UserGroup","Attribute","StringAttribute","ScriptAttribute","BooleanAttribute","DateAttribute","NumericAttribute","SingleValueListAttribute","MultiValueListAttribute","Comment","Attachment","Responsibility","Workflow","Job","Relation","RelationType","ComplexRelation","ComplexRelationType","ArticulationRule","Assignment","Scope","RelationTrace","ValidationRule","DataQualityRule","DataQualityMetric","Address","InstantMessagingAccount","Email","PhoneNumber","Website","Activity","FormProperty","WorkflowTask","ActivityChange","WorkflowInstance","Role","AttributeType","BooleanAttributeType","DateAttributeType","DateTimeAttributeType","MultiValueListAttributeType","NumericAttributeType","ScriptAttributeType","SingleValueListAttributeType","StringAttributeType","ViewSharingRule","ViewAssignmentRule","JdbcDriverFile","JdbcDriver","JdbcIngestionProperties","CsvIngestionProperties","ExcelIngestionProperties","ConnectionStringParameter","AssignedCharacteristicType","Notification","Tag","ComplexRelationLegType","ComplexRelationAttributeType","ComplexRelationLeg","BaseDataType","AdvancedDataType","DiagramPicture","DiagramPictureSharingRule","DiagramPictureAssignmentRule","Rating","Classification","PhysicalDataConnector","Context"]},"assetType":{"$ref":"#/components/schemas/NamedResourceReferenceImpl"},"statuses":{"type":"array","description":"The list of references to the statuses.  These references will always contain 'Status' as resourceDiscriminator value.","items":{"$ref":"#/components/schemas/NamedDescribedResourceReference"}},"defaultStatusId":{"type":"string","description":"The ID of the default status. Deprecated : this property is ignored. The default status is the first status in the list of assigned statuses of the assignment.","format":"uuid","deprecated":true},"characteristicTypes":{"type":"array","description":"The list of assigned characteristic types. Depending on the actual type, a characteristic type may contain additional properties. For additional details, refer to the schemas of AssignedAttributeType, AssignedComplexRelationType and AssignedRelationType. These references will always contain 'AttributeType', 'RelationType' or 'ComplexRelationType' as resourceDiscriminator value.Deprecated in favour of assignedCharacteristicTypeReferences.","deprecated":true,"items":{"$ref":"#/components/schemas/AssignedCharacteristicType"}},"assignedCharacteristicTypeReferences":{"type":"array","description":"The list of assigned characteristic types. Depending on the actual type, a characteristic type may contain additional properties. These references will contain 'AttributeType', 'RelationType' or 'ComplexRelationType' or 'DerivedRelationType' as resourceDiscriminator value.","items":{"$ref":"#/components/schemas/AssignedCharacteristicTypeReferenceImpl"}},"articulationRules":{"type":"array","description":"The list of articulation rules applying with the assignment.","items":{"$ref":"#/components/schemas/ArticulationRuleImpl"}},"validationRules":{"type":"array","description":"The list of references to validation rules applying with the assignment. These references will always contain 'Asset' as resourceDiscriminator value.","items":{"$ref":"#/components/schemas/NamedResourceReferenceImpl"}},"dataQualityRules":{"type":"array","description":"The list of references to data quality rules applying with the assignment. These references will always contain 'DataQualityRule' as resourceDiscriminator value.","items":{"$ref":"#/components/schemas/NamedDescribedResourceReference"}},"domainTypes":{"type":"array","description":"The list of references to domain types which the assignment refers to.  These references will always contain 'DomainType' as resourceDiscriminator value.","items":{"$ref":"#/components/schemas/NamedDescribedResourceReference"}},"scope":{"$ref":"#/components/schemas/ScopeImpl"},"assignmentInheritances":{"type":"array","description":"The inheritances stemming from assignments applied to ancestors of the asset type of this assignment.","items":{"$ref":"#/components/schemas/AssignmentInheritance"}},"traitAssignmentInheritances":{"type":"array","description":"The inheritances stemming from Traits applied to the Asset Type.","items":{"$ref":"#/components/schemas/TraitAssignmentInheritance"}}}},"NamedResourceReferenceImpl":{"required":["id","resourceType"],"type":"object","properties":{"id":{"type":"string","description":"The id of the referenced resource.","format":"uuid"},"resourceType":{"type":"string","description":"The type of the resource, e.g. [Community, Asset, Domain, Attribute, Relation, WorkflowInstance, ...]. This property is deprecated and will be removed in the future. In order to stay backwards compatible and to enable us to introduce new types of resources, we are replacing the ResourceType enum with a String. For new types of resources that didn't exist before this change, resourceType will be BaseDataType. Please use the resourceDiscriminator property instead. Refer to the object containing the ResourceReference for possible values.","deprecated":true,"enum":["View","Asset","Community","Domain","AssetType","DomainType","Status","User","ClassificationMatch","UserGroup","Attribute","StringAttribute","ScriptAttribute","BooleanAttribute","DateAttribute","NumericAttribute","SingleValueListAttribute","MultiValueListAttribute","Comment","Attachment","Responsibility","Workflow","Job","Relation","RelationType","ComplexRelation","ComplexRelationType","ArticulationRule","Assignment","Scope","RelationTrace","ValidationRule","DataQualityRule","DataQualityMetric","Address","InstantMessagingAccount","Email","PhoneNumber","Website","Activity","FormProperty","WorkflowTask","ActivityChange","WorkflowInstance","Role","AttributeType","BooleanAttributeType","DateAttributeType","DateTimeAttributeType","MultiValueListAttributeType","NumericAttributeType","ScriptAttributeType","SingleValueListAttributeType","StringAttributeType","ViewSharingRule","ViewAssignmentRule","JdbcDriverFile","JdbcDriver","JdbcIngestionProperties","CsvIngestionProperties","ExcelIngestionProperties","ConnectionStringParameter","AssignedCharacteristicType","Notification","Tag","ComplexRelationLegType","ComplexRelationAttributeType","ComplexRelationLeg","BaseDataType","AdvancedDataType","DiagramPicture","DiagramPictureSharingRule","DiagramPictureAssignmentRule","Rating","Classification","PhysicalDataConnector","Context"]},"resourceDiscriminator":{"type":"string","description":"The resource discriminator, which indicates the type of the referenced resource, e.g. \"Community\", \"Asset\", ... Check the documentation of the class using the resource reference for detailed documentation regarding the possible resource discriminator values."},"name":{"type":"string","description":"The name of the referenced resource."}},"description":"Represents reference to the resource, including its name."},"NamedDescribedResourceReference":{"required":["id","resourceType"],"type":"object","properties":{"id":{"type":"string","description":"The id of the referenced resource.","format":"uuid"},"resourceType":{"type":"string","description":"The type of the resource, e.g. [Community, Asset, Domain, Attribute, Relation, WorkflowInstance, ...]. This property is deprecated and will be removed in the future. In order to stay backwards compatible and to enable us to introduce new types of resources, we are replacing the ResourceType enum with a String. For new types of resources that didn't exist before this change, resourceType will be BaseDataType. Please use the resourceDiscriminator property instead. Refer to the object containing the ResourceReference for possible values.","deprecated":true,"enum":["View","Asset","Community","Domain","AssetType","DomainType","Status","User","ClassificationMatch","UserGroup","Attribute","StringAttribute","ScriptAttribute","BooleanAttribute","DateAttribute","NumericAttribute","SingleValueListAttribute","MultiValueListAttribute","Comment","Attachment","Responsibility","Workflow","Job","Relation","RelationType","ComplexRelation","ComplexRelationType","ArticulationRule","Assignment","Scope","RelationTrace","ValidationRule","DataQualityRule","DataQualityMetric","Address","InstantMessagingAccount","Email","PhoneNumber","Website","Activity","FormProperty","WorkflowTask","ActivityChange","WorkflowInstance","Role","AttributeType","BooleanAttributeType","DateAttributeType","DateTimeAttributeType","MultiValueListAttributeType","NumericAttributeType","ScriptAttributeType","SingleValueListAttributeType","StringAttributeType","ViewSharingRule","ViewAssignmentRule","JdbcDriverFile","JdbcDriver","JdbcIngestionProperties","CsvIngestionProperties","ExcelIngestionProperties","ConnectionStringParameter","AssignedCharacteristicType","Notification","Tag","ComplexRelationLegType","ComplexRelationAttributeType","ComplexRelationLeg","BaseDataType","AdvancedDataType","DiagramPicture","DiagramPictureSharingRule","DiagramPictureAssignmentRule","Rating","Classification","PhysicalDataConnector","Context"]},"resourceDiscriminator":{"type":"string","description":"The resource discriminator, which indicates the type of the referenced resource, e.g. \"Community\", \"Asset\", ... Check the documentation of the class using the resource reference for detailed documentation regarding the possible resource discriminator values."},"name":{"type":"string","description":"The name of the referenced resource."},"description":{"type":"string","description":"The description of the referenced resource."}},"description":"Represents reference to the resource, including its name and description."},"AssignedCharacteristicType":{"required":["assignedResourceType"],"type":"object","properties":{"readOnly":{"type":"boolean","description":"Whether the characteristic value of the assigned type can be edited by the user."},"system":{"type":"boolean","description":"Whether the characteristic type can be unassigned."},"assignedResourceType":{"type":"string","description":"The type of the resource the characteristic refers to. The value can be one of : AttributeType, RelationType or ComplexRelationType. Deprecated in favour of assignedCharacteristicTypeDiscriminator.","deprecated":true,"enum":["View","Asset","Community","Domain","AssetType","DomainType","Status","User","ClassificationMatch","UserGroup","Attribute","StringAttribute","ScriptAttribute","BooleanAttribute","DateAttribute","NumericAttribute","SingleValueListAttribute","MultiValueListAttribute","Comment","Attachment","Responsibility","Workflow","Job","Relation","RelationType","ComplexRelation","ComplexRelationType","ArticulationRule","Assignment","Scope","RelationTrace","ValidationRule","DataQualityRule","DataQualityMetric","Address","InstantMessagingAccount","Email","PhoneNumber","Website","Activity","FormProperty","WorkflowTask","ActivityChange","WorkflowInstance","Role","AttributeType","BooleanAttributeType","DateAttributeType","DateTimeAttributeType","MultiValueListAttributeType","NumericAttributeType","ScriptAttributeType","SingleValueListAttributeType","StringAttributeType","ViewSharingRule","ViewAssignmentRule","JdbcDriverFile","JdbcDriver","JdbcIngestionProperties","CsvIngestionProperties","ExcelIngestionProperties","ConnectionStringParameter","AssignedCharacteristicType","Notification","Tag","ComplexRelationLegType","ComplexRelationAttributeType","ComplexRelationLeg","BaseDataType","AdvancedDataType","DiagramPicture","DiagramPictureSharingRule","DiagramPictureAssignmentRule","Rating","Classification","PhysicalDataConnector","Context"]},"assignedCharacteristicTypeDiscriminator":{"type":"string","description":"The discriminator of the characteristic type that is assigned. The value can be one of : AttributeType, RelationType or ComplexRelationType"},"minimumOccurrences":{"type":"integer","description":"How many times at least the assigned characteristic must be added to the resource. Zero means no restriction.","format":"int32"},"assignedResourceId":{"type":"string","description":"The id of the resource the characteristic refers to.","format":"uuid"},"maximumOccurrences":{"type":"integer","description":"How many times at least the assigned characteristic may be added to the resource. Null means no limit.","format":"int32"},"id":{"type":"string","description":"The id of the represented object (entity).","format":"uuid"}},"description":"The list of assigned characteristic types. Depending on the actual type, a characteristic type may contain additional properties. For additional details, refer to the schemas of AssignedAttributeType, AssignedComplexRelationType and AssignedRelationType. These references will always contain 'AttributeType', 'RelationType' or 'ComplexRelationType' as resourceDiscriminator value.","discriminator":{"propertyName":"assignedResourceType","mapping":{"AttributeType":"#/components/schemas/AssignedAttributeType","ComplexRelationType":"#/components/schemas/AssignedComplexRelationType","RelationType":"#/components/schemas/AssignedRelationType"}}},"AssignedCharacteristicTypeReferenceImpl":{"type":"object","properties":{"id":{"type":"string","description":"The unique identifier of the Assigned Characteristic Type Reference.","format":"uuid"},"assignedResourceReference":{"$ref":"#/components/schemas/NamedResourceReferenceImpl"},"assignedResourcePublicId":{"type":"string","description":"The public id of assigned Characteristic Type. This can be an Attribute Type, Relation Type, Complex Relation Type or Derived Relation Type."},"minimumOccurrences":{"type":"integer","description":"How many times the assigned Characteristic must at the minimum be added to the Resource. Zero means no restriction.","format":"int32"},"maximumOccurrences":{"type":"integer","description":"Defines how many times an assigned Characteristic may be added at most to the resource. Null means no limit.","format":"int32"},"system":{"type":"boolean","description":"When the system flag is set to true, it means the Characteristic Type cannot be unassigned."},"readOnly":{"type":"boolean","description":"When the readOnly flag is set to true, the value of the assigned Characteristic Type cannot be edited by the user. Only applicable to AttributeType assignment lines."},"relationTypeDirection":{"type":"string","description":"The direction of the Relation Type or null when this reference isn't a reference to a Relation Type.","enum":["TO_SOURCE","TO_TARGET","BOTH","NONE"]},"relationTypeRestriction":{"$ref":"#/components/schemas/NamedResourceReferenceImpl"},"matchingLegTypesIds":{"type":"array","description":"The list of ids that should match the legs of the complex relation or null if this reference is not a ComplexRelationType.","deprecated":true,"items":{"type":"string","description":"The list of ids that should match the legs of the complex relation or null if this reference is not a ComplexRelationType.","format":"uuid","deprecated":true}}},"description":"The list of assigned characteristic types.\nDepending on the actual type, a characteristic type may contain additional properties.\nThese references will always contain 'AttributeType', 'StringAttributeType', 'ScriptAttributeType',\n'BooleanAttributeType', 'DateAttributeType', 'SingleValueListAttributeType',\n'MultiValueListAttributeType', 'NumericAttributeType', 'RelationType', 'DerivedRelationType' or 'ComplexRelationType'\nas resourceDiscriminator value."},"ArticulationRuleImpl":{"required":["id","resourceType"],"type":"object","properties":{"id":{"type":"string","description":"The id of the represented object (entity).","format":"uuid"},"createdBy":{"type":"string","description":"The id of the user that created this resource.","format":"uuid"},"createdOn":{"type":"integer","description":"The timestamp (in UTC time standard) of the creation of this resource.","format":"int64"},"lastModifiedBy":{"type":"string","description":"The id of the user who modified this resource the last time.","format":"uuid"},"lastModifiedOn":{"type":"integer","description":"The timestamp (in UTC time standard) of the last modification of this resource.","format":"int64"},"system":{"type":"boolean","description":"Whether this is a system resource or not."},"resourceType":{"type":"string","description":"The type of the resource, e.g. [Community, Asset, Domain, Attribute, Relation, WorkflowInstance, ...].\nThis property is deprecated and will be removed in the future. In order to stay backwards compatible\nand to enable introduction of new types of resources, where necessary, a resource discriminator\nproperty (of type String) has been added to specific subtypes of Resource,\ne.g. assignedResourceDiscriminator on AssignedResource, or attributeDiscriminator on Attribute.\nFor new types of resource that didn't exist before this change, the resourceType will be\nBaseDataType.\n","deprecated":true,"enum":["View","Asset","Community","Domain","AssetType","DomainType","Status","User","ClassificationMatch","UserGroup","Attribute","StringAttribute","ScriptAttribute","BooleanAttribute","DateAttribute","NumericAttribute","SingleValueListAttribute","MultiValueListAttribute","Comment","Attachment","Responsibility","Workflow","Job","Relation","RelationType","ComplexRelation","ComplexRelationType","ArticulationRule","Assignment","Scope","RelationTrace","ValidationRule","DataQualityRule","DataQualityMetric","Address","InstantMessagingAccount","Email","PhoneNumber","Website","Activity","FormProperty","WorkflowTask","ActivityChange","WorkflowInstance","Role","AttributeType","BooleanAttributeType","DateAttributeType","DateTimeAttributeType","MultiValueListAttributeType","NumericAttributeType","ScriptAttributeType","SingleValueListAttributeType","StringAttributeType","ViewSharingRule","ViewAssignmentRule","JdbcDriverFile","JdbcDriver","JdbcIngestionProperties","CsvIngestionProperties","ExcelIngestionProperties","ConnectionStringParameter","AssignedCharacteristicType","Notification","Tag","ComplexRelationLegType","ComplexRelationAttributeType","ComplexRelationLeg","BaseDataType","AdvancedDataType","DiagramPicture","DiagramPictureSharingRule","DiagramPictureAssignmentRule","Rating","Classification","PhysicalDataConnector","Context"]},"score":{"type":"number","description":"The value that should be either added or set (depending on the operation) when this rule matches.","format":"double"},"operation":{"type":"string","description":"The type of an operation that should be performed when asset is matching this rule.","enum":["ADD","SET"]},"status":{"$ref":"#/components/schemas/NamedResourceReferenceImpl"},"attributeType":{"$ref":"#/components/schemas/NamedResourceReferenceImpl"}},"description":"The list of articulation rules applying with the assignment."},"ScopeImpl":{"required":["id","resourceType"],"type":"object","properties":{"id":{"type":"string","description":"The id of the represented object (entity).","format":"uuid"},"createdBy":{"type":"string","description":"The id of the user that created this resource.","format":"uuid"},"createdOn":{"type":"integer","description":"The timestamp (in UTC time standard) of the creation of this resource.","format":"int64"},"lastModifiedBy":{"type":"string","description":"The id of the user who modified this resource the last time.","format":"uuid"},"lastModifiedOn":{"type":"integer","description":"The timestamp (in UTC time standard) of the last modification of this resource.","format":"int64"},"system":{"type":"boolean","description":"Whether this is a system resource or not."},"resourceType":{"type":"string","description":"The type of the resource, e.g. [Community, Asset, Domain, Attribute, Relation, WorkflowInstance, ...].\nThis property is deprecated and will be removed in the future. In order to stay backwards compatible\nand to enable introduction of new types of resources, where necessary, a resource discriminator\nproperty (of type String) has been added to specific subtypes of Resource,\ne.g. assignedResourceDiscriminator on AssignedResource, or attributeDiscriminator on Attribute.\nFor new types of resource that didn't exist before this change, the resourceType will be\nBaseDataType.\n","deprecated":true,"enum":["View","Asset","Community","Domain","AssetType","DomainType","Status","User","ClassificationMatch","UserGroup","Attribute","StringAttribute","ScriptAttribute","BooleanAttribute","DateAttribute","NumericAttribute","SingleValueListAttribute","MultiValueListAttribute","Comment","Attachment","Responsibility","Workflow","Job","Relation","RelationType","ComplexRelation","ComplexRelationType","ArticulationRule","Assignment","Scope","RelationTrace","ValidationRule","DataQualityRule","DataQualityMetric","Address","InstantMessagingAccount","Email","PhoneNumber","Website","Activity","FormProperty","WorkflowTask","ActivityChange","WorkflowInstance","Role","AttributeType","BooleanAttributeType","DateAttributeType","DateTimeAttributeType","MultiValueListAttributeType","NumericAttributeType","ScriptAttributeType","SingleValueListAttributeType","StringAttributeType","ViewSharingRule","ViewAssignmentRule","JdbcDriverFile","JdbcDriver","JdbcIngestionProperties","CsvIngestionProperties","ExcelIngestionProperties","ConnectionStringParameter","AssignedCharacteristicType","Notification","Tag","ComplexRelationLegType","ComplexRelationAttributeType","ComplexRelationLeg","BaseDataType","AdvancedDataType","DiagramPicture","DiagramPictureSharingRule","DiagramPictureAssignmentRule","Rating","Classification","PhysicalDataConnector","Context"]},"name":{"type":"string","description":"The name of the resource."},"description":{"type":"string","description":"The description of the resource."},"publicId":{"type":"string","description":"The public id of the scope."},"domains":{"type":"array","description":"The list of domains that are included in this scope.","items":{"$ref":"#/components/schemas/NamedResourceReferenceImpl"}},"communities":{"type":"array","description":"The list of communities that are included in this scope.","items":{"$ref":"#/components/schemas/NamedResourceReferenceImpl"}}}},"AssignmentInheritance":{"type":"object","properties":{"scope":{"$ref":"#/components/schemas/NamedResourceReferenceImpl"},"traitAssignmentInheritances":{"type":"array","description":"The inheritances stemming from Traits applied to the Asset Type.","items":{"$ref":"#/components/schemas/TraitAssignmentInheritance"}},"assignment":{"$ref":"#/components/schemas/ResourceReference"},"assetType":{"$ref":"#/components/schemas/NamedResourceReferenceImpl"}},"description":"An inheritance stemming from an assignment of an ancestor."},"TraitAssignmentInheritance":{"type":"object","properties":{"scope":{"$ref":"#/components/schemas/NamedResourceReferenceImpl"},"characteristicTypes":{"type":"array","description":"The list of assigned characteristic types.\nDepending on the actual type, a characteristic type may contain additional properties.\nFor additional details, refer to the schemas of AssignedAttributeType, AssignedComplexRelationType\nand AssignedRelationType.\nThese references will always contain 'AttributeType', 'StringAttributeType', 'ScriptAttributeType',\n'BooleanAttributeType', 'DateAttributeType', 'SingleValueListAttributeType',\n'MultiValueListAttributeType', 'NumericAttributeType''RelationType' or 'ComplexRelationType'\nas resourceDiscriminator value.","items":{"$ref":"#/components/schemas/AssignedCharacteristicType"}},"assignedCharacteristicTypeReferences":{"type":"array","description":"The list of assigned characteristic types.\nDepending on the actual type, a characteristic type may contain additional properties.\nThese references will always contain 'AttributeType', 'StringAttributeType', 'ScriptAttributeType',\n'BooleanAttributeType', 'DateAttributeType', 'SingleValueListAttributeType',\n'MultiValueListAttributeType', 'NumericAttributeType', 'RelationType', 'DerivedRelationType' or 'ComplexRelationType'\nas resourceDiscriminator value.","items":{"$ref":"#/components/schemas/AssignedCharacteristicTypeReferenceImpl"}},"traitAssignment":{"$ref":"#/components/schemas/ResourceReference"},"trait":{"$ref":"#/components/schemas/NamedResourceReferenceImpl"},"assetType":{"$ref":"#/components/schemas/NamedResourceReferenceImpl"}},"description":"The inheritance stemming from a single Trait applied to the Asset Type.\nPlease note that the 'assetType' property of TraitAssignmentInheritance is deprecated.\nThis property was incorrectly named, and has therefore been replaced by the 'trait' property.\nBoth properties contain a reference to the trait from which the inheritance comes.\n"},"ResourceReference":{"required":["id","resourceType"],"type":"object","properties":{"id":{"type":"string","description":"The id of the referenced resource.","format":"uuid"},"resourceType":{"type":"string","description":"The type of the resource, e.g. [Community, Asset, Domain, Attribute, Relation, WorkflowInstance, ...]. This property is deprecated and will be removed in the future. In order to stay backwards compatible and to enable us to introduce new types of resources, we are replacing the ResourceType enum with a String. For new types of resources that didn't exist before this change, resourceType will be BaseDataType. Please use the resourceDiscriminator property instead. Refer to the object containing the ResourceReference for possible values.","deprecated":true,"enum":["View","Asset","Community","Domain","AssetType","DomainType","Status","User","ClassificationMatch","UserGroup","Attribute","StringAttribute","ScriptAttribute","BooleanAttribute","DateAttribute","NumericAttribute","SingleValueListAttribute","MultiValueListAttribute","Comment","Attachment","Responsibility","Workflow","Job","Relation","RelationType","ComplexRelation","ComplexRelationType","ArticulationRule","Assignment","Scope","RelationTrace","ValidationRule","DataQualityRule","DataQualityMetric","Address","InstantMessagingAccount","Email","PhoneNumber","Website","Activity","FormProperty","WorkflowTask","ActivityChange","WorkflowInstance","Role","AttributeType","BooleanAttributeType","DateAttributeType","DateTimeAttributeType","MultiValueListAttributeType","NumericAttributeType","ScriptAttributeType","SingleValueListAttributeType","StringAttributeType","ViewSharingRule","ViewAssignmentRule","JdbcDriverFile","JdbcDriver","JdbcIngestionProperties","CsvIngestionProperties","ExcelIngestionProperties","ConnectionStringParameter","AssignedCharacteristicType","Notification","Tag","ComplexRelationLegType","ComplexRelationAttributeType","ComplexRelationLeg","BaseDataType","AdvancedDataType","DiagramPicture","DiagramPictureSharingRule","DiagramPictureAssignmentRule","Rating","Classification","PhysicalDataConnector","Context"]},"resourceDiscriminator":{"type":"string","description":"The resource discriminator, which indicates the type of the referenced resource, e.g. \"Community\", \"Asset\", ... Check the documentation of the class using the resource reference for detailed documentation regarding the possible resource discriminator values."}},"description":"Represents reference to the resource."}}},"paths":{"/assignments/{assignmentId}":{"patch":{"tags":["Assignments"],"summary":"Changes the assignment with the information that is provided in the request.","description":"Changes the assignment with the information that is provided in the request. Only properties that are specified in the request and are not NULL are updated. All other properties are ignored.","operationId":"changeAssignment","parameters":[{"name":"assignmentId","in":"path","description":"The unique identifier of the Assignment.","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChangeAssignmentRequest"}}}},"responses":{"200":{"description":"Assignment successfully changed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssignmentImpl"}}}},"400":{"description":"The request contains invalid parameters"},"403":{"description":"Forbidden - Insufficient permissions to perform the requested operation."},"404":{"description":"The Assignment or a referenced resource was not found"}}}}}}
```

## Find the assignments where a given resource is assigned.

> Find the assignments where a given resource is assigned.

```json
{"openapi":"3.0.3","info":{"title":"Collibra Data Governance Center Core API","version":"2.0"},"servers":[{"url":"/rest/2.0","variables":{}}],"security":[{"basicAuth":[]},{"jwtAuth":[]},{"oauth2":[]}],"components":{"securitySchemes":{"basicAuth":{"type":"http","scheme":"basic"},"jwtAuth":{"type":"http","description":"Collibra REST API authentication using JSON Web Token.","scheme":"bearer","bearerFormat":"JWT"},"oauth2":{"type":"oauth2","description":"Collibra REST API authentication using OAuth 2.","flows":{"clientCredentials":{"tokenUrl":"/rest/oauth/v2/token","scopes":{"sys.admin":"System administration","kg.manage-all":"Manage all knowledge graph resources","kg.view-all":"View any knowledge graph resource","kg.manage-tags":"Manage tags","insights.download":"Download insights reporting zip files","wf.administration":"Workflow administration","wf.use-message-events":"Use workflow events"}}}}},"schemas":{"AssignmentImpl":{"required":["id","resourceType"],"type":"object","properties":{"id":{"type":"string","description":"The id of the represented object (entity).","format":"uuid"},"createdBy":{"type":"string","description":"The id of the user that created this resource.","format":"uuid"},"createdOn":{"type":"integer","description":"The timestamp (in UTC time standard) of the creation of this resource.","format":"int64"},"lastModifiedBy":{"type":"string","description":"The id of the user who modified this resource the last time.","format":"uuid"},"lastModifiedOn":{"type":"integer","description":"The timestamp (in UTC time standard) of the last modification of this resource.","format":"int64"},"system":{"type":"boolean","description":"Whether this is a system resource or not."},"resourceType":{"type":"string","description":"The type of the resource, e.g. [Community, Asset, Domain, Attribute, Relation, WorkflowInstance, ...].\nThis property is deprecated and will be removed in the future. In order to stay backwards compatible\nand to enable introduction of new types of resources, where necessary, a resource discriminator\nproperty (of type String) has been added to specific subtypes of Resource,\ne.g. assignedResourceDiscriminator on AssignedResource, or attributeDiscriminator on Attribute.\nFor new types of resource that didn't exist before this change, the resourceType will be\nBaseDataType.\n","deprecated":true,"enum":["View","Asset","Community","Domain","AssetType","DomainType","Status","User","ClassificationMatch","UserGroup","Attribute","StringAttribute","ScriptAttribute","BooleanAttribute","DateAttribute","NumericAttribute","SingleValueListAttribute","MultiValueListAttribute","Comment","Attachment","Responsibility","Workflow","Job","Relation","RelationType","ComplexRelation","ComplexRelationType","ArticulationRule","Assignment","Scope","RelationTrace","ValidationRule","DataQualityRule","DataQualityMetric","Address","InstantMessagingAccount","Email","PhoneNumber","Website","Activity","FormProperty","WorkflowTask","ActivityChange","WorkflowInstance","Role","AttributeType","BooleanAttributeType","DateAttributeType","DateTimeAttributeType","MultiValueListAttributeType","NumericAttributeType","ScriptAttributeType","SingleValueListAttributeType","StringAttributeType","ViewSharingRule","ViewAssignmentRule","JdbcDriverFile","JdbcDriver","JdbcIngestionProperties","CsvIngestionProperties","ExcelIngestionProperties","ConnectionStringParameter","AssignedCharacteristicType","Notification","Tag","ComplexRelationLegType","ComplexRelationAttributeType","ComplexRelationLeg","BaseDataType","AdvancedDataType","DiagramPicture","DiagramPictureSharingRule","DiagramPictureAssignmentRule","Rating","Classification","PhysicalDataConnector","Context"]},"assetType":{"$ref":"#/components/schemas/NamedResourceReferenceImpl"},"statuses":{"type":"array","description":"The list of references to the statuses.  These references will always contain 'Status' as resourceDiscriminator value.","items":{"$ref":"#/components/schemas/NamedDescribedResourceReference"}},"defaultStatusId":{"type":"string","description":"The ID of the default status. Deprecated : this property is ignored. The default status is the first status in the list of assigned statuses of the assignment.","format":"uuid","deprecated":true},"characteristicTypes":{"type":"array","description":"The list of assigned characteristic types. Depending on the actual type, a characteristic type may contain additional properties. For additional details, refer to the schemas of AssignedAttributeType, AssignedComplexRelationType and AssignedRelationType. These references will always contain 'AttributeType', 'RelationType' or 'ComplexRelationType' as resourceDiscriminator value.Deprecated in favour of assignedCharacteristicTypeReferences.","deprecated":true,"items":{"$ref":"#/components/schemas/AssignedCharacteristicType"}},"assignedCharacteristicTypeReferences":{"type":"array","description":"The list of assigned characteristic types. Depending on the actual type, a characteristic type may contain additional properties. These references will contain 'AttributeType', 'RelationType' or 'ComplexRelationType' or 'DerivedRelationType' as resourceDiscriminator value.","items":{"$ref":"#/components/schemas/AssignedCharacteristicTypeReferenceImpl"}},"articulationRules":{"type":"array","description":"The list of articulation rules applying with the assignment.","items":{"$ref":"#/components/schemas/ArticulationRuleImpl"}},"validationRules":{"type":"array","description":"The list of references to validation rules applying with the assignment. These references will always contain 'Asset' as resourceDiscriminator value.","items":{"$ref":"#/components/schemas/NamedResourceReferenceImpl"}},"dataQualityRules":{"type":"array","description":"The list of references to data quality rules applying with the assignment. These references will always contain 'DataQualityRule' as resourceDiscriminator value.","items":{"$ref":"#/components/schemas/NamedDescribedResourceReference"}},"domainTypes":{"type":"array","description":"The list of references to domain types which the assignment refers to.  These references will always contain 'DomainType' as resourceDiscriminator value.","items":{"$ref":"#/components/schemas/NamedDescribedResourceReference"}},"scope":{"$ref":"#/components/schemas/ScopeImpl"},"assignmentInheritances":{"type":"array","description":"The inheritances stemming from assignments applied to ancestors of the asset type of this assignment.","items":{"$ref":"#/components/schemas/AssignmentInheritance"}},"traitAssignmentInheritances":{"type":"array","description":"The inheritances stemming from Traits applied to the Asset Type.","items":{"$ref":"#/components/schemas/TraitAssignmentInheritance"}}}},"NamedResourceReferenceImpl":{"required":["id","resourceType"],"type":"object","properties":{"id":{"type":"string","description":"The id of the referenced resource.","format":"uuid"},"resourceType":{"type":"string","description":"The type of the resource, e.g. [Community, Asset, Domain, Attribute, Relation, WorkflowInstance, ...]. This property is deprecated and will be removed in the future. In order to stay backwards compatible and to enable us to introduce new types of resources, we are replacing the ResourceType enum with a String. For new types of resources that didn't exist before this change, resourceType will be BaseDataType. Please use the resourceDiscriminator property instead. Refer to the object containing the ResourceReference for possible values.","deprecated":true,"enum":["View","Asset","Community","Domain","AssetType","DomainType","Status","User","ClassificationMatch","UserGroup","Attribute","StringAttribute","ScriptAttribute","BooleanAttribute","DateAttribute","NumericAttribute","SingleValueListAttribute","MultiValueListAttribute","Comment","Attachment","Responsibility","Workflow","Job","Relation","RelationType","ComplexRelation","ComplexRelationType","ArticulationRule","Assignment","Scope","RelationTrace","ValidationRule","DataQualityRule","DataQualityMetric","Address","InstantMessagingAccount","Email","PhoneNumber","Website","Activity","FormProperty","WorkflowTask","ActivityChange","WorkflowInstance","Role","AttributeType","BooleanAttributeType","DateAttributeType","DateTimeAttributeType","MultiValueListAttributeType","NumericAttributeType","ScriptAttributeType","SingleValueListAttributeType","StringAttributeType","ViewSharingRule","ViewAssignmentRule","JdbcDriverFile","JdbcDriver","JdbcIngestionProperties","CsvIngestionProperties","ExcelIngestionProperties","ConnectionStringParameter","AssignedCharacteristicType","Notification","Tag","ComplexRelationLegType","ComplexRelationAttributeType","ComplexRelationLeg","BaseDataType","AdvancedDataType","DiagramPicture","DiagramPictureSharingRule","DiagramPictureAssignmentRule","Rating","Classification","PhysicalDataConnector","Context"]},"resourceDiscriminator":{"type":"string","description":"The resource discriminator, which indicates the type of the referenced resource, e.g. \"Community\", \"Asset\", ... Check the documentation of the class using the resource reference for detailed documentation regarding the possible resource discriminator values."},"name":{"type":"string","description":"The name of the referenced resource."}},"description":"Represents reference to the resource, including its name."},"NamedDescribedResourceReference":{"required":["id","resourceType"],"type":"object","properties":{"id":{"type":"string","description":"The id of the referenced resource.","format":"uuid"},"resourceType":{"type":"string","description":"The type of the resource, e.g. [Community, Asset, Domain, Attribute, Relation, WorkflowInstance, ...]. This property is deprecated and will be removed in the future. In order to stay backwards compatible and to enable us to introduce new types of resources, we are replacing the ResourceType enum with a String. For new types of resources that didn't exist before this change, resourceType will be BaseDataType. Please use the resourceDiscriminator property instead. Refer to the object containing the ResourceReference for possible values.","deprecated":true,"enum":["View","Asset","Community","Domain","AssetType","DomainType","Status","User","ClassificationMatch","UserGroup","Attribute","StringAttribute","ScriptAttribute","BooleanAttribute","DateAttribute","NumericAttribute","SingleValueListAttribute","MultiValueListAttribute","Comment","Attachment","Responsibility","Workflow","Job","Relation","RelationType","ComplexRelation","ComplexRelationType","ArticulationRule","Assignment","Scope","RelationTrace","ValidationRule","DataQualityRule","DataQualityMetric","Address","InstantMessagingAccount","Email","PhoneNumber","Website","Activity","FormProperty","WorkflowTask","ActivityChange","WorkflowInstance","Role","AttributeType","BooleanAttributeType","DateAttributeType","DateTimeAttributeType","MultiValueListAttributeType","NumericAttributeType","ScriptAttributeType","SingleValueListAttributeType","StringAttributeType","ViewSharingRule","ViewAssignmentRule","JdbcDriverFile","JdbcDriver","JdbcIngestionProperties","CsvIngestionProperties","ExcelIngestionProperties","ConnectionStringParameter","AssignedCharacteristicType","Notification","Tag","ComplexRelationLegType","ComplexRelationAttributeType","ComplexRelationLeg","BaseDataType","AdvancedDataType","DiagramPicture","DiagramPictureSharingRule","DiagramPictureAssignmentRule","Rating","Classification","PhysicalDataConnector","Context"]},"resourceDiscriminator":{"type":"string","description":"The resource discriminator, which indicates the type of the referenced resource, e.g. \"Community\", \"Asset\", ... Check the documentation of the class using the resource reference for detailed documentation regarding the possible resource discriminator values."},"name":{"type":"string","description":"The name of the referenced resource."},"description":{"type":"string","description":"The description of the referenced resource."}},"description":"Represents reference to the resource, including its name and description."},"AssignedCharacteristicType":{"required":["assignedResourceType"],"type":"object","properties":{"readOnly":{"type":"boolean","description":"Whether the characteristic value of the assigned type can be edited by the user."},"system":{"type":"boolean","description":"Whether the characteristic type can be unassigned."},"assignedResourceType":{"type":"string","description":"The type of the resource the characteristic refers to. The value can be one of : AttributeType, RelationType or ComplexRelationType. Deprecated in favour of assignedCharacteristicTypeDiscriminator.","deprecated":true,"enum":["View","Asset","Community","Domain","AssetType","DomainType","Status","User","ClassificationMatch","UserGroup","Attribute","StringAttribute","ScriptAttribute","BooleanAttribute","DateAttribute","NumericAttribute","SingleValueListAttribute","MultiValueListAttribute","Comment","Attachment","Responsibility","Workflow","Job","Relation","RelationType","ComplexRelation","ComplexRelationType","ArticulationRule","Assignment","Scope","RelationTrace","ValidationRule","DataQualityRule","DataQualityMetric","Address","InstantMessagingAccount","Email","PhoneNumber","Website","Activity","FormProperty","WorkflowTask","ActivityChange","WorkflowInstance","Role","AttributeType","BooleanAttributeType","DateAttributeType","DateTimeAttributeType","MultiValueListAttributeType","NumericAttributeType","ScriptAttributeType","SingleValueListAttributeType","StringAttributeType","ViewSharingRule","ViewAssignmentRule","JdbcDriverFile","JdbcDriver","JdbcIngestionProperties","CsvIngestionProperties","ExcelIngestionProperties","ConnectionStringParameter","AssignedCharacteristicType","Notification","Tag","ComplexRelationLegType","ComplexRelationAttributeType","ComplexRelationLeg","BaseDataType","AdvancedDataType","DiagramPicture","DiagramPictureSharingRule","DiagramPictureAssignmentRule","Rating","Classification","PhysicalDataConnector","Context"]},"assignedCharacteristicTypeDiscriminator":{"type":"string","description":"The discriminator of the characteristic type that is assigned. The value can be one of : AttributeType, RelationType or ComplexRelationType"},"minimumOccurrences":{"type":"integer","description":"How many times at least the assigned characteristic must be added to the resource. Zero means no restriction.","format":"int32"},"assignedResourceId":{"type":"string","description":"The id of the resource the characteristic refers to.","format":"uuid"},"maximumOccurrences":{"type":"integer","description":"How many times at least the assigned characteristic may be added to the resource. Null means no limit.","format":"int32"},"id":{"type":"string","description":"The id of the represented object (entity).","format":"uuid"}},"description":"The list of assigned characteristic types. Depending on the actual type, a characteristic type may contain additional properties. For additional details, refer to the schemas of AssignedAttributeType, AssignedComplexRelationType and AssignedRelationType. These references will always contain 'AttributeType', 'RelationType' or 'ComplexRelationType' as resourceDiscriminator value.","discriminator":{"propertyName":"assignedResourceType","mapping":{"AttributeType":"#/components/schemas/AssignedAttributeType","ComplexRelationType":"#/components/schemas/AssignedComplexRelationType","RelationType":"#/components/schemas/AssignedRelationType"}}},"AssignedCharacteristicTypeReferenceImpl":{"type":"object","properties":{"id":{"type":"string","description":"The unique identifier of the Assigned Characteristic Type Reference.","format":"uuid"},"assignedResourceReference":{"$ref":"#/components/schemas/NamedResourceReferenceImpl"},"assignedResourcePublicId":{"type":"string","description":"The public id of assigned Characteristic Type. This can be an Attribute Type, Relation Type, Complex Relation Type or Derived Relation Type."},"minimumOccurrences":{"type":"integer","description":"How many times the assigned Characteristic must at the minimum be added to the Resource. Zero means no restriction.","format":"int32"},"maximumOccurrences":{"type":"integer","description":"Defines how many times an assigned Characteristic may be added at most to the resource. Null means no limit.","format":"int32"},"system":{"type":"boolean","description":"When the system flag is set to true, it means the Characteristic Type cannot be unassigned."},"readOnly":{"type":"boolean","description":"When the readOnly flag is set to true, the value of the assigned Characteristic Type cannot be edited by the user. Only applicable to AttributeType assignment lines."},"relationTypeDirection":{"type":"string","description":"The direction of the Relation Type or null when this reference isn't a reference to a Relation Type.","enum":["TO_SOURCE","TO_TARGET","BOTH","NONE"]},"relationTypeRestriction":{"$ref":"#/components/schemas/NamedResourceReferenceImpl"},"matchingLegTypesIds":{"type":"array","description":"The list of ids that should match the legs of the complex relation or null if this reference is not a ComplexRelationType.","deprecated":true,"items":{"type":"string","description":"The list of ids that should match the legs of the complex relation or null if this reference is not a ComplexRelationType.","format":"uuid","deprecated":true}}},"description":"The list of assigned characteristic types.\nDepending on the actual type, a characteristic type may contain additional properties.\nThese references will always contain 'AttributeType', 'StringAttributeType', 'ScriptAttributeType',\n'BooleanAttributeType', 'DateAttributeType', 'SingleValueListAttributeType',\n'MultiValueListAttributeType', 'NumericAttributeType', 'RelationType', 'DerivedRelationType' or 'ComplexRelationType'\nas resourceDiscriminator value."},"ArticulationRuleImpl":{"required":["id","resourceType"],"type":"object","properties":{"id":{"type":"string","description":"The id of the represented object (entity).","format":"uuid"},"createdBy":{"type":"string","description":"The id of the user that created this resource.","format":"uuid"},"createdOn":{"type":"integer","description":"The timestamp (in UTC time standard) of the creation of this resource.","format":"int64"},"lastModifiedBy":{"type":"string","description":"The id of the user who modified this resource the last time.","format":"uuid"},"lastModifiedOn":{"type":"integer","description":"The timestamp (in UTC time standard) of the last modification of this resource.","format":"int64"},"system":{"type":"boolean","description":"Whether this is a system resource or not."},"resourceType":{"type":"string","description":"The type of the resource, e.g. [Community, Asset, Domain, Attribute, Relation, WorkflowInstance, ...].\nThis property is deprecated and will be removed in the future. In order to stay backwards compatible\nand to enable introduction of new types of resources, where necessary, a resource discriminator\nproperty (of type String) has been added to specific subtypes of Resource,\ne.g. assignedResourceDiscriminator on AssignedResource, or attributeDiscriminator on Attribute.\nFor new types of resource that didn't exist before this change, the resourceType will be\nBaseDataType.\n","deprecated":true,"enum":["View","Asset","Community","Domain","AssetType","DomainType","Status","User","ClassificationMatch","UserGroup","Attribute","StringAttribute","ScriptAttribute","BooleanAttribute","DateAttribute","NumericAttribute","SingleValueListAttribute","MultiValueListAttribute","Comment","Attachment","Responsibility","Workflow","Job","Relation","RelationType","ComplexRelation","ComplexRelationType","ArticulationRule","Assignment","Scope","RelationTrace","ValidationRule","DataQualityRule","DataQualityMetric","Address","InstantMessagingAccount","Email","PhoneNumber","Website","Activity","FormProperty","WorkflowTask","ActivityChange","WorkflowInstance","Role","AttributeType","BooleanAttributeType","DateAttributeType","DateTimeAttributeType","MultiValueListAttributeType","NumericAttributeType","ScriptAttributeType","SingleValueListAttributeType","StringAttributeType","ViewSharingRule","ViewAssignmentRule","JdbcDriverFile","JdbcDriver","JdbcIngestionProperties","CsvIngestionProperties","ExcelIngestionProperties","ConnectionStringParameter","AssignedCharacteristicType","Notification","Tag","ComplexRelationLegType","ComplexRelationAttributeType","ComplexRelationLeg","BaseDataType","AdvancedDataType","DiagramPicture","DiagramPictureSharingRule","DiagramPictureAssignmentRule","Rating","Classification","PhysicalDataConnector","Context"]},"score":{"type":"number","description":"The value that should be either added or set (depending on the operation) when this rule matches.","format":"double"},"operation":{"type":"string","description":"The type of an operation that should be performed when asset is matching this rule.","enum":["ADD","SET"]},"status":{"$ref":"#/components/schemas/NamedResourceReferenceImpl"},"attributeType":{"$ref":"#/components/schemas/NamedResourceReferenceImpl"}},"description":"The list of articulation rules applying with the assignment."},"ScopeImpl":{"required":["id","resourceType"],"type":"object","properties":{"id":{"type":"string","description":"The id of the represented object (entity).","format":"uuid"},"createdBy":{"type":"string","description":"The id of the user that created this resource.","format":"uuid"},"createdOn":{"type":"integer","description":"The timestamp (in UTC time standard) of the creation of this resource.","format":"int64"},"lastModifiedBy":{"type":"string","description":"The id of the user who modified this resource the last time.","format":"uuid"},"lastModifiedOn":{"type":"integer","description":"The timestamp (in UTC time standard) of the last modification of this resource.","format":"int64"},"system":{"type":"boolean","description":"Whether this is a system resource or not."},"resourceType":{"type":"string","description":"The type of the resource, e.g. [Community, Asset, Domain, Attribute, Relation, WorkflowInstance, ...].\nThis property is deprecated and will be removed in the future. In order to stay backwards compatible\nand to enable introduction of new types of resources, where necessary, a resource discriminator\nproperty (of type String) has been added to specific subtypes of Resource,\ne.g. assignedResourceDiscriminator on AssignedResource, or attributeDiscriminator on Attribute.\nFor new types of resource that didn't exist before this change, the resourceType will be\nBaseDataType.\n","deprecated":true,"enum":["View","Asset","Community","Domain","AssetType","DomainType","Status","User","ClassificationMatch","UserGroup","Attribute","StringAttribute","ScriptAttribute","BooleanAttribute","DateAttribute","NumericAttribute","SingleValueListAttribute","MultiValueListAttribute","Comment","Attachment","Responsibility","Workflow","Job","Relation","RelationType","ComplexRelation","ComplexRelationType","ArticulationRule","Assignment","Scope","RelationTrace","ValidationRule","DataQualityRule","DataQualityMetric","Address","InstantMessagingAccount","Email","PhoneNumber","Website","Activity","FormProperty","WorkflowTask","ActivityChange","WorkflowInstance","Role","AttributeType","BooleanAttributeType","DateAttributeType","DateTimeAttributeType","MultiValueListAttributeType","NumericAttributeType","ScriptAttributeType","SingleValueListAttributeType","StringAttributeType","ViewSharingRule","ViewAssignmentRule","JdbcDriverFile","JdbcDriver","JdbcIngestionProperties","CsvIngestionProperties","ExcelIngestionProperties","ConnectionStringParameter","AssignedCharacteristicType","Notification","Tag","ComplexRelationLegType","ComplexRelationAttributeType","ComplexRelationLeg","BaseDataType","AdvancedDataType","DiagramPicture","DiagramPictureSharingRule","DiagramPictureAssignmentRule","Rating","Classification","PhysicalDataConnector","Context"]},"name":{"type":"string","description":"The name of the resource."},"description":{"type":"string","description":"The description of the resource."},"publicId":{"type":"string","description":"The public id of the scope."},"domains":{"type":"array","description":"The list of domains that are included in this scope.","items":{"$ref":"#/components/schemas/NamedResourceReferenceImpl"}},"communities":{"type":"array","description":"The list of communities that are included in this scope.","items":{"$ref":"#/components/schemas/NamedResourceReferenceImpl"}}}},"AssignmentInheritance":{"type":"object","properties":{"scope":{"$ref":"#/components/schemas/NamedResourceReferenceImpl"},"traitAssignmentInheritances":{"type":"array","description":"The inheritances stemming from Traits applied to the Asset Type.","items":{"$ref":"#/components/schemas/TraitAssignmentInheritance"}},"assignment":{"$ref":"#/components/schemas/ResourceReference"},"assetType":{"$ref":"#/components/schemas/NamedResourceReferenceImpl"}},"description":"An inheritance stemming from an assignment of an ancestor."},"TraitAssignmentInheritance":{"type":"object","properties":{"scope":{"$ref":"#/components/schemas/NamedResourceReferenceImpl"},"characteristicTypes":{"type":"array","description":"The list of assigned characteristic types.\nDepending on the actual type, a characteristic type may contain additional properties.\nFor additional details, refer to the schemas of AssignedAttributeType, AssignedComplexRelationType\nand AssignedRelationType.\nThese references will always contain 'AttributeType', 'StringAttributeType', 'ScriptAttributeType',\n'BooleanAttributeType', 'DateAttributeType', 'SingleValueListAttributeType',\n'MultiValueListAttributeType', 'NumericAttributeType''RelationType' or 'ComplexRelationType'\nas resourceDiscriminator value.","items":{"$ref":"#/components/schemas/AssignedCharacteristicType"}},"assignedCharacteristicTypeReferences":{"type":"array","description":"The list of assigned characteristic types.\nDepending on the actual type, a characteristic type may contain additional properties.\nThese references will always contain 'AttributeType', 'StringAttributeType', 'ScriptAttributeType',\n'BooleanAttributeType', 'DateAttributeType', 'SingleValueListAttributeType',\n'MultiValueListAttributeType', 'NumericAttributeType', 'RelationType', 'DerivedRelationType' or 'ComplexRelationType'\nas resourceDiscriminator value.","items":{"$ref":"#/components/schemas/AssignedCharacteristicTypeReferenceImpl"}},"traitAssignment":{"$ref":"#/components/schemas/ResourceReference"},"trait":{"$ref":"#/components/schemas/NamedResourceReferenceImpl"},"assetType":{"$ref":"#/components/schemas/NamedResourceReferenceImpl"}},"description":"The inheritance stemming from a single Trait applied to the Asset Type.\nPlease note that the 'assetType' property of TraitAssignmentInheritance is deprecated.\nThis property was incorrectly named, and has therefore been replaced by the 'trait' property.\nBoth properties contain a reference to the trait from which the inheritance comes.\n"},"ResourceReference":{"required":["id","resourceType"],"type":"object","properties":{"id":{"type":"string","description":"The id of the referenced resource.","format":"uuid"},"resourceType":{"type":"string","description":"The type of the resource, e.g. [Community, Asset, Domain, Attribute, Relation, WorkflowInstance, ...]. This property is deprecated and will be removed in the future. In order to stay backwards compatible and to enable us to introduce new types of resources, we are replacing the ResourceType enum with a String. For new types of resources that didn't exist before this change, resourceType will be BaseDataType. Please use the resourceDiscriminator property instead. Refer to the object containing the ResourceReference for possible values.","deprecated":true,"enum":["View","Asset","Community","Domain","AssetType","DomainType","Status","User","ClassificationMatch","UserGroup","Attribute","StringAttribute","ScriptAttribute","BooleanAttribute","DateAttribute","NumericAttribute","SingleValueListAttribute","MultiValueListAttribute","Comment","Attachment","Responsibility","Workflow","Job","Relation","RelationType","ComplexRelation","ComplexRelationType","ArticulationRule","Assignment","Scope","RelationTrace","ValidationRule","DataQualityRule","DataQualityMetric","Address","InstantMessagingAccount","Email","PhoneNumber","Website","Activity","FormProperty","WorkflowTask","ActivityChange","WorkflowInstance","Role","AttributeType","BooleanAttributeType","DateAttributeType","DateTimeAttributeType","MultiValueListAttributeType","NumericAttributeType","ScriptAttributeType","SingleValueListAttributeType","StringAttributeType","ViewSharingRule","ViewAssignmentRule","JdbcDriverFile","JdbcDriver","JdbcIngestionProperties","CsvIngestionProperties","ExcelIngestionProperties","ConnectionStringParameter","AssignedCharacteristicType","Notification","Tag","ComplexRelationLegType","ComplexRelationAttributeType","ComplexRelationLeg","BaseDataType","AdvancedDataType","DiagramPicture","DiagramPictureSharingRule","DiagramPictureAssignmentRule","Rating","Classification","PhysicalDataConnector","Context"]},"resourceDiscriminator":{"type":"string","description":"The resource discriminator, which indicates the type of the referenced resource, e.g. \"Community\", \"Asset\", ... Check the documentation of the class using the resource reference for detailed documentation regarding the possible resource discriminator values."}},"description":"Represents reference to the resource."}}},"paths":{"/assignments/forResource":{"get":{"tags":["Assignments"],"summary":"Find the assignments where a given resource is assigned.","description":"Find the assignments where a given resource is assigned.","operationId":"findAssignmentsForResource","parameters":[{"name":"resourceId","in":"query","description":"The ID of the resource to which the assignment applies.","schema":{"type":"string","format":"uuid"}},{"name":"resourceType","in":"query","description":"The type of the resource that is assigned. Deprecated in favour of resourceDiscriminator. If both are present, the value of resourceDiscriminator will be used.","schema":{"type":"string","enum":["View","Asset","Community","Domain","AssetType","DomainType","Status","User","ClassificationMatch","UserGroup","Attribute","StringAttribute","ScriptAttribute","BooleanAttribute","DateAttribute","NumericAttribute","SingleValueListAttribute","MultiValueListAttribute","Comment","Attachment","Responsibility","Workflow","Job","Relation","RelationType","ComplexRelation","ComplexRelationType","ArticulationRule","Assignment","Scope","RelationTrace","ValidationRule","DataQualityRule","DataQualityMetric","Address","InstantMessagingAccount","Email","PhoneNumber","Website","Activity","FormProperty","WorkflowTask","ActivityChange","WorkflowInstance","Role","AttributeType","BooleanAttributeType","DateAttributeType","DateTimeAttributeType","MultiValueListAttributeType","NumericAttributeType","ScriptAttributeType","SingleValueListAttributeType","StringAttributeType","ViewSharingRule","ViewAssignmentRule","JdbcDriverFile","JdbcDriver","JdbcIngestionProperties","CsvIngestionProperties","ExcelIngestionProperties","ConnectionStringParameter","AssignedCharacteristicType","Notification","Tag","ComplexRelationLegType","ComplexRelationAttributeType","ComplexRelationLeg","BaseDataType","AdvancedDataType","DiagramPicture","DiagramPictureSharingRule","DiagramPictureAssignmentRule","Rating","Classification","PhysicalDataConnector","Context"]}},{"name":"resourceDiscriminator","in":"query","description":"The discriminator of the resource that is assigned.","schema":{"type":"string"}}],"responses":{"200":{"description":"Assignments found","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AssignmentImpl"}}}}},"400":{"description":"The parameter is invalid"}}}}}}
```

## Returns the Assignment identified by the given Asset.

> Returns the Assignment identified by the given Asset.

```json
{"openapi":"3.0.3","info":{"title":"Collibra Data Governance Center Core API","version":"2.0"},"servers":[{"url":"/rest/2.0","variables":{}}],"security":[{"basicAuth":[]},{"jwtAuth":[]},{"oauth2":[]}],"components":{"securitySchemes":{"basicAuth":{"type":"http","scheme":"basic"},"jwtAuth":{"type":"http","description":"Collibra REST API authentication using JSON Web Token.","scheme":"bearer","bearerFormat":"JWT"},"oauth2":{"type":"oauth2","description":"Collibra REST API authentication using OAuth 2.","flows":{"clientCredentials":{"tokenUrl":"/rest/oauth/v2/token","scopes":{"sys.admin":"System administration","kg.manage-all":"Manage all knowledge graph resources","kg.view-all":"View any knowledge graph resource","kg.manage-tags":"Manage tags","insights.download":"Download insights reporting zip files","wf.administration":"Workflow administration","wf.use-message-events":"Use workflow events"}}}}},"schemas":{"AssignmentImpl":{"required":["id","resourceType"],"type":"object","properties":{"id":{"type":"string","description":"The id of the represented object (entity).","format":"uuid"},"createdBy":{"type":"string","description":"The id of the user that created this resource.","format":"uuid"},"createdOn":{"type":"integer","description":"The timestamp (in UTC time standard) of the creation of this resource.","format":"int64"},"lastModifiedBy":{"type":"string","description":"The id of the user who modified this resource the last time.","format":"uuid"},"lastModifiedOn":{"type":"integer","description":"The timestamp (in UTC time standard) of the last modification of this resource.","format":"int64"},"system":{"type":"boolean","description":"Whether this is a system resource or not."},"resourceType":{"type":"string","description":"The type of the resource, e.g. [Community, Asset, Domain, Attribute, Relation, WorkflowInstance, ...].\nThis property is deprecated and will be removed in the future. In order to stay backwards compatible\nand to enable introduction of new types of resources, where necessary, a resource discriminator\nproperty (of type String) has been added to specific subtypes of Resource,\ne.g. assignedResourceDiscriminator on AssignedResource, or attributeDiscriminator on Attribute.\nFor new types of resource that didn't exist before this change, the resourceType will be\nBaseDataType.\n","deprecated":true,"enum":["View","Asset","Community","Domain","AssetType","DomainType","Status","User","ClassificationMatch","UserGroup","Attribute","StringAttribute","ScriptAttribute","BooleanAttribute","DateAttribute","NumericAttribute","SingleValueListAttribute","MultiValueListAttribute","Comment","Attachment","Responsibility","Workflow","Job","Relation","RelationType","ComplexRelation","ComplexRelationType","ArticulationRule","Assignment","Scope","RelationTrace","ValidationRule","DataQualityRule","DataQualityMetric","Address","InstantMessagingAccount","Email","PhoneNumber","Website","Activity","FormProperty","WorkflowTask","ActivityChange","WorkflowInstance","Role","AttributeType","BooleanAttributeType","DateAttributeType","DateTimeAttributeType","MultiValueListAttributeType","NumericAttributeType","ScriptAttributeType","SingleValueListAttributeType","StringAttributeType","ViewSharingRule","ViewAssignmentRule","JdbcDriverFile","JdbcDriver","JdbcIngestionProperties","CsvIngestionProperties","ExcelIngestionProperties","ConnectionStringParameter","AssignedCharacteristicType","Notification","Tag","ComplexRelationLegType","ComplexRelationAttributeType","ComplexRelationLeg","BaseDataType","AdvancedDataType","DiagramPicture","DiagramPictureSharingRule","DiagramPictureAssignmentRule","Rating","Classification","PhysicalDataConnector","Context"]},"assetType":{"$ref":"#/components/schemas/NamedResourceReferenceImpl"},"statuses":{"type":"array","description":"The list of references to the statuses.  These references will always contain 'Status' as resourceDiscriminator value.","items":{"$ref":"#/components/schemas/NamedDescribedResourceReference"}},"defaultStatusId":{"type":"string","description":"The ID of the default status. Deprecated : this property is ignored. The default status is the first status in the list of assigned statuses of the assignment.","format":"uuid","deprecated":true},"characteristicTypes":{"type":"array","description":"The list of assigned characteristic types. Depending on the actual type, a characteristic type may contain additional properties. For additional details, refer to the schemas of AssignedAttributeType, AssignedComplexRelationType and AssignedRelationType. These references will always contain 'AttributeType', 'RelationType' or 'ComplexRelationType' as resourceDiscriminator value.Deprecated in favour of assignedCharacteristicTypeReferences.","deprecated":true,"items":{"$ref":"#/components/schemas/AssignedCharacteristicType"}},"assignedCharacteristicTypeReferences":{"type":"array","description":"The list of assigned characteristic types. Depending on the actual type, a characteristic type may contain additional properties. These references will contain 'AttributeType', 'RelationType' or 'ComplexRelationType' or 'DerivedRelationType' as resourceDiscriminator value.","items":{"$ref":"#/components/schemas/AssignedCharacteristicTypeReferenceImpl"}},"articulationRules":{"type":"array","description":"The list of articulation rules applying with the assignment.","items":{"$ref":"#/components/schemas/ArticulationRuleImpl"}},"validationRules":{"type":"array","description":"The list of references to validation rules applying with the assignment. These references will always contain 'Asset' as resourceDiscriminator value.","items":{"$ref":"#/components/schemas/NamedResourceReferenceImpl"}},"dataQualityRules":{"type":"array","description":"The list of references to data quality rules applying with the assignment. These references will always contain 'DataQualityRule' as resourceDiscriminator value.","items":{"$ref":"#/components/schemas/NamedDescribedResourceReference"}},"domainTypes":{"type":"array","description":"The list of references to domain types which the assignment refers to.  These references will always contain 'DomainType' as resourceDiscriminator value.","items":{"$ref":"#/components/schemas/NamedDescribedResourceReference"}},"scope":{"$ref":"#/components/schemas/ScopeImpl"},"assignmentInheritances":{"type":"array","description":"The inheritances stemming from assignments applied to ancestors of the asset type of this assignment.","items":{"$ref":"#/components/schemas/AssignmentInheritance"}},"traitAssignmentInheritances":{"type":"array","description":"The inheritances stemming from Traits applied to the Asset Type.","items":{"$ref":"#/components/schemas/TraitAssignmentInheritance"}}}},"NamedResourceReferenceImpl":{"required":["id","resourceType"],"type":"object","properties":{"id":{"type":"string","description":"The id of the referenced resource.","format":"uuid"},"resourceType":{"type":"string","description":"The type of the resource, e.g. [Community, Asset, Domain, Attribute, Relation, WorkflowInstance, ...]. This property is deprecated and will be removed in the future. In order to stay backwards compatible and to enable us to introduce new types of resources, we are replacing the ResourceType enum with a String. For new types of resources that didn't exist before this change, resourceType will be BaseDataType. Please use the resourceDiscriminator property instead. Refer to the object containing the ResourceReference for possible values.","deprecated":true,"enum":["View","Asset","Community","Domain","AssetType","DomainType","Status","User","ClassificationMatch","UserGroup","Attribute","StringAttribute","ScriptAttribute","BooleanAttribute","DateAttribute","NumericAttribute","SingleValueListAttribute","MultiValueListAttribute","Comment","Attachment","Responsibility","Workflow","Job","Relation","RelationType","ComplexRelation","ComplexRelationType","ArticulationRule","Assignment","Scope","RelationTrace","ValidationRule","DataQualityRule","DataQualityMetric","Address","InstantMessagingAccount","Email","PhoneNumber","Website","Activity","FormProperty","WorkflowTask","ActivityChange","WorkflowInstance","Role","AttributeType","BooleanAttributeType","DateAttributeType","DateTimeAttributeType","MultiValueListAttributeType","NumericAttributeType","ScriptAttributeType","SingleValueListAttributeType","StringAttributeType","ViewSharingRule","ViewAssignmentRule","JdbcDriverFile","JdbcDriver","JdbcIngestionProperties","CsvIngestionProperties","ExcelIngestionProperties","ConnectionStringParameter","AssignedCharacteristicType","Notification","Tag","ComplexRelationLegType","ComplexRelationAttributeType","ComplexRelationLeg","BaseDataType","AdvancedDataType","DiagramPicture","DiagramPictureSharingRule","DiagramPictureAssignmentRule","Rating","Classification","PhysicalDataConnector","Context"]},"resourceDiscriminator":{"type":"string","description":"The resource discriminator, which indicates the type of the referenced resource, e.g. \"Community\", \"Asset\", ... Check the documentation of the class using the resource reference for detailed documentation regarding the possible resource discriminator values."},"name":{"type":"string","description":"The name of the referenced resource."}},"description":"Represents reference to the resource, including its name."},"NamedDescribedResourceReference":{"required":["id","resourceType"],"type":"object","properties":{"id":{"type":"string","description":"The id of the referenced resource.","format":"uuid"},"resourceType":{"type":"string","description":"The type of the resource, e.g. [Community, Asset, Domain, Attribute, Relation, WorkflowInstance, ...]. This property is deprecated and will be removed in the future. In order to stay backwards compatible and to enable us to introduce new types of resources, we are replacing the ResourceType enum with a String. For new types of resources that didn't exist before this change, resourceType will be BaseDataType. Please use the resourceDiscriminator property instead. Refer to the object containing the ResourceReference for possible values.","deprecated":true,"enum":["View","Asset","Community","Domain","AssetType","DomainType","Status","User","ClassificationMatch","UserGroup","Attribute","StringAttribute","ScriptAttribute","BooleanAttribute","DateAttribute","NumericAttribute","SingleValueListAttribute","MultiValueListAttribute","Comment","Attachment","Responsibility","Workflow","Job","Relation","RelationType","ComplexRelation","ComplexRelationType","ArticulationRule","Assignment","Scope","RelationTrace","ValidationRule","DataQualityRule","DataQualityMetric","Address","InstantMessagingAccount","Email","PhoneNumber","Website","Activity","FormProperty","WorkflowTask","ActivityChange","WorkflowInstance","Role","AttributeType","BooleanAttributeType","DateAttributeType","DateTimeAttributeType","MultiValueListAttributeType","NumericAttributeType","ScriptAttributeType","SingleValueListAttributeType","StringAttributeType","ViewSharingRule","ViewAssignmentRule","JdbcDriverFile","JdbcDriver","JdbcIngestionProperties","CsvIngestionProperties","ExcelIngestionProperties","ConnectionStringParameter","AssignedCharacteristicType","Notification","Tag","ComplexRelationLegType","ComplexRelationAttributeType","ComplexRelationLeg","BaseDataType","AdvancedDataType","DiagramPicture","DiagramPictureSharingRule","DiagramPictureAssignmentRule","Rating","Classification","PhysicalDataConnector","Context"]},"resourceDiscriminator":{"type":"string","description":"The resource discriminator, which indicates the type of the referenced resource, e.g. \"Community\", \"Asset\", ... Check the documentation of the class using the resource reference for detailed documentation regarding the possible resource discriminator values."},"name":{"type":"string","description":"The name of the referenced resource."},"description":{"type":"string","description":"The description of the referenced resource."}},"description":"Represents reference to the resource, including its name and description."},"AssignedCharacteristicType":{"required":["assignedResourceType"],"type":"object","properties":{"readOnly":{"type":"boolean","description":"Whether the characteristic value of the assigned type can be edited by the user."},"system":{"type":"boolean","description":"Whether the characteristic type can be unassigned."},"assignedResourceType":{"type":"string","description":"The type of the resource the characteristic refers to. The value can be one of : AttributeType, RelationType or ComplexRelationType. Deprecated in favour of assignedCharacteristicTypeDiscriminator.","deprecated":true,"enum":["View","Asset","Community","Domain","AssetType","DomainType","Status","User","ClassificationMatch","UserGroup","Attribute","StringAttribute","ScriptAttribute","BooleanAttribute","DateAttribute","NumericAttribute","SingleValueListAttribute","MultiValueListAttribute","Comment","Attachment","Responsibility","Workflow","Job","Relation","RelationType","ComplexRelation","ComplexRelationType","ArticulationRule","Assignment","Scope","RelationTrace","ValidationRule","DataQualityRule","DataQualityMetric","Address","InstantMessagingAccount","Email","PhoneNumber","Website","Activity","FormProperty","WorkflowTask","ActivityChange","WorkflowInstance","Role","AttributeType","BooleanAttributeType","DateAttributeType","DateTimeAttributeType","MultiValueListAttributeType","NumericAttributeType","ScriptAttributeType","SingleValueListAttributeType","StringAttributeType","ViewSharingRule","ViewAssignmentRule","JdbcDriverFile","JdbcDriver","JdbcIngestionProperties","CsvIngestionProperties","ExcelIngestionProperties","ConnectionStringParameter","AssignedCharacteristicType","Notification","Tag","ComplexRelationLegType","ComplexRelationAttributeType","ComplexRelationLeg","BaseDataType","AdvancedDataType","DiagramPicture","DiagramPictureSharingRule","DiagramPictureAssignmentRule","Rating","Classification","PhysicalDataConnector","Context"]},"assignedCharacteristicTypeDiscriminator":{"type":"string","description":"The discriminator of the characteristic type that is assigned. The value can be one of : AttributeType, RelationType or ComplexRelationType"},"minimumOccurrences":{"type":"integer","description":"How many times at least the assigned characteristic must be added to the resource. Zero means no restriction.","format":"int32"},"assignedResourceId":{"type":"string","description":"The id of the resource the characteristic refers to.","format":"uuid"},"maximumOccurrences":{"type":"integer","description":"How many times at least the assigned characteristic may be added to the resource. Null means no limit.","format":"int32"},"id":{"type":"string","description":"The id of the represented object (entity).","format":"uuid"}},"description":"The list of assigned characteristic types. Depending on the actual type, a characteristic type may contain additional properties. For additional details, refer to the schemas of AssignedAttributeType, AssignedComplexRelationType and AssignedRelationType. These references will always contain 'AttributeType', 'RelationType' or 'ComplexRelationType' as resourceDiscriminator value.","discriminator":{"propertyName":"assignedResourceType","mapping":{"AttributeType":"#/components/schemas/AssignedAttributeType","ComplexRelationType":"#/components/schemas/AssignedComplexRelationType","RelationType":"#/components/schemas/AssignedRelationType"}}},"AssignedCharacteristicTypeReferenceImpl":{"type":"object","properties":{"id":{"type":"string","description":"The unique identifier of the Assigned Characteristic Type Reference.","format":"uuid"},"assignedResourceReference":{"$ref":"#/components/schemas/NamedResourceReferenceImpl"},"assignedResourcePublicId":{"type":"string","description":"The public id of assigned Characteristic Type. This can be an Attribute Type, Relation Type, Complex Relation Type or Derived Relation Type."},"minimumOccurrences":{"type":"integer","description":"How many times the assigned Characteristic must at the minimum be added to the Resource. Zero means no restriction.","format":"int32"},"maximumOccurrences":{"type":"integer","description":"Defines how many times an assigned Characteristic may be added at most to the resource. Null means no limit.","format":"int32"},"system":{"type":"boolean","description":"When the system flag is set to true, it means the Characteristic Type cannot be unassigned."},"readOnly":{"type":"boolean","description":"When the readOnly flag is set to true, the value of the assigned Characteristic Type cannot be edited by the user. Only applicable to AttributeType assignment lines."},"relationTypeDirection":{"type":"string","description":"The direction of the Relation Type or null when this reference isn't a reference to a Relation Type.","enum":["TO_SOURCE","TO_TARGET","BOTH","NONE"]},"relationTypeRestriction":{"$ref":"#/components/schemas/NamedResourceReferenceImpl"},"matchingLegTypesIds":{"type":"array","description":"The list of ids that should match the legs of the complex relation or null if this reference is not a ComplexRelationType.","deprecated":true,"items":{"type":"string","description":"The list of ids that should match the legs of the complex relation or null if this reference is not a ComplexRelationType.","format":"uuid","deprecated":true}}},"description":"The list of assigned characteristic types.\nDepending on the actual type, a characteristic type may contain additional properties.\nThese references will always contain 'AttributeType', 'StringAttributeType', 'ScriptAttributeType',\n'BooleanAttributeType', 'DateAttributeType', 'SingleValueListAttributeType',\n'MultiValueListAttributeType', 'NumericAttributeType', 'RelationType', 'DerivedRelationType' or 'ComplexRelationType'\nas resourceDiscriminator value."},"ArticulationRuleImpl":{"required":["id","resourceType"],"type":"object","properties":{"id":{"type":"string","description":"The id of the represented object (entity).","format":"uuid"},"createdBy":{"type":"string","description":"The id of the user that created this resource.","format":"uuid"},"createdOn":{"type":"integer","description":"The timestamp (in UTC time standard) of the creation of this resource.","format":"int64"},"lastModifiedBy":{"type":"string","description":"The id of the user who modified this resource the last time.","format":"uuid"},"lastModifiedOn":{"type":"integer","description":"The timestamp (in UTC time standard) of the last modification of this resource.","format":"int64"},"system":{"type":"boolean","description":"Whether this is a system resource or not."},"resourceType":{"type":"string","description":"The type of the resource, e.g. [Community, Asset, Domain, Attribute, Relation, WorkflowInstance, ...].\nThis property is deprecated and will be removed in the future. In order to stay backwards compatible\nand to enable introduction of new types of resources, where necessary, a resource discriminator\nproperty (of type String) has been added to specific subtypes of Resource,\ne.g. assignedResourceDiscriminator on AssignedResource, or attributeDiscriminator on Attribute.\nFor new types of resource that didn't exist before this change, the resourceType will be\nBaseDataType.\n","deprecated":true,"enum":["View","Asset","Community","Domain","AssetType","DomainType","Status","User","ClassificationMatch","UserGroup","Attribute","StringAttribute","ScriptAttribute","BooleanAttribute","DateAttribute","NumericAttribute","SingleValueListAttribute","MultiValueListAttribute","Comment","Attachment","Responsibility","Workflow","Job","Relation","RelationType","ComplexRelation","ComplexRelationType","ArticulationRule","Assignment","Scope","RelationTrace","ValidationRule","DataQualityRule","DataQualityMetric","Address","InstantMessagingAccount","Email","PhoneNumber","Website","Activity","FormProperty","WorkflowTask","ActivityChange","WorkflowInstance","Role","AttributeType","BooleanAttributeType","DateAttributeType","DateTimeAttributeType","MultiValueListAttributeType","NumericAttributeType","ScriptAttributeType","SingleValueListAttributeType","StringAttributeType","ViewSharingRule","ViewAssignmentRule","JdbcDriverFile","JdbcDriver","JdbcIngestionProperties","CsvIngestionProperties","ExcelIngestionProperties","ConnectionStringParameter","AssignedCharacteristicType","Notification","Tag","ComplexRelationLegType","ComplexRelationAttributeType","ComplexRelationLeg","BaseDataType","AdvancedDataType","DiagramPicture","DiagramPictureSharingRule","DiagramPictureAssignmentRule","Rating","Classification","PhysicalDataConnector","Context"]},"score":{"type":"number","description":"The value that should be either added or set (depending on the operation) when this rule matches.","format":"double"},"operation":{"type":"string","description":"The type of an operation that should be performed when asset is matching this rule.","enum":["ADD","SET"]},"status":{"$ref":"#/components/schemas/NamedResourceReferenceImpl"},"attributeType":{"$ref":"#/components/schemas/NamedResourceReferenceImpl"}},"description":"The list of articulation rules applying with the assignment."},"ScopeImpl":{"required":["id","resourceType"],"type":"object","properties":{"id":{"type":"string","description":"The id of the represented object (entity).","format":"uuid"},"createdBy":{"type":"string","description":"The id of the user that created this resource.","format":"uuid"},"createdOn":{"type":"integer","description":"The timestamp (in UTC time standard) of the creation of this resource.","format":"int64"},"lastModifiedBy":{"type":"string","description":"The id of the user who modified this resource the last time.","format":"uuid"},"lastModifiedOn":{"type":"integer","description":"The timestamp (in UTC time standard) of the last modification of this resource.","format":"int64"},"system":{"type":"boolean","description":"Whether this is a system resource or not."},"resourceType":{"type":"string","description":"The type of the resource, e.g. [Community, Asset, Domain, Attribute, Relation, WorkflowInstance, ...].\nThis property is deprecated and will be removed in the future. In order to stay backwards compatible\nand to enable introduction of new types of resources, where necessary, a resource discriminator\nproperty (of type String) has been added to specific subtypes of Resource,\ne.g. assignedResourceDiscriminator on AssignedResource, or attributeDiscriminator on Attribute.\nFor new types of resource that didn't exist before this change, the resourceType will be\nBaseDataType.\n","deprecated":true,"enum":["View","Asset","Community","Domain","AssetType","DomainType","Status","User","ClassificationMatch","UserGroup","Attribute","StringAttribute","ScriptAttribute","BooleanAttribute","DateAttribute","NumericAttribute","SingleValueListAttribute","MultiValueListAttribute","Comment","Attachment","Responsibility","Workflow","Job","Relation","RelationType","ComplexRelation","ComplexRelationType","ArticulationRule","Assignment","Scope","RelationTrace","ValidationRule","DataQualityRule","DataQualityMetric","Address","InstantMessagingAccount","Email","PhoneNumber","Website","Activity","FormProperty","WorkflowTask","ActivityChange","WorkflowInstance","Role","AttributeType","BooleanAttributeType","DateAttributeType","DateTimeAttributeType","MultiValueListAttributeType","NumericAttributeType","ScriptAttributeType","SingleValueListAttributeType","StringAttributeType","ViewSharingRule","ViewAssignmentRule","JdbcDriverFile","JdbcDriver","JdbcIngestionProperties","CsvIngestionProperties","ExcelIngestionProperties","ConnectionStringParameter","AssignedCharacteristicType","Notification","Tag","ComplexRelationLegType","ComplexRelationAttributeType","ComplexRelationLeg","BaseDataType","AdvancedDataType","DiagramPicture","DiagramPictureSharingRule","DiagramPictureAssignmentRule","Rating","Classification","PhysicalDataConnector","Context"]},"name":{"type":"string","description":"The name of the resource."},"description":{"type":"string","description":"The description of the resource."},"publicId":{"type":"string","description":"The public id of the scope."},"domains":{"type":"array","description":"The list of domains that are included in this scope.","items":{"$ref":"#/components/schemas/NamedResourceReferenceImpl"}},"communities":{"type":"array","description":"The list of communities that are included in this scope.","items":{"$ref":"#/components/schemas/NamedResourceReferenceImpl"}}}},"AssignmentInheritance":{"type":"object","properties":{"scope":{"$ref":"#/components/schemas/NamedResourceReferenceImpl"},"traitAssignmentInheritances":{"type":"array","description":"The inheritances stemming from Traits applied to the Asset Type.","items":{"$ref":"#/components/schemas/TraitAssignmentInheritance"}},"assignment":{"$ref":"#/components/schemas/ResourceReference"},"assetType":{"$ref":"#/components/schemas/NamedResourceReferenceImpl"}},"description":"An inheritance stemming from an assignment of an ancestor."},"TraitAssignmentInheritance":{"type":"object","properties":{"scope":{"$ref":"#/components/schemas/NamedResourceReferenceImpl"},"characteristicTypes":{"type":"array","description":"The list of assigned characteristic types.\nDepending on the actual type, a characteristic type may contain additional properties.\nFor additional details, refer to the schemas of AssignedAttributeType, AssignedComplexRelationType\nand AssignedRelationType.\nThese references will always contain 'AttributeType', 'StringAttributeType', 'ScriptAttributeType',\n'BooleanAttributeType', 'DateAttributeType', 'SingleValueListAttributeType',\n'MultiValueListAttributeType', 'NumericAttributeType''RelationType' or 'ComplexRelationType'\nas resourceDiscriminator value.","items":{"$ref":"#/components/schemas/AssignedCharacteristicType"}},"assignedCharacteristicTypeReferences":{"type":"array","description":"The list of assigned characteristic types.\nDepending on the actual type, a characteristic type may contain additional properties.\nThese references will always contain 'AttributeType', 'StringAttributeType', 'ScriptAttributeType',\n'BooleanAttributeType', 'DateAttributeType', 'SingleValueListAttributeType',\n'MultiValueListAttributeType', 'NumericAttributeType', 'RelationType', 'DerivedRelationType' or 'ComplexRelationType'\nas resourceDiscriminator value.","items":{"$ref":"#/components/schemas/AssignedCharacteristicTypeReferenceImpl"}},"traitAssignment":{"$ref":"#/components/schemas/ResourceReference"},"trait":{"$ref":"#/components/schemas/NamedResourceReferenceImpl"},"assetType":{"$ref":"#/components/schemas/NamedResourceReferenceImpl"}},"description":"The inheritance stemming from a single Trait applied to the Asset Type.\nPlease note that the 'assetType' property of TraitAssignmentInheritance is deprecated.\nThis property was incorrectly named, and has therefore been replaced by the 'trait' property.\nBoth properties contain a reference to the trait from which the inheritance comes.\n"},"ResourceReference":{"required":["id","resourceType"],"type":"object","properties":{"id":{"type":"string","description":"The id of the referenced resource.","format":"uuid"},"resourceType":{"type":"string","description":"The type of the resource, e.g. [Community, Asset, Domain, Attribute, Relation, WorkflowInstance, ...]. This property is deprecated and will be removed in the future. In order to stay backwards compatible and to enable us to introduce new types of resources, we are replacing the ResourceType enum with a String. For new types of resources that didn't exist before this change, resourceType will be BaseDataType. Please use the resourceDiscriminator property instead. Refer to the object containing the ResourceReference for possible values.","deprecated":true,"enum":["View","Asset","Community","Domain","AssetType","DomainType","Status","User","ClassificationMatch","UserGroup","Attribute","StringAttribute","ScriptAttribute","BooleanAttribute","DateAttribute","NumericAttribute","SingleValueListAttribute","MultiValueListAttribute","Comment","Attachment","Responsibility","Workflow","Job","Relation","RelationType","ComplexRelation","ComplexRelationType","ArticulationRule","Assignment","Scope","RelationTrace","ValidationRule","DataQualityRule","DataQualityMetric","Address","InstantMessagingAccount","Email","PhoneNumber","Website","Activity","FormProperty","WorkflowTask","ActivityChange","WorkflowInstance","Role","AttributeType","BooleanAttributeType","DateAttributeType","DateTimeAttributeType","MultiValueListAttributeType","NumericAttributeType","ScriptAttributeType","SingleValueListAttributeType","StringAttributeType","ViewSharingRule","ViewAssignmentRule","JdbcDriverFile","JdbcDriver","JdbcIngestionProperties","CsvIngestionProperties","ExcelIngestionProperties","ConnectionStringParameter","AssignedCharacteristicType","Notification","Tag","ComplexRelationLegType","ComplexRelationAttributeType","ComplexRelationLeg","BaseDataType","AdvancedDataType","DiagramPicture","DiagramPictureSharingRule","DiagramPictureAssignmentRule","Rating","Classification","PhysicalDataConnector","Context"]},"resourceDiscriminator":{"type":"string","description":"The resource discriminator, which indicates the type of the referenced resource, e.g. \"Community\", \"Asset\", ... Check the documentation of the class using the resource reference for detailed documentation regarding the possible resource discriminator values."}},"description":"Represents reference to the resource."}}},"paths":{"/assignments/asset/{assetId}":{"get":{"tags":["Assignments"],"summary":"Returns the Assignment identified by the given Asset.","description":"Returns the Assignment identified by the given Asset.","operationId":"getAssignmentsForAsset","parameters":[{"name":"assetId","in":"path","description":"The unique identifier of the Asset.","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Assignment found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssignmentImpl"}}}},"404":{"description":"Assignment not found."}}}}}}
```

## Returns Assignments for given asset type id.

> Returns Assignments for given asset type id.

```json
{"openapi":"3.0.3","info":{"title":"Collibra Data Governance Center Core API","version":"2.0"},"servers":[{"url":"/rest/2.0","variables":{}}],"security":[{"basicAuth":[]},{"jwtAuth":[]},{"oauth2":[]}],"components":{"securitySchemes":{"basicAuth":{"type":"http","scheme":"basic"},"jwtAuth":{"type":"http","description":"Collibra REST API authentication using JSON Web Token.","scheme":"bearer","bearerFormat":"JWT"},"oauth2":{"type":"oauth2","description":"Collibra REST API authentication using OAuth 2.","flows":{"clientCredentials":{"tokenUrl":"/rest/oauth/v2/token","scopes":{"sys.admin":"System administration","kg.manage-all":"Manage all knowledge graph resources","kg.view-all":"View any knowledge graph resource","kg.manage-tags":"Manage tags","insights.download":"Download insights reporting zip files","wf.administration":"Workflow administration","wf.use-message-events":"Use workflow events"}}}}},"schemas":{"AssignmentImpl":{"required":["id","resourceType"],"type":"object","properties":{"id":{"type":"string","description":"The id of the represented object (entity).","format":"uuid"},"createdBy":{"type":"string","description":"The id of the user that created this resource.","format":"uuid"},"createdOn":{"type":"integer","description":"The timestamp (in UTC time standard) of the creation of this resource.","format":"int64"},"lastModifiedBy":{"type":"string","description":"The id of the user who modified this resource the last time.","format":"uuid"},"lastModifiedOn":{"type":"integer","description":"The timestamp (in UTC time standard) of the last modification of this resource.","format":"int64"},"system":{"type":"boolean","description":"Whether this is a system resource or not."},"resourceType":{"type":"string","description":"The type of the resource, e.g. [Community, Asset, Domain, Attribute, Relation, WorkflowInstance, ...].\nThis property is deprecated and will be removed in the future. In order to stay backwards compatible\nand to enable introduction of new types of resources, where necessary, a resource discriminator\nproperty (of type String) has been added to specific subtypes of Resource,\ne.g. assignedResourceDiscriminator on AssignedResource, or attributeDiscriminator on Attribute.\nFor new types of resource that didn't exist before this change, the resourceType will be\nBaseDataType.\n","deprecated":true,"enum":["View","Asset","Community","Domain","AssetType","DomainType","Status","User","ClassificationMatch","UserGroup","Attribute","StringAttribute","ScriptAttribute","BooleanAttribute","DateAttribute","NumericAttribute","SingleValueListAttribute","MultiValueListAttribute","Comment","Attachment","Responsibility","Workflow","Job","Relation","RelationType","ComplexRelation","ComplexRelationType","ArticulationRule","Assignment","Scope","RelationTrace","ValidationRule","DataQualityRule","DataQualityMetric","Address","InstantMessagingAccount","Email","PhoneNumber","Website","Activity","FormProperty","WorkflowTask","ActivityChange","WorkflowInstance","Role","AttributeType","BooleanAttributeType","DateAttributeType","DateTimeAttributeType","MultiValueListAttributeType","NumericAttributeType","ScriptAttributeType","SingleValueListAttributeType","StringAttributeType","ViewSharingRule","ViewAssignmentRule","JdbcDriverFile","JdbcDriver","JdbcIngestionProperties","CsvIngestionProperties","ExcelIngestionProperties","ConnectionStringParameter","AssignedCharacteristicType","Notification","Tag","ComplexRelationLegType","ComplexRelationAttributeType","ComplexRelationLeg","BaseDataType","AdvancedDataType","DiagramPicture","DiagramPictureSharingRule","DiagramPictureAssignmentRule","Rating","Classification","PhysicalDataConnector","Context"]},"assetType":{"$ref":"#/components/schemas/NamedResourceReferenceImpl"},"statuses":{"type":"array","description":"The list of references to the statuses.  These references will always contain 'Status' as resourceDiscriminator value.","items":{"$ref":"#/components/schemas/NamedDescribedResourceReference"}},"defaultStatusId":{"type":"string","description":"The ID of the default status. Deprecated : this property is ignored. The default status is the first status in the list of assigned statuses of the assignment.","format":"uuid","deprecated":true},"characteristicTypes":{"type":"array","description":"The list of assigned characteristic types. Depending on the actual type, a characteristic type may contain additional properties. For additional details, refer to the schemas of AssignedAttributeType, AssignedComplexRelationType and AssignedRelationType. These references will always contain 'AttributeType', 'RelationType' or 'ComplexRelationType' as resourceDiscriminator value.Deprecated in favour of assignedCharacteristicTypeReferences.","deprecated":true,"items":{"$ref":"#/components/schemas/AssignedCharacteristicType"}},"assignedCharacteristicTypeReferences":{"type":"array","description":"The list of assigned characteristic types. Depending on the actual type, a characteristic type may contain additional properties. These references will contain 'AttributeType', 'RelationType' or 'ComplexRelationType' or 'DerivedRelationType' as resourceDiscriminator value.","items":{"$ref":"#/components/schemas/AssignedCharacteristicTypeReferenceImpl"}},"articulationRules":{"type":"array","description":"The list of articulation rules applying with the assignment.","items":{"$ref":"#/components/schemas/ArticulationRuleImpl"}},"validationRules":{"type":"array","description":"The list of references to validation rules applying with the assignment. These references will always contain 'Asset' as resourceDiscriminator value.","items":{"$ref":"#/components/schemas/NamedResourceReferenceImpl"}},"dataQualityRules":{"type":"array","description":"The list of references to data quality rules applying with the assignment. These references will always contain 'DataQualityRule' as resourceDiscriminator value.","items":{"$ref":"#/components/schemas/NamedDescribedResourceReference"}},"domainTypes":{"type":"array","description":"The list of references to domain types which the assignment refers to.  These references will always contain 'DomainType' as resourceDiscriminator value.","items":{"$ref":"#/components/schemas/NamedDescribedResourceReference"}},"scope":{"$ref":"#/components/schemas/ScopeImpl"},"assignmentInheritances":{"type":"array","description":"The inheritances stemming from assignments applied to ancestors of the asset type of this assignment.","items":{"$ref":"#/components/schemas/AssignmentInheritance"}},"traitAssignmentInheritances":{"type":"array","description":"The inheritances stemming from Traits applied to the Asset Type.","items":{"$ref":"#/components/schemas/TraitAssignmentInheritance"}}}},"NamedResourceReferenceImpl":{"required":["id","resourceType"],"type":"object","properties":{"id":{"type":"string","description":"The id of the referenced resource.","format":"uuid"},"resourceType":{"type":"string","description":"The type of the resource, e.g. [Community, Asset, Domain, Attribute, Relation, WorkflowInstance, ...]. This property is deprecated and will be removed in the future. In order to stay backwards compatible and to enable us to introduce new types of resources, we are replacing the ResourceType enum with a String. For new types of resources that didn't exist before this change, resourceType will be BaseDataType. Please use the resourceDiscriminator property instead. Refer to the object containing the ResourceReference for possible values.","deprecated":true,"enum":["View","Asset","Community","Domain","AssetType","DomainType","Status","User","ClassificationMatch","UserGroup","Attribute","StringAttribute","ScriptAttribute","BooleanAttribute","DateAttribute","NumericAttribute","SingleValueListAttribute","MultiValueListAttribute","Comment","Attachment","Responsibility","Workflow","Job","Relation","RelationType","ComplexRelation","ComplexRelationType","ArticulationRule","Assignment","Scope","RelationTrace","ValidationRule","DataQualityRule","DataQualityMetric","Address","InstantMessagingAccount","Email","PhoneNumber","Website","Activity","FormProperty","WorkflowTask","ActivityChange","WorkflowInstance","Role","AttributeType","BooleanAttributeType","DateAttributeType","DateTimeAttributeType","MultiValueListAttributeType","NumericAttributeType","ScriptAttributeType","SingleValueListAttributeType","StringAttributeType","ViewSharingRule","ViewAssignmentRule","JdbcDriverFile","JdbcDriver","JdbcIngestionProperties","CsvIngestionProperties","ExcelIngestionProperties","ConnectionStringParameter","AssignedCharacteristicType","Notification","Tag","ComplexRelationLegType","ComplexRelationAttributeType","ComplexRelationLeg","BaseDataType","AdvancedDataType","DiagramPicture","DiagramPictureSharingRule","DiagramPictureAssignmentRule","Rating","Classification","PhysicalDataConnector","Context"]},"resourceDiscriminator":{"type":"string","description":"The resource discriminator, which indicates the type of the referenced resource, e.g. \"Community\", \"Asset\", ... Check the documentation of the class using the resource reference for detailed documentation regarding the possible resource discriminator values."},"name":{"type":"string","description":"The name of the referenced resource."}},"description":"Represents reference to the resource, including its name."},"NamedDescribedResourceReference":{"required":["id","resourceType"],"type":"object","properties":{"id":{"type":"string","description":"The id of the referenced resource.","format":"uuid"},"resourceType":{"type":"string","description":"The type of the resource, e.g. [Community, Asset, Domain, Attribute, Relation, WorkflowInstance, ...]. This property is deprecated and will be removed in the future. In order to stay backwards compatible and to enable us to introduce new types of resources, we are replacing the ResourceType enum with a String. For new types of resources that didn't exist before this change, resourceType will be BaseDataType. Please use the resourceDiscriminator property instead. Refer to the object containing the ResourceReference for possible values.","deprecated":true,"enum":["View","Asset","Community","Domain","AssetType","DomainType","Status","User","ClassificationMatch","UserGroup","Attribute","StringAttribute","ScriptAttribute","BooleanAttribute","DateAttribute","NumericAttribute","SingleValueListAttribute","MultiValueListAttribute","Comment","Attachment","Responsibility","Workflow","Job","Relation","RelationType","ComplexRelation","ComplexRelationType","ArticulationRule","Assignment","Scope","RelationTrace","ValidationRule","DataQualityRule","DataQualityMetric","Address","InstantMessagingAccount","Email","PhoneNumber","Website","Activity","FormProperty","WorkflowTask","ActivityChange","WorkflowInstance","Role","AttributeType","BooleanAttributeType","DateAttributeType","DateTimeAttributeType","MultiValueListAttributeType","NumericAttributeType","ScriptAttributeType","SingleValueListAttributeType","StringAttributeType","ViewSharingRule","ViewAssignmentRule","JdbcDriverFile","JdbcDriver","JdbcIngestionProperties","CsvIngestionProperties","ExcelIngestionProperties","ConnectionStringParameter","AssignedCharacteristicType","Notification","Tag","ComplexRelationLegType","ComplexRelationAttributeType","ComplexRelationLeg","BaseDataType","AdvancedDataType","DiagramPicture","DiagramPictureSharingRule","DiagramPictureAssignmentRule","Rating","Classification","PhysicalDataConnector","Context"]},"resourceDiscriminator":{"type":"string","description":"The resource discriminator, which indicates the type of the referenced resource, e.g. \"Community\", \"Asset\", ... Check the documentation of the class using the resource reference for detailed documentation regarding the possible resource discriminator values."},"name":{"type":"string","description":"The name of the referenced resource."},"description":{"type":"string","description":"The description of the referenced resource."}},"description":"Represents reference to the resource, including its name and description."},"AssignedCharacteristicType":{"required":["assignedResourceType"],"type":"object","properties":{"readOnly":{"type":"boolean","description":"Whether the characteristic value of the assigned type can be edited by the user."},"system":{"type":"boolean","description":"Whether the characteristic type can be unassigned."},"assignedResourceType":{"type":"string","description":"The type of the resource the characteristic refers to. The value can be one of : AttributeType, RelationType or ComplexRelationType. Deprecated in favour of assignedCharacteristicTypeDiscriminator.","deprecated":true,"enum":["View","Asset","Community","Domain","AssetType","DomainType","Status","User","ClassificationMatch","UserGroup","Attribute","StringAttribute","ScriptAttribute","BooleanAttribute","DateAttribute","NumericAttribute","SingleValueListAttribute","MultiValueListAttribute","Comment","Attachment","Responsibility","Workflow","Job","Relation","RelationType","ComplexRelation","ComplexRelationType","ArticulationRule","Assignment","Scope","RelationTrace","ValidationRule","DataQualityRule","DataQualityMetric","Address","InstantMessagingAccount","Email","PhoneNumber","Website","Activity","FormProperty","WorkflowTask","ActivityChange","WorkflowInstance","Role","AttributeType","BooleanAttributeType","DateAttributeType","DateTimeAttributeType","MultiValueListAttributeType","NumericAttributeType","ScriptAttributeType","SingleValueListAttributeType","StringAttributeType","ViewSharingRule","ViewAssignmentRule","JdbcDriverFile","JdbcDriver","JdbcIngestionProperties","CsvIngestionProperties","ExcelIngestionProperties","ConnectionStringParameter","AssignedCharacteristicType","Notification","Tag","ComplexRelationLegType","ComplexRelationAttributeType","ComplexRelationLeg","BaseDataType","AdvancedDataType","DiagramPicture","DiagramPictureSharingRule","DiagramPictureAssignmentRule","Rating","Classification","PhysicalDataConnector","Context"]},"assignedCharacteristicTypeDiscriminator":{"type":"string","description":"The discriminator of the characteristic type that is assigned. The value can be one of : AttributeType, RelationType or ComplexRelationType"},"minimumOccurrences":{"type":"integer","description":"How many times at least the assigned characteristic must be added to the resource. Zero means no restriction.","format":"int32"},"assignedResourceId":{"type":"string","description":"The id of the resource the characteristic refers to.","format":"uuid"},"maximumOccurrences":{"type":"integer","description":"How many times at least the assigned characteristic may be added to the resource. Null means no limit.","format":"int32"},"id":{"type":"string","description":"The id of the represented object (entity).","format":"uuid"}},"description":"The list of assigned characteristic types. Depending on the actual type, a characteristic type may contain additional properties. For additional details, refer to the schemas of AssignedAttributeType, AssignedComplexRelationType and AssignedRelationType. These references will always contain 'AttributeType', 'RelationType' or 'ComplexRelationType' as resourceDiscriminator value.","discriminator":{"propertyName":"assignedResourceType","mapping":{"AttributeType":"#/components/schemas/AssignedAttributeType","ComplexRelationType":"#/components/schemas/AssignedComplexRelationType","RelationType":"#/components/schemas/AssignedRelationType"}}},"AssignedCharacteristicTypeReferenceImpl":{"type":"object","properties":{"id":{"type":"string","description":"The unique identifier of the Assigned Characteristic Type Reference.","format":"uuid"},"assignedResourceReference":{"$ref":"#/components/schemas/NamedResourceReferenceImpl"},"assignedResourcePublicId":{"type":"string","description":"The public id of assigned Characteristic Type. This can be an Attribute Type, Relation Type, Complex Relation Type or Derived Relation Type."},"minimumOccurrences":{"type":"integer","description":"How many times the assigned Characteristic must at the minimum be added to the Resource. Zero means no restriction.","format":"int32"},"maximumOccurrences":{"type":"integer","description":"Defines how many times an assigned Characteristic may be added at most to the resource. Null means no limit.","format":"int32"},"system":{"type":"boolean","description":"When the system flag is set to true, it means the Characteristic Type cannot be unassigned."},"readOnly":{"type":"boolean","description":"When the readOnly flag is set to true, the value of the assigned Characteristic Type cannot be edited by the user. Only applicable to AttributeType assignment lines."},"relationTypeDirection":{"type":"string","description":"The direction of the Relation Type or null when this reference isn't a reference to a Relation Type.","enum":["TO_SOURCE","TO_TARGET","BOTH","NONE"]},"relationTypeRestriction":{"$ref":"#/components/schemas/NamedResourceReferenceImpl"},"matchingLegTypesIds":{"type":"array","description":"The list of ids that should match the legs of the complex relation or null if this reference is not a ComplexRelationType.","deprecated":true,"items":{"type":"string","description":"The list of ids that should match the legs of the complex relation or null if this reference is not a ComplexRelationType.","format":"uuid","deprecated":true}}},"description":"The list of assigned characteristic types.\nDepending on the actual type, a characteristic type may contain additional properties.\nThese references will always contain 'AttributeType', 'StringAttributeType', 'ScriptAttributeType',\n'BooleanAttributeType', 'DateAttributeType', 'SingleValueListAttributeType',\n'MultiValueListAttributeType', 'NumericAttributeType', 'RelationType', 'DerivedRelationType' or 'ComplexRelationType'\nas resourceDiscriminator value."},"ArticulationRuleImpl":{"required":["id","resourceType"],"type":"object","properties":{"id":{"type":"string","description":"The id of the represented object (entity).","format":"uuid"},"createdBy":{"type":"string","description":"The id of the user that created this resource.","format":"uuid"},"createdOn":{"type":"integer","description":"The timestamp (in UTC time standard) of the creation of this resource.","format":"int64"},"lastModifiedBy":{"type":"string","description":"The id of the user who modified this resource the last time.","format":"uuid"},"lastModifiedOn":{"type":"integer","description":"The timestamp (in UTC time standard) of the last modification of this resource.","format":"int64"},"system":{"type":"boolean","description":"Whether this is a system resource or not."},"resourceType":{"type":"string","description":"The type of the resource, e.g. [Community, Asset, Domain, Attribute, Relation, WorkflowInstance, ...].\nThis property is deprecated and will be removed in the future. In order to stay backwards compatible\nand to enable introduction of new types of resources, where necessary, a resource discriminator\nproperty (of type String) has been added to specific subtypes of Resource,\ne.g. assignedResourceDiscriminator on AssignedResource, or attributeDiscriminator on Attribute.\nFor new types of resource that didn't exist before this change, the resourceType will be\nBaseDataType.\n","deprecated":true,"enum":["View","Asset","Community","Domain","AssetType","DomainType","Status","User","ClassificationMatch","UserGroup","Attribute","StringAttribute","ScriptAttribute","BooleanAttribute","DateAttribute","NumericAttribute","SingleValueListAttribute","MultiValueListAttribute","Comment","Attachment","Responsibility","Workflow","Job","Relation","RelationType","ComplexRelation","ComplexRelationType","ArticulationRule","Assignment","Scope","RelationTrace","ValidationRule","DataQualityRule","DataQualityMetric","Address","InstantMessagingAccount","Email","PhoneNumber","Website","Activity","FormProperty","WorkflowTask","ActivityChange","WorkflowInstance","Role","AttributeType","BooleanAttributeType","DateAttributeType","DateTimeAttributeType","MultiValueListAttributeType","NumericAttributeType","ScriptAttributeType","SingleValueListAttributeType","StringAttributeType","ViewSharingRule","ViewAssignmentRule","JdbcDriverFile","JdbcDriver","JdbcIngestionProperties","CsvIngestionProperties","ExcelIngestionProperties","ConnectionStringParameter","AssignedCharacteristicType","Notification","Tag","ComplexRelationLegType","ComplexRelationAttributeType","ComplexRelationLeg","BaseDataType","AdvancedDataType","DiagramPicture","DiagramPictureSharingRule","DiagramPictureAssignmentRule","Rating","Classification","PhysicalDataConnector","Context"]},"score":{"type":"number","description":"The value that should be either added or set (depending on the operation) when this rule matches.","format":"double"},"operation":{"type":"string","description":"The type of an operation that should be performed when asset is matching this rule.","enum":["ADD","SET"]},"status":{"$ref":"#/components/schemas/NamedResourceReferenceImpl"},"attributeType":{"$ref":"#/components/schemas/NamedResourceReferenceImpl"}},"description":"The list of articulation rules applying with the assignment."},"ScopeImpl":{"required":["id","resourceType"],"type":"object","properties":{"id":{"type":"string","description":"The id of the represented object (entity).","format":"uuid"},"createdBy":{"type":"string","description":"The id of the user that created this resource.","format":"uuid"},"createdOn":{"type":"integer","description":"The timestamp (in UTC time standard) of the creation of this resource.","format":"int64"},"lastModifiedBy":{"type":"string","description":"The id of the user who modified this resource the last time.","format":"uuid"},"lastModifiedOn":{"type":"integer","description":"The timestamp (in UTC time standard) of the last modification of this resource.","format":"int64"},"system":{"type":"boolean","description":"Whether this is a system resource or not."},"resourceType":{"type":"string","description":"The type of the resource, e.g. [Community, Asset, Domain, Attribute, Relation, WorkflowInstance, ...].\nThis property is deprecated and will be removed in the future. In order to stay backwards compatible\nand to enable introduction of new types of resources, where necessary, a resource discriminator\nproperty (of type String) has been added to specific subtypes of Resource,\ne.g. assignedResourceDiscriminator on AssignedResource, or attributeDiscriminator on Attribute.\nFor new types of resource that didn't exist before this change, the resourceType will be\nBaseDataType.\n","deprecated":true,"enum":["View","Asset","Community","Domain","AssetType","DomainType","Status","User","ClassificationMatch","UserGroup","Attribute","StringAttribute","ScriptAttribute","BooleanAttribute","DateAttribute","NumericAttribute","SingleValueListAttribute","MultiValueListAttribute","Comment","Attachment","Responsibility","Workflow","Job","Relation","RelationType","ComplexRelation","ComplexRelationType","ArticulationRule","Assignment","Scope","RelationTrace","ValidationRule","DataQualityRule","DataQualityMetric","Address","InstantMessagingAccount","Email","PhoneNumber","Website","Activity","FormProperty","WorkflowTask","ActivityChange","WorkflowInstance","Role","AttributeType","BooleanAttributeType","DateAttributeType","DateTimeAttributeType","MultiValueListAttributeType","NumericAttributeType","ScriptAttributeType","SingleValueListAttributeType","StringAttributeType","ViewSharingRule","ViewAssignmentRule","JdbcDriverFile","JdbcDriver","JdbcIngestionProperties","CsvIngestionProperties","ExcelIngestionProperties","ConnectionStringParameter","AssignedCharacteristicType","Notification","Tag","ComplexRelationLegType","ComplexRelationAttributeType","ComplexRelationLeg","BaseDataType","AdvancedDataType","DiagramPicture","DiagramPictureSharingRule","DiagramPictureAssignmentRule","Rating","Classification","PhysicalDataConnector","Context"]},"name":{"type":"string","description":"The name of the resource."},"description":{"type":"string","description":"The description of the resource."},"publicId":{"type":"string","description":"The public id of the scope."},"domains":{"type":"array","description":"The list of domains that are included in this scope.","items":{"$ref":"#/components/schemas/NamedResourceReferenceImpl"}},"communities":{"type":"array","description":"The list of communities that are included in this scope.","items":{"$ref":"#/components/schemas/NamedResourceReferenceImpl"}}}},"AssignmentInheritance":{"type":"object","properties":{"scope":{"$ref":"#/components/schemas/NamedResourceReferenceImpl"},"traitAssignmentInheritances":{"type":"array","description":"The inheritances stemming from Traits applied to the Asset Type.","items":{"$ref":"#/components/schemas/TraitAssignmentInheritance"}},"assignment":{"$ref":"#/components/schemas/ResourceReference"},"assetType":{"$ref":"#/components/schemas/NamedResourceReferenceImpl"}},"description":"An inheritance stemming from an assignment of an ancestor."},"TraitAssignmentInheritance":{"type":"object","properties":{"scope":{"$ref":"#/components/schemas/NamedResourceReferenceImpl"},"characteristicTypes":{"type":"array","description":"The list of assigned characteristic types.\nDepending on the actual type, a characteristic type may contain additional properties.\nFor additional details, refer to the schemas of AssignedAttributeType, AssignedComplexRelationType\nand AssignedRelationType.\nThese references will always contain 'AttributeType', 'StringAttributeType', 'ScriptAttributeType',\n'BooleanAttributeType', 'DateAttributeType', 'SingleValueListAttributeType',\n'MultiValueListAttributeType', 'NumericAttributeType''RelationType' or 'ComplexRelationType'\nas resourceDiscriminator value.","items":{"$ref":"#/components/schemas/AssignedCharacteristicType"}},"assignedCharacteristicTypeReferences":{"type":"array","description":"The list of assigned characteristic types.\nDepending on the actual type, a characteristic type may contain additional properties.\nThese references will always contain 'AttributeType', 'StringAttributeType', 'ScriptAttributeType',\n'BooleanAttributeType', 'DateAttributeType', 'SingleValueListAttributeType',\n'MultiValueListAttributeType', 'NumericAttributeType', 'RelationType', 'DerivedRelationType' or 'ComplexRelationType'\nas resourceDiscriminator value.","items":{"$ref":"#/components/schemas/AssignedCharacteristicTypeReferenceImpl"}},"traitAssignment":{"$ref":"#/components/schemas/ResourceReference"},"trait":{"$ref":"#/components/schemas/NamedResourceReferenceImpl"},"assetType":{"$ref":"#/components/schemas/NamedResourceReferenceImpl"}},"description":"The inheritance stemming from a single Trait applied to the Asset Type.\nPlease note that the 'assetType' property of TraitAssignmentInheritance is deprecated.\nThis property was incorrectly named, and has therefore been replaced by the 'trait' property.\nBoth properties contain a reference to the trait from which the inheritance comes.\n"},"ResourceReference":{"required":["id","resourceType"],"type":"object","properties":{"id":{"type":"string","description":"The id of the referenced resource.","format":"uuid"},"resourceType":{"type":"string","description":"The type of the resource, e.g. [Community, Asset, Domain, Attribute, Relation, WorkflowInstance, ...]. This property is deprecated and will be removed in the future. In order to stay backwards compatible and to enable us to introduce new types of resources, we are replacing the ResourceType enum with a String. For new types of resources that didn't exist before this change, resourceType will be BaseDataType. Please use the resourceDiscriminator property instead. Refer to the object containing the ResourceReference for possible values.","deprecated":true,"enum":["View","Asset","Community","Domain","AssetType","DomainType","Status","User","ClassificationMatch","UserGroup","Attribute","StringAttribute","ScriptAttribute","BooleanAttribute","DateAttribute","NumericAttribute","SingleValueListAttribute","MultiValueListAttribute","Comment","Attachment","Responsibility","Workflow","Job","Relation","RelationType","ComplexRelation","ComplexRelationType","ArticulationRule","Assignment","Scope","RelationTrace","ValidationRule","DataQualityRule","DataQualityMetric","Address","InstantMessagingAccount","Email","PhoneNumber","Website","Activity","FormProperty","WorkflowTask","ActivityChange","WorkflowInstance","Role","AttributeType","BooleanAttributeType","DateAttributeType","DateTimeAttributeType","MultiValueListAttributeType","NumericAttributeType","ScriptAttributeType","SingleValueListAttributeType","StringAttributeType","ViewSharingRule","ViewAssignmentRule","JdbcDriverFile","JdbcDriver","JdbcIngestionProperties","CsvIngestionProperties","ExcelIngestionProperties","ConnectionStringParameter","AssignedCharacteristicType","Notification","Tag","ComplexRelationLegType","ComplexRelationAttributeType","ComplexRelationLeg","BaseDataType","AdvancedDataType","DiagramPicture","DiagramPictureSharingRule","DiagramPictureAssignmentRule","Rating","Classification","PhysicalDataConnector","Context"]},"resourceDiscriminator":{"type":"string","description":"The resource discriminator, which indicates the type of the referenced resource, e.g. \"Community\", \"Asset\", ... Check the documentation of the class using the resource reference for detailed documentation regarding the possible resource discriminator values."}},"description":"Represents reference to the resource."}}},"paths":{"/assignments/assetType/{assetTypeId}":{"get":{"tags":["Assignments"],"summary":"Returns Assignments for given asset type id.","description":"Returns Assignments for given asset type id.","operationId":"getAssignmentsForAssetType","parameters":[{"name":"assetTypeId","in":"path","description":"The unique identifier of the AssetType.","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Assignments found.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AssignmentImpl"}}}}},"404":{"description":"AssetType not found."}}}}}}
```

## Returns available asset types for domain identified by given id.

> Returns available asset types for domain identified by given id.

```json
{"openapi":"3.0.3","info":{"title":"Collibra Data Governance Center Core API","version":"2.0"},"servers":[{"url":"/rest/2.0","variables":{}}],"security":[{"basicAuth":[]},{"jwtAuth":[]},{"oauth2":[]}],"components":{"securitySchemes":{"basicAuth":{"type":"http","scheme":"basic"},"jwtAuth":{"type":"http","description":"Collibra REST API authentication using JSON Web Token.","scheme":"bearer","bearerFormat":"JWT"},"oauth2":{"type":"oauth2","description":"Collibra REST API authentication using OAuth 2.","flows":{"clientCredentials":{"tokenUrl":"/rest/oauth/v2/token","scopes":{"sys.admin":"System administration","kg.manage-all":"Manage all knowledge graph resources","kg.view-all":"View any knowledge graph resource","kg.manage-tags":"Manage tags","insights.download":"Download insights reporting zip files","wf.administration":"Workflow administration","wf.use-message-events":"Use workflow events"}}}}},"schemas":{"AssetTypeImpl":{"required":["id","resourceType"],"type":"object","properties":{"id":{"type":"string","description":"The id of the represented object (entity).","format":"uuid"},"createdBy":{"type":"string","description":"The id of the user that created this resource.","format":"uuid"},"createdOn":{"type":"integer","description":"The timestamp (in UTC time standard) of the creation of this resource.","format":"int64"},"lastModifiedBy":{"type":"string","description":"The id of the user who modified this resource the last time.","format":"uuid"},"lastModifiedOn":{"type":"integer","description":"The timestamp (in UTC time standard) of the last modification of this resource.","format":"int64"},"system":{"type":"boolean","description":"Whether this is a system resource or not."},"resourceType":{"type":"string","description":"The type of the resource, e.g. [Community, Asset, Domain, Attribute, Relation, WorkflowInstance, ...].\nThis property is deprecated and will be removed in the future. In order to stay backwards compatible\nand to enable introduction of new types of resources, where necessary, a resource discriminator\nproperty (of type String) has been added to specific subtypes of Resource,\ne.g. assignedResourceDiscriminator on AssignedResource, or attributeDiscriminator on Attribute.\nFor new types of resource that didn't exist before this change, the resourceType will be\nBaseDataType.\n","deprecated":true,"enum":["View","Asset","Community","Domain","AssetType","DomainType","Status","User","ClassificationMatch","UserGroup","Attribute","StringAttribute","ScriptAttribute","BooleanAttribute","DateAttribute","NumericAttribute","SingleValueListAttribute","MultiValueListAttribute","Comment","Attachment","Responsibility","Workflow","Job","Relation","RelationType","ComplexRelation","ComplexRelationType","ArticulationRule","Assignment","Scope","RelationTrace","ValidationRule","DataQualityRule","DataQualityMetric","Address","InstantMessagingAccount","Email","PhoneNumber","Website","Activity","FormProperty","WorkflowTask","ActivityChange","WorkflowInstance","Role","AttributeType","BooleanAttributeType","DateAttributeType","DateTimeAttributeType","MultiValueListAttributeType","NumericAttributeType","ScriptAttributeType","SingleValueListAttributeType","StringAttributeType","ViewSharingRule","ViewAssignmentRule","JdbcDriverFile","JdbcDriver","JdbcIngestionProperties","CsvIngestionProperties","ExcelIngestionProperties","ConnectionStringParameter","AssignedCharacteristicType","Notification","Tag","ComplexRelationLegType","ComplexRelationAttributeType","ComplexRelationLeg","BaseDataType","AdvancedDataType","DiagramPicture","DiagramPictureSharingRule","DiagramPictureAssignmentRule","Rating","Classification","PhysicalDataConnector","Context"]},"name":{"type":"string","description":"The name of the resource."},"description":{"type":"string","description":"The description of the resource."},"publicId":{"type":"string","description":"The public id of the asset type."},"parent":{"$ref":"#/components/schemas/NamedResourceReferenceImpl"},"symbolData":{"$ref":"#/components/schemas/SymbolDataImpl"},"displayNameEnabled":{"type":"boolean"},"ratingEnabled":{"type":"boolean"},"finalType":{"type":"boolean","description":"Whether the ability to create child asset types and scoped assignments for this asset type is locked."},"lockStatuses":{"type":"boolean","description":"Whether the ability to add custom statuses to the assignments of this asset type is locked."},"product":{"type":"string","description":"The product to which this asset type is linked."},"appliedTraits":{"type":"array","description":"The list of traits as they have been applied to the asset type.","items":{"$ref":"#/components/schemas/AppliedTraitImpl"}}}},"NamedResourceReferenceImpl":{"required":["id","resourceType"],"type":"object","properties":{"id":{"type":"string","description":"The id of the referenced resource.","format":"uuid"},"resourceType":{"type":"string","description":"The type of the resource, e.g. [Community, Asset, Domain, Attribute, Relation, WorkflowInstance, ...]. This property is deprecated and will be removed in the future. In order to stay backwards compatible and to enable us to introduce new types of resources, we are replacing the ResourceType enum with a String. For new types of resources that didn't exist before this change, resourceType will be BaseDataType. Please use the resourceDiscriminator property instead. Refer to the object containing the ResourceReference for possible values.","deprecated":true,"enum":["View","Asset","Community","Domain","AssetType","DomainType","Status","User","ClassificationMatch","UserGroup","Attribute","StringAttribute","ScriptAttribute","BooleanAttribute","DateAttribute","NumericAttribute","SingleValueListAttribute","MultiValueListAttribute","Comment","Attachment","Responsibility","Workflow","Job","Relation","RelationType","ComplexRelation","ComplexRelationType","ArticulationRule","Assignment","Scope","RelationTrace","ValidationRule","DataQualityRule","DataQualityMetric","Address","InstantMessagingAccount","Email","PhoneNumber","Website","Activity","FormProperty","WorkflowTask","ActivityChange","WorkflowInstance","Role","AttributeType","BooleanAttributeType","DateAttributeType","DateTimeAttributeType","MultiValueListAttributeType","NumericAttributeType","ScriptAttributeType","SingleValueListAttributeType","StringAttributeType","ViewSharingRule","ViewAssignmentRule","JdbcDriverFile","JdbcDriver","JdbcIngestionProperties","CsvIngestionProperties","ExcelIngestionProperties","ConnectionStringParameter","AssignedCharacteristicType","Notification","Tag","ComplexRelationLegType","ComplexRelationAttributeType","ComplexRelationLeg","BaseDataType","AdvancedDataType","DiagramPicture","DiagramPictureSharingRule","DiagramPictureAssignmentRule","Rating","Classification","PhysicalDataConnector","Context"]},"resourceDiscriminator":{"type":"string","description":"The resource discriminator, which indicates the type of the referenced resource, e.g. \"Community\", \"Asset\", ... Check the documentation of the class using the resource reference for detailed documentation regarding the possible resource discriminator values."},"name":{"type":"string","description":"The name of the referenced resource."}},"description":"Represents reference to the resource, including its name."},"SymbolDataImpl":{"type":"object","properties":{"color":{"type":"string"},"symbolType":{"type":"string","enum":["NONE","ICON_CODE","ACRONYM_CODE"]},"iconCode":{"type":"string"},"acronymCode":{"type":"string"}},"description":"The symbol data of the trait."},"AppliedTraitImpl":{"required":["id","trait"],"type":"object","properties":{"id":{"type":"string","description":"The id of the represented object (entity).","format":"uuid"},"trait":{"$ref":"#/components/schemas/NamedResourceReferenceImpl"},"system":{"type":"boolean","description":"Whether the trait can be removed from the asset type. If true, the trait cannot be removed."}},"description":"The list of traits as they have been applied to the asset type."}}},"paths":{"/assignments/domain/{domainId}/assetTypes":{"get":{"tags":["Assignments"],"summary":"Returns available asset types for domain identified by given id.","description":"Returns available asset types for domain identified by given id.","operationId":"getAvailableAssetTypesForDomain","parameters":[{"name":"domainId","in":"path","description":"The unique identifier of the Domain.","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"AssetTypes found.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AssetTypeImpl"}}}}},"404":{"description":"Domain not found."}}}}}}
```

## Returns available attribute types for asset identified by given id.

> Returns available attribute types for asset identified by given id.

```json
{"openapi":"3.0.3","info":{"title":"Collibra Data Governance Center Core API","version":"2.0"},"servers":[{"url":"/rest/2.0","variables":{}}],"security":[{"basicAuth":[]},{"jwtAuth":[]},{"oauth2":[]}],"components":{"securitySchemes":{"basicAuth":{"type":"http","scheme":"basic"},"jwtAuth":{"type":"http","description":"Collibra REST API authentication using JSON Web Token.","scheme":"bearer","bearerFormat":"JWT"},"oauth2":{"type":"oauth2","description":"Collibra REST API authentication using OAuth 2.","flows":{"clientCredentials":{"tokenUrl":"/rest/oauth/v2/token","scopes":{"sys.admin":"System administration","kg.manage-all":"Manage all knowledge graph resources","kg.view-all":"View any knowledge graph resource","kg.manage-tags":"Manage tags","insights.download":"Download insights reporting zip files","wf.administration":"Workflow administration","wf.use-message-events":"Use workflow events"}}}}},"schemas":{"AttributeType":{"type":"object","properties":{"publicId":{"type":"string","description":"The public id of the attribute type."},"attributeTypeDiscriminator":{"type":"string","description":"the discriminator of this AttributeType, which indicates the type. The value can be one of : BooleanAttributeType, DateAttributeType, MultiValueListAttributeType, NumericAttributeType, ScriptAttributeType, SingleValueListAttributeType or StringAttributeType."},"description":{"type":"string","description":"The description of the resource."},"name":{"type":"string","description":"The name of the resource."},"system":{"type":"boolean","description":"Whether this is a system resource or not."},"resourceType":{"type":"string","description":"The type of the resource, e.g. [Community, Asset, Domain, Attribute, Relation, WorkflowInstance, ...].\nThis property is deprecated and will be removed in the future. In order to stay backwards compatible\nand to enable introduction of new types of resources, where necessary, a resource discriminator\nproperty (of type String) has been added to specific subtypes of Resource,\ne.g. assignedResourceDiscriminator on AssignedResource, or attributeDiscriminator on Attribute.\nFor new types of resource that didn't exist before this change, the resourceType will be\nBaseDataType.\n","deprecated":true,"enum":["View","Asset","Community","Domain","AssetType","DomainType","Status","User","ClassificationMatch","UserGroup","Attribute","StringAttribute","ScriptAttribute","BooleanAttribute","DateAttribute","NumericAttribute","SingleValueListAttribute","MultiValueListAttribute","Comment","Attachment","Responsibility","Workflow","Job","Relation","RelationType","ComplexRelation","ComplexRelationType","ArticulationRule","Assignment","Scope","RelationTrace","ValidationRule","DataQualityRule","DataQualityMetric","Address","InstantMessagingAccount","Email","PhoneNumber","Website","Activity","FormProperty","WorkflowTask","ActivityChange","WorkflowInstance","Role","AttributeType","BooleanAttributeType","DateAttributeType","DateTimeAttributeType","MultiValueListAttributeType","NumericAttributeType","ScriptAttributeType","SingleValueListAttributeType","StringAttributeType","ViewSharingRule","ViewAssignmentRule","JdbcDriverFile","JdbcDriver","JdbcIngestionProperties","CsvIngestionProperties","ExcelIngestionProperties","ConnectionStringParameter","AssignedCharacteristicType","Notification","Tag","ComplexRelationLegType","ComplexRelationAttributeType","ComplexRelationLeg","BaseDataType","AdvancedDataType","DiagramPicture","DiagramPictureSharingRule","DiagramPictureAssignmentRule","Rating","Classification","PhysicalDataConnector","Context"]},"createdBy":{"type":"string","description":"The id of the user that created this resource.","format":"uuid"},"lastModifiedBy":{"type":"string","description":"The id of the user who modified this resource the last time.","format":"uuid"},"createdOn":{"type":"integer","description":"The timestamp (in UTC time standard) of the creation of this resource.","format":"int64"},"lastModifiedOn":{"type":"integer","description":"The timestamp (in UTC time standard) of the last modification of this resource.","format":"int64"},"id":{"type":"string","description":"The id of the represented object (entity).","format":"uuid"}},"discriminator":{"propertyName":"resourceType","mapping":{"BooleanAttributeType":"#/components/schemas/BooleanAttributeType","DateAttributeType":"#/components/schemas/DateAttributeType","MultiValueListAttributeType":"#/components/schemas/MultiValueListAttributeType","NumericAttributeType":"#/components/schemas/NumericAttributeType","ScriptAttributeType":"#/components/schemas/ScriptAttributeType","SingleValueListAttributeType":"#/components/schemas/SingleValueListAttributeType","StringAttributeType":"#/components/schemas/StringAttributeType"}}}}},"paths":{"/assignments/asset/{assetId}/attributeTypes":{"get":{"tags":["Assignments"],"summary":"Returns available attribute types for asset identified by given id.","description":"Returns available attribute types for asset identified by given id.","operationId":"getAvailableAttributeTypesForAsset","parameters":[{"name":"assetId","in":"path","description":"The unique identifier of the Asset.","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"AttributeTypes found.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AttributeType"}}}}},"404":{"description":"Asset not found."}}}}}}
```

## Returns the available ComplexRelationTypes for the Asset identified by the given id.

> Returns the available ComplexRelationTypes for the Asset identified by the given id.

```json
{"openapi":"3.0.3","info":{"title":"Collibra Data Governance Center Core API","version":"2.0"},"servers":[{"url":"/rest/2.0","variables":{}}],"security":[{"basicAuth":[]},{"jwtAuth":[]},{"oauth2":[]}],"components":{"securitySchemes":{"basicAuth":{"type":"http","scheme":"basic"},"jwtAuth":{"type":"http","description":"Collibra REST API authentication using JSON Web Token.","scheme":"bearer","bearerFormat":"JWT"},"oauth2":{"type":"oauth2","description":"Collibra REST API authentication using OAuth 2.","flows":{"clientCredentials":{"tokenUrl":"/rest/oauth/v2/token","scopes":{"sys.admin":"System administration","kg.manage-all":"Manage all knowledge graph resources","kg.view-all":"View any knowledge graph resource","kg.manage-tags":"Manage tags","insights.download":"Download insights reporting zip files","wf.administration":"Workflow administration","wf.use-message-events":"Use workflow events"}}}}},"schemas":{"ComplexRelationTypeImpl":{"required":["id","resourceType"],"type":"object","properties":{"id":{"type":"string","description":"The id of the represented object (entity).","format":"uuid"},"createdBy":{"type":"string","description":"The id of the user that created this resource.","format":"uuid"},"createdOn":{"type":"integer","description":"The timestamp (in UTC time standard) of the creation of this resource.","format":"int64"},"lastModifiedBy":{"type":"string","description":"The id of the user who modified this resource the last time.","format":"uuid"},"lastModifiedOn":{"type":"integer","description":"The timestamp (in UTC time standard) of the last modification of this resource.","format":"int64"},"system":{"type":"boolean","description":"Whether this is a system resource or not."},"resourceType":{"type":"string","description":"The type of the resource, e.g. [Community, Asset, Domain, Attribute, Relation, WorkflowInstance, ...].\nThis property is deprecated and will be removed in the future. In order to stay backwards compatible\nand to enable introduction of new types of resources, where necessary, a resource discriminator\nproperty (of type String) has been added to specific subtypes of Resource,\ne.g. assignedResourceDiscriminator on AssignedResource, or attributeDiscriminator on Attribute.\nFor new types of resource that didn't exist before this change, the resourceType will be\nBaseDataType.\n","deprecated":true,"enum":["View","Asset","Community","Domain","AssetType","DomainType","Status","User","ClassificationMatch","UserGroup","Attribute","StringAttribute","ScriptAttribute","BooleanAttribute","DateAttribute","NumericAttribute","SingleValueListAttribute","MultiValueListAttribute","Comment","Attachment","Responsibility","Workflow","Job","Relation","RelationType","ComplexRelation","ComplexRelationType","ArticulationRule","Assignment","Scope","RelationTrace","ValidationRule","DataQualityRule","DataQualityMetric","Address","InstantMessagingAccount","Email","PhoneNumber","Website","Activity","FormProperty","WorkflowTask","ActivityChange","WorkflowInstance","Role","AttributeType","BooleanAttributeType","DateAttributeType","DateTimeAttributeType","MultiValueListAttributeType","NumericAttributeType","ScriptAttributeType","SingleValueListAttributeType","StringAttributeType","ViewSharingRule","ViewAssignmentRule","JdbcDriverFile","JdbcDriver","JdbcIngestionProperties","CsvIngestionProperties","ExcelIngestionProperties","ConnectionStringParameter","AssignedCharacteristicType","Notification","Tag","ComplexRelationLegType","ComplexRelationAttributeType","ComplexRelationLeg","BaseDataType","AdvancedDataType","DiagramPicture","DiagramPictureSharingRule","DiagramPictureAssignmentRule","Rating","Classification","PhysicalDataConnector","Context"]},"name":{"type":"string","description":"The name of the resource."},"description":{"type":"string","description":"The description of the resource."},"publicId":{"type":"string","description":"The public id of the complex relation type."},"symbolData":{"$ref":"#/components/schemas/SymbolDataImpl"},"attributeTypes":{"type":"array","items":{"$ref":"#/components/schemas/ComplexRelationAttributeTypeImpl"}},"legTypes":{"type":"array","items":{"$ref":"#/components/schemas/ComplexRelationLegTypeImpl"}}}},"SymbolDataImpl":{"type":"object","properties":{"color":{"type":"string"},"symbolType":{"type":"string","enum":["NONE","ICON_CODE","ACRONYM_CODE"]},"iconCode":{"type":"string"},"acronymCode":{"type":"string"}},"description":"The symbol data of the trait."},"ComplexRelationAttributeTypeImpl":{"required":["id","resourceType"],"type":"object","properties":{"id":{"type":"string","description":"The id of the represented object (entity).","format":"uuid"},"createdBy":{"type":"string","description":"The id of the user that created this resource.","format":"uuid"},"createdOn":{"type":"integer","description":"The timestamp (in UTC time standard) of the creation of this resource.","format":"int64"},"lastModifiedBy":{"type":"string","description":"The id of the user who modified this resource the last time.","format":"uuid"},"lastModifiedOn":{"type":"integer","description":"The timestamp (in UTC time standard) of the last modification of this resource.","format":"int64"},"system":{"type":"boolean","description":"Whether this is a system resource or not."},"resourceType":{"type":"string","description":"The type of the resource, e.g. [Community, Asset, Domain, Attribute, Relation, WorkflowInstance, ...].\nThis property is deprecated and will be removed in the future. In order to stay backwards compatible\nand to enable introduction of new types of resources, where necessary, a resource discriminator\nproperty (of type String) has been added to specific subtypes of Resource,\ne.g. assignedResourceDiscriminator on AssignedResource, or attributeDiscriminator on Attribute.\nFor new types of resource that didn't exist before this change, the resourceType will be\nBaseDataType.\n","deprecated":true,"enum":["View","Asset","Community","Domain","AssetType","DomainType","Status","User","ClassificationMatch","UserGroup","Attribute","StringAttribute","ScriptAttribute","BooleanAttribute","DateAttribute","NumericAttribute","SingleValueListAttribute","MultiValueListAttribute","Comment","Attachment","Responsibility","Workflow","Job","Relation","RelationType","ComplexRelation","ComplexRelationType","ArticulationRule","Assignment","Scope","RelationTrace","ValidationRule","DataQualityRule","DataQualityMetric","Address","InstantMessagingAccount","Email","PhoneNumber","Website","Activity","FormProperty","WorkflowTask","ActivityChange","WorkflowInstance","Role","AttributeType","BooleanAttributeType","DateAttributeType","DateTimeAttributeType","MultiValueListAttributeType","NumericAttributeType","ScriptAttributeType","SingleValueListAttributeType","StringAttributeType","ViewSharingRule","ViewAssignmentRule","JdbcDriverFile","JdbcDriver","JdbcIngestionProperties","CsvIngestionProperties","ExcelIngestionProperties","ConnectionStringParameter","AssignedCharacteristicType","Notification","Tag","ComplexRelationLegType","ComplexRelationAttributeType","ComplexRelationLeg","BaseDataType","AdvancedDataType","DiagramPicture","DiagramPictureSharingRule","DiagramPictureAssignmentRule","Rating","Classification","PhysicalDataConnector","Context"]},"minimumOccurrences":{"type":"integer","format":"int32"},"maximumOccurrences":{"type":"integer","format":"int32"},"readOnly":{"type":"boolean"},"attributeType":{"$ref":"#/components/schemas/AttributeType"}}},"AttributeType":{"type":"object","properties":{"publicId":{"type":"string","description":"The public id of the attribute type."},"attributeTypeDiscriminator":{"type":"string","description":"the discriminator of this AttributeType, which indicates the type. The value can be one of : BooleanAttributeType, DateAttributeType, MultiValueListAttributeType, NumericAttributeType, ScriptAttributeType, SingleValueListAttributeType or StringAttributeType."},"description":{"type":"string","description":"The description of the resource."},"name":{"type":"string","description":"The name of the resource."},"system":{"type":"boolean","description":"Whether this is a system resource or not."},"resourceType":{"type":"string","description":"The type of the resource, e.g. [Community, Asset, Domain, Attribute, Relation, WorkflowInstance, ...].\nThis property is deprecated and will be removed in the future. In order to stay backwards compatible\nand to enable introduction of new types of resources, where necessary, a resource discriminator\nproperty (of type String) has been added to specific subtypes of Resource,\ne.g. assignedResourceDiscriminator on AssignedResource, or attributeDiscriminator on Attribute.\nFor new types of resource that didn't exist before this change, the resourceType will be\nBaseDataType.\n","deprecated":true,"enum":["View","Asset","Community","Domain","AssetType","DomainType","Status","User","ClassificationMatch","UserGroup","Attribute","StringAttribute","ScriptAttribute","BooleanAttribute","DateAttribute","NumericAttribute","SingleValueListAttribute","MultiValueListAttribute","Comment","Attachment","Responsibility","Workflow","Job","Relation","RelationType","ComplexRelation","ComplexRelationType","ArticulationRule","Assignment","Scope","RelationTrace","ValidationRule","DataQualityRule","DataQualityMetric","Address","InstantMessagingAccount","Email","PhoneNumber","Website","Activity","FormProperty","WorkflowTask","ActivityChange","WorkflowInstance","Role","AttributeType","BooleanAttributeType","DateAttributeType","DateTimeAttributeType","MultiValueListAttributeType","NumericAttributeType","ScriptAttributeType","SingleValueListAttributeType","StringAttributeType","ViewSharingRule","ViewAssignmentRule","JdbcDriverFile","JdbcDriver","JdbcIngestionProperties","CsvIngestionProperties","ExcelIngestionProperties","ConnectionStringParameter","AssignedCharacteristicType","Notification","Tag","ComplexRelationLegType","ComplexRelationAttributeType","ComplexRelationLeg","BaseDataType","AdvancedDataType","DiagramPicture","DiagramPictureSharingRule","DiagramPictureAssignmentRule","Rating","Classification","PhysicalDataConnector","Context"]},"createdBy":{"type":"string","description":"The id of the user that created this resource.","format":"uuid"},"lastModifiedBy":{"type":"string","description":"The id of the user who modified this resource the last time.","format":"uuid"},"createdOn":{"type":"integer","description":"The timestamp (in UTC time standard) of the creation of this resource.","format":"int64"},"lastModifiedOn":{"type":"integer","description":"The timestamp (in UTC time standard) of the last modification of this resource.","format":"int64"},"id":{"type":"string","description":"The id of the represented object (entity).","format":"uuid"}},"discriminator":{"propertyName":"resourceType","mapping":{"BooleanAttributeType":"#/components/schemas/BooleanAttributeType","DateAttributeType":"#/components/schemas/DateAttributeType","MultiValueListAttributeType":"#/components/schemas/MultiValueListAttributeType","NumericAttributeType":"#/components/schemas/NumericAttributeType","ScriptAttributeType":"#/components/schemas/ScriptAttributeType","SingleValueListAttributeType":"#/components/schemas/SingleValueListAttributeType","StringAttributeType":"#/components/schemas/StringAttributeType"}}},"ComplexRelationLegTypeImpl":{"required":["id","resourceType"],"type":"object","properties":{"id":{"type":"string","description":"The id of the represented object (entity).","format":"uuid"},"createdBy":{"type":"string","description":"The id of the user that created this resource.","format":"uuid"},"createdOn":{"type":"integer","description":"The timestamp (in UTC time standard) of the creation of this resource.","format":"int64"},"lastModifiedBy":{"type":"string","description":"The id of the user who modified this resource the last time.","format":"uuid"},"lastModifiedOn":{"type":"integer","description":"The timestamp (in UTC time standard) of the last modification of this resource.","format":"int64"},"system":{"type":"boolean","description":"Whether this is a system resource or not."},"resourceType":{"type":"string","description":"The type of the resource, e.g. [Community, Asset, Domain, Attribute, Relation, WorkflowInstance, ...].\nThis property is deprecated and will be removed in the future. In order to stay backwards compatible\nand to enable introduction of new types of resources, where necessary, a resource discriminator\nproperty (of type String) has been added to specific subtypes of Resource,\ne.g. assignedResourceDiscriminator on AssignedResource, or attributeDiscriminator on Attribute.\nFor new types of resource that didn't exist before this change, the resourceType will be\nBaseDataType.\n","deprecated":true,"enum":["View","Asset","Community","Domain","AssetType","DomainType","Status","User","ClassificationMatch","UserGroup","Attribute","StringAttribute","ScriptAttribute","BooleanAttribute","DateAttribute","NumericAttribute","SingleValueListAttribute","MultiValueListAttribute","Comment","Attachment","Responsibility","Workflow","Job","Relation","RelationType","ComplexRelation","ComplexRelationType","ArticulationRule","Assignment","Scope","RelationTrace","ValidationRule","DataQualityRule","DataQualityMetric","Address","InstantMessagingAccount","Email","PhoneNumber","Website","Activity","FormProperty","WorkflowTask","ActivityChange","WorkflowInstance","Role","AttributeType","BooleanAttributeType","DateAttributeType","DateTimeAttributeType","MultiValueListAttributeType","NumericAttributeType","ScriptAttributeType","SingleValueListAttributeType","StringAttributeType","ViewSharingRule","ViewAssignmentRule","JdbcDriverFile","JdbcDriver","JdbcIngestionProperties","CsvIngestionProperties","ExcelIngestionProperties","ConnectionStringParameter","AssignedCharacteristicType","Notification","Tag","ComplexRelationLegType","ComplexRelationAttributeType","ComplexRelationLeg","BaseDataType","AdvancedDataType","DiagramPicture","DiagramPictureSharingRule","DiagramPictureAssignmentRule","Rating","Classification","PhysicalDataConnector","Context"]},"minimumOccurrences":{"type":"integer","format":"int32"},"maximumOccurrences":{"type":"integer","format":"int32"},"assetType":{"$ref":"#/components/schemas/NamedResourceReferenceImpl"},"role":{"type":"string"},"coRole":{"type":"string"},"relationTypeId":{"type":"string","format":"uuid"},"relationTypePublicId":{"type":"string"}}},"NamedResourceReferenceImpl":{"required":["id","resourceType"],"type":"object","properties":{"id":{"type":"string","description":"The id of the referenced resource.","format":"uuid"},"resourceType":{"type":"string","description":"The type of the resource, e.g. [Community, Asset, Domain, Attribute, Relation, WorkflowInstance, ...]. This property is deprecated and will be removed in the future. In order to stay backwards compatible and to enable us to introduce new types of resources, we are replacing the ResourceType enum with a String. For new types of resources that didn't exist before this change, resourceType will be BaseDataType. Please use the resourceDiscriminator property instead. Refer to the object containing the ResourceReference for possible values.","deprecated":true,"enum":["View","Asset","Community","Domain","AssetType","DomainType","Status","User","ClassificationMatch","UserGroup","Attribute","StringAttribute","ScriptAttribute","BooleanAttribute","DateAttribute","NumericAttribute","SingleValueListAttribute","MultiValueListAttribute","Comment","Attachment","Responsibility","Workflow","Job","Relation","RelationType","ComplexRelation","ComplexRelationType","ArticulationRule","Assignment","Scope","RelationTrace","ValidationRule","DataQualityRule","DataQualityMetric","Address","InstantMessagingAccount","Email","PhoneNumber","Website","Activity","FormProperty","WorkflowTask","ActivityChange","WorkflowInstance","Role","AttributeType","BooleanAttributeType","DateAttributeType","DateTimeAttributeType","MultiValueListAttributeType","NumericAttributeType","ScriptAttributeType","SingleValueListAttributeType","StringAttributeType","ViewSharingRule","ViewAssignmentRule","JdbcDriverFile","JdbcDriver","JdbcIngestionProperties","CsvIngestionProperties","ExcelIngestionProperties","ConnectionStringParameter","AssignedCharacteristicType","Notification","Tag","ComplexRelationLegType","ComplexRelationAttributeType","ComplexRelationLeg","BaseDataType","AdvancedDataType","DiagramPicture","DiagramPictureSharingRule","DiagramPictureAssignmentRule","Rating","Classification","PhysicalDataConnector","Context"]},"resourceDiscriminator":{"type":"string","description":"The resource discriminator, which indicates the type of the referenced resource, e.g. \"Community\", \"Asset\", ... Check the documentation of the class using the resource reference for detailed documentation regarding the possible resource discriminator values."},"name":{"type":"string","description":"The name of the referenced resource."}},"description":"Represents reference to the resource, including its name."}}},"paths":{"/assignments/asset/{assetId}/complexRelationTypes":{"get":{"tags":["Assignments"],"summary":"Returns the available ComplexRelationTypes for the Asset identified by the given id.","description":"Returns the available ComplexRelationTypes for the Asset identified by the given id.","operationId":"getAvailableComplexRelationTypesForAsset","parameters":[{"name":"assetId","in":"path","description":"The unique identifier of the Asset.","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"ComplexRelationTypes found.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ComplexRelationTypeImpl"}}}}},"404":{"description":"Asset not found."}}}}}}
```

## Returns the available RelationTypes for the Asset identified by the given id.

> Returns the available RelationTypes for the Asset identified by the given id.

```json
{"openapi":"3.0.3","info":{"title":"Collibra Data Governance Center Core API","version":"2.0"},"servers":[{"url":"/rest/2.0","variables":{}}],"security":[{"basicAuth":[]},{"jwtAuth":[]},{"oauth2":[]}],"components":{"securitySchemes":{"basicAuth":{"type":"http","scheme":"basic"},"jwtAuth":{"type":"http","description":"Collibra REST API authentication using JSON Web Token.","scheme":"bearer","bearerFormat":"JWT"},"oauth2":{"type":"oauth2","description":"Collibra REST API authentication using OAuth 2.","flows":{"clientCredentials":{"tokenUrl":"/rest/oauth/v2/token","scopes":{"sys.admin":"System administration","kg.manage-all":"Manage all knowledge graph resources","kg.view-all":"View any knowledge graph resource","kg.manage-tags":"Manage tags","insights.download":"Download insights reporting zip files","wf.administration":"Workflow administration","wf.use-message-events":"Use workflow events"}}}}},"schemas":{"RelationTypeImpl":{"required":["id","resourceType"],"type":"object","properties":{"id":{"type":"string","description":"The id of the represented object (entity).","format":"uuid"},"createdBy":{"type":"string","description":"The id of the user that created this resource.","format":"uuid"},"createdOn":{"type":"integer","description":"The timestamp (in UTC time standard) of the creation of this resource.","format":"int64"},"lastModifiedBy":{"type":"string","description":"The id of the user who modified this resource the last time.","format":"uuid"},"lastModifiedOn":{"type":"integer","description":"The timestamp (in UTC time standard) of the last modification of this resource.","format":"int64"},"system":{"type":"boolean","description":"Whether this is a system resource or not."},"resourceType":{"type":"string","description":"The type of the resource, e.g. [Community, Asset, Domain, Attribute, Relation, WorkflowInstance, ...].\nThis property is deprecated and will be removed in the future. In order to stay backwards compatible\nand to enable introduction of new types of resources, where necessary, a resource discriminator\nproperty (of type String) has been added to specific subtypes of Resource,\ne.g. assignedResourceDiscriminator on AssignedResource, or attributeDiscriminator on Attribute.\nFor new types of resource that didn't exist before this change, the resourceType will be\nBaseDataType.\n","deprecated":true,"enum":["View","Asset","Community","Domain","AssetType","DomainType","Status","User","ClassificationMatch","UserGroup","Attribute","StringAttribute","ScriptAttribute","BooleanAttribute","DateAttribute","NumericAttribute","SingleValueListAttribute","MultiValueListAttribute","Comment","Attachment","Responsibility","Workflow","Job","Relation","RelationType","ComplexRelation","ComplexRelationType","ArticulationRule","Assignment","Scope","RelationTrace","ValidationRule","DataQualityRule","DataQualityMetric","Address","InstantMessagingAccount","Email","PhoneNumber","Website","Activity","FormProperty","WorkflowTask","ActivityChange","WorkflowInstance","Role","AttributeType","BooleanAttributeType","DateAttributeType","DateTimeAttributeType","MultiValueListAttributeType","NumericAttributeType","ScriptAttributeType","SingleValueListAttributeType","StringAttributeType","ViewSharingRule","ViewAssignmentRule","JdbcDriverFile","JdbcDriver","JdbcIngestionProperties","CsvIngestionProperties","ExcelIngestionProperties","ConnectionStringParameter","AssignedCharacteristicType","Notification","Tag","ComplexRelationLegType","ComplexRelationAttributeType","ComplexRelationLeg","BaseDataType","AdvancedDataType","DiagramPicture","DiagramPictureSharingRule","DiagramPictureAssignmentRule","Rating","Classification","PhysicalDataConnector","Context"]},"publicId":{"type":"string","description":"The public id of the relation type."},"sourceType":{"$ref":"#/components/schemas/MetaNamedResourceReferenceImpl"},"targetType":{"$ref":"#/components/schemas/MetaNamedResourceReferenceImpl"},"role":{"type":"string","description":"The name of the role that source plays in the relation."},"coRole":{"type":"string","description":"The name of the role that target plays in the relation."},"description":{"type":"string","description":"The description of the relation type."}}},"MetaNamedResourceReferenceImpl":{"required":["id","resourceType"],"type":"object","properties":{"id":{"type":"string","description":"The id of the referenced resource.","format":"uuid"},"resourceType":{"type":"string","description":"The type of the resource, e.g. [Community, Asset, Domain, Attribute, Relation, WorkflowInstance, ...]. This property is deprecated and will be removed in the future. In order to stay backwards compatible and to enable us to introduce new types of resources, we are replacing the ResourceType enum with a String. For new types of resources that didn't exist before this change, resourceType will be BaseDataType. Please use the resourceDiscriminator property instead. Refer to the object containing the ResourceReference for possible values.","deprecated":true,"enum":["View","Asset","Community","Domain","AssetType","DomainType","Status","User","ClassificationMatch","UserGroup","Attribute","StringAttribute","ScriptAttribute","BooleanAttribute","DateAttribute","NumericAttribute","SingleValueListAttribute","MultiValueListAttribute","Comment","Attachment","Responsibility","Workflow","Job","Relation","RelationType","ComplexRelation","ComplexRelationType","ArticulationRule","Assignment","Scope","RelationTrace","ValidationRule","DataQualityRule","DataQualityMetric","Address","InstantMessagingAccount","Email","PhoneNumber","Website","Activity","FormProperty","WorkflowTask","ActivityChange","WorkflowInstance","Role","AttributeType","BooleanAttributeType","DateAttributeType","DateTimeAttributeType","MultiValueListAttributeType","NumericAttributeType","ScriptAttributeType","SingleValueListAttributeType","StringAttributeType","ViewSharingRule","ViewAssignmentRule","JdbcDriverFile","JdbcDriver","JdbcIngestionProperties","CsvIngestionProperties","ExcelIngestionProperties","ConnectionStringParameter","AssignedCharacteristicType","Notification","Tag","ComplexRelationLegType","ComplexRelationAttributeType","ComplexRelationLeg","BaseDataType","AdvancedDataType","DiagramPicture","DiagramPictureSharingRule","DiagramPictureAssignmentRule","Rating","Classification","PhysicalDataConnector","Context"]},"resourceDiscriminator":{"type":"string","description":"The resource discriminator, which indicates the type of the referenced resource, e.g. \"Community\", \"Asset\", ... Check the documentation of the class using the resource reference for detailed documentation regarding the possible resource discriminator values."},"name":{"type":"string","description":"The name of the referenced resource."},"publicId":{"type":"string"}},"description":"    The reference to the target type of the relation. The reference can only have a\n    resourceDiscriminator of value 'AssetType', 'ComplexRelationType' or 'Trait'.\n"}}},"paths":{"/assignments/asset/{assetId}/relationTypes":{"get":{"tags":["Assignments"],"summary":"Returns the available RelationTypes for the Asset identified by the given id.","description":"Returns the available RelationTypes for the Asset identified by the given id.","operationId":"getAvailableRelationTypesForAsset","parameters":[{"name":"assetId","in":"path","description":"The unique identifier of the Asset.","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"RelationTypes found.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/RelationTypeImpl"}}}}},"404":{"description":"Asset not found."}}}}}}
```


# Scopes

## Find scopes

> Returns all scopes.

```json
{"openapi":"3.0.3","info":{"title":"Collibra Data Governance Center Core API","version":"2.0"},"servers":[{"url":"/rest/2.0","variables":{}}],"security":[{"basicAuth":[]},{"jwtAuth":[]},{"oauth2":[]}],"components":{"securitySchemes":{"basicAuth":{"type":"http","scheme":"basic"},"jwtAuth":{"type":"http","description":"Collibra REST API authentication using JSON Web Token.","scheme":"bearer","bearerFormat":"JWT"},"oauth2":{"type":"oauth2","description":"Collibra REST API authentication using OAuth 2.","flows":{"clientCredentials":{"tokenUrl":"/rest/oauth/v2/token","scopes":{"sys.admin":"System administration","kg.manage-all":"Manage all knowledge graph resources","kg.view-all":"View any knowledge graph resource","kg.manage-tags":"Manage tags","insights.download":"Download insights reporting zip files","wf.administration":"Workflow administration","wf.use-message-events":"Use workflow events"}}}}},"schemas":{"ScopePagedResponse":{"type":"object","properties":{"total":{"type":"integer","description":"The total number of results.","format":"int64"},"offset":{"type":"integer","description":"The offset for the results.","format":"int64"},"limit":{"type":"integer","description":"The maximum number of results to be returned.","format":"int64"},"results":{"type":"array","description":"The list of results.","items":{"$ref":"#/components/schemas/ScopeImpl"}}}},"ScopeImpl":{"required":["id","resourceType"],"type":"object","properties":{"id":{"type":"string","description":"The id of the represented object (entity).","format":"uuid"},"createdBy":{"type":"string","description":"The id of the user that created this resource.","format":"uuid"},"createdOn":{"type":"integer","description":"The timestamp (in UTC time standard) of the creation of this resource.","format":"int64"},"lastModifiedBy":{"type":"string","description":"The id of the user who modified this resource the last time.","format":"uuid"},"lastModifiedOn":{"type":"integer","description":"The timestamp (in UTC time standard) of the last modification of this resource.","format":"int64"},"system":{"type":"boolean","description":"Whether this is a system resource or not."},"resourceType":{"type":"string","description":"The type of the resource, e.g. [Community, Asset, Domain, Attribute, Relation, WorkflowInstance, ...].\nThis property is deprecated and will be removed in the future. In order to stay backwards compatible\nand to enable introduction of new types of resources, where necessary, a resource discriminator\nproperty (of type String) has been added to specific subtypes of Resource,\ne.g. assignedResourceDiscriminator on AssignedResource, or attributeDiscriminator on Attribute.\nFor new types of resource that didn't exist before this change, the resourceType will be\nBaseDataType.\n","deprecated":true,"enum":["View","Asset","Community","Domain","AssetType","DomainType","Status","User","ClassificationMatch","UserGroup","Attribute","StringAttribute","ScriptAttribute","BooleanAttribute","DateAttribute","NumericAttribute","SingleValueListAttribute","MultiValueListAttribute","Comment","Attachment","Responsibility","Workflow","Job","Relation","RelationType","ComplexRelation","ComplexRelationType","ArticulationRule","Assignment","Scope","RelationTrace","ValidationRule","DataQualityRule","DataQualityMetric","Address","InstantMessagingAccount","Email","PhoneNumber","Website","Activity","FormProperty","WorkflowTask","ActivityChange","WorkflowInstance","Role","AttributeType","BooleanAttributeType","DateAttributeType","DateTimeAttributeType","MultiValueListAttributeType","NumericAttributeType","ScriptAttributeType","SingleValueListAttributeType","StringAttributeType","ViewSharingRule","ViewAssignmentRule","JdbcDriverFile","JdbcDriver","JdbcIngestionProperties","CsvIngestionProperties","ExcelIngestionProperties","ConnectionStringParameter","AssignedCharacteristicType","Notification","Tag","ComplexRelationLegType","ComplexRelationAttributeType","ComplexRelationLeg","BaseDataType","AdvancedDataType","DiagramPicture","DiagramPictureSharingRule","DiagramPictureAssignmentRule","Rating","Classification","PhysicalDataConnector","Context"]},"name":{"type":"string","description":"The name of the resource."},"description":{"type":"string","description":"The description of the resource."},"publicId":{"type":"string","description":"The public id of the scope."},"domains":{"type":"array","description":"The list of domains that are included in this scope.","items":{"$ref":"#/components/schemas/NamedResourceReferenceImpl"}},"communities":{"type":"array","description":"The list of communities that are included in this scope.","items":{"$ref":"#/components/schemas/NamedResourceReferenceImpl"}}}},"NamedResourceReferenceImpl":{"required":["id","resourceType"],"type":"object","properties":{"id":{"type":"string","description":"The id of the referenced resource.","format":"uuid"},"resourceType":{"type":"string","description":"The type of the resource, e.g. [Community, Asset, Domain, Attribute, Relation, WorkflowInstance, ...]. This property is deprecated and will be removed in the future. In order to stay backwards compatible and to enable us to introduce new types of resources, we are replacing the ResourceType enum with a String. For new types of resources that didn't exist before this change, resourceType will be BaseDataType. Please use the resourceDiscriminator property instead. Refer to the object containing the ResourceReference for possible values.","deprecated":true,"enum":["View","Asset","Community","Domain","AssetType","DomainType","Status","User","ClassificationMatch","UserGroup","Attribute","StringAttribute","ScriptAttribute","BooleanAttribute","DateAttribute","NumericAttribute","SingleValueListAttribute","MultiValueListAttribute","Comment","Attachment","Responsibility","Workflow","Job","Relation","RelationType","ComplexRelation","ComplexRelationType","ArticulationRule","Assignment","Scope","RelationTrace","ValidationRule","DataQualityRule","DataQualityMetric","Address","InstantMessagingAccount","Email","PhoneNumber","Website","Activity","FormProperty","WorkflowTask","ActivityChange","WorkflowInstance","Role","AttributeType","BooleanAttributeType","DateAttributeType","DateTimeAttributeType","MultiValueListAttributeType","NumericAttributeType","ScriptAttributeType","SingleValueListAttributeType","StringAttributeType","ViewSharingRule","ViewAssignmentRule","JdbcDriverFile","JdbcDriver","JdbcIngestionProperties","CsvIngestionProperties","ExcelIngestionProperties","ConnectionStringParameter","AssignedCharacteristicType","Notification","Tag","ComplexRelationLegType","ComplexRelationAttributeType","ComplexRelationLeg","BaseDataType","AdvancedDataType","DiagramPicture","DiagramPictureSharingRule","DiagramPictureAssignmentRule","Rating","Classification","PhysicalDataConnector","Context"]},"resourceDiscriminator":{"type":"string","description":"The resource discriminator, which indicates the type of the referenced resource, e.g. \"Community\", \"Asset\", ... Check the documentation of the class using the resource reference for detailed documentation regarding the possible resource discriminator values."},"name":{"type":"string","description":"The name of the referenced resource."}},"description":"Represents reference to the resource, including its name."}}},"paths":{"/scopes":{"get":{"tags":["Scopes"],"summary":"Find scopes","description":"Returns all scopes.","operationId":"getAllScopes","responses":{"200":{"description":"The found scopes","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScopePagedResponse"}}}}}}}}}
```

## Add scope

> Adds a new scope.

```json
{"openapi":"3.0.3","info":{"title":"Collibra Data Governance Center Core API","version":"2.0"},"servers":[{"url":"/rest/2.0","variables":{}}],"security":[{"basicAuth":[]},{"jwtAuth":[]},{"oauth2":["sys.admin"]}],"components":{"securitySchemes":{"basicAuth":{"type":"http","scheme":"basic"},"jwtAuth":{"type":"http","description":"Collibra REST API authentication using JSON Web Token.","scheme":"bearer","bearerFormat":"JWT"},"oauth2":{"type":"oauth2","description":"Collibra REST API authentication using OAuth 2.","flows":{"clientCredentials":{"tokenUrl":"/rest/oauth/v2/token","scopes":{"sys.admin":"System administration","kg.manage-all":"Manage all knowledge graph resources","kg.view-all":"View any knowledge graph resource","kg.manage-tags":"Manage tags","insights.download":"Download insights reporting zip files","wf.administration":"Workflow administration","wf.use-message-events":"Use workflow events"}}}}},"schemas":{"AddScopeRequest":{"required":["name"],"type":"object","properties":{"id":{"type":"string","description":"The ID of the new scope. Should be unique within all scopes.<br/>It should have a format of universally unique identifier (UUID) and should not start with<br/><code>00000000-0000-0000-</code> which is a reserved prefix.","format":"uuid"},"publicId":{"maxLength":260,"minLength":1,"type":"string","description":"The public id that will be assigned to the new Scope. It must be unique within all Asset Types, Complex Relation Types, Domain Types and Scopes. It should contain only ASCII letters and digits. It must start with an uppercase ASCII character. It must end with \"_C\". If no public id is provided, a valid public id will be generated."},"name":{"maxLength":255,"minLength":1,"type":"string","description":"The name of the new scope"},"description":{"maxLength":255,"minLength":0,"type":"string","description":"The description of the new scope"},"domainIds":{"type":"array","description":"The list of IDs for domains assigned to the new scope","items":{"type":"string","description":"The list of IDs for domains assigned to the new scope","format":"uuid"}},"communityIds":{"type":"array","description":"The list of IDs for communities assigned to the new scope","items":{"type":"string","description":"The list of IDs for communities assigned to the new scope","format":"uuid"}}}},"ScopeImpl":{"required":["id","resourceType"],"type":"object","properties":{"id":{"type":"string","description":"The id of the represented object (entity).","format":"uuid"},"createdBy":{"type":"string","description":"The id of the user that created this resource.","format":"uuid"},"createdOn":{"type":"integer","description":"The timestamp (in UTC time standard) of the creation of this resource.","format":"int64"},"lastModifiedBy":{"type":"string","description":"The id of the user who modified this resource the last time.","format":"uuid"},"lastModifiedOn":{"type":"integer","description":"The timestamp (in UTC time standard) of the last modification of this resource.","format":"int64"},"system":{"type":"boolean","description":"Whether this is a system resource or not."},"resourceType":{"type":"string","description":"The type of the resource, e.g. [Community, Asset, Domain, Attribute, Relation, WorkflowInstance, ...].\nThis property is deprecated and will be removed in the future. In order to stay backwards compatible\nand to enable introduction of new types of resources, where necessary, a resource discriminator\nproperty (of type String) has been added to specific subtypes of Resource,\ne.g. assignedResourceDiscriminator on AssignedResource, or attributeDiscriminator on Attribute.\nFor new types of resource that didn't exist before this change, the resourceType will be\nBaseDataType.\n","deprecated":true,"enum":["View","Asset","Community","Domain","AssetType","DomainType","Status","User","ClassificationMatch","UserGroup","Attribute","StringAttribute","ScriptAttribute","BooleanAttribute","DateAttribute","NumericAttribute","SingleValueListAttribute","MultiValueListAttribute","Comment","Attachment","Responsibility","Workflow","Job","Relation","RelationType","ComplexRelation","ComplexRelationType","ArticulationRule","Assignment","Scope","RelationTrace","ValidationRule","DataQualityRule","DataQualityMetric","Address","InstantMessagingAccount","Email","PhoneNumber","Website","Activity","FormProperty","WorkflowTask","ActivityChange","WorkflowInstance","Role","AttributeType","BooleanAttributeType","DateAttributeType","DateTimeAttributeType","MultiValueListAttributeType","NumericAttributeType","ScriptAttributeType","SingleValueListAttributeType","StringAttributeType","ViewSharingRule","ViewAssignmentRule","JdbcDriverFile","JdbcDriver","JdbcIngestionProperties","CsvIngestionProperties","ExcelIngestionProperties","ConnectionStringParameter","AssignedCharacteristicType","Notification","Tag","ComplexRelationLegType","ComplexRelationAttributeType","ComplexRelationLeg","BaseDataType","AdvancedDataType","DiagramPicture","DiagramPictureSharingRule","DiagramPictureAssignmentRule","Rating","Classification","PhysicalDataConnector","Context"]},"name":{"type":"string","description":"The name of the resource."},"description":{"type":"string","description":"The description of the resource."},"publicId":{"type":"string","description":"The public id of the scope."},"domains":{"type":"array","description":"The list of domains that are included in this scope.","items":{"$ref":"#/components/schemas/NamedResourceReferenceImpl"}},"communities":{"type":"array","description":"The list of communities that are included in this scope.","items":{"$ref":"#/components/schemas/NamedResourceReferenceImpl"}}}},"NamedResourceReferenceImpl":{"required":["id","resourceType"],"type":"object","properties":{"id":{"type":"string","description":"The id of the referenced resource.","format":"uuid"},"resourceType":{"type":"string","description":"The type of the resource, e.g. [Community, Asset, Domain, Attribute, Relation, WorkflowInstance, ...]. This property is deprecated and will be removed in the future. In order to stay backwards compatible and to enable us to introduce new types of resources, we are replacing the ResourceType enum with a String. For new types of resources that didn't exist before this change, resourceType will be BaseDataType. Please use the resourceDiscriminator property instead. Refer to the object containing the ResourceReference for possible values.","deprecated":true,"enum":["View","Asset","Community","Domain","AssetType","DomainType","Status","User","ClassificationMatch","UserGroup","Attribute","StringAttribute","ScriptAttribute","BooleanAttribute","DateAttribute","NumericAttribute","SingleValueListAttribute","MultiValueListAttribute","Comment","Attachment","Responsibility","Workflow","Job","Relation","RelationType","ComplexRelation","ComplexRelationType","ArticulationRule","Assignment","Scope","RelationTrace","ValidationRule","DataQualityRule","DataQualityMetric","Address","InstantMessagingAccount","Email","PhoneNumber","Website","Activity","FormProperty","WorkflowTask","ActivityChange","WorkflowInstance","Role","AttributeType","BooleanAttributeType","DateAttributeType","DateTimeAttributeType","MultiValueListAttributeType","NumericAttributeType","ScriptAttributeType","SingleValueListAttributeType","StringAttributeType","ViewSharingRule","ViewAssignmentRule","JdbcDriverFile","JdbcDriver","JdbcIngestionProperties","CsvIngestionProperties","ExcelIngestionProperties","ConnectionStringParameter","AssignedCharacteristicType","Notification","Tag","ComplexRelationLegType","ComplexRelationAttributeType","ComplexRelationLeg","BaseDataType","AdvancedDataType","DiagramPicture","DiagramPictureSharingRule","DiagramPictureAssignmentRule","Rating","Classification","PhysicalDataConnector","Context"]},"resourceDiscriminator":{"type":"string","description":"The resource discriminator, which indicates the type of the referenced resource, e.g. \"Community\", \"Asset\", ... Check the documentation of the class using the resource reference for detailed documentation regarding the possible resource discriminator values."},"name":{"type":"string","description":"The name of the referenced resource."}},"description":"Represents reference to the resource, including its name."}}},"paths":{"/scopes":{"post":{"tags":["Scopes"],"summary":"Add scope","description":"Adds a new scope.","operationId":"addScope","requestBody":{"description":"the properties of the scope to be added","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddScopeRequest"}}}},"responses":{"201":{"description":"Scope successfully added.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScopeImpl"}}}},"400":{"description":"A scope with the given ID already exists"}}}}}}
```

## Get scope

> Returns scope identified by given id.

```json
{"openapi":"3.0.3","info":{"title":"Collibra Data Governance Center Core API","version":"2.0"},"servers":[{"url":"/rest/2.0","variables":{}}],"security":[{"basicAuth":[]},{"jwtAuth":[]},{"oauth2":[]}],"components":{"securitySchemes":{"basicAuth":{"type":"http","scheme":"basic"},"jwtAuth":{"type":"http","description":"Collibra REST API authentication using JSON Web Token.","scheme":"bearer","bearerFormat":"JWT"},"oauth2":{"type":"oauth2","description":"Collibra REST API authentication using OAuth 2.","flows":{"clientCredentials":{"tokenUrl":"/rest/oauth/v2/token","scopes":{"sys.admin":"System administration","kg.manage-all":"Manage all knowledge graph resources","kg.view-all":"View any knowledge graph resource","kg.manage-tags":"Manage tags","insights.download":"Download insights reporting zip files","wf.administration":"Workflow administration","wf.use-message-events":"Use workflow events"}}}}},"schemas":{"ScopeImpl":{"required":["id","resourceType"],"type":"object","properties":{"id":{"type":"string","description":"The id of the represented object (entity).","format":"uuid"},"createdBy":{"type":"string","description":"The id of the user that created this resource.","format":"uuid"},"createdOn":{"type":"integer","description":"The timestamp (in UTC time standard) of the creation of this resource.","format":"int64"},"lastModifiedBy":{"type":"string","description":"The id of the user who modified this resource the last time.","format":"uuid"},"lastModifiedOn":{"type":"integer","description":"The timestamp (in UTC time standard) of the last modification of this resource.","format":"int64"},"system":{"type":"boolean","description":"Whether this is a system resource or not."},"resourceType":{"type":"string","description":"The type of the resource, e.g. [Community, Asset, Domain, Attribute, Relation, WorkflowInstance, ...].\nThis property is deprecated and will be removed in the future. In order to stay backwards compatible\nand to enable introduction of new types of resources, where necessary, a resource discriminator\nproperty (of type String) has been added to specific subtypes of Resource,\ne.g. assignedResourceDiscriminator on AssignedResource, or attributeDiscriminator on Attribute.\nFor new types of resource that didn't exist before this change, the resourceType will be\nBaseDataType.\n","deprecated":true,"enum":["View","Asset","Community","Domain","AssetType","DomainType","Status","User","ClassificationMatch","UserGroup","Attribute","StringAttribute","ScriptAttribute","BooleanAttribute","DateAttribute","NumericAttribute","SingleValueListAttribute","MultiValueListAttribute","Comment","Attachment","Responsibility","Workflow","Job","Relation","RelationType","ComplexRelation","ComplexRelationType","ArticulationRule","Assignment","Scope","RelationTrace","ValidationRule","DataQualityRule","DataQualityMetric","Address","InstantMessagingAccount","Email","PhoneNumber","Website","Activity","FormProperty","WorkflowTask","ActivityChange","WorkflowInstance","Role","AttributeType","BooleanAttributeType","DateAttributeType","DateTimeAttributeType","MultiValueListAttributeType","NumericAttributeType","ScriptAttributeType","SingleValueListAttributeType","StringAttributeType","ViewSharingRule","ViewAssignmentRule","JdbcDriverFile","JdbcDriver","JdbcIngestionProperties","CsvIngestionProperties","ExcelIngestionProperties","ConnectionStringParameter","AssignedCharacteristicType","Notification","Tag","ComplexRelationLegType","ComplexRelationAttributeType","ComplexRelationLeg","BaseDataType","AdvancedDataType","DiagramPicture","DiagramPictureSharingRule","DiagramPictureAssignmentRule","Rating","Classification","PhysicalDataConnector","Context"]},"name":{"type":"string","description":"The name of the resource."},"description":{"type":"string","description":"The description of the resource."},"publicId":{"type":"string","description":"The public id of the scope."},"domains":{"type":"array","description":"The list of domains that are included in this scope.","items":{"$ref":"#/components/schemas/NamedResourceReferenceImpl"}},"communities":{"type":"array","description":"The list of communities that are included in this scope.","items":{"$ref":"#/components/schemas/NamedResourceReferenceImpl"}}}},"NamedResourceReferenceImpl":{"required":["id","resourceType"],"type":"object","properties":{"id":{"type":"string","description":"The id of the referenced resource.","format":"uuid"},"resourceType":{"type":"string","description":"The type of the resource, e.g. [Community, Asset, Domain, Attribute, Relation, WorkflowInstance, ...]. This property is deprecated and will be removed in the future. In order to stay backwards compatible and to enable us to introduce new types of resources, we are replacing the ResourceType enum with a String. For new types of resources that didn't exist before this change, resourceType will be BaseDataType. Please use the resourceDiscriminator property instead. Refer to the object containing the ResourceReference for possible values.","deprecated":true,"enum":["View","Asset","Community","Domain","AssetType","DomainType","Status","User","ClassificationMatch","UserGroup","Attribute","StringAttribute","ScriptAttribute","BooleanAttribute","DateAttribute","NumericAttribute","SingleValueListAttribute","MultiValueListAttribute","Comment","Attachment","Responsibility","Workflow","Job","Relation","RelationType","ComplexRelation","ComplexRelationType","ArticulationRule","Assignment","Scope","RelationTrace","ValidationRule","DataQualityRule","DataQualityMetric","Address","InstantMessagingAccount","Email","PhoneNumber","Website","Activity","FormProperty","WorkflowTask","ActivityChange","WorkflowInstance","Role","AttributeType","BooleanAttributeType","DateAttributeType","DateTimeAttributeType","MultiValueListAttributeType","NumericAttributeType","ScriptAttributeType","SingleValueListAttributeType","StringAttributeType","ViewSharingRule","ViewAssignmentRule","JdbcDriverFile","JdbcDriver","JdbcIngestionProperties","CsvIngestionProperties","ExcelIngestionProperties","ConnectionStringParameter","AssignedCharacteristicType","Notification","Tag","ComplexRelationLegType","ComplexRelationAttributeType","ComplexRelationLeg","BaseDataType","AdvancedDataType","DiagramPicture","DiagramPictureSharingRule","DiagramPictureAssignmentRule","Rating","Classification","PhysicalDataConnector","Context"]},"resourceDiscriminator":{"type":"string","description":"The resource discriminator, which indicates the type of the referenced resource, e.g. \"Community\", \"Asset\", ... Check the documentation of the class using the resource reference for detailed documentation regarding the possible resource discriminator values."},"name":{"type":"string","description":"The name of the referenced resource."}},"description":"Represents reference to the resource, including its name."}}},"paths":{"/scopes/{scopeId}":{"get":{"tags":["Scopes"],"summary":"Get scope","description":"Returns scope identified by given id.","operationId":"getScope","parameters":[{"name":"scopeId","in":"path","description":"The unique identifier of the scope.","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"The found scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScopeImpl"}}}}}}}}}
```

## Remove scope

> Removes scope identified by given id.

```json
{"openapi":"3.0.3","info":{"title":"Collibra Data Governance Center Core API","version":"2.0"},"servers":[{"url":"/rest/2.0","variables":{}}],"security":[{"basicAuth":[]},{"jwtAuth":[]},{"oauth2":["sys.admin"]}],"components":{"securitySchemes":{"basicAuth":{"type":"http","scheme":"basic"},"jwtAuth":{"type":"http","description":"Collibra REST API authentication using JSON Web Token.","scheme":"bearer","bearerFormat":"JWT"},"oauth2":{"type":"oauth2","description":"Collibra REST API authentication using OAuth 2.","flows":{"clientCredentials":{"tokenUrl":"/rest/oauth/v2/token","scopes":{"sys.admin":"System administration","kg.manage-all":"Manage all knowledge graph resources","kg.view-all":"View any knowledge graph resource","kg.manage-tags":"Manage tags","insights.download":"Download insights reporting zip files","wf.administration":"Workflow administration","wf.use-message-events":"Use workflow events"}}}}}},"paths":{"/scopes/{scopeId}":{"delete":{"tags":["Scopes"],"summary":"Remove scope","description":"Removes scope identified by given id.","operationId":"removeScope","parameters":[{"name":"scopeId","in":"path","description":"the id of the scope","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"204":{"description":"The scope has been successfully removed."},"409":{"description":"Scope still in use of assignments."}}}}}}
```

## Change scope

> Changes the scope with the information that is present in the request. Only properties that are specified in this request and have not \<code>null\</code> values are updated. All other properties are ignored.

```json
{"openapi":"3.0.3","info":{"title":"Collibra Data Governance Center Core API","version":"2.0"},"servers":[{"url":"/rest/2.0","variables":{}}],"security":[{"basicAuth":[]},{"jwtAuth":[]},{"oauth2":["sys.admin"]}],"components":{"securitySchemes":{"basicAuth":{"type":"http","scheme":"basic"},"jwtAuth":{"type":"http","description":"Collibra REST API authentication using JSON Web Token.","scheme":"bearer","bearerFormat":"JWT"},"oauth2":{"type":"oauth2","description":"Collibra REST API authentication using OAuth 2.","flows":{"clientCredentials":{"tokenUrl":"/rest/oauth/v2/token","scopes":{"sys.admin":"System administration","kg.manage-all":"Manage all knowledge graph resources","kg.view-all":"View any knowledge graph resource","kg.manage-tags":"Manage tags","insights.download":"Download insights reporting zip files","wf.administration":"Workflow administration","wf.use-message-events":"Use workflow events"}}}}},"schemas":{"ChangeScopeRequest":{"type":"object","properties":{"publicId":{"maxLength":260,"minLength":1,"type":"string","description":"The new public id for the Scope. It must be unique within all Asset Types, Complex Relation Types, Domain Types and Scopes. It should contain only ASCII letters and digits. It must start with an uppercase ASCII character. It must end with \"_C\". WARNING : The public id should only be changed with extreme caution, since it can break existing customizations. The only valid use case is to change it after creation of the type, if no public id was specified, and the generated proposal is not acceptable."},"name":{"maxLength":255,"minLength":1,"type":"string","description":"The new name for the scope"},"description":{"maxLength":255,"minLength":0,"type":"string","description":"The new description for the scope"},"domainIds":{"type":"array","description":"The new list of IDs of domains that should included in the scope","items":{"type":"string","description":"The new list of IDs of domains that should included in the scope","format":"uuid"}},"communityIds":{"type":"array","description":"The new list of IDs of communities that should included in the scope","items":{"type":"string","description":"The new list of IDs of communities that should included in the scope","format":"uuid"}}}},"ScopeImpl":{"required":["id","resourceType"],"type":"object","properties":{"id":{"type":"string","description":"The id of the represented object (entity).","format":"uuid"},"createdBy":{"type":"string","description":"The id of the user that created this resource.","format":"uuid"},"createdOn":{"type":"integer","description":"The timestamp (in UTC time standard) of the creation of this resource.","format":"int64"},"lastModifiedBy":{"type":"string","description":"The id of the user who modified this resource the last time.","format":"uuid"},"lastModifiedOn":{"type":"integer","description":"The timestamp (in UTC time standard) of the last modification of this resource.","format":"int64"},"system":{"type":"boolean","description":"Whether this is a system resource or not."},"resourceType":{"type":"string","description":"The type of the resource, e.g. [Community, Asset, Domain, Attribute, Relation, WorkflowInstance, ...].\nThis property is deprecated and will be removed in the future. In order to stay backwards compatible\nand to enable introduction of new types of resources, where necessary, a resource discriminator\nproperty (of type String) has been added to specific subtypes of Resource,\ne.g. assignedResourceDiscriminator on AssignedResource, or attributeDiscriminator on Attribute.\nFor new types of resource that didn't exist before this change, the resourceType will be\nBaseDataType.\n","deprecated":true,"enum":["View","Asset","Community","Domain","AssetType","DomainType","Status","User","ClassificationMatch","UserGroup","Attribute","StringAttribute","ScriptAttribute","BooleanAttribute","DateAttribute","NumericAttribute","SingleValueListAttribute","MultiValueListAttribute","Comment","Attachment","Responsibility","Workflow","Job","Relation","RelationType","ComplexRelation","ComplexRelationType","ArticulationRule","Assignment","Scope","RelationTrace","ValidationRule","DataQualityRule","DataQualityMetric","Address","InstantMessagingAccount","Email","PhoneNumber","Website","Activity","FormProperty","WorkflowTask","ActivityChange","WorkflowInstance","Role","AttributeType","BooleanAttributeType","DateAttributeType","DateTimeAttributeType","MultiValueListAttributeType","NumericAttributeType","ScriptAttributeType","SingleValueListAttributeType","StringAttributeType","ViewSharingRule","ViewAssignmentRule","JdbcDriverFile","JdbcDriver","JdbcIngestionProperties","CsvIngestionProperties","ExcelIngestionProperties","ConnectionStringParameter","AssignedCharacteristicType","Notification","Tag","ComplexRelationLegType","ComplexRelationAttributeType","ComplexRelationLeg","BaseDataType","AdvancedDataType","DiagramPicture","DiagramPictureSharingRule","DiagramPictureAssignmentRule","Rating","Classification","PhysicalDataConnector","Context"]},"name":{"type":"string","description":"The name of the resource."},"description":{"type":"string","description":"The description of the resource."},"publicId":{"type":"string","description":"The public id of the scope."},"domains":{"type":"array","description":"The list of domains that are included in this scope.","items":{"$ref":"#/components/schemas/NamedResourceReferenceImpl"}},"communities":{"type":"array","description":"The list of communities that are included in this scope.","items":{"$ref":"#/components/schemas/NamedResourceReferenceImpl"}}}},"NamedResourceReferenceImpl":{"required":["id","resourceType"],"type":"object","properties":{"id":{"type":"string","description":"The id of the referenced resource.","format":"uuid"},"resourceType":{"type":"string","description":"The type of the resource, e.g. [Community, Asset, Domain, Attribute, Relation, WorkflowInstance, ...]. This property is deprecated and will be removed in the future. In order to stay backwards compatible and to enable us to introduce new types of resources, we are replacing the ResourceType enum with a String. For new types of resources that didn't exist before this change, resourceType will be BaseDataType. Please use the resourceDiscriminator property instead. Refer to the object containing the ResourceReference for possible values.","deprecated":true,"enum":["View","Asset","Community","Domain","AssetType","DomainType","Status","User","ClassificationMatch","UserGroup","Attribute","StringAttribute","ScriptAttribute","BooleanAttribute","DateAttribute","NumericAttribute","SingleValueListAttribute","MultiValueListAttribute","Comment","Attachment","Responsibility","Workflow","Job","Relation","RelationType","ComplexRelation","ComplexRelationType","ArticulationRule","Assignment","Scope","RelationTrace","ValidationRule","DataQualityRule","DataQualityMetric","Address","InstantMessagingAccount","Email","PhoneNumber","Website","Activity","FormProperty","WorkflowTask","ActivityChange","WorkflowInstance","Role","AttributeType","BooleanAttributeType","DateAttributeType","DateTimeAttributeType","MultiValueListAttributeType","NumericAttributeType","ScriptAttributeType","SingleValueListAttributeType","StringAttributeType","ViewSharingRule","ViewAssignmentRule","JdbcDriverFile","JdbcDriver","JdbcIngestionProperties","CsvIngestionProperties","ExcelIngestionProperties","ConnectionStringParameter","AssignedCharacteristicType","Notification","Tag","ComplexRelationLegType","ComplexRelationAttributeType","ComplexRelationLeg","BaseDataType","AdvancedDataType","DiagramPicture","DiagramPictureSharingRule","DiagramPictureAssignmentRule","Rating","Classification","PhysicalDataConnector","Context"]},"resourceDiscriminator":{"type":"string","description":"The resource discriminator, which indicates the type of the referenced resource, e.g. \"Community\", \"Asset\", ... Check the documentation of the class using the resource reference for detailed documentation regarding the possible resource discriminator values."},"name":{"type":"string","description":"The name of the referenced resource."}},"description":"Represents reference to the resource, including its name."}}},"paths":{"/scopes/{scopeId}":{"patch":{"tags":["Scopes"],"summary":"Change scope","description":"Changes the scope with the information that is present in the request. Only properties that are specified in this request and have not <code>null</code> values are updated. All other properties are ignored.","operationId":"changeScope","parameters":[{"name":"scopeId","in":"path","description":"the id of the scope to be changed","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"description":"the properties of the scope to be changed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChangeScopeRequest"}}}},"responses":{"200":{"description":"The changed scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScopeImpl"}}}}}}}}}
```

## Get the scope by public id

> Returns the scope identified by the given public id.

```json
{"openapi":"3.0.3","info":{"title":"Collibra Data Governance Center Core API","version":"2.0"},"servers":[{"url":"/rest/2.0","variables":{}}],"security":[{"basicAuth":[]},{"jwtAuth":[]},{"oauth2":[]}],"components":{"securitySchemes":{"basicAuth":{"type":"http","scheme":"basic"},"jwtAuth":{"type":"http","description":"Collibra REST API authentication using JSON Web Token.","scheme":"bearer","bearerFormat":"JWT"},"oauth2":{"type":"oauth2","description":"Collibra REST API authentication using OAuth 2.","flows":{"clientCredentials":{"tokenUrl":"/rest/oauth/v2/token","scopes":{"sys.admin":"System administration","kg.manage-all":"Manage all knowledge graph resources","kg.view-all":"View any knowledge graph resource","kg.manage-tags":"Manage tags","insights.download":"Download insights reporting zip files","wf.administration":"Workflow administration","wf.use-message-events":"Use workflow events"}}}}},"schemas":{"ScopeImpl":{"required":["id","resourceType"],"type":"object","properties":{"id":{"type":"string","description":"The id of the represented object (entity).","format":"uuid"},"createdBy":{"type":"string","description":"The id of the user that created this resource.","format":"uuid"},"createdOn":{"type":"integer","description":"The timestamp (in UTC time standard) of the creation of this resource.","format":"int64"},"lastModifiedBy":{"type":"string","description":"The id of the user who modified this resource the last time.","format":"uuid"},"lastModifiedOn":{"type":"integer","description":"The timestamp (in UTC time standard) of the last modification of this resource.","format":"int64"},"system":{"type":"boolean","description":"Whether this is a system resource or not."},"resourceType":{"type":"string","description":"The type of the resource, e.g. [Community, Asset, Domain, Attribute, Relation, WorkflowInstance, ...].\nThis property is deprecated and will be removed in the future. In order to stay backwards compatible\nand to enable introduction of new types of resources, where necessary, a resource discriminator\nproperty (of type String) has been added to specific subtypes of Resource,\ne.g. assignedResourceDiscriminator on AssignedResource, or attributeDiscriminator on Attribute.\nFor new types of resource that didn't exist before this change, the resourceType will be\nBaseDataType.\n","deprecated":true,"enum":["View","Asset","Community","Domain","AssetType","DomainType","Status","User","ClassificationMatch","UserGroup","Attribute","StringAttribute","ScriptAttribute","BooleanAttribute","DateAttribute","NumericAttribute","SingleValueListAttribute","MultiValueListAttribute","Comment","Attachment","Responsibility","Workflow","Job","Relation","RelationType","ComplexRelation","ComplexRelationType","ArticulationRule","Assignment","Scope","RelationTrace","ValidationRule","DataQualityRule","DataQualityMetric","Address","InstantMessagingAccount","Email","PhoneNumber","Website","Activity","FormProperty","WorkflowTask","ActivityChange","WorkflowInstance","Role","AttributeType","BooleanAttributeType","DateAttributeType","DateTimeAttributeType","MultiValueListAttributeType","NumericAttributeType","ScriptAttributeType","SingleValueListAttributeType","StringAttributeType","ViewSharingRule","ViewAssignmentRule","JdbcDriverFile","JdbcDriver","JdbcIngestionProperties","CsvIngestionProperties","ExcelIngestionProperties","ConnectionStringParameter","AssignedCharacteristicType","Notification","Tag","ComplexRelationLegType","ComplexRelationAttributeType","ComplexRelationLeg","BaseDataType","AdvancedDataType","DiagramPicture","DiagramPictureSharingRule","DiagramPictureAssignmentRule","Rating","Classification","PhysicalDataConnector","Context"]},"name":{"type":"string","description":"The name of the resource."},"description":{"type":"string","description":"The description of the resource."},"publicId":{"type":"string","description":"The public id of the scope."},"domains":{"type":"array","description":"The list of domains that are included in this scope.","items":{"$ref":"#/components/schemas/NamedResourceReferenceImpl"}},"communities":{"type":"array","description":"The list of communities that are included in this scope.","items":{"$ref":"#/components/schemas/NamedResourceReferenceImpl"}}}},"NamedResourceReferenceImpl":{"required":["id","resourceType"],"type":"object","properties":{"id":{"type":"string","description":"The id of the referenced resource.","format":"uuid"},"resourceType":{"type":"string","description":"The type of the resource, e.g. [Community, Asset, Domain, Attribute, Relation, WorkflowInstance, ...]. This property is deprecated and will be removed in the future. In order to stay backwards compatible and to enable us to introduce new types of resources, we are replacing the ResourceType enum with a String. For new types of resources that didn't exist before this change, resourceType will be BaseDataType. Please use the resourceDiscriminator property instead. Refer to the object containing the ResourceReference for possible values.","deprecated":true,"enum":["View","Asset","Community","Domain","AssetType","DomainType","Status","User","ClassificationMatch","UserGroup","Attribute","StringAttribute","ScriptAttribute","BooleanAttribute","DateAttribute","NumericAttribute","SingleValueListAttribute","MultiValueListAttribute","Comment","Attachment","Responsibility","Workflow","Job","Relation","RelationType","ComplexRelation","ComplexRelationType","ArticulationRule","Assignment","Scope","RelationTrace","ValidationRule","DataQualityRule","DataQualityMetric","Address","InstantMessagingAccount","Email","PhoneNumber","Website","Activity","FormProperty","WorkflowTask","ActivityChange","WorkflowInstance","Role","AttributeType","BooleanAttributeType","DateAttributeType","DateTimeAttributeType","MultiValueListAttributeType","NumericAttributeType","ScriptAttributeType","SingleValueListAttributeType","StringAttributeType","ViewSharingRule","ViewAssignmentRule","JdbcDriverFile","JdbcDriver","JdbcIngestionProperties","CsvIngestionProperties","ExcelIngestionProperties","ConnectionStringParameter","AssignedCharacteristicType","Notification","Tag","ComplexRelationLegType","ComplexRelationAttributeType","ComplexRelationLeg","BaseDataType","AdvancedDataType","DiagramPicture","DiagramPictureSharingRule","DiagramPictureAssignmentRule","Rating","Classification","PhysicalDataConnector","Context"]},"resourceDiscriminator":{"type":"string","description":"The resource discriminator, which indicates the type of the referenced resource, e.g. \"Community\", \"Asset\", ... Check the documentation of the class using the resource reference for detailed documentation regarding the possible resource discriminator values."},"name":{"type":"string","description":"The name of the referenced resource."}},"description":"Represents reference to the resource, including its name."}}},"paths":{"/scopes/publicId/{publicId}":{"get":{"tags":["Scopes"],"summary":"Get the scope by public id","description":"Returns the scope identified by the given public id.","operationId":"getScopeByPublicId","parameters":[{"name":"publicId","in":"path","description":"The public identifier of the scope.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"The found scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScopeImpl"}}}}}}}}}
```


# Trait Assignments

## Returns Trait Assignments for the Trait with the given id.

> Returns Trait Assignments for the Trait with the given id.

```json
{"openapi":"3.0.3","info":{"title":"Collibra Data Governance Center Core API","version":"2.0"},"servers":[{"url":"/rest/2.0","variables":{}}],"security":[{"basicAuth":[]},{"jwtAuth":[]},{"oauth2":[]}],"components":{"securitySchemes":{"basicAuth":{"type":"http","scheme":"basic"},"jwtAuth":{"type":"http","description":"Collibra REST API authentication using JSON Web Token.","scheme":"bearer","bearerFormat":"JWT"},"oauth2":{"type":"oauth2","description":"Collibra REST API authentication using OAuth 2.","flows":{"clientCredentials":{"tokenUrl":"/rest/oauth/v2/token","scopes":{"sys.admin":"System administration","kg.manage-all":"Manage all knowledge graph resources","kg.view-all":"View any knowledge graph resource","kg.manage-tags":"Manage tags","insights.download":"Download insights reporting zip files","wf.administration":"Workflow administration","wf.use-message-events":"Use workflow events"}}}}},"schemas":{"TraitAssignmentImpl":{"required":["id","resourceType"],"type":"object","properties":{"id":{"type":"string","description":"The id of the represented object (entity).","format":"uuid"},"createdBy":{"type":"string","description":"The id of the user that created this resource.","format":"uuid"},"createdOn":{"type":"integer","description":"The timestamp (in UTC time standard) of the creation of this resource.","format":"int64"},"lastModifiedBy":{"type":"string","description":"The id of the user who modified this resource the last time.","format":"uuid"},"lastModifiedOn":{"type":"integer","description":"The timestamp (in UTC time standard) of the last modification of this resource.","format":"int64"},"system":{"type":"boolean","description":"Whether this is a system resource or not."},"resourceType":{"type":"string","description":"The type of the resource, e.g. [Community, Asset, Domain, Attribute, Relation, WorkflowInstance, ...].\nThis property is deprecated and will be removed in the future. In order to stay backwards compatible\nand to enable introduction of new types of resources, where necessary, a resource discriminator\nproperty (of type String) has been added to specific subtypes of Resource,\ne.g. assignedResourceDiscriminator on AssignedResource, or attributeDiscriminator on Attribute.\nFor new types of resource that didn't exist before this change, the resourceType will be\nBaseDataType.\n","deprecated":true,"enum":["View","Asset","Community","Domain","AssetType","DomainType","Status","User","ClassificationMatch","UserGroup","Attribute","StringAttribute","ScriptAttribute","BooleanAttribute","DateAttribute","NumericAttribute","SingleValueListAttribute","MultiValueListAttribute","Comment","Attachment","Responsibility","Workflow","Job","Relation","RelationType","ComplexRelation","ComplexRelationType","ArticulationRule","Assignment","Scope","RelationTrace","ValidationRule","DataQualityRule","DataQualityMetric","Address","InstantMessagingAccount","Email","PhoneNumber","Website","Activity","FormProperty","WorkflowTask","ActivityChange","WorkflowInstance","Role","AttributeType","BooleanAttributeType","DateAttributeType","DateTimeAttributeType","MultiValueListAttributeType","NumericAttributeType","ScriptAttributeType","SingleValueListAttributeType","StringAttributeType","ViewSharingRule","ViewAssignmentRule","JdbcDriverFile","JdbcDriver","JdbcIngestionProperties","CsvIngestionProperties","ExcelIngestionProperties","ConnectionStringParameter","AssignedCharacteristicType","Notification","Tag","ComplexRelationLegType","ComplexRelationAttributeType","ComplexRelationLeg","BaseDataType","AdvancedDataType","DiagramPicture","DiagramPictureSharingRule","DiagramPictureAssignmentRule","Rating","Classification","PhysicalDataConnector","Context"]},"trait":{"$ref":"#/components/schemas/NamedResourceReferenceImpl"},"characteristicTypes":{"type":"array","description":"The list of assigned characteristic types. Depending on the actual type, a characteristic type may contain additional properties. For additional details, refer to the schemas of AssignedAttributeType, AssignedComplexRelationType and AssignedRelationType. These references will always contain 'AttributeType', 'RelationType' or 'ComplexRelationType' as resourceDiscriminator value.","items":{"$ref":"#/components/schemas/AssignedCharacteristicType"}},"scope":{"$ref":"#/components/schemas/ScopeImpl"}}},"NamedResourceReferenceImpl":{"required":["id","resourceType"],"type":"object","properties":{"id":{"type":"string","description":"The id of the referenced resource.","format":"uuid"},"resourceType":{"type":"string","description":"The type of the resource, e.g. [Community, Asset, Domain, Attribute, Relation, WorkflowInstance, ...]. This property is deprecated and will be removed in the future. In order to stay backwards compatible and to enable us to introduce new types of resources, we are replacing the ResourceType enum with a String. For new types of resources that didn't exist before this change, resourceType will be BaseDataType. Please use the resourceDiscriminator property instead. Refer to the object containing the ResourceReference for possible values.","deprecated":true,"enum":["View","Asset","Community","Domain","AssetType","DomainType","Status","User","ClassificationMatch","UserGroup","Attribute","StringAttribute","ScriptAttribute","BooleanAttribute","DateAttribute","NumericAttribute","SingleValueListAttribute","MultiValueListAttribute","Comment","Attachment","Responsibility","Workflow","Job","Relation","RelationType","ComplexRelation","ComplexRelationType","ArticulationRule","Assignment","Scope","RelationTrace","ValidationRule","DataQualityRule","DataQualityMetric","Address","InstantMessagingAccount","Email","PhoneNumber","Website","Activity","FormProperty","WorkflowTask","ActivityChange","WorkflowInstance","Role","AttributeType","BooleanAttributeType","DateAttributeType","DateTimeAttributeType","MultiValueListAttributeType","NumericAttributeType","ScriptAttributeType","SingleValueListAttributeType","StringAttributeType","ViewSharingRule","ViewAssignmentRule","JdbcDriverFile","JdbcDriver","JdbcIngestionProperties","CsvIngestionProperties","ExcelIngestionProperties","ConnectionStringParameter","AssignedCharacteristicType","Notification","Tag","ComplexRelationLegType","ComplexRelationAttributeType","ComplexRelationLeg","BaseDataType","AdvancedDataType","DiagramPicture","DiagramPictureSharingRule","DiagramPictureAssignmentRule","Rating","Classification","PhysicalDataConnector","Context"]},"resourceDiscriminator":{"type":"string","description":"The resource discriminator, which indicates the type of the referenced resource, e.g. \"Community\", \"Asset\", ... Check the documentation of the class using the resource reference for detailed documentation regarding the possible resource discriminator values."},"name":{"type":"string","description":"The name of the referenced resource."}},"description":"Represents reference to the resource, including its name."},"AssignedCharacteristicType":{"required":["assignedResourceType"],"type":"object","properties":{"readOnly":{"type":"boolean","description":"Whether the characteristic value of the assigned type can be edited by the user."},"system":{"type":"boolean","description":"Whether the characteristic type can be unassigned."},"assignedResourceType":{"type":"string","description":"The type of the resource the characteristic refers to. The value can be one of : AttributeType, RelationType or ComplexRelationType. Deprecated in favour of assignedCharacteristicTypeDiscriminator.","deprecated":true,"enum":["View","Asset","Community","Domain","AssetType","DomainType","Status","User","ClassificationMatch","UserGroup","Attribute","StringAttribute","ScriptAttribute","BooleanAttribute","DateAttribute","NumericAttribute","SingleValueListAttribute","MultiValueListAttribute","Comment","Attachment","Responsibility","Workflow","Job","Relation","RelationType","ComplexRelation","ComplexRelationType","ArticulationRule","Assignment","Scope","RelationTrace","ValidationRule","DataQualityRule","DataQualityMetric","Address","InstantMessagingAccount","Email","PhoneNumber","Website","Activity","FormProperty","WorkflowTask","ActivityChange","WorkflowInstance","Role","AttributeType","BooleanAttributeType","DateAttributeType","DateTimeAttributeType","MultiValueListAttributeType","NumericAttributeType","ScriptAttributeType","SingleValueListAttributeType","StringAttributeType","ViewSharingRule","ViewAssignmentRule","JdbcDriverFile","JdbcDriver","JdbcIngestionProperties","CsvIngestionProperties","ExcelIngestionProperties","ConnectionStringParameter","AssignedCharacteristicType","Notification","Tag","ComplexRelationLegType","ComplexRelationAttributeType","ComplexRelationLeg","BaseDataType","AdvancedDataType","DiagramPicture","DiagramPictureSharingRule","DiagramPictureAssignmentRule","Rating","Classification","PhysicalDataConnector","Context"]},"assignedCharacteristicTypeDiscriminator":{"type":"string","description":"The discriminator of the characteristic type that is assigned. The value can be one of : AttributeType, RelationType or ComplexRelationType"},"minimumOccurrences":{"type":"integer","description":"How many times at least the assigned characteristic must be added to the resource. Zero means no restriction.","format":"int32"},"assignedResourceId":{"type":"string","description":"The id of the resource the characteristic refers to.","format":"uuid"},"maximumOccurrences":{"type":"integer","description":"How many times at least the assigned characteristic may be added to the resource. Null means no limit.","format":"int32"},"id":{"type":"string","description":"The id of the represented object (entity).","format":"uuid"}},"description":"The list of assigned characteristic types. Depending on the actual type, a characteristic type may contain additional properties. For additional details, refer to the schemas of AssignedAttributeType, AssignedComplexRelationType and AssignedRelationType. These references will always contain 'AttributeType', 'RelationType' or 'ComplexRelationType' as resourceDiscriminator value.","discriminator":{"propertyName":"assignedResourceType","mapping":{"AttributeType":"#/components/schemas/AssignedAttributeType","ComplexRelationType":"#/components/schemas/AssignedComplexRelationType","RelationType":"#/components/schemas/AssignedRelationType"}}},"ScopeImpl":{"required":["id","resourceType"],"type":"object","properties":{"id":{"type":"string","description":"The id of the represented object (entity).","format":"uuid"},"createdBy":{"type":"string","description":"The id of the user that created this resource.","format":"uuid"},"createdOn":{"type":"integer","description":"The timestamp (in UTC time standard) of the creation of this resource.","format":"int64"},"lastModifiedBy":{"type":"string","description":"The id of the user who modified this resource the last time.","format":"uuid"},"lastModifiedOn":{"type":"integer","description":"The timestamp (in UTC time standard) of the last modification of this resource.","format":"int64"},"system":{"type":"boolean","description":"Whether this is a system resource or not."},"resourceType":{"type":"string","description":"The type of the resource, e.g. [Community, Asset, Domain, Attribute, Relation, WorkflowInstance, ...].\nThis property is deprecated and will be removed in the future. In order to stay backwards compatible\nand to enable introduction of new types of resources, where necessary, a resource discriminator\nproperty (of type String) has been added to specific subtypes of Resource,\ne.g. assignedResourceDiscriminator on AssignedResource, or attributeDiscriminator on Attribute.\nFor new types of resource that didn't exist before this change, the resourceType will be\nBaseDataType.\n","deprecated":true,"enum":["View","Asset","Community","Domain","AssetType","DomainType","Status","User","ClassificationMatch","UserGroup","Attribute","StringAttribute","ScriptAttribute","BooleanAttribute","DateAttribute","NumericAttribute","SingleValueListAttribute","MultiValueListAttribute","Comment","Attachment","Responsibility","Workflow","Job","Relation","RelationType","ComplexRelation","ComplexRelationType","ArticulationRule","Assignment","Scope","RelationTrace","ValidationRule","DataQualityRule","DataQualityMetric","Address","InstantMessagingAccount","Email","PhoneNumber","Website","Activity","FormProperty","WorkflowTask","ActivityChange","WorkflowInstance","Role","AttributeType","BooleanAttributeType","DateAttributeType","DateTimeAttributeType","MultiValueListAttributeType","NumericAttributeType","ScriptAttributeType","SingleValueListAttributeType","StringAttributeType","ViewSharingRule","ViewAssignmentRule","JdbcDriverFile","JdbcDriver","JdbcIngestionProperties","CsvIngestionProperties","ExcelIngestionProperties","ConnectionStringParameter","AssignedCharacteristicType","Notification","Tag","ComplexRelationLegType","ComplexRelationAttributeType","ComplexRelationLeg","BaseDataType","AdvancedDataType","DiagramPicture","DiagramPictureSharingRule","DiagramPictureAssignmentRule","Rating","Classification","PhysicalDataConnector","Context"]},"name":{"type":"string","description":"The name of the resource."},"description":{"type":"string","description":"The description of the resource."},"publicId":{"type":"string","description":"The public id of the scope."},"domains":{"type":"array","description":"The list of domains that are included in this scope.","items":{"$ref":"#/components/schemas/NamedResourceReferenceImpl"}},"communities":{"type":"array","description":"The list of communities that are included in this scope.","items":{"$ref":"#/components/schemas/NamedResourceReferenceImpl"}}}}}},"paths":{"/traitAssignments/trait/{traitId}":{"get":{"tags":["TraitAssignments"],"summary":"Returns Trait Assignments for the Trait with the given id.","description":"Returns Trait Assignments for the Trait with the given id.","operationId":"getTraitAssignmentsForTrait","parameters":[{"name":"traitId","in":"path","description":"The unique identifier of the Trait.","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Trait Assignments found.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/TraitAssignmentImpl"}}}}}}}}}}
```

## Returns Trait Assignments for the Trait with the given public id.

> Returns Trait Assignments for the Trait with the given public id.

```json
{"openapi":"3.0.3","info":{"title":"Collibra Data Governance Center Core API","version":"2.0"},"servers":[{"url":"/rest/2.0","variables":{}}],"security":[{"basicAuth":[]},{"jwtAuth":[]},{"oauth2":[]}],"components":{"securitySchemes":{"basicAuth":{"type":"http","scheme":"basic"},"jwtAuth":{"type":"http","description":"Collibra REST API authentication using JSON Web Token.","scheme":"bearer","bearerFormat":"JWT"},"oauth2":{"type":"oauth2","description":"Collibra REST API authentication using OAuth 2.","flows":{"clientCredentials":{"tokenUrl":"/rest/oauth/v2/token","scopes":{"sys.admin":"System administration","kg.manage-all":"Manage all knowledge graph resources","kg.view-all":"View any knowledge graph resource","kg.manage-tags":"Manage tags","insights.download":"Download insights reporting zip files","wf.administration":"Workflow administration","wf.use-message-events":"Use workflow events"}}}}},"schemas":{"TraitAssignmentImpl":{"required":["id","resourceType"],"type":"object","properties":{"id":{"type":"string","description":"The id of the represented object (entity).","format":"uuid"},"createdBy":{"type":"string","description":"The id of the user that created this resource.","format":"uuid"},"createdOn":{"type":"integer","description":"The timestamp (in UTC time standard) of the creation of this resource.","format":"int64"},"lastModifiedBy":{"type":"string","description":"The id of the user who modified this resource the last time.","format":"uuid"},"lastModifiedOn":{"type":"integer","description":"The timestamp (in UTC time standard) of the last modification of this resource.","format":"int64"},"system":{"type":"boolean","description":"Whether this is a system resource or not."},"resourceType":{"type":"string","description":"The type of the resource, e.g. [Community, Asset, Domain, Attribute, Relation, WorkflowInstance, ...].\nThis property is deprecated and will be removed in the future. In order to stay backwards compatible\nand to enable introduction of new types of resources, where necessary, a resource discriminator\nproperty (of type String) has been added to specific subtypes of Resource,\ne.g. assignedResourceDiscriminator on AssignedResource, or attributeDiscriminator on Attribute.\nFor new types of resource that didn't exist before this change, the resourceType will be\nBaseDataType.\n","deprecated":true,"enum":["View","Asset","Community","Domain","AssetType","DomainType","Status","User","ClassificationMatch","UserGroup","Attribute","StringAttribute","ScriptAttribute","BooleanAttribute","DateAttribute","NumericAttribute","SingleValueListAttribute","MultiValueListAttribute","Comment","Attachment","Responsibility","Workflow","Job","Relation","RelationType","ComplexRelation","ComplexRelationType","ArticulationRule","Assignment","Scope","RelationTrace","ValidationRule","DataQualityRule","DataQualityMetric","Address","InstantMessagingAccount","Email","PhoneNumber","Website","Activity","FormProperty","WorkflowTask","ActivityChange","WorkflowInstance","Role","AttributeType","BooleanAttributeType","DateAttributeType","DateTimeAttributeType","MultiValueListAttributeType","NumericAttributeType","ScriptAttributeType","SingleValueListAttributeType","StringAttributeType","ViewSharingRule","ViewAssignmentRule","JdbcDriverFile","JdbcDriver","JdbcIngestionProperties","CsvIngestionProperties","ExcelIngestionProperties","ConnectionStringParameter","AssignedCharacteristicType","Notification","Tag","ComplexRelationLegType","ComplexRelationAttributeType","ComplexRelationLeg","BaseDataType","AdvancedDataType","DiagramPicture","DiagramPictureSharingRule","DiagramPictureAssignmentRule","Rating","Classification","PhysicalDataConnector","Context"]},"trait":{"$ref":"#/components/schemas/NamedResourceReferenceImpl"},"characteristicTypes":{"type":"array","description":"The list of assigned characteristic types. Depending on the actual type, a characteristic type may contain additional properties. For additional details, refer to the schemas of AssignedAttributeType, AssignedComplexRelationType and AssignedRelationType. These references will always contain 'AttributeType', 'RelationType' or 'ComplexRelationType' as resourceDiscriminator value.","items":{"$ref":"#/components/schemas/AssignedCharacteristicType"}},"scope":{"$ref":"#/components/schemas/ScopeImpl"}}},"NamedResourceReferenceImpl":{"required":["id","resourceType"],"type":"object","properties":{"id":{"type":"string","description":"The id of the referenced resource.","format":"uuid"},"resourceType":{"type":"string","description":"The type of the resource, e.g. [Community, Asset, Domain, Attribute, Relation, WorkflowInstance, ...]. This property is deprecated and will be removed in the future. In order to stay backwards compatible and to enable us to introduce new types of resources, we are replacing the ResourceType enum with a String. For new types of resources that didn't exist before this change, resourceType will be BaseDataType. Please use the resourceDiscriminator property instead. Refer to the object containing the ResourceReference for possible values.","deprecated":true,"enum":["View","Asset","Community","Domain","AssetType","DomainType","Status","User","ClassificationMatch","UserGroup","Attribute","StringAttribute","ScriptAttribute","BooleanAttribute","DateAttribute","NumericAttribute","SingleValueListAttribute","MultiValueListAttribute","Comment","Attachment","Responsibility","Workflow","Job","Relation","RelationType","ComplexRelation","ComplexRelationType","ArticulationRule","Assignment","Scope","RelationTrace","ValidationRule","DataQualityRule","DataQualityMetric","Address","InstantMessagingAccount","Email","PhoneNumber","Website","Activity","FormProperty","WorkflowTask","ActivityChange","WorkflowInstance","Role","AttributeType","BooleanAttributeType","DateAttributeType","DateTimeAttributeType","MultiValueListAttributeType","NumericAttributeType","ScriptAttributeType","SingleValueListAttributeType","StringAttributeType","ViewSharingRule","ViewAssignmentRule","JdbcDriverFile","JdbcDriver","JdbcIngestionProperties","CsvIngestionProperties","ExcelIngestionProperties","ConnectionStringParameter","AssignedCharacteristicType","Notification","Tag","ComplexRelationLegType","ComplexRelationAttributeType","ComplexRelationLeg","BaseDataType","AdvancedDataType","DiagramPicture","DiagramPictureSharingRule","DiagramPictureAssignmentRule","Rating","Classification","PhysicalDataConnector","Context"]},"resourceDiscriminator":{"type":"string","description":"The resource discriminator, which indicates the type of the referenced resource, e.g. \"Community\", \"Asset\", ... Check the documentation of the class using the resource reference for detailed documentation regarding the possible resource discriminator values."},"name":{"type":"string","description":"The name of the referenced resource."}},"description":"Represents reference to the resource, including its name."},"AssignedCharacteristicType":{"required":["assignedResourceType"],"type":"object","properties":{"readOnly":{"type":"boolean","description":"Whether the characteristic value of the assigned type can be edited by the user."},"system":{"type":"boolean","description":"Whether the characteristic type can be unassigned."},"assignedResourceType":{"type":"string","description":"The type of the resource the characteristic refers to. The value can be one of : AttributeType, RelationType or ComplexRelationType. Deprecated in favour of assignedCharacteristicTypeDiscriminator.","deprecated":true,"enum":["View","Asset","Community","Domain","AssetType","DomainType","Status","User","ClassificationMatch","UserGroup","Attribute","StringAttribute","ScriptAttribute","BooleanAttribute","DateAttribute","NumericAttribute","SingleValueListAttribute","MultiValueListAttribute","Comment","Attachment","Responsibility","Workflow","Job","Relation","RelationType","ComplexRelation","ComplexRelationType","ArticulationRule","Assignment","Scope","RelationTrace","ValidationRule","DataQualityRule","DataQualityMetric","Address","InstantMessagingAccount","Email","PhoneNumber","Website","Activity","FormProperty","WorkflowTask","ActivityChange","WorkflowInstance","Role","AttributeType","BooleanAttributeType","DateAttributeType","DateTimeAttributeType","MultiValueListAttributeType","NumericAttributeType","ScriptAttributeType","SingleValueListAttributeType","StringAttributeType","ViewSharingRule","ViewAssignmentRule","JdbcDriverFile","JdbcDriver","JdbcIngestionProperties","CsvIngestionProperties","ExcelIngestionProperties","ConnectionStringParameter","AssignedCharacteristicType","Notification","Tag","ComplexRelationLegType","ComplexRelationAttributeType","ComplexRelationLeg","BaseDataType","AdvancedDataType","DiagramPicture","DiagramPictureSharingRule","DiagramPictureAssignmentRule","Rating","Classification","PhysicalDataConnector","Context"]},"assignedCharacteristicTypeDiscriminator":{"type":"string","description":"The discriminator of the characteristic type that is assigned. The value can be one of : AttributeType, RelationType or ComplexRelationType"},"minimumOccurrences":{"type":"integer","description":"How many times at least the assigned characteristic must be added to the resource. Zero means no restriction.","format":"int32"},"assignedResourceId":{"type":"string","description":"The id of the resource the characteristic refers to.","format":"uuid"},"maximumOccurrences":{"type":"integer","description":"How many times at least the assigned characteristic may be added to the resource. Null means no limit.","format":"int32"},"id":{"type":"string","description":"The id of the represented object (entity).","format":"uuid"}},"description":"The list of assigned characteristic types. Depending on the actual type, a characteristic type may contain additional properties. For additional details, refer to the schemas of AssignedAttributeType, AssignedComplexRelationType and AssignedRelationType. These references will always contain 'AttributeType', 'RelationType' or 'ComplexRelationType' as resourceDiscriminator value.","discriminator":{"propertyName":"assignedResourceType","mapping":{"AttributeType":"#/components/schemas/AssignedAttributeType","ComplexRelationType":"#/components/schemas/AssignedComplexRelationType","RelationType":"#/components/schemas/AssignedRelationType"}}},"ScopeImpl":{"required":["id","resourceType"],"type":"object","properties":{"id":{"type":"string","description":"The id of the represented object (entity).","format":"uuid"},"createdBy":{"type":"string","description":"The id of the user that created this resource.","format":"uuid"},"createdOn":{"type":"integer","description":"The timestamp (in UTC time standard) of the creation of this resource.","format":"int64"},"lastModifiedBy":{"type":"string","description":"The id of the user who modified this resource the last time.","format":"uuid"},"lastModifiedOn":{"type":"integer","description":"The timestamp (in UTC time standard) of the last modification of this resource.","format":"int64"},"system":{"type":"boolean","description":"Whether this is a system resource or not."},"resourceType":{"type":"string","description":"The type of the resource, e.g. [Community, Asset, Domain, Attribute, Relation, WorkflowInstance, ...].\nThis property is deprecated and will be removed in the future. In order to stay backwards compatible\nand to enable introduction of new types of resources, where necessary, a resource discriminator\nproperty (of type String) has been added to specific subtypes of Resource,\ne.g. assignedResourceDiscriminator on AssignedResource, or attributeDiscriminator on Attribute.\nFor new types of resource that didn't exist before this change, the resourceType will be\nBaseDataType.\n","deprecated":true,"enum":["View","Asset","Community","Domain","AssetType","DomainType","Status","User","ClassificationMatch","UserGroup","Attribute","StringAttribute","ScriptAttribute","BooleanAttribute","DateAttribute","NumericAttribute","SingleValueListAttribute","MultiValueListAttribute","Comment","Attachment","Responsibility","Workflow","Job","Relation","RelationType","ComplexRelation","ComplexRelationType","ArticulationRule","Assignment","Scope","RelationTrace","ValidationRule","DataQualityRule","DataQualityMetric","Address","InstantMessagingAccount","Email","PhoneNumber","Website","Activity","FormProperty","WorkflowTask","ActivityChange","WorkflowInstance","Role","AttributeType","BooleanAttributeType","DateAttributeType","DateTimeAttributeType","MultiValueListAttributeType","NumericAttributeType","ScriptAttributeType","SingleValueListAttributeType","StringAttributeType","ViewSharingRule","ViewAssignmentRule","JdbcDriverFile","JdbcDriver","JdbcIngestionProperties","CsvIngestionProperties","ExcelIngestionProperties","ConnectionStringParameter","AssignedCharacteristicType","Notification","Tag","ComplexRelationLegType","ComplexRelationAttributeType","ComplexRelationLeg","BaseDataType","AdvancedDataType","DiagramPicture","DiagramPictureSharingRule","DiagramPictureAssignmentRule","Rating","Classification","PhysicalDataConnector","Context"]},"name":{"type":"string","description":"The name of the resource."},"description":{"type":"string","description":"The description of the resource."},"publicId":{"type":"string","description":"The public id of the scope."},"domains":{"type":"array","description":"The list of domains that are included in this scope.","items":{"$ref":"#/components/schemas/NamedResourceReferenceImpl"}},"communities":{"type":"array","description":"The list of communities that are included in this scope.","items":{"$ref":"#/components/schemas/NamedResourceReferenceImpl"}}}}}},"paths":{"/traitAssignments/trait/publicId/{publicId}":{"get":{"tags":["TraitAssignments"],"summary":"Returns Trait Assignments for the Trait with the given public id.","description":"Returns Trait Assignments for the Trait with the given public id.","operationId":"getTraitAssignmentsForTraitByPublicId","parameters":[{"name":"publicId","in":"path","description":"The public id of the Trait.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Trait Assignments found.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/TraitAssignmentImpl"}}}}}}}}}}
```


# Diagram Pictures

## Adds a diagram picture.

> Take a diagram picture for a given asset and diagram view.\
> A diagram picture is a copy of traceability diagram (result diagram) at a given time (for more information on traceability diagram check DGC User Guide).\
> \
> The motivation behind diagram picture is to be able to reopen them at a later point in time and be able to see them them exactly as they were created. This feature is not possible for result diagram which are always showing the current situation.

```json
{"openapi":"3.0.3","info":{"title":"Collibra Data Governance Center Core API","version":"2.0"},"servers":[{"url":"/rest/2.0","variables":{}}],"security":[{"basicAuth":[]},{"jwtAuth":[]},{"oauth2":["kg.view-all"]},{"oauth2":[]}],"components":{"securitySchemes":{"basicAuth":{"type":"http","scheme":"basic"},"jwtAuth":{"type":"http","description":"Collibra REST API authentication using JSON Web Token.","scheme":"bearer","bearerFormat":"JWT"},"oauth2":{"type":"oauth2","description":"Collibra REST API authentication using OAuth 2.","flows":{"clientCredentials":{"tokenUrl":"/rest/oauth/v2/token","scopes":{"sys.admin":"System administration","kg.manage-all":"Manage all knowledge graph resources","kg.view-all":"View any knowledge graph resource","kg.manage-tags":"Manage tags","insights.download":"Download insights reporting zip files","wf.administration":"Workflow administration","wf.use-message-events":"Use workflow events"}}}}},"schemas":{"AddDiagramPictureRequest":{"required":["assetId","viewId"],"type":"object","properties":{"assetId":{"type":"string","description":"The ID of the Asset for which the picture should be taken.","format":"uuid"},"viewId":{"type":"string","description":"The ID  of the View for which the picture should be taken.","format":"uuid"}}}}},"paths":{"/diagramPictures":{"post":{"tags":["Diagram Pictures"],"summary":"Adds a diagram picture.","description":"Take a diagram picture for a given asset and diagram view.\nA diagram picture is a copy of traceability diagram (result diagram) at a given time (for more information on traceability diagram check DGC User Guide).\n\nThe motivation behind diagram picture is to be able to reopen them at a later point in time and be able to see them them exactly as they were created. This feature is not possible for result diagram which are always showing the current situation.","operationId":"addDiagramPicture","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddDiagramPictureRequest"}}}},"responses":{"201":{"description":"Diagram picture successfully added.The response contains a UUID of the added diagram picture. The UUID can be used to compose an URL to retrive the diagram picture.","content":{"application/json":{"schema":{"type":"string","format":"uuid"}}}}}}}}}
```


# Files

## Upload files

> Upload files

```json
{"openapi":"3.0.3","info":{"title":"Collibra Data Governance Center Core API","version":"2.0"},"servers":[{"url":"/rest/2.0","variables":{}}],"security":[{"basicAuth":[]}],"components":{"securitySchemes":{"basicAuth":{"type":"http","scheme":"basic"}},"schemas":{"FileUpload":{"type":"object","properties":{"file":{"type":"string","description":"File to upload","format":"binary"}}},"FileInfoImpl":{"type":"object","properties":{"id":{"type":"string","description":"The ID of the file.","format":"uuid"},"name":{"type":"string","description":"The name of the file."},"contentType":{"type":"string","description":"The MIME type of the file content."},"size":{"type":"integer","description":"The size of the file.","format":"int64"},"extension":{"type":"string","description":"The extension of the file."}}}}},"paths":{"/files":{"post":{"tags":["Files"],"summary":"Upload files","description":"Upload files","operationId":"addFiles","requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/FileUpload"}}}},"responses":{"201":{"description":"Files successfully uploaded.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/FileInfoImpl"}}}}}}}}}}
```

## Download a file

> Downloads file identified by given id.  Keep in mind to use GET /attachments/{attachmentId}/file instead of this endpoint when you want to get the file of an attachment.  A File and its id can be temporary so it's possible this endpoint will not get you the desired file.

```json
{"openapi":"3.0.3","info":{"title":"Collibra Data Governance Center Core API","version":"2.0"},"servers":[{"url":"/rest/2.0","variables":{}}],"security":[{"basicAuth":[]}],"components":{"securitySchemes":{"basicAuth":{"type":"http","scheme":"basic"}}},"paths":{"/files/{fileId}":{"get":{"tags":["Files"],"summary":"Download a file","description":"Downloads file identified by given id.  Keep in mind to use GET /attachments/{attachmentId}/file instead of this endpoint when you want to get the file of an attachment.  A File and its id can be temporary so it's possible this endpoint will not get you the desired file.","operationId":"getFile","parameters":[{"name":"fileId","in":"path","description":"the id of the file","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"The file has been downloaded","content":{"application/json":{"schema":{"type":"string","description":"The found file","format":"binary"}}}}}}}}}
```

## Delete a file

> Deletes the temporary file with the provided ID. Temporary files are short-lived. Collibra automatically deletes them between 8 and 16 hours after their creation. You do not need specific permissions to perform this operation.

```json
{"openapi":"3.0.3","info":{"title":"Collibra Data Governance Center Core API","version":"2.0"},"servers":[{"url":"/rest/2.0","variables":{}}],"security":[{"basicAuth":[]}],"components":{"securitySchemes":{"basicAuth":{"type":"http","scheme":"basic"}}},"paths":{"/files/{fileId}":{"delete":{"tags":["Files"],"summary":"Delete a file","description":"Deletes the temporary file with the provided ID. Temporary files are short-lived. Collibra automatically deletes them between 8 and 16 hours after their creation. You do not need specific permissions to perform this operation.","operationId":"deleteFile","parameters":[{"name":"fileId","in":"path","description":"the id of the file","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"The file has been deleted"}}}}}}
```

## Delete expired files

> Deletes files having passed their expiration time. Deprecated: timeToLive is ignored. Cleanup being automatic, this endpoint will be removed in the future.

```json
{"openapi":"3.0.3","info":{"title":"Collibra Data Governance Center Core API","version":"2.0"},"servers":[{"url":"/rest/2.0","variables":{}}],"security":[{"basicAuth":[]}],"components":{"securitySchemes":{"basicAuth":{"type":"http","scheme":"basic"}}},"paths":{"/files/bulk":{"delete":{"tags":["Files"],"summary":"Delete expired files","description":"Deletes files having passed their expiration time. Deprecated: timeToLive is ignored. Cleanup being automatic, this endpoint will be removed in the future.","operationId":"deleteFiles","parameters":[{"name":"timeToLive","in":"query","schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"The files have been deleted"}},"deprecated":true}}}}
```

## Get file information

> Returns information about the file identified by given id. Keep in mind to use GET /attachments/{attachmentId} instead of this endpoint when you want to get information of an attachment. A File and its id can be temporary so it's possible this endpoint will not get you the information of the desired file.

```json
{"openapi":"3.0.3","info":{"title":"Collibra Data Governance Center Core API","version":"2.0"},"servers":[{"url":"/rest/2.0","variables":{}}],"security":[{"basicAuth":[]}],"components":{"securitySchemes":{"basicAuth":{"type":"http","scheme":"basic"}},"schemas":{"ScopeImpl":{"required":["id","resourceType"],"type":"object","properties":{"id":{"type":"string","description":"The id of the represented object (entity).","format":"uuid"},"createdBy":{"type":"string","description":"The id of the user that created this resource.","format":"uuid"},"createdOn":{"type":"integer","description":"The timestamp (in UTC time standard) of the creation of this resource.","format":"int64"},"lastModifiedBy":{"type":"string","description":"The id of the user who modified this resource the last time.","format":"uuid"},"lastModifiedOn":{"type":"integer","description":"The timestamp (in UTC time standard) of the last modification of this resource.","format":"int64"},"system":{"type":"boolean","description":"Whether this is a system resource or not."},"resourceType":{"type":"string","description":"The type of the resource, e.g. [Community, Asset, Domain, Attribute, Relation, WorkflowInstance, ...].\nThis property is deprecated and will be removed in the future. In order to stay backwards compatible\nand to enable introduction of new types of resources, where necessary, a resource discriminator\nproperty (of type String) has been added to specific subtypes of Resource,\ne.g. assignedResourceDiscriminator on AssignedResource, or attributeDiscriminator on Attribute.\nFor new types of resource that didn't exist before this change, the resourceType will be\nBaseDataType.\n","deprecated":true,"enum":["View","Asset","Community","Domain","AssetType","DomainType","Status","User","ClassificationMatch","UserGroup","Attribute","StringAttribute","ScriptAttribute","BooleanAttribute","DateAttribute","NumericAttribute","SingleValueListAttribute","MultiValueListAttribute","Comment","Attachment","Responsibility","Workflow","Job","Relation","RelationType","ComplexRelation","ComplexRelationType","ArticulationRule","Assignment","Scope","RelationTrace","ValidationRule","DataQualityRule","DataQualityMetric","Address","InstantMessagingAccount","Email","PhoneNumber","Website","Activity","FormProperty","WorkflowTask","ActivityChange","WorkflowInstance","Role","AttributeType","BooleanAttributeType","DateAttributeType","DateTimeAttributeType","MultiValueListAttributeType","NumericAttributeType","ScriptAttributeType","SingleValueListAttributeType","StringAttributeType","ViewSharingRule","ViewAssignmentRule","JdbcDriverFile","JdbcDriver","JdbcIngestionProperties","CsvIngestionProperties","ExcelIngestionProperties","ConnectionStringParameter","AssignedCharacteristicType","Notification","Tag","ComplexRelationLegType","ComplexRelationAttributeType","ComplexRelationLeg","BaseDataType","AdvancedDataType","DiagramPicture","DiagramPictureSharingRule","DiagramPictureAssignmentRule","Rating","Classification","PhysicalDataConnector","Context"]},"name":{"type":"string","description":"The name of the resource."},"description":{"type":"string","description":"The description of the resource."},"publicId":{"type":"string","description":"The public id of the scope."},"domains":{"type":"array","description":"The list of domains that are included in this scope.","items":{"$ref":"#/components/schemas/NamedResourceReferenceImpl"}},"communities":{"type":"array","description":"The list of communities that are included in this scope.","items":{"$ref":"#/components/schemas/NamedResourceReferenceImpl"}}}},"NamedResourceReferenceImpl":{"required":["id","resourceType"],"type":"object","properties":{"id":{"type":"string","description":"The id of the referenced resource.","format":"uuid"},"resourceType":{"type":"string","description":"The type of the resource, e.g. [Community, Asset, Domain, Attribute, Relation, WorkflowInstance, ...]. This property is deprecated and will be removed in the future. In order to stay backwards compatible and to enable us to introduce new types of resources, we are replacing the ResourceType enum with a String. For new types of resources that didn't exist before this change, resourceType will be BaseDataType. Please use the resourceDiscriminator property instead. Refer to the object containing the ResourceReference for possible values.","deprecated":true,"enum":["View","Asset","Community","Domain","AssetType","DomainType","Status","User","ClassificationMatch","UserGroup","Attribute","StringAttribute","ScriptAttribute","BooleanAttribute","DateAttribute","NumericAttribute","SingleValueListAttribute","MultiValueListAttribute","Comment","Attachment","Responsibility","Workflow","Job","Relation","RelationType","ComplexRelation","ComplexRelationType","ArticulationRule","Assignment","Scope","RelationTrace","ValidationRule","DataQualityRule","DataQualityMetric","Address","InstantMessagingAccount","Email","PhoneNumber","Website","Activity","FormProperty","WorkflowTask","ActivityChange","WorkflowInstance","Role","AttributeType","BooleanAttributeType","DateAttributeType","DateTimeAttributeType","MultiValueListAttributeType","NumericAttributeType","ScriptAttributeType","SingleValueListAttributeType","StringAttributeType","ViewSharingRule","ViewAssignmentRule","JdbcDriverFile","JdbcDriver","JdbcIngestionProperties","CsvIngestionProperties","ExcelIngestionProperties","ConnectionStringParameter","AssignedCharacteristicType","Notification","Tag","ComplexRelationLegType","ComplexRelationAttributeType","ComplexRelationLeg","BaseDataType","AdvancedDataType","DiagramPicture","DiagramPictureSharingRule","DiagramPictureAssignmentRule","Rating","Classification","PhysicalDataConnector","Context"]},"resourceDiscriminator":{"type":"string","description":"The resource discriminator, which indicates the type of the referenced resource, e.g. \"Community\", \"Asset\", ... Check the documentation of the class using the resource reference for detailed documentation regarding the possible resource discriminator values."},"name":{"type":"string","description":"The name of the referenced resource."}},"description":"Represents reference to the resource, including its name."}}},"paths":{"/files/{fileId}/info":{"get":{"tags":["Files"],"summary":"Get file information","description":"Returns information about the file identified by given id. Keep in mind to use GET /attachments/{attachmentId} instead of this endpoint when you want to get information of an attachment. A File and its id can be temporary so it's possible this endpoint will not get you the information of the desired file.","operationId":"getFileInfo","parameters":[{"name":"fileId","in":"path","description":"the id of the file","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"The file information","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScopeImpl"}}}}}}}}}
```


# Assets

## Find assets

> \<p>Returns assets matching the given search criteria. Only parameters that are specified in this request and have not \<code>null\</code> values are used for filtering. All other parameters are ignored. By default a result containing 1000 assets is returned.\</p>\<p>For fetching large numbers of assets consider using the async methods of Output Module REST API instead, which allow fetching all needed data in one call and eliminate the risk of timing out. Additionally, consider the CSV endpoint of the Output Module REST API for particularly large result sets, as it's more memory efficient.\</p>\<p>Searching for assets by name can be slow so check the Search REST API  and the Knowledge Graph API for alternatives if applicable to your use case, as the Search API returns only a subset of asset fields that are available here.\</p>

```json
{"openapi":"3.0.3","info":{"title":"Collibra Data Governance Center Core API","version":"2.0"},"servers":[{"url":"/rest/2.0","variables":{}}],"security":[{"basicAuth":[]},{"jwtAuth":[]},{"oauth2":["kg.view-all"]},{"oauth2":[]}],"components":{"securitySchemes":{"basicAuth":{"type":"http","scheme":"basic"},"jwtAuth":{"type":"http","description":"Collibra REST API authentication using JSON Web Token.","scheme":"bearer","bearerFormat":"JWT"},"oauth2":{"type":"oauth2","description":"Collibra REST API authentication using OAuth 2.","flows":{"clientCredentials":{"tokenUrl":"/rest/oauth/v2/token","scopes":{"sys.admin":"System administration","kg.manage-all":"Manage all knowledge graph resources","kg.view-all":"View any knowledge graph resource","kg.manage-tags":"Manage tags","insights.download":"Download insights reporting zip files","wf.administration":"Workflow administration","wf.use-message-events":"Use workflow events"}}}}},"schemas":{"AssetPagedResponse":{"type":"object","properties":{"total":{"type":"integer","description":"The total number of results.","format":"int64"},"offset":{"type":"integer","description":"The offset for the results.","format":"int64"},"limit":{"type":"integer","description":"The maximum number of results to be returned.","format":"int64"},"results":{"type":"array","description":"The list of results.","items":{"$ref":"#/components/schemas/AssetImpl"}}}},"AssetImpl":{"required":["id","resourceType"],"type":"object","properties":{"id":{"type":"string","description":"The id of the represented object (entity).","format":"uuid"},"createdBy":{"type":"string","description":"The id of the user that created this resource.","format":"uuid"},"createdOn":{"type":"integer","description":"The timestamp (in UTC time standard) of the creation of this resource.","format":"int64"},"lastModifiedBy":{"type":"string","description":"The id of the user who modified this resource the last time.","format":"uuid"},"lastModifiedOn":{"type":"integer","description":"The timestamp (in UTC time standard) of the last modification of this resource.","format":"int64"},"system":{"type":"boolean","description":"Whether this is a system resource or not."},"resourceType":{"type":"string","description":"The type of the resource, e.g. [Community, Asset, Domain, Attribute, Relation, WorkflowInstance, ...].\nThis property is deprecated and will be removed in the future. In order to stay backwards compatible\nand to enable introduction of new types of resources, where necessary, a resource discriminator\nproperty (of type String) has been added to specific subtypes of Resource,\ne.g. assignedResourceDiscriminator on AssignedResource, or attributeDiscriminator on Attribute.\nFor new types of resource that didn't exist before this change, the resourceType will be\nBaseDataType.\n","deprecated":true,"enum":["View","Asset","Community","Domain","AssetType","DomainType","Status","User","ClassificationMatch","UserGroup","Attribute","StringAttribute","ScriptAttribute","BooleanAttribute","DateAttribute","NumericAttribute","SingleValueListAttribute","MultiValueListAttribute","Comment","Attachment","Responsibility","Workflow","Job","Relation","RelationType","ComplexRelation","ComplexRelationType","ArticulationRule","Assignment","Scope","RelationTrace","ValidationRule","DataQualityRule","DataQualityMetric","Address","InstantMessagingAccount","Email","PhoneNumber","Website","Activity","FormProperty","WorkflowTask","ActivityChange","WorkflowInstance","Role","AttributeType","BooleanAttributeType","DateAttributeType","DateTimeAttributeType","MultiValueListAttributeType","NumericAttributeType","ScriptAttributeType","SingleValueListAttributeType","StringAttributeType","ViewSharingRule","ViewAssignmentRule","JdbcDriverFile","JdbcDriver","JdbcIngestionProperties","CsvIngestionProperties","ExcelIngestionProperties","ConnectionStringParameter","AssignedCharacteristicType","Notification","Tag","ComplexRelationLegType","ComplexRelationAttributeType","ComplexRelationLeg","BaseDataType","AdvancedDataType","DiagramPicture","DiagramPictureSharingRule","DiagramPictureAssignmentRule","Rating","Classification","PhysicalDataConnector","Context"]},"name":{"type":"string","description":"The name of the resource."},"displayName":{"type":"string","description":"The display name of the asset.  <p>  Please note that \"displayName\" corresponds to the \"Name\" in the UI."},"articulationScore":{"type":"number","description":"The articulation score for this asset.  <p>  Expresses how well this asset is articulated.  The articulation score is a percentage number ranging from 0 to 100.  The articulation rules can be configured to calculate the articulation score.  Whenever the asset is modified, by changing its attributes or statuses, the articulation score is re-evaluated.","format":"double"},"excludedFromAutoHyperlinking":{"type":"boolean","description":"Whether this asset is excluded from hyperlinking or not."},"domain":{"$ref":"#/components/schemas/NamedResourceReferenceImpl"},"type":{"$ref":"#/components/schemas/NamedResourceReferenceImpl"},"status":{"$ref":"#/components/schemas/NamedResourceReferenceImpl"},"avgRating":{"type":"number","description":"The average rating.","format":"double"},"ratingsCount":{"type":"integer","description":"The number of ratings.","format":"int32"}}},"NamedResourceReferenceImpl":{"required":["id","resourceType"],"type":"object","properties":{"id":{"type":"string","description":"The id of the referenced resource.","format":"uuid"},"resourceType":{"type":"string","description":"The type of the resource, e.g. [Community, Asset, Domain, Attribute, Relation, WorkflowInstance, ...]. This property is deprecated and will be removed in the future. In order to stay backwards compatible and to enable us to introduce new types of resources, we are replacing the ResourceType enum with a String. For new types of resources that didn't exist before this change, resourceType will be BaseDataType. Please use the resourceDiscriminator property instead. Refer to the object containing the ResourceReference for possible values.","deprecated":true,"enum":["View","Asset","Community","Domain","AssetType","DomainType","Status","User","ClassificationMatch","UserGroup","Attribute","StringAttribute","ScriptAttribute","BooleanAttribute","DateAttribute","NumericAttribute","SingleValueListAttribute","MultiValueListAttribute","Comment","Attachment","Responsibility","Workflow","Job","Relation","RelationType","ComplexRelation","ComplexRelationType","ArticulationRule","Assignment","Scope","RelationTrace","ValidationRule","DataQualityRule","DataQualityMetric","Address","InstantMessagingAccount","Email","PhoneNumber","Website","Activity","FormProperty","WorkflowTask","ActivityChange","WorkflowInstance","Role","AttributeType","BooleanAttributeType","DateAttributeType","DateTimeAttributeType","MultiValueListAttributeType","NumericAttributeType","ScriptAttributeType","SingleValueListAttributeType","StringAttributeType","ViewSharingRule","ViewAssignmentRule","JdbcDriverFile","JdbcDriver","JdbcIngestionProperties","CsvIngestionProperties","ExcelIngestionProperties","ConnectionStringParameter","AssignedCharacteristicType","Notification","Tag","ComplexRelationLegType","ComplexRelationAttributeType","ComplexRelationLeg","BaseDataType","AdvancedDataType","DiagramPicture","DiagramPictureSharingRule","DiagramPictureAssignmentRule","Rating","Classification","PhysicalDataConnector","Context"]},"resourceDiscriminator":{"type":"string","description":"The resource discriminator, which indicates the type of the referenced resource, e.g. \"Community\", \"Asset\", ... Check the documentation of the class using the resource reference for detailed documentation regarding the possible resource discriminator values."},"name":{"type":"string","description":"The name of the referenced resource."}},"description":"Represents reference to the resource, including its name."}}},"paths":{"/assets":{"get":{"tags":["Assets"],"summary":"Find assets","description":"<p>Returns assets matching the given search criteria. Only parameters that are specified in this request and have not <code>null</code> values are used for filtering. All other parameters are ignored. By default a result containing 1000 assets is returned.</p><p>For fetching large numbers of assets consider using the async methods of Output Module REST API instead, which allow fetching all needed data in one call and eliminate the risk of timing out. Additionally, consider the CSV endpoint of the Output Module REST API for particularly large result sets, as it's more memory efficient.</p><p>Searching for assets by name can be slow so check the Search REST API  and the Knowledge Graph API for alternatives if applicable to your use case, as the Search API returns only a subset of asset fields that are available here.</p>","operationId":"findAssets","parameters":[{"name":"offset","in":"query","description":"The first result to retrieve. If not set (offset = <code>0</code>), results will be retrieved starting from row <code>0</code>. Cursor should be preferred over offset for better performance and stable results. It is forbidden to use both in the same request.","deprecated":true,"schema":{"type":"integer","format":"int32","default":0}},{"name":"limit","in":"query","description":"The maximum number of results to retrieve. If not set (limit = <code>0</code>), the default limit will be used. The maximum allowed limit is 1000.","schema":{"type":"integer","format":"int32","default":0}},{"name":"countLimit","in":"query","description":"Allows to limit the number of elements that will be counted. -1 will count everything and 0 will cause the count to be skipped. For cursor pagination this parameter is ignored and count is skipped.","deprecated":true,"schema":{"type":"integer","format":"int32","default":-1}},{"name":"cursor","in":"query","description":"Cursor for the current page of results. To retrieve the first page with cursor pagination you need to pass this parameter with an empty value (must be non-null). For the next pages, the value must be taken from the response (<code>nextCursor</code> property).","schema":{"type":"string"}},{"name":"name","in":"query","description":"The name of the asset to search for (either display name or full name).","schema":{"type":"string"}},{"name":"nameMatchMode","in":"query","description":"The match mode used to compare <code>name</code>. If the match mode is <code>EXACT</code> the search is case-sensitive, otherwise the search is case-insensitive.","schema":{"type":"string","enum":["START","END","ANYWHERE","EXACT"],"default":"ANYWHERE"}},{"name":"domainId","in":"query","description":"The ID of the domain to find the assets in.","schema":{"type":"string","format":"uuid"}},{"name":"communityId","in":"query","description":"The ID of the community to find the assets in.","schema":{"type":"string","format":"uuid"}},{"name":"typeIds","in":"query","description":"The list of IDs of the asset types. The returned assets are of one of types specified by this parameter.","schema":{"type":"array","items":{"type":"string","format":"uuid"}}},{"name":"typePublicIds","in":"query","description":"The list of IDs of the asset public types. The returned assets are of one of types specified by this parameter.","schema":{"type":"array","items":{"type":"string"}}},{"name":"typeId","in":"query","description":"The list of IDs of the asset types. The returned assets are of one of types specified by this parameter.  Deprecated in favour of 'typeIds'","deprecated":true,"schema":{"type":"array","items":{"type":"string","format":"uuid"}}},{"name":"statusIds","in":"query","description":"The list of IDs of the statuses. The returned assets have one of statuses specified by this parameter.","schema":{"type":"array","items":{"type":"string","format":"uuid"}}},{"name":"statusId","in":"query","description":"The list of IDs of the statuses. The returned assets have one of statuses specified by this parameter. Deprecated in favour of 'statusIds'.","deprecated":true,"schema":{"type":"array","items":{"type":"string","format":"uuid"}}},{"name":"tagNames","in":"query","description":"The list of names of tags. The returned assets have one of tags with names specified by this parameter.","schema":{"type":"array","items":{"type":"string"}}},{"name":"typeInheritance","in":"query","description":"Whether the type inheritance for the asset type filtering should be applied or not.","schema":{"type":"boolean","default":true}},{"name":"excludeMeta","in":"query","description":"The exclude meta flag. If this is set to true then the assets from meta domains will not be returned (meta domains are the domains which were not created by the user manually).","schema":{"type":"boolean","default":true}},{"name":"sortField","in":"query","description":"The field on which the results are sorted.","required":true,"schema":{"type":"string","enum":["NAME","DISPLAY_NAME","ID"],"default":"NAME"}},{"name":"sortOrder","in":"query","description":"The sorting order.","schema":{"type":"string","enum":["ASC","DESC"],"default":"ASC"}}],"responses":{"200":{"description":"OK - The request has succeeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssetPagedResponse"}}}},"401":{"description":"Unauthorized - Authentication has failed or has not been provided."},"500":{"description":"Internal Server Error - The server encountered an unexpected condition which prevented it from fulfilling the request. Please report a problem as this situation should not occur."}}}}}}
```

## Add asset

> Adds a new asset to a domain

```json
{"openapi":"3.0.3","info":{"title":"Collibra Data Governance Center Core API","version":"2.0"},"servers":[{"url":"/rest/2.0","variables":{}}],"security":[{"basicAuth":[]},{"jwtAuth":[]},{"oauth2":["kg.manage-all"]}],"components":{"securitySchemes":{"basicAuth":{"type":"http","scheme":"basic"},"jwtAuth":{"type":"http","description":"Collibra REST API authentication using JSON Web Token.","scheme":"bearer","bearerFormat":"JWT"},"oauth2":{"type":"oauth2","description":"Collibra REST API authentication using OAuth 2.","flows":{"clientCredentials":{"tokenUrl":"/rest/oauth/v2/token","scopes":{"sys.admin":"System administration","kg.manage-all":"Manage all knowledge graph resources","kg.view-all":"View any knowledge graph resource","kg.manage-tags":"Manage tags","insights.download":"Download insights reporting zip files","wf.administration":"Workflow administration","wf.use-message-events":"Use workflow events"}}}}},"schemas":{"AddAssetRequest":{"required":["domainId","name"],"type":"object","properties":{"name":{"maxLength":2000,"minLength":1,"type":"string","description":"The full name of the new asset. Should be unique within the domain."},"displayName":{"maxLength":2000,"minLength":1,"type":"string","description":"The display name of the new asset."},"domainId":{"type":"string","description":"The ID of the domain that the new asset should be added to.","format":"uuid"},"typeId":{"type":"string","description":"The ID of the asset type of the new asset.","format":"uuid"},"id":{"type":"string","description":"The ID of the new asset. Should be unique within all assets.<br/>It should have a format of universally unique identifier (UUID) and should not start with <code>00000000-0000-0000-</code> which is a reserved prefix.","format":"uuid"},"statusId":{"type":"string","description":"The ID of the status of the new asset.","format":"uuid"},"excludedFromAutoHyperlinking":{"type":"boolean","description":"Whether or not to exclude the new asset from auto hyperlinking."},"typePublicId":{"type":"string","description":"The public ID of the asset type of the new asset."}}},"AssetImpl":{"required":["id","resourceType"],"type":"object","properties":{"id":{"type":"string","description":"The id of the represented object (entity).","format":"uuid"},"createdBy":{"type":"string","description":"The id of the user that created this resource.","format":"uuid"},"createdOn":{"type":"integer","description":"The timestamp (in UTC time standard) of the creation of this resource.","format":"int64"},"lastModifiedBy":{"type":"string","description":"The id of the user who modified this resource the last time.","format":"uuid"},"lastModifiedOn":{"type":"integer","description":"The timestamp (in UTC time standard) of the last modification of this resource.","format":"int64"},"system":{"type":"boolean","description":"Whether this is a system resource or not."},"resourceType":{"type":"string","description":"The type of the resource, e.g. [Community, Asset, Domain, Attribute, Relation, WorkflowInstance, ...].\nThis property is deprecated and will be removed in the future. In order to stay backwards compatible\nand to enable introduction of new types of resources, where necessary, a resource discriminator\nproperty (of type String) has been added to specific subtypes of Resource,\ne.g. assignedResourceDiscriminator on AssignedResource, or attributeDiscriminator on Attribute.\nFor new types of resource that didn't exist before this change, the resourceType will be\nBaseDataType.\n","deprecated":true,"enum":["View","Asset","Community","Domain","AssetType","DomainType","Status","User","ClassificationMatch","UserGroup","Attribute","StringAttribute","ScriptAttribute","BooleanAttribute","DateAttribute","NumericAttribute","SingleValueListAttribute","MultiValueListAttribute","Comment","Attachment","Responsibility","Workflow","Job","Relation","RelationType","ComplexRelation","ComplexRelationType","ArticulationRule","Assignment","Scope","RelationTrace","ValidationRule","DataQualityRule","DataQualityMetric","Address","InstantMessagingAccount","Email","PhoneNumber","Website","Activity","FormProperty","WorkflowTask","ActivityChange","WorkflowInstance","Role","AttributeType","BooleanAttributeType","DateAttributeType","DateTimeAttributeType","MultiValueListAttributeType","NumericAttributeType","ScriptAttributeType","SingleValueListAttributeType","StringAttributeType","ViewSharingRule","ViewAssignmentRule","JdbcDriverFile","JdbcDriver","JdbcIngestionProperties","CsvIngestionProperties","ExcelIngestionProperties","ConnectionStringParameter","AssignedCharacteristicType","Notification","Tag","ComplexRelationLegType","ComplexRelationAttributeType","ComplexRelationLeg","BaseDataType","AdvancedDataType","DiagramPicture","DiagramPictureSharingRule","DiagramPictureAssignmentRule","Rating","Classification","PhysicalDataConnector","Context"]},"name":{"type":"string","description":"The name of the resource."},"displayName":{"type":"string","description":"The display name of the asset.  <p>  Please note that \"displayName\" corresponds to the \"Name\" in the UI."},"articulationScore":{"type":"number","description":"The articulation score for this asset.  <p>  Expresses how well this asset is articulated.  The articulation score is a percentage number ranging from 0 to 100.  The articulation rules can be configured to calculate the articulation score.  Whenever the asset is modified, by changing its attributes or statuses, the articulation score is re-evaluated.","format":"double"},"excludedFromAutoHyperlinking":{"type":"boolean","description":"Whether this asset is excluded from hyperlinking or not."},"domain":{"$ref":"#/components/schemas/NamedResourceReferenceImpl"},"type":{"$ref":"#/components/schemas/NamedResourceReferenceImpl"},"status":{"$ref":"#/components/schemas/NamedResourceReferenceImpl"},"avgRating":{"type":"number","description":"The average rating.","format":"double"},"ratingsCount":{"type":"integer","description":"The number of ratings.","format":"int32"}}},"NamedResourceReferenceImpl":{"required":["id","resourceType"],"type":"object","properties":{"id":{"type":"string","description":"The id of the referenced resource.","format":"uuid"},"resourceType":{"type":"string","description":"The type of the resource, e.g. [Community, Asset, Domain, Attribute, Relation, WorkflowInstance, ...]. This property is deprecated and will be removed in the future. In order to stay backwards compatible and to enable us to introduce new types of resources, we are replacing the ResourceType enum with a String. For new types of resources that didn't exist before this change, resourceType will be BaseDataType. Please use the resourceDiscriminator property instead. Refer to the object containing the ResourceReference for possible values.","deprecated":true,"enum":["View","Asset","Community","Domain","AssetType","DomainType","Status","User","ClassificationMatch","UserGroup","Attribute","StringAttribute","ScriptAttribute","BooleanAttribute","DateAttribute","NumericAttribute","SingleValueListAttribute","MultiValueListAttribute","Comment","Attachment","Responsibility","Workflow","Job","Relation","RelationType","ComplexRelation","ComplexRelationType","ArticulationRule","Assignment","Scope","RelationTrace","ValidationRule","DataQualityRule","DataQualityMetric","Address","InstantMessagingAccount","Email","PhoneNumber","Website","Activity","FormProperty","WorkflowTask","ActivityChange","WorkflowInstance","Role","AttributeType","BooleanAttributeType","DateAttributeType","DateTimeAttributeType","MultiValueListAttributeType","NumericAttributeType","ScriptAttributeType","SingleValueListAttributeType","StringAttributeType","ViewSharingRule","ViewAssignmentRule","JdbcDriverFile","JdbcDriver","JdbcIngestionProperties","CsvIngestionProperties","ExcelIngestionProperties","ConnectionStringParameter","AssignedCharacteristicType","Notification","Tag","ComplexRelationLegType","ComplexRelationAttributeType","ComplexRelationLeg","BaseDataType","AdvancedDataType","DiagramPicture","DiagramPictureSharingRule","DiagramPictureAssignmentRule","Rating","Classification","PhysicalDataConnector","Context"]},"resourceDiscriminator":{"type":"string","description":"The resource discriminator, which indicates the type of the referenced resource, e.g. \"Community\", \"Asset\", ... Check the documentation of the class using the resource reference for detailed documentation regarding the possible resource discriminator values."},"name":{"type":"string","description":"The name of the referenced resource."}},"description":"Represents reference to the resource, including its name."}}},"paths":{"/assets":{"post":{"tags":["Assets"],"summary":"Add asset","description":"Adds a new asset to a domain","operationId":"addAsset","requestBody":{"description":"The properties of the asset to be added. Either typeId or typePublicId must be provided.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddAssetRequest"}}}},"responses":{"201":{"description":"Created - The request has been fulfilled and resulted in a new resource being created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssetImpl"}}}},"400":{"description":"Bad Request - Request data is malformed or illegal. The request body will contain additional information."},"401":{"description":"Unauthorized - Authentication has failed or has not been provided."},"403":{"description":"Forbidden - Insufficient permissions to perform the requested operation."},"500":{"description":"Internal Server Error - The server encountered an unexpected condition which prevented it from fulfilling the request. Please report a problem as this situation should not occur."}}}}}}
```

## Add multiple assets

> Adds multiple assets in one go

```json
{"openapi":"3.0.3","info":{"title":"Collibra Data Governance Center Core API","version":"2.0"},"servers":[{"url":"/rest/2.0","variables":{}}],"security":[{"basicAuth":[]},{"jwtAuth":[]},{"oauth2":["kg.manage-all"]}],"components":{"securitySchemes":{"basicAuth":{"type":"http","scheme":"basic"},"jwtAuth":{"type":"http","description":"Collibra REST API authentication using JSON Web Token.","scheme":"bearer","bearerFormat":"JWT"},"oauth2":{"type":"oauth2","description":"Collibra REST API authentication using OAuth 2.","flows":{"clientCredentials":{"tokenUrl":"/rest/oauth/v2/token","scopes":{"sys.admin":"System administration","kg.manage-all":"Manage all knowledge graph resources","kg.view-all":"View any knowledge graph resource","kg.manage-tags":"Manage tags","insights.download":"Download insights reporting zip files","wf.administration":"Workflow administration","wf.use-message-events":"Use workflow events"}}}}},"schemas":{"AddAssetRequest":{"required":["domainId","name"],"type":"object","properties":{"name":{"maxLength":2000,"minLength":1,"type":"string","description":"The full name of the new asset. Should be unique within the domain."},"displayName":{"maxLength":2000,"minLength":1,"type":"string","description":"The display name of the new asset."},"domainId":{"type":"string","description":"The ID of the domain that the new asset should be added to.","format":"uuid"},"typeId":{"type":"string","description":"The ID of the asset type of the new asset.","format":"uuid"},"id":{"type":"string","description":"The ID of the new asset. Should be unique within all assets.<br/>It should have a format of universally unique identifier (UUID) and should not start with <code>00000000-0000-0000-</code> which is a reserved prefix.","format":"uuid"},"statusId":{"type":"string","description":"The ID of the status of the new asset.","format":"uuid"},"excludedFromAutoHyperlinking":{"type":"boolean","description":"Whether or not to exclude the new asset from auto hyperlinking."},"typePublicId":{"type":"string","description":"The public ID of the asset type of the new asset."}}},"AssetImpl":{"required":["id","resourceType"],"type":"object","properties":{"id":{"type":"string","description":"The id of the represented object (entity).","format":"uuid"},"createdBy":{"type":"string","description":"The id of the user that created this resource.","format":"uuid"},"createdOn":{"type":"integer","description":"The timestamp (in UTC time standard) of the creation of this resource.","format":"int64"},"lastModifiedBy":{"type":"string","description":"The id of the user who modified this resource the last time.","format":"uuid"},"lastModifiedOn":{"type":"integer","description":"The timestamp (in UTC time standard) of the last modification of this resource.","format":"int64"},"system":{"type":"boolean","description":"Whether this is a system resource or not."},"resourceType":{"type":"string","description":"The type of the resource, e.g. [Community, Asset, Domain, Attribute, Relation, WorkflowInstance, ...].\nThis property is deprecated and will be removed in the future. In order to stay backwards compatible\nand to enable introduction of new types of resources, where necessary, a resource discriminator\nproperty (of type String) has been added to specific subtypes of Resource,\ne.g. assignedResourceDiscriminator on AssignedResource, or attributeDiscriminator on Attribute.\nFor new types of resource that didn't exist before this change, the resourceType will be\nBaseDataType.\n","deprecated":true,"enum":["View","Asset","Community","Domain","AssetType","DomainType","Status","User","ClassificationMatch","UserGroup","Attribute","StringAttribute","ScriptAttribute","BooleanAttribute","DateAttribute","NumericAttribute","SingleValueListAttribute","MultiValueListAttribute","Comment","Attachment","Responsibility","Workflow","Job","Relation","RelationType","ComplexRelation","ComplexRelationType","ArticulationRule","Assignment","Scope","RelationTrace","ValidationRule","DataQualityRule","DataQualityMetric","Address","InstantMessagingAccount","Email","PhoneNumber","Website","Activity","FormProperty","WorkflowTask","ActivityChange","WorkflowInstance","Role","AttributeType","BooleanAttributeType","DateAttributeType","DateTimeAttributeType","MultiValueListAttributeType","NumericAttributeType","ScriptAttributeType","SingleValueListAttributeType","StringAttributeType","ViewSharingRule","ViewAssignmentRule","JdbcDriverFile","JdbcDriver","JdbcIngestionProperties","CsvIngestionProperties","ExcelIngestionProperties","ConnectionStringParameter","AssignedCharacteristicType","Notification","Tag","ComplexRelationLegType","ComplexRelationAttributeType","ComplexRelationLeg","BaseDataType","AdvancedDataType","DiagramPicture","DiagramPictureSharingRule","DiagramPictureAssignmentRule","Rating","Classification","PhysicalDataConnector","Context"]},"name":{"type":"string","description":"The name of the resource."},"displayName":{"type":"string","description":"The display name of the asset.  <p>  Please note that \"displayName\" corresponds to the \"Name\" in the UI."},"articulationScore":{"type":"number","description":"The articulation score for this asset.  <p>  Expresses how well this asset is articulated.  The articulation score is a percentage number ranging from 0 to 100.  The articulation rules can be configured to calculate the articulation score.  Whenever the asset is modified, by changing its attributes or statuses, the articulation score is re-evaluated.","format":"double"},"excludedFromAutoHyperlinking":{"type":"boolean","description":"Whether this asset is excluded from hyperlinking or not."},"domain":{"$ref":"#/components/schemas/NamedResourceReferenceImpl"},"type":{"$ref":"#/components/schemas/NamedResourceReferenceImpl"},"status":{"$ref":"#/components/schemas/NamedResourceReferenceImpl"},"avgRating":{"type":"number","description":"The average rating.","format":"double"},"ratingsCount":{"type":"integer","description":"The number of ratings.","format":"int32"}}},"NamedResourceReferenceImpl":{"required":["id","resourceType"],"type":"object","properties":{"id":{"type":"string","description":"The id of the referenced resource.","format":"uuid"},"resourceType":{"type":"string","description":"The type of the resource, e.g. [Community, Asset, Domain, Attribute, Relation, WorkflowInstance, ...]. This property is deprecated and will be removed in the future. In order to stay backwards compatible and to enable us to introduce new types of resources, we are replacing the ResourceType enum with a String. For new types of resources that didn't exist before this change, resourceType will be BaseDataType. Please use the resourceDiscriminator property instead. Refer to the object containing the ResourceReference for possible values.","deprecated":true,"enum":["View","Asset","Community","Domain","AssetType","DomainType","Status","User","ClassificationMatch","UserGroup","Attribute","StringAttribute","ScriptAttribute","BooleanAttribute","DateAttribute","NumericAttribute","SingleValueListAttribute","MultiValueListAttribute","Comment","Attachment","Responsibility","Workflow","Job","Relation","RelationType","ComplexRelation","ComplexRelationType","ArticulationRule","Assignment","Scope","RelationTrace","ValidationRule","DataQualityRule","DataQualityMetric","Address","InstantMessagingAccount","Email","PhoneNumber","Website","Activity","FormProperty","WorkflowTask","ActivityChange","WorkflowInstance","Role","AttributeType","BooleanAttributeType","DateAttributeType","DateTimeAttributeType","MultiValueListAttributeType","NumericAttributeType","ScriptAttributeType","SingleValueListAttributeType","StringAttributeType","ViewSharingRule","ViewAssignmentRule","JdbcDriverFile","JdbcDriver","JdbcIngestionProperties","CsvIngestionProperties","ExcelIngestionProperties","ConnectionStringParameter","AssignedCharacteristicType","Notification","Tag","ComplexRelationLegType","ComplexRelationAttributeType","ComplexRelationLeg","BaseDataType","AdvancedDataType","DiagramPicture","DiagramPictureSharingRule","DiagramPictureAssignmentRule","Rating","Classification","PhysicalDataConnector","Context"]},"resourceDiscriminator":{"type":"string","description":"The resource discriminator, which indicates the type of the referenced resource, e.g. \"Community\", \"Asset\", ... Check the documentation of the class using the resource reference for detailed documentation regarding the possible resource discriminator values."},"name":{"type":"string","description":"The name of the referenced resource."}},"description":"Represents reference to the resource, including its name."}}},"paths":{"/assets/bulk":{"post":{"tags":["Assets"],"summary":"Add multiple assets","description":"Adds multiple assets in one go","operationId":"addAssets","requestBody":{"description":"The properties of the assets to be added. Either typeId or typePublicId must be provided.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AddAssetRequest"}}}}},"responses":{"201":{"description":"Created - The request has been fulfilled and resulted in a new resource being created.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AssetImpl"}}}}},"400":{"description":"Bad Request - Request data is malformed or illegal. The request body will contain additional information."},"401":{"description":"Unauthorized - Authentication has failed or has not been provided."},"403":{"description":"Forbidden - Insufficient permissions to perform the requested operation."},"500":{"description":"Internal Server Error - The server encountered an unexpected condition which prevented it from fulfilling the request. Please report a problem as this situation should not occur."}}}}}}
```

## Remove assets

> Removes multiple assets.

```json
{"openapi":"3.0.3","info":{"title":"Collibra Data Governance Center Core API","version":"2.0"},"servers":[{"url":"/rest/2.0","variables":{}}],"security":[{"basicAuth":[]},{"jwtAuth":[]},{"oauth2":["kg.manage-all"]}],"components":{"securitySchemes":{"basicAuth":{"type":"http","scheme":"basic"},"jwtAuth":{"type":"http","description":"Collibra REST API authentication using JSON Web Token.","scheme":"bearer","bearerFormat":"JWT"},"oauth2":{"type":"oauth2","description":"Collibra REST API authentication using OAuth 2.","flows":{"clientCredentials":{"tokenUrl":"/rest/oauth/v2/token","scopes":{"sys.admin":"System administration","kg.manage-all":"Manage all knowledge graph resources","kg.view-all":"View any knowledge graph resource","kg.manage-tags":"Manage tags","insights.download":"Download insights reporting zip files","wf.administration":"Workflow administration","wf.use-message-events":"Use workflow events"}}}}}},"paths":{"/assets/bulk":{"delete":{"tags":["Assets"],"summary":"Remove assets","description":"Removes multiple assets.","operationId":"removeAssets","requestBody":{"description":"The IDs of the assets to be removed","content":{"application/json":{"schema":{"type":"array","items":{"type":"string","format":"uuid"}}}}},"responses":{"204":{"description":"No Content - The server has fulfilled the request but does not need to return an entity-body."},"400":{"description":"Bad Request - Request data is malformed or illegal. The request body will contain additional information."},"401":{"description":"Unauthorized - Authentication has failed or has not been provided."},"403":{"description":"Forbidden - Insufficient permissions to perform the requested operation."},"500":{"description":"Internal Server Error - The server encountered an unexpected condition which prevented it from fulfilling the request. Please report a problem as this situation should not occur."}}}}}}
```

## Change multiple assets

> Changes multiple assets in one go

```json
{"openapi":"3.0.3","info":{"title":"Collibra Data Governance Center Core API","version":"2.0"},"servers":[{"url":"/rest/2.0","variables":{}}],"security":[{"basicAuth":[]},{"jwtAuth":[]},{"oauth2":["kg.manage-all"]}],"components":{"securitySchemes":{"basicAuth":{"type":"http","scheme":"basic"},"jwtAuth":{"type":"http","description":"Collibra REST API authentication using JSON Web Token.","scheme":"bearer","bearerFormat":"JWT"},"oauth2":{"type":"oauth2","description":"Collibra REST API authentication using OAuth 2.","flows":{"clientCredentials":{"tokenUrl":"/rest/oauth/v2/token","scopes":{"sys.admin":"System administration","kg.manage-all":"Manage all knowledge graph resources","kg.view-all":"View any knowledge graph resource","kg.manage-tags":"Manage tags","insights.download":"Download insights reporting zip files","wf.administration":"Workflow administration","wf.use-message-events":"Use workflow events"}}}}},"schemas":{"ChangeAssetRequest":{"required":["id"],"type":"object","properties":{"id":{"type":"string","description":"The ID of the asset to be changed. Silently ignored if the ID is provided as path parameter of the request.","format":"uuid"},"name":{"maxLength":2000,"minLength":1,"type":"string","description":"The new full name for the asset."},"displayName":{"maxLength":2000,"minLength":1,"type":"string","description":"The new display name for the asset."},"typeId":{"type":"string","description":"The ID of the new asset type for the asset.","format":"uuid"},"statusId":{"type":"string","description":"The ID of the new status for the asset.","format":"uuid"},"domainId":{"type":"string","description":"The ID of the new domain for the asset.","format":"uuid"},"excludedFromAutoHyperlinking":{"type":"boolean","description":"Whether the asset should be excluded from hyperlinking or not."},"typePublicId":{"type":"string","description":"The public ID of the new asset type for the asset."}}},"AssetImpl":{"required":["id","resourceType"],"type":"object","properties":{"id":{"type":"string","description":"The id of the represented object (entity).","format":"uuid"},"createdBy":{"type":"string","description":"The id of the user that created this resource.","format":"uuid"},"createdOn":{"type":"integer","description":"The timestamp (in UTC time standard) of the creation of this resource.","format":"int64"},"lastModifiedBy":{"type":"string","description":"The id of the user who modified this resource the last time.","format":"uuid"},"lastModifiedOn":{"type":"integer","description":"The timestamp (in UTC time standard) of the last modification of this resource.","format":"int64"},"system":{"type":"boolean","description":"Whether this is a system resource or not."},"resourceType":{"type":"string","description":"The type of the resource, e.g. [Community, Asset, Domain, Attribute, Relation, WorkflowInstance, ...].\nThis property is deprecated and will be removed in the future. In order to stay backwards compatible\nand to enable introduction of new types of resources, where necessary, a resource discriminator\nproperty (of type String) has been added to specific subtypes of Resource,\ne.g. assignedResourceDiscriminator on AssignedResource, or attributeDiscriminator on Attribute.\nFor new types of resource that didn't exist before this change, the resourceType will be\nBaseDataType.\n","deprecated":true,"enum":["View","Asset","Community","Domain","AssetType","DomainType","Status","User","ClassificationMatch","UserGroup","Attribute","StringAttribute","ScriptAttribute","BooleanAttribute","DateAttribute","NumericAttribute","SingleValueListAttribute","MultiValueListAttribute","Comment","Attachment","Responsibility","Workflow","Job","Relation","RelationType","ComplexRelation","ComplexRelationType","ArticulationRule","Assignment","Scope","RelationTrace","ValidationRule","DataQualityRule","DataQualityMetric","Address","InstantMessagingAccount","Email","PhoneNumber","Website","Activity","FormProperty","WorkflowTask","ActivityChange","WorkflowInstance","Role","AttributeType","BooleanAttributeType","DateAttributeType","DateTimeAttributeType","MultiValueListAttributeType","NumericAttributeType","ScriptAttributeType","SingleValueListAttributeType","StringAttributeType","ViewSharingRule","ViewAssignmentRule","JdbcDriverFile","JdbcDriver","JdbcIngestionProperties","CsvIngestionProperties","ExcelIngestionProperties","ConnectionStringParameter","AssignedCharacteristicType","Notification","Tag","ComplexRelationLegType","ComplexRelationAttributeType","ComplexRelationLeg","BaseDataType","AdvancedDataType","DiagramPicture","DiagramPictureSharingRule","DiagramPictureAssignmentRule","Rating","Classification","PhysicalDataConnector","Context"]},"name":{"type":"string","description":"The name of the resource."},"displayName":{"type":"string","description":"The display name of the asset.  <p>  Please note that \"displayName\" corresponds to the \"Name\" in the UI."},"articulationScore":{"type":"number","description":"The articulation score for this asset.  <p>  Expresses how well this asset is articulated.  The articulation score is a percentage number ranging from 0 to 100.  The articulation rules can be configured to calculate the articulation score.  Whenever the asset is modified, by changing its attributes or statuses, the articulation score is re-evaluated.","format":"double"},"excludedFromAutoHyperlinking":{"type":"boolean","description":"Whether this asset is excluded from hyperlinking or not."},"domain":{"$ref":"#/components/schemas/NamedResourceReferenceImpl"},"type":{"$ref":"#/components/schemas/NamedResourceReferenceImpl"},"status":{"$ref":"#/components/schemas/NamedResourceReferenceImpl"},"avgRating":{"type":"number","description":"The average rating.","format":"double"},"ratingsCount":{"type":"integer","description":"The number of ratings.","format":"int32"}}},"NamedResourceReferenceImpl":{"required":["id","resourceType"],"type":"object","properties":{"id":{"type":"string","description":"The id of the referenced resource.","format":"uuid"},"resourceType":{"type":"string","description":"The type of the resource, e.g. [Community, Asset, Domain, Attribute, Relation, WorkflowInstance, ...]. This property is deprecated and will be removed in the future. In order to stay backwards compatible and to enable us to introduce new types of resources, we are replacing the ResourceType enum with a String. For new types of resources that didn't exist before this change, resourceType will be BaseDataType. Please use the resourceDiscriminator property instead. Refer to the object containing the ResourceReference for possible values.","deprecated":true,"enum":["View","Asset","Community","Domain","AssetType","DomainType","Status","User","ClassificationMatch","UserGroup","Attribute","StringAttribute","ScriptAttribute","BooleanAttribute","DateAttribute","NumericAttribute","SingleValueListAttribute","MultiValueListAttribute","Comment","Attachment","Responsibility","Workflow","Job","Relation","RelationType","ComplexRelation","ComplexRelationType","ArticulationRule","Assignment","Scope","RelationTrace","ValidationRule","DataQualityRule","DataQualityMetric","Address","InstantMessagingAccount","Email","PhoneNumber","Website","Activity","FormProperty","WorkflowTask","ActivityChange","WorkflowInstance","Role","AttributeType","BooleanAttributeType","DateAttributeType","DateTimeAttributeType","MultiValueListAttributeType","NumericAttributeType","ScriptAttributeType","SingleValueListAttributeType","StringAttributeType","ViewSharingRule","ViewAssignmentRule","JdbcDriverFile","JdbcDriver","JdbcIngestionProperties","CsvIngestionProperties","ExcelIngestionProperties","ConnectionStringParameter","AssignedCharacteristicType","Notification","Tag","ComplexRelationLegType","ComplexRelationAttributeType","ComplexRelationLeg","BaseDataType","AdvancedDataType","DiagramPicture","DiagramPictureSharingRule","DiagramPictureAssignmentRule","Rating","Classification","PhysicalDataConnector","Context"]},"resourceDiscriminator":{"type":"string","description":"The resource discriminator, which indicates the type of the referenced resource, e.g. \"Community\", \"Asset\", ... Check the documentation of the class using the resource reference for detailed documentation regarding the possible resource discriminator values."},"name":{"type":"string","description":"The name of the referenced resource."}},"description":"Represents reference to the resource, including its name."}}},"paths":{"/assets/bulk":{"patch":{"tags":["Assets"],"summary":"Change multiple assets","description":"Changes multiple assets in one go","operationId":"changeAssets","requestBody":{"description":"The properties of the assets to be changed","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ChangeAssetRequest"}}}}},"responses":{"200":{"description":"OK - The request has succeeded.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AssetImpl"}}}}},"400":{"description":"Bad Request - Request data is malformed or illegal. The request body will contain additional information."},"401":{"description":"Unauthorized - Authentication has failed or has not been provided."},"403":{"description":"Forbidden - Insufficient permissions to perform the requested operation."},"404":{"description":"Not Found - One of the requested resources could not be found or the requested URI is invalid."},"500":{"description":"Internal Server Error - The server encountered an unexpected condition which prevented it from fulfilling the request. Please report a problem as this situation should not occur."}}}}}}
```

## Get asset tags

> Returns all tags of the asset with the given ID.

```json
{"openapi":"3.0.3","info":{"title":"Collibra Data Governance Center Core API","version":"2.0"},"servers":[{"url":"/rest/2.0","variables":{}}],"security":[{"basicAuth":[]},{"jwtAuth":[]},{"oauth2":["kg.view-all"]},{"oauth2":[]}],"components":{"securitySchemes":{"basicAuth":{"type":"http","scheme":"basic"},"jwtAuth":{"type":"http","description":"Collibra REST API authentication using JSON Web Token.","scheme":"bearer","bearerFormat":"JWT"},"oauth2":{"type":"oauth2","description":"Collibra REST API authentication using OAuth 2.","flows":{"clientCredentials":{"tokenUrl":"/rest/oauth/v2/token","scopes":{"sys.admin":"System administration","kg.manage-all":"Manage all knowledge graph resources","kg.view-all":"View any knowledge graph resource","kg.manage-tags":"Manage tags","insights.download":"Download insights reporting zip files","wf.administration":"Workflow administration","wf.use-message-events":"Use workflow events"}}}}},"schemas":{"Tag":{"required":["id","resourceType"],"type":"object","properties":{"id":{"type":"string","description":"The id of the represented object (entity).","format":"uuid"},"createdBy":{"type":"string","description":"The id of the user that created this resource.","format":"uuid"},"createdOn":{"type":"integer","description":"The timestamp (in UTC time standard) of the creation of this resource.","format":"int64"},"lastModifiedBy":{"type":"string","description":"The id of the user who modified this resource the last time.","format":"uuid"},"lastModifiedOn":{"type":"integer","description":"The timestamp (in UTC time standard) of the last modification of this resource.","format":"int64"},"system":{"type":"boolean","description":"Whether this is a system resource or not."},"resourceType":{"type":"string","description":"The type of the resource, e.g. [Community, Asset, Domain, Attribute, Relation, WorkflowInstance, ...].\nThis property is deprecated and will be removed in the future. In order to stay backwards compatible\nand to enable introduction of new types of resources, where necessary, a resource discriminator\nproperty (of type String) has been added to specific subtypes of Resource,\ne.g. assignedResourceDiscriminator on AssignedResource, or attributeDiscriminator on Attribute.\nFor new types of resource that didn't exist before this change, the resourceType will be\nBaseDataType.\n","deprecated":true,"enum":["View","Asset","Community","Domain","AssetType","DomainType","Status","User","ClassificationMatch","UserGroup","Attribute","StringAttribute","ScriptAttribute","BooleanAttribute","DateAttribute","NumericAttribute","SingleValueListAttribute","MultiValueListAttribute","Comment","Attachment","Responsibility","Workflow","Job","Relation","RelationType","ComplexRelation","ComplexRelationType","ArticulationRule","Assignment","Scope","RelationTrace","ValidationRule","DataQualityRule","DataQualityMetric","Address","InstantMessagingAccount","Email","PhoneNumber","Website","Activity","FormProperty","WorkflowTask","ActivityChange","WorkflowInstance","Role","AttributeType","BooleanAttributeType","DateAttributeType","DateTimeAttributeType","MultiValueListAttributeType","NumericAttributeType","ScriptAttributeType","SingleValueListAttributeType","StringAttributeType","ViewSharingRule","ViewAssignmentRule","JdbcDriverFile","JdbcDriver","JdbcIngestionProperties","CsvIngestionProperties","ExcelIngestionProperties","ConnectionStringParameter","AssignedCharacteristicType","Notification","Tag","ComplexRelationLegType","ComplexRelationAttributeType","ComplexRelationLeg","BaseDataType","AdvancedDataType","DiagramPicture","DiagramPictureSharingRule","DiagramPictureAssignmentRule","Rating","Classification","PhysicalDataConnector","Context"]},"name":{"type":"string","description":"The name of the tag."},"description":{"type":"string","description":"The description of the tag."},"assetsCount":{"type":"integer","description":"Count of all assets to which this tag is assigned.","format":"int32"}},"description":"Represents a tag. Tag is a label applied to one or more assets and used to enrich content with additional meta-data in a crowdsourcing way without having to go through the formal process."}}},"paths":{"/assets/{assetId}/tags":{"get":{"tags":["Assets"],"summary":"Get asset tags","description":"Returns all tags of the asset with the given ID.","operationId":"getAssetTags","parameters":[{"name":"assetId","in":"path","description":"The ID of the asset","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK - The request has succeeded.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Tag"}}}}},"401":{"description":"Unauthorized - Authentication has failed or has not been provided."},"403":{"description":"Forbidden - Insufficient permissions to perform the requested operation."},"404":{"description":"Not Found - One of the requested resources could not be found or the requested URI is invalid."},"500":{"description":"Internal Server Error - The server encountered an unexpected condition which prevented it from fulfilling the request. Please report a problem as this situation should not occur."}}}}}}
```

## Add tags

> Adds tags to the asset with the given ID.

```json
{"openapi":"3.0.3","info":{"title":"Collibra Data Governance Center Core API","version":"2.0"},"servers":[{"url":"/rest/2.0","variables":{}}],"security":[{"basicAuth":[]},{"jwtAuth":[]},{"oauth2":["kg.manage-all"]}],"components":{"securitySchemes":{"basicAuth":{"type":"http","scheme":"basic"},"jwtAuth":{"type":"http","description":"Collibra REST API authentication using JSON Web Token.","scheme":"bearer","bearerFormat":"JWT"},"oauth2":{"type":"oauth2","description":"Collibra REST API authentication using OAuth 2.","flows":{"clientCredentials":{"tokenUrl":"/rest/oauth/v2/token","scopes":{"sys.admin":"System administration","kg.manage-all":"Manage all knowledge graph resources","kg.view-all":"View any knowledge graph resource","kg.manage-tags":"Manage tags","insights.download":"Download insights reporting zip files","wf.administration":"Workflow administration","wf.use-message-events":"Use workflow events"}}}}},"schemas":{"AddAssetTagsRequest":{"required":["tagNames"],"type":"object","properties":{"tagNames":{"type":"array","description":"The names of the tags to be applied on given asset.","items":{"type":"string","description":"The names of the tags to be applied on given asset."}}}},"Tag":{"required":["id","resourceType"],"type":"object","properties":{"id":{"type":"string","description":"The id of the represented object (entity).","format":"uuid"},"createdBy":{"type":"string","description":"The id of the user that created this resource.","format":"uuid"},"createdOn":{"type":"integer","description":"The timestamp (in UTC time standard) of the creation of this resource.","format":"int64"},"lastModifiedBy":{"type":"string","description":"The id of the user who modified this resource the last time.","format":"uuid"},"lastModifiedOn":{"type":"integer","description":"The timestamp (in UTC time standard) of the last modification of this resource.","format":"int64"},"system":{"type":"boolean","description":"Whether this is a system resource or not."},"resourceType":{"type":"string","description":"The type of the resource, e.g. [Community, Asset, Domain, Attribute, Relation, WorkflowInstance, ...].\nThis property is deprecated and will be removed in the future. In order to stay backwards compatible\nand to enable introduction of new types of resources, where necessary, a resource discriminator\nproperty (of type String) has been added to specific subtypes of Resource,\ne.g. assignedResourceDiscriminator on AssignedResource, or attributeDiscriminator on Attribute.\nFor new types of resource that didn't exist before this change, the resourceType will be\nBaseDataType.\n","deprecated":true,"enum":["View","Asset","Community","Domain","AssetType","DomainType","Status","User","ClassificationMatch","UserGroup","Attribute","StringAttribute","ScriptAttribute","BooleanAttribute","DateAttribute","NumericAttribute","SingleValueListAttribute","MultiValueListAttribute","Comment","Attachment","Responsibility","Workflow","Job","Relation","RelationType","ComplexRelation","ComplexRelationType","ArticulationRule","Assignment","Scope","RelationTrace","ValidationRule","DataQualityRule","DataQualityMetric","Address","InstantMessagingAccount","Email","PhoneNumber","Website","Activity","FormProperty","WorkflowTask","ActivityChange","WorkflowInstance","Role","AttributeType","BooleanAttributeType","DateAttributeType","DateTimeAttributeType","MultiValueListAttributeType","NumericAttributeType","ScriptAttributeType","SingleValueListAttributeType","StringAttributeType","ViewSharingRule","ViewAssignmentRule","JdbcDriverFile","JdbcDriver","JdbcIngestionProperties","CsvIngestionProperties","ExcelIngestionProperties","ConnectionStringParameter","AssignedCharacteristicType","Notification","Tag","ComplexRelationLegType","ComplexRelationAttributeType","ComplexRelationLeg","BaseDataType","AdvancedDataType","DiagramPicture","DiagramPictureSharingRule","DiagramPictureAssignmentRule","Rating","Classification","PhysicalDataConnector","Context"]},"name":{"type":"string","description":"The name of the tag."},"description":{"type":"string","description":"The description of the tag."},"assetsCount":{"type":"integer","description":"Count of all assets to which this tag is assigned.","format":"int32"}},"description":"Represents a tag. Tag is a label applied to one or more assets and used to enrich content with additional meta-data in a crowdsourcing way without having to go through the formal process."}}},"paths":{"/assets/{assetId}/tags":{"post":{"tags":["Assets"],"summary":"Add tags","description":"Adds tags to the asset with the given ID.","operationId":"addTagsToAsset","parameters":[{"name":"assetId","in":"path","description":"The ID of the asset","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"description":"The tags to be added to a given asset","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddAssetTagsRequest"}}}},"responses":{"201":{"description":"Created - The request has been fulfilled and resulted in a new resource being created.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Tag"}}}}},"400":{"description":"Bad Request - Request data is malformed or illegal. The request body will contain additional information."},"401":{"description":"Unauthorized - Authentication has failed or has not been provided."},"403":{"description":"Forbidden - Insufficient permissions to perform the requested operation."},"404":{"description":"Not Found - One of the requested resources could not be found or the requested URI is invalid."},"500":{"description":"Internal Server Error - The server encountered an unexpected condition which prevented it from fulfilling the request. Please report a problem as this situation should not occur."}}}}}}
```

## Set asset tags

> Sets tags for the asset with the given ID. The asset will contain only those tags specified in the request.

```json
{"openapi":"3.0.3","info":{"title":"Collibra Data Governance Center Core API","version":"2.0"},"servers":[{"url":"/rest/2.0","variables":{}}],"security":[{"basicAuth":[]},{"jwtAuth":[]},{"oauth2":["kg.manage-all"]}],"components":{"securitySchemes":{"basicAuth":{"type":"http","scheme":"basic"},"jwtAuth":{"type":"http","description":"Collibra REST API authentication using JSON Web Token.","scheme":"bearer","bearerFormat":"JWT"},"oauth2":{"type":"oauth2","description":"Collibra REST API authentication using OAuth 2.","flows":{"clientCredentials":{"tokenUrl":"/rest/oauth/v2/token","scopes":{"sys.admin":"System administration","kg.manage-all":"Manage all knowledge graph resources","kg.view-all":"View any knowledge graph resource","kg.manage-tags":"Manage tags","insights.download":"Download insights reporting zip files","wf.administration":"Workflow administration","wf.use-message-events":"Use workflow events"}}}}},"schemas":{"SetAssetTagsRequest":{"required":["tagNames"],"type":"object","properties":{"tagNames":{"type":"array","description":"The names of the tags to be applied on given asset.","items":{"type":"string","description":"The names of the tags to be applied on given asset."}}}},"Tag":{"required":["id","resourceType"],"type":"object","properties":{"id":{"type":"string","description":"The id of the represented object (entity).","format":"uuid"},"createdBy":{"type":"string","description":"The id of the user that created this resource.","format":"uuid"},"createdOn":{"type":"integer","description":"The timestamp (in UTC time standard) of the creation of this resource.","format":"int64"},"lastModifiedBy":{"type":"string","description":"The id of the user who modified this resource the last time.","format":"uuid"},"lastModifiedOn":{"type":"integer","description":"The timestamp (in UTC time standard) of the last modification of this resource.","format":"int64"},"system":{"type":"boolean","description":"Whether this is a system resource or not."},"resourceType":{"type":"string","description":"The type of the resource, e.g. [Community, Asset, Domain, Attribute, Relation, WorkflowInstance, ...].\nThis property is deprecated and will be removed in the future. In order to stay backwards compatible\nand to enable introduction of new types of resources, where necessary, a resource discriminator\nproperty (of type String) has been added to specific subtypes of Resource,\ne.g. assignedResourceDiscriminator on AssignedResource, or attributeDiscriminator on Attribute.\nFor new types of resource that didn't exist before this change, the resourceType will be\nBaseDataType.\n","deprecated":true,"enum":["View","Asset","Community","Domain","AssetType","DomainType","Status","User","ClassificationMatch","UserGroup","Attribute","StringAttribute","ScriptAttribute","BooleanAttribute","DateAttribute","NumericAttribute","SingleValueListAttribute","MultiValueListAttribute","Comment","Attachment","Responsibility","Workflow","Job","Relation","RelationType","ComplexRelation","ComplexRelationType","ArticulationRule","Assignment","Scope","RelationTrace","ValidationRule","DataQualityRule","DataQualityMetric","Address","InstantMessagingAccount","Email","PhoneNumber","Website","Activity","FormProperty","WorkflowTask","ActivityChange","WorkflowInstance","Role","AttributeType","BooleanAttributeType","DateAttributeType","DateTimeAttributeType","MultiValueListAttributeType","NumericAttributeType","ScriptAttributeType","SingleValueListAttributeType","StringAttributeType","ViewSharingRule","ViewAssignmentRule","JdbcDriverFile","JdbcDriver","JdbcIngestionProperties","CsvIngestionProperties","ExcelIngestionProperties","ConnectionStringParameter","AssignedCharacteristicType","Notification","Tag","ComplexRelationLegType","ComplexRelationAttributeType","ComplexRelationLeg","BaseDataType","AdvancedDataType","DiagramPicture","DiagramPictureSharingRule","DiagramPictureAssignmentRule","Rating","Classification","PhysicalDataConnector","Context"]},"name":{"type":"string","description":"The name of the tag."},"description":{"type":"string","description":"The description of the tag."},"assetsCount":{"type":"integer","description":"Count of all assets to which this tag is assigned.","format":"int32"}},"description":"Represents a tag. Tag is a label applied to one or more assets and used to enrich content with additional meta-data in a crowdsourcing way without having to go through the formal process."}}},"paths":{"/assets/{assetId}/tags":{"put":{"tags":["Assets"],"summary":"Set asset tags","description":"Sets tags for the asset with the given ID. The asset will contain only those tags specified in the request.","operationId":"setTagsForAsset","parameters":[{"name":"assetId","in":"path","description":"The ID of the asset","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"description":"The tags to be set on given asset","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SetAssetTagsRequest"}}}},"responses":{"200":{"description":"OK - The request has succeeded.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Tag"}}}}},"400":{"description":"Bad Request - Request data is malformed or illegal. The request body will contain additional information."},"401":{"description":"Unauthorized - Authentication has failed or has not been provided."},"403":{"description":"Forbidden - Insufficient permissions to perform the requested operation."},"404":{"description":"Not Found - One of the requested resources could not be found or the requested URI is invalid."},"500":{"description":"Internal Server Error - The server encountered an unexpected condition which prevented it from fulfilling the request. Please report a problem as this situation should not occur."}}}}}}
```

## Remove tags

> Removes tags from the asset with the given ID.

```json
{"openapi":"3.0.3","info":{"title":"Collibra Data Governance Center Core API","version":"2.0"},"servers":[{"url":"/rest/2.0","variables":{}}],"security":[{"basicAuth":[]},{"jwtAuth":[]},{"oauth2":["kg.manage-all"]}],"components":{"securitySchemes":{"basicAuth":{"type":"http","scheme":"basic"},"jwtAuth":{"type":"http","description":"Collibra REST API authentication using JSON Web Token.","scheme":"bearer","bearerFormat":"JWT"},"oauth2":{"type":"oauth2","description":"Collibra REST API authentication using OAuth 2.","flows":{"clientCredentials":{"tokenUrl":"/rest/oauth/v2/token","scopes":{"sys.admin":"System administration","kg.manage-all":"Manage all knowledge graph resources","kg.view-all":"View any knowledge graph resource","kg.manage-tags":"Manage tags","insights.download":"Download insights reporting zip files","wf.administration":"Workflow administration","wf.use-message-events":"Use workflow events"}}}}},"schemas":{"RemoveAssetTagsRequest":{"required":["tagNames"],"type":"object","properties":{"tagNames":{"type":"array","description":"The names of the tags to be removed from given asset.","items":{"type":"string","description":"The names of the tags to be removed from given asset."}}}}}},"paths":{"/assets/{assetId}/tags":{"delete":{"tags":["Assets"],"summary":"Remove tags","description":"Removes tags from the asset with the given ID.","operationId":"removeTagsFromAsset","parameters":[{"name":"assetId","in":"path","description":"The ID of the asset","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"description":"The tags to be removed from given asset","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RemoveAssetTagsRequest"}}}},"responses":{"204":{"description":"No Content - The server has fulfilled the request but does not need to return an entity-body."},"400":{"description":"Bad Request - Request data is malformed or illegal. The request body will contain additional information."},"401":{"description":"Unauthorized - Authentication has failed or has not been provided."},"403":{"description":"Forbidden - Insufficient permissions to perform the requested operation."},"404":{"description":"Not Found - One of the requested resources could not be found or the requested URI is invalid."},"500":{"description":"Internal Server Error - The server encountered an unexpected condition which prevented it from fulfilling the request. Please report a problem as this situation should not occur."}}}}}}
```

## Get asset

> Returns the asset having the given ID.

```json
{"openapi":"3.0.3","info":{"title":"Collibra Data Governance Center Core API","version":"2.0"},"servers":[{"url":"/rest/2.0","variables":{}}],"security":[{"basicAuth":[]},{"jwtAuth":[]},{"oauth2":["kg.view-all"]},{"oauth2":[]}],"components":{"securitySchemes":{"basicAuth":{"type":"http","scheme":"basic"},"jwtAuth":{"type":"http","description":"Collibra REST API authentication using JSON Web Token.","scheme":"bearer","bearerFormat":"JWT"},"oauth2":{"type":"oauth2","description":"Collibra REST API authentication using OAuth 2.","flows":{"clientCredentials":{"tokenUrl":"/rest/oauth/v2/token","scopes":{"sys.admin":"System administration","kg.manage-all":"Manage all knowledge graph resources","kg.view-all":"View any knowledge graph resource","kg.manage-tags":"Manage tags","insights.download":"Download insights reporting zip files","wf.administration":"Workflow administration","wf.use-message-events":"Use workflow events"}}}}},"schemas":{"AssetImpl":{"required":["id","resourceType"],"type":"object","properties":{"id":{"type":"string","description":"The id of the represented object (entity).","format":"uuid"},"createdBy":{"type":"string","description":"The id of the user that created this resource.","format":"uuid"},"createdOn":{"type":"integer","description":"The timestamp (in UTC time standard) of the creation of this resource.","format":"int64"},"lastModifiedBy":{"type":"string","description":"The id of the user who modified this resource the last time.","format":"uuid"},"lastModifiedOn":{"type":"integer","description":"The timestamp (in UTC time standard) of the last modification of this resource.","format":"int64"},"system":{"type":"boolean","description":"Whether this is a system resource or not."},"resourceType":{"type":"string","description":"The type of the resource, e.g. [Community, Asset, Domain, Attribute, Relation, WorkflowInstance, ...].\nThis property is deprecated and will be removed in the future. In order to stay backwards compatible\nand to enable introduction of new types of resources, where necessary, a resource discriminator\nproperty (of type String) has been added to specific subtypes of Resource,\ne.g. assignedResourceDiscriminator on AssignedResource, or attributeDiscriminator on Attribute.\nFor new types of resource that didn't exist before this change, the resourceType will be\nBaseDataType.\n","deprecated":true,"enum":["View","Asset","Community","Domain","AssetType","DomainType","Status","User","ClassificationMatch","UserGroup","Attribute","StringAttribute","ScriptAttribute","BooleanAttribute","DateAttribute","NumericAttribute","SingleValueListAttribute","MultiValueListAttribute","Comment","Attachment","Responsibility","Workflow","Job","Relation","RelationType","ComplexRelation","ComplexRelationType","ArticulationRule","Assignment","Scope","RelationTrace","ValidationRule","DataQualityRule","DataQualityMetric","Address","InstantMessagingAccount","Email","PhoneNumber","Website","Activity","FormProperty","WorkflowTask","ActivityChange","WorkflowInstance","Role","AttributeType","BooleanAttributeType","DateAttributeType","DateTimeAttributeType","MultiValueListAttributeType","NumericAttributeType","ScriptAttributeType","SingleValueListAttributeType","StringAttributeType","ViewSharingRule","ViewAssignmentRule","JdbcDriverFile","JdbcDriver","JdbcIngestionProperties","CsvIngestionProperties","ExcelIngestionProperties","ConnectionStringParameter","AssignedCharacteristicType","Notification","Tag","ComplexRelationLegType","ComplexRelationAttributeType","ComplexRelationLeg","BaseDataType","AdvancedDataType","DiagramPicture","DiagramPictureSharingRule","DiagramPictureAssignmentRule","Rating","Classification","PhysicalDataConnector","Context"]},"name":{"type":"string","description":"The name of the resource."},"displayName":{"type":"string","description":"The display name of the asset.  <p>  Please note that \"displayName\" corresponds to the \"Name\" in the UI."},"articulationScore":{"type":"number","description":"The articulation score for this asset.  <p>  Expresses how well this asset is articulated.  The articulation score is a percentage number ranging from 0 to 100.  The articulation rules can be configured to calculate the articulation score.  Whenever the asset is modified, by changing its attributes or statuses, the articulation score is re-evaluated.","format":"double"},"excludedFromAutoHyperlinking":{"type":"boolean","description":"Whether this asset is excluded from hyperlinking or not."},"domain":{"$ref":"#/components/schemas/NamedResourceReferenceImpl"},"type":{"$ref":"#/components/schemas/NamedResourceReferenceImpl"},"status":{"$ref":"#/components/schemas/NamedResourceReferenceImpl"},"avgRating":{"type":"number","description":"The average rating.","format":"double"},"ratingsCount":{"type":"integer","description":"The number of ratings.","format":"int32"}}},"NamedResourceReferenceImpl":{"required":["id","resourceType"],"type":"object","properties":{"id":{"type":"string","description":"The id of the referenced resource.","format":"uuid"},"resourceType":{"type":"string","description":"The type of the resource, e.g. [Community, Asset, Domain, Attribute, Relation, WorkflowInstance, ...]. This property is deprecated and will be removed in the future. In order to stay backwards compatible and to enable us to introduce new types of resources, we are replacing the ResourceType enum with a String. For new types of resources that didn't exist before this change, resourceType will be BaseDataType. Please use the resourceDiscriminator property instead. Refer to the object containing the ResourceReference for possible values.","deprecated":true,"enum":["View","Asset","Community","Domain","AssetType","DomainType","Status","User","ClassificationMatch","UserGroup","Attribute","StringAttribute","ScriptAttribute","BooleanAttribute","DateAttribute","NumericAttribute","SingleValueListAttribute","MultiValueListAttribute","Comment","Attachment","Responsibility","Workflow","Job","Relation","RelationType","ComplexRelation","ComplexRelationType","ArticulationRule","Assignment","Scope","RelationTrace","ValidationRule","DataQualityRule","DataQualityMetric","Address","InstantMessagingAccount","Email","PhoneNumber","Website","Activity","FormProperty","WorkflowTask","ActivityChange","WorkflowInstance","Role","AttributeType","BooleanAttributeType","DateAttributeType","DateTimeAttributeType","MultiValueListAttributeType","NumericAttributeType","ScriptAttributeType","SingleValueListAttributeType","StringAttributeType","ViewSharingRule","ViewAssignmentRule","JdbcDriverFile","JdbcDriver","JdbcIngestionProperties","CsvIngestionProperties","ExcelIngestionProperties","ConnectionStringParameter","AssignedCharacteristicType","Notification","Tag","ComplexRelationLegType","ComplexRelationAttributeType","ComplexRelationLeg","BaseDataType","AdvancedDataType","DiagramPicture","DiagramPictureSharingRule","DiagramPictureAssignmentRule","Rating","Classification","PhysicalDataConnector","Context"]},"resourceDiscriminator":{"type":"string","description":"The resource discriminator, which indicates the type of the referenced resource, e.g. \"Community\", \"Asset\", ... Check the documentation of the class using the resource reference for detailed documentation regarding the possible resource discriminator values."},"name":{"type":"string","description":"The name of the referenced resource."}},"description":"Represents reference to the resource, including its name."}}},"paths":{"/assets/{assetId}":{"get":{"tags":["Assets"],"summary":"Get asset","description":"Returns the asset having the given ID.","operationId":"getAsset","parameters":[{"name":"assetId","in":"path","description":"The ID of the asset","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK - The request has succeeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssetImpl"}}}},"401":{"description":"Unauthorized - Authentication has failed or has not been provided."},"403":{"description":"Forbidden - Insufficient permissions to perform the requested operation."},"404":{"description":"Not Found - One of the requested resources could not be found or the requested URI is invalid."},"500":{"description":"Internal Server Error - The server encountered an unexpected condition which prevented it from fulfilling the request. Please report a problem as this situation should not occur."}}}}}}
```

## Remove asset

> Removes an asset identified by given ID.

```json
{"openapi":"3.0.3","info":{"title":"Collibra Data Governance Center Core API","version":"2.0"},"servers":[{"url":"/rest/2.0","variables":{}}],"security":[{"basicAuth":[]},{"jwtAuth":[]},{"oauth2":["kg.manage-all"]}],"components":{"securitySchemes":{"basicAuth":{"type":"http","scheme":"basic"},"jwtAuth":{"type":"http","description":"Collibra REST API authentication using JSON Web Token.","scheme":"bearer","bearerFormat":"JWT"},"oauth2":{"type":"oauth2","description":"Collibra REST API authentication using OAuth 2.","flows":{"clientCredentials":{"tokenUrl":"/rest/oauth/v2/token","scopes":{"sys.admin":"System administration","kg.manage-all":"Manage all knowledge graph resources","kg.view-all":"View any knowledge graph resource","kg.manage-tags":"Manage tags","insights.download":"Download insights reporting zip files","wf.administration":"Workflow administration","wf.use-message-events":"Use workflow events"}}}}}},"paths":{"/assets/{assetId}":{"delete":{"tags":["Assets"],"summary":"Remove asset","description":"Removes an asset identified by given ID.","operationId":"removeAsset","parameters":[{"name":"assetId","in":"path","description":"The ID of the asset","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"204":{"description":"No Content - The server has fulfilled the request but does not need to return an entity-body."},"401":{"description":"Unauthorized - Authentication has failed or has not been provided."},"403":{"description":"Forbidden - Insufficient permissions to perform the requested operation."},"404":{"description":"Not Found - One of the requested resources could not be found or the requested URI is invalid."},"500":{"description":"Internal Server Error - The server encountered an unexpected condition which prevented it from fulfilling the request. Please report a problem as this situation should not occur."}}}}}}
```

## Change asset

> Changes the asset with the given ID as specified by the given request. Only properties that are specified in this request and have not \<code>null\</code> values are updated. All other properties are ignored.

```json
{"openapi":"3.0.3","info":{"title":"Collibra Data Governance Center Core API","version":"2.0"},"servers":[{"url":"/rest/2.0","variables":{}}],"security":[{"basicAuth":[]},{"jwtAuth":[]},{"oauth2":["kg.manage-all"]}],"components":{"securitySchemes":{"basicAuth":{"type":"http","scheme":"basic"},"jwtAuth":{"type":"http","description":"Collibra REST API authentication using JSON Web Token.","scheme":"bearer","bearerFormat":"JWT"},"oauth2":{"type":"oauth2","description":"Collibra REST API authentication using OAuth 2.","flows":{"clientCredentials":{"tokenUrl":"/rest/oauth/v2/token","scopes":{"sys.admin":"System administration","kg.manage-all":"Manage all knowledge graph resources","kg.view-all":"View any knowledge graph resource","kg.manage-tags":"Manage tags","insights.download":"Download insights reporting zip files","wf.administration":"Workflow administration","wf.use-message-events":"Use workflow events"}}}}},"schemas":{"ChangeAssetRequest":{"required":["id"],"type":"object","properties":{"id":{"type":"string","description":"The ID of the asset to be changed. Silently ignored if the ID is provided as path parameter of the request.","format":"uuid"},"name":{"maxLength":2000,"minLength":1,"type":"string","description":"The new full name for the asset."},"displayName":{"maxLength":2000,"minLength":1,"type":"string","description":"The new display name for the asset."},"typeId":{"type":"string","description":"The ID of the new asset type for the asset.","format":"uuid"},"statusId":{"type":"string","description":"The ID of the new status for the asset.","format":"uuid"},"domainId":{"type":"string","description":"The ID of the new domain for the asset.","format":"uuid"},"excludedFromAutoHyperlinking":{"type":"boolean","description":"Whether the asset should be excluded from hyperlinking or not."},"typePublicId":{"type":"string","description":"The public ID of the new asset type for the asset."}}},"AssetImpl":{"required":["id","resourceType"],"type":"object","properties":{"id":{"type":"string","description":"The id of the represented object (entity).","format":"uuid"},"createdBy":{"type":"string","description":"The id of the user that created this resource.","format":"uuid"},"createdOn":{"type":"integer","description":"The timestamp (in UTC time standard) of the creation of this resource.","format":"int64"},"lastModifiedBy":{"type":"string","description":"The id of the user who modified this resource the last time.","format":"uuid"},"lastModifiedOn":{"type":"integer","description":"The timestamp (in UTC time standard) of the last modification of this resource.","format":"int64"},"system":{"type":"boolean","description":"Whether this is a system resource or not."},"resourceType":{"type":"string","description":"The type of the resource, e.g. [Community, Asset, Domain, Attribute, Relation, WorkflowInstance, ...].\nThis property is deprecated and will be removed in the future. In order to stay backwards compatible\nand to enable introduction of new types of resources, where necessary, a resource discriminator\nproperty (of type String) has been added to specific subtypes of Resource,\ne.g. assignedResourceDiscriminator on AssignedResource, or attributeDiscriminator on Attribute.\nFor new types of resource that didn't exist before this change, the resourceType will be\nBaseDataType.\n","deprecated":true,"enum":["View","Asset","Community","Domain","AssetType","DomainType","Status","User","ClassificationMatch","UserGroup","Attribute","StringAttribute","ScriptAttribute","BooleanAttribute","DateAttribute","NumericAttribute","SingleValueListAttribute","MultiValueListAttribute","Comment","Attachment","Responsibility","Workflow","Job","Relation","RelationType","ComplexRelation","ComplexRelationType","ArticulationRule","Assignment","Scope","RelationTrace","ValidationRule","DataQualityRule","DataQualityMetric","Address","InstantMessagingAccount","Email","PhoneNumber","Website","Activity","FormProperty","WorkflowTask","ActivityChange","WorkflowInstance","Role","AttributeType","BooleanAttributeType","DateAttributeType","DateTimeAttributeType","MultiValueListAttributeType","NumericAttributeType","ScriptAttributeType","SingleValueListAttributeType","StringAttributeType","ViewSharingRule","ViewAssignmentRule","JdbcDriverFile","JdbcDriver","JdbcIngestionProperties","CsvIngestionProperties","ExcelIngestionProperties","ConnectionStringParameter","AssignedCharacteristicType","Notification","Tag","ComplexRelationLegType","ComplexRelationAttributeType","ComplexRelationLeg","BaseDataType","AdvancedDataType","DiagramPicture","DiagramPictureSharingRule","DiagramPictureAssignmentRule","Rating","Classification","PhysicalDataConnector","Context"]},"name":{"type":"string","description":"The name of the resource."},"displayName":{"type":"string","description":"The display name of the asset.  <p>  Please note that \"displayName\" corresponds to the \"Name\" in the UI."},"articulationScore":{"type":"number","description":"The articulation score for this asset.  <p>  Expresses how well this asset is articulated.  The articulation score is a percentage number ranging from 0 to 100.  The articulation rules can be configured to calculate the articulation score.  Whenever the asset is modified, by changing its attributes or statuses, the articulation score is re-evaluated.","format":"double"},"excludedFromAutoHyperlinking":{"type":"boolean","description":"Whether this asset is excluded from hyperlinking or not."},"domain":{"$ref":"#/components/schemas/NamedResourceReferenceImpl"},"type":{"$ref":"#/components/schemas/NamedResourceReferenceImpl"},"status":{"$ref":"#/components/schemas/NamedResourceReferenceImpl"},"avgRating":{"type":"number","description":"The average rating.","format":"double"},"ratingsCount":{"type":"integer","description":"The number of ratings.","format":"int32"}}},"NamedResourceReferenceImpl":{"required":["id","resourceType"],"type":"object","properties":{"id":{"type":"string","description":"The id of the referenced resource.","format":"uuid"},"resourceType":{"type":"string","description":"The type of the resource, e.g. [Community, Asset, Domain, Attribute, Relation, WorkflowInstance, ...]. This property is deprecated and will be removed in the future. In order to stay backwards compatible and to enable us to introduce new types of resources, we are replacing the ResourceType enum with a String. For new types of resources that didn't exist before this change, resourceType will be BaseDataType. Please use the resourceDiscriminator property instead. Refer to the object containing the ResourceReference for possible values.","deprecated":true,"enum":["View","Asset","Community","Domain","AssetType","DomainType","Status","User","ClassificationMatch","UserGroup","Attribute","StringAttribute","ScriptAttribute","BooleanAttribute","DateAttribute","NumericAttribute","SingleValueListAttribute","MultiValueListAttribute","Comment","Attachment","Responsibility","Workflow","Job","Relation","RelationType","ComplexRelation","ComplexRelationType","ArticulationRule","Assignment","Scope","RelationTrace","ValidationRule","DataQualityRule","DataQualityMetric","Address","InstantMessagingAccount","Email","PhoneNumber","Website","Activity","FormProperty","WorkflowTask","ActivityChange","WorkflowInstance","Role","AttributeType","BooleanAttributeType","DateAttributeType","DateTimeAttributeType","MultiValueListAttributeType","NumericAttributeType","ScriptAttributeType","SingleValueListAttributeType","StringAttributeType","ViewSharingRule","ViewAssignmentRule","JdbcDriverFile","JdbcDriver","JdbcIngestionProperties","CsvIngestionProperties","ExcelIngestionProperties","ConnectionStringParameter","AssignedCharacteristicType","Notification","Tag","ComplexRelationLegType","ComplexRelationAttributeType","ComplexRelationLeg","BaseDataType","AdvancedDataType","DiagramPicture","DiagramPictureSharingRule","DiagramPictureAssignmentRule","Rating","Classification","PhysicalDataConnector","Context"]},"resourceDiscriminator":{"type":"string","description":"The resource discriminator, which indicates the type of the referenced resource, e.g. \"Community\", \"Asset\", ... Check the documentation of the class using the resource reference for detailed documentation regarding the possible resource discriminator values."},"name":{"type":"string","description":"The name of the referenced resource."}},"description":"Represents reference to the resource, including its name."}}},"paths":{"/assets/{assetId}":{"patch":{"tags":["Assets"],"summary":"Change asset","description":"Changes the asset with the given ID as specified by the given request. Only properties that are specified in this request and have not <code>null</code> values are updated. All other properties are ignored.","operationId":"changeAsset","parameters":[{"name":"assetId","in":"path","description":"The ID of the asset to be changed","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"description":"The properties of the assets to be changed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChangeAssetRequest"}}}},"responses":{"200":{"description":"OK - The request has succeeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssetImpl"}}}},"400":{"description":"Bad Request - Request data is malformed or illegal. The request body will contain additional information."},"401":{"description":"Unauthorized - Authentication has failed or has not been provided."},"403":{"description":"Forbidden - Insufficient permissions to perform the requested operation."},"404":{"description":"Not Found - One of the requested resources could not be found or the requested URI is invalid."},"500":{"description":"Internal Server Error - The server encountered an unexpected condition which prevented it from fulfilling the request. Please report a problem as this situation should not occur."}}}}}}
```

## Returns assets related to the given source asset via the specified relation type and direction.

> This endpoint is part of a public preview feature and is subject to change. It is only available in commercial pre-production environments. To use it in a production environment, contact Collibra Support. This endpoint is not available for Collibra Platform for Government and Collibra Platform Self-Hosted.

```json
{"openapi":"3.0.3","info":{"title":"Collibra Data Governance Center Core API","version":"2.0"},"servers":[{"url":"/rest/2.0","variables":{}}],"security":[{"basicAuth":[]},{"jwtAuth":[]},{"oauth2":["kg.view-all"]},{"oauth2":[]}],"components":{"securitySchemes":{"basicAuth":{"type":"http","scheme":"basic"},"jwtAuth":{"type":"http","description":"Collibra REST API authentication using JSON Web Token.","scheme":"bearer","bearerFormat":"JWT"},"oauth2":{"type":"oauth2","description":"Collibra REST API authentication using OAuth 2.","flows":{"clientCredentials":{"tokenUrl":"/rest/oauth/v2/token","scopes":{"sys.admin":"System administration","kg.manage-all":"Manage all knowledge graph resources","kg.view-all":"View any knowledge graph resource","kg.manage-tags":"Manage tags","insights.download":"Download insights reporting zip files","wf.administration":"Workflow administration","wf.use-message-events":"Use workflow events"}}}}},"schemas":{"GraphDbLagAwareAssetPagedResponse":{"type":"object","properties":{"total":{"type":"integer","description":"The total number of results.","format":"int64"},"offset":{"type":"integer","description":"The offset for the results.","format":"int64"},"limit":{"type":"integer","description":"The maximum number of results to be returned.","format":"int64"},"results":{"type":"array","description":"The list of results.","items":{"$ref":"#/components/schemas/AssetImpl"}},"databaseStatus":{"type":"string","description":"The current sync status of the knowledge-graph database."},"lastCommittedTimestampMs":{"type":"integer","description":"Epoch milliseconds of the last PostgreSQL commit synced to the knowledge-graph.","format":"int64"}}},"AssetImpl":{"required":["id","resourceType"],"type":"object","properties":{"id":{"type":"string","description":"The id of the represented object (entity).","format":"uuid"},"createdBy":{"type":"string","description":"The id of the user that created this resource.","format":"uuid"},"createdOn":{"type":"integer","description":"The timestamp (in UTC time standard) of the creation of this resource.","format":"int64"},"lastModifiedBy":{"type":"string","description":"The id of the user who modified this resource the last time.","format":"uuid"},"lastModifiedOn":{"type":"integer","description":"The timestamp (in UTC time standard) of the last modification of this resource.","format":"int64"},"system":{"type":"boolean","description":"Whether this is a system resource or not."},"resourceType":{"type":"string","description":"The type of the resource, e.g. [Community, Asset, Domain, Attribute, Relation, WorkflowInstance, ...].\nThis property is deprecated and will be removed in the future. In order to stay backwards compatible\nand to enable introduction of new types of resources, where necessary, a resource discriminator\nproperty (of type String) has been added to specific subtypes of Resource,\ne.g. assignedResourceDiscriminator on AssignedResource, or attributeDiscriminator on Attribute.\nFor new types of resource that didn't exist before this change, the resourceType will be\nBaseDataType.\n","deprecated":true,"enum":["View","Asset","Community","Domain","AssetType","DomainType","Status","User","ClassificationMatch","UserGroup","Attribute","StringAttribute","ScriptAttribute","BooleanAttribute","DateAttribute","NumericAttribute","SingleValueListAttribute","MultiValueListAttribute","Comment","Attachment","Responsibility","Workflow","Job","Relation","RelationType","ComplexRelation","ComplexRelationType","ArticulationRule","Assignment","Scope","RelationTrace","ValidationRule","DataQualityRule","DataQualityMetric","Address","InstantMessagingAccount","Email","PhoneNumber","Website","Activity","FormProperty","WorkflowTask","ActivityChange","WorkflowInstance","Role","AttributeType","BooleanAttributeType","DateAttributeType","DateTimeAttributeType","MultiValueListAttributeType","NumericAttributeType","ScriptAttributeType","SingleValueListAttributeType","StringAttributeType","ViewSharingRule","ViewAssignmentRule","JdbcDriverFile","JdbcDriver","JdbcIngestionProperties","CsvIngestionProperties","ExcelIngestionProperties","ConnectionStringParameter","AssignedCharacteristicType","Notification","Tag","ComplexRelationLegType","ComplexRelationAttributeType","ComplexRelationLeg","BaseDataType","AdvancedDataType","DiagramPicture","DiagramPictureSharingRule","DiagramPictureAssignmentRule","Rating","Classification","PhysicalDataConnector","Context"]},"name":{"type":"string","description":"The name of the resource."},"displayName":{"type":"string","description":"The display name of the asset.  <p>  Please note that \"displayName\" corresponds to the \"Name\" in the UI."},"articulationScore":{"type":"number","description":"The articulation score for this asset.  <p>  Expresses how well this asset is articulated.  The articulation score is a percentage number ranging from 0 to 100.  The articulation rules can be configured to calculate the articulation score.  Whenever the asset is modified, by changing its attributes or statuses, the articulation score is re-evaluated.","format":"double"},"excludedFromAutoHyperlinking":{"type":"boolean","description":"Whether this asset is excluded from hyperlinking or not."},"domain":{"$ref":"#/components/schemas/NamedResourceReferenceImpl"},"type":{"$ref":"#/components/schemas/NamedResourceReferenceImpl"},"status":{"$ref":"#/components/schemas/NamedResourceReferenceImpl"},"avgRating":{"type":"number","description":"The average rating.","format":"double"},"ratingsCount":{"type":"integer","description":"The number of ratings.","format":"int32"}}},"NamedResourceReferenceImpl":{"required":["id","resourceType"],"type":"object","properties":{"id":{"type":"string","description":"The id of the referenced resource.","format":"uuid"},"resourceType":{"type":"string","description":"The type of the resource, e.g. [Community, Asset, Domain, Attribute, Relation, WorkflowInstance, ...]. This property is deprecated and will be removed in the future. In order to stay backwards compatible and to enable us to introduce new types of resources, we are replacing the ResourceType enum with a String. For new types of resources that didn't exist before this change, resourceType will be BaseDataType. Please use the resourceDiscriminator property instead. Refer to the object containing the ResourceReference for possible values.","deprecated":true,"enum":["View","Asset","Community","Domain","AssetType","DomainType","Status","User","ClassificationMatch","UserGroup","Attribute","StringAttribute","ScriptAttribute","BooleanAttribute","DateAttribute","NumericAttribute","SingleValueListAttribute","MultiValueListAttribute","Comment","Attachment","Responsibility","Workflow","Job","Relation","RelationType","ComplexRelation","ComplexRelationType","ArticulationRule","Assignment","Scope","RelationTrace","ValidationRule","DataQualityRule","DataQualityMetric","Address","InstantMessagingAccount","Email","PhoneNumber","Website","Activity","FormProperty","WorkflowTask","ActivityChange","WorkflowInstance","Role","AttributeType","BooleanAttributeType","DateAttributeType","DateTimeAttributeType","MultiValueListAttributeType","NumericAttributeType","ScriptAttributeType","SingleValueListAttributeType","StringAttributeType","ViewSharingRule","ViewAssignmentRule","JdbcDriverFile","JdbcDriver","JdbcIngestionProperties","CsvIngestionProperties","ExcelIngestionProperties","ConnectionStringParameter","AssignedCharacteristicType","Notification","Tag","ComplexRelationLegType","ComplexRelationAttributeType","ComplexRelationLeg","BaseDataType","AdvancedDataType","DiagramPicture","DiagramPictureSharingRule","DiagramPictureAssignmentRule","Rating","Classification","PhysicalDataConnector","Context"]},"resourceDiscriminator":{"type":"string","description":"The resource discriminator, which indicates the type of the referenced resource, e.g. \"Community\", \"Asset\", ... Check the documentation of the class using the resource reference for detailed documentation regarding the possible resource discriminator values."},"name":{"type":"string","description":"The name of the referenced resource."}},"description":"Represents reference to the resource, including its name."}}},"paths":{"/assets/{assetId}/relations/{relationTypePublicId}/{relationDirection}":{"get":{"tags":["Assets"],"summary":"Returns assets related to the given source asset via the specified relation type and direction.","description":"This endpoint is part of a public preview feature and is subject to change. It is only available in commercial pre-production environments. To use it in a production environment, contact Collibra Support. This endpoint is not available for Collibra Platform for Government and Collibra Platform Self-Hosted.","operationId":"findRelatedAssets","parameters":[{"name":"offset","in":"query","description":"The first result to retrieve. If not set (offset = <code>0</code>), results will be retrieved starting from row <code>0</code>.","schema":{"type":"integer","format":"int32","default":0}},{"name":"limit","in":"query","description":"The maximum number of results to retrieve. If not set (limit = <code>0</code>), the default limit will be used. The maximum allowed limit is 1000.","schema":{"type":"integer","format":"int32","default":0}},{"name":"countLimit","in":"query","description":"Allows to limit the number of elements that will be counted. -1 will count everything and 0 will cause the count to be skipped","schema":{"type":"integer","format":"int32","default":-1}},{"name":"assetId","in":"path","description":"The ID of the source of relations to search for.","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"relationTypePublicId","in":"path","description":"The public ID of the type of relation to search for.","required":true,"schema":{"type":"string"}},{"name":"relationDirection","in":"path","description":"The direction in which the relation should be traversed.","required":true,"schema":{"type":"string","enum":["TO_TARGET","TO_SOURCE"]}},{"name":"acceptLag","in":"query","schema":{"type":"string","description":"Optional. ISO-8601 duration (e.g. PT5M). If specified, the request is rejected with 406 when the knowledge-graph sync lag exceeds this threshold."}}],"responses":{"200":{"description":"OK - The request has succeeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GraphDbLagAwareAssetPagedResponse"}}}},"400":{"description":"Bad Request - Request data is malformed or illegal. The request body will contain additional information."},"401":{"description":"Unauthorized - Authentication has failed or has not been provided."},"406":{"description":"The knowledge-graph sync status does not satisfy the requested acceptLag threshold."},"500":{"description":"Internal Server Error - The server encountered an unexpected condition which prevented it from fulfilling the request. Please report a problem as this situation should not occur."}}}}}}
```

## Get asset breadcrumb

> Returns the list of resources that lead to the asset identified by the given ID.

```json
{"openapi":"3.0.3","info":{"title":"Collibra Data Governance Center Core API","version":"2.0"},"servers":[{"url":"/rest/2.0","variables":{}}],"security":[{"basicAuth":[]},{"jwtAuth":[]},{"oauth2":["kg.view-all"]},{"oauth2":[]}],"components":{"securitySchemes":{"basicAuth":{"type":"http","scheme":"basic"},"jwtAuth":{"type":"http","description":"Collibra REST API authentication using JSON Web Token.","scheme":"bearer","bearerFormat":"JWT"},"oauth2":{"type":"oauth2","description":"Collibra REST API authentication using OAuth 2.","flows":{"clientCredentials":{"tokenUrl":"/rest/oauth/v2/token","scopes":{"sys.admin":"System administration","kg.manage-all":"Manage all knowledge graph resources","kg.view-all":"View any knowledge graph resource","kg.manage-tags":"Manage tags","insights.download":"Download insights reporting zip files","wf.administration":"Workflow administration","wf.use-message-events":"Use workflow events"}}}}},"schemas":{"NamedResourceReferenceImpl":{"required":["id","resourceType"],"type":"object","properties":{"id":{"type":"string","description":"The id of the referenced resource.","format":"uuid"},"resourceType":{"type":"string","description":"The type of the resource, e.g. [Community, Asset, Domain, Attribute, Relation, WorkflowInstance, ...]. This property is deprecated and will be removed in the future. In order to stay backwards compatible and to enable us to introduce new types of resources, we are replacing the ResourceType enum with a String. For new types of resources that didn't exist before this change, resourceType will be BaseDataType. Please use the resourceDiscriminator property instead. Refer to the object containing the ResourceReference for possible values.","deprecated":true,"enum":["View","Asset","Community","Domain","AssetType","DomainType","Status","User","ClassificationMatch","UserGroup","Attribute","StringAttribute","ScriptAttribute","BooleanAttribute","DateAttribute","NumericAttribute","SingleValueListAttribute","MultiValueListAttribute","Comment","Attachment","Responsibility","Workflow","Job","Relation","RelationType","ComplexRelation","ComplexRelationType","ArticulationRule","Assignment","Scope","RelationTrace","ValidationRule","DataQualityRule","DataQualityMetric","Address","InstantMessagingAccount","Email","PhoneNumber","Website","Activity","FormProperty","WorkflowTask","ActivityChange","WorkflowInstance","Role","AttributeType","BooleanAttributeType","DateAttributeType","DateTimeAttributeType","MultiValueListAttributeType","NumericAttributeType","ScriptAttributeType","SingleValueListAttributeType","StringAttributeType","ViewSharingRule","ViewAssignmentRule","JdbcDriverFile","JdbcDriver","JdbcIngestionProperties","CsvIngestionProperties","ExcelIngestionProperties","ConnectionStringParameter","AssignedCharacteristicType","Notification","Tag","ComplexRelationLegType","ComplexRelationAttributeType","ComplexRelationLeg","BaseDataType","AdvancedDataType","DiagramPicture","DiagramPictureSharingRule","DiagramPictureAssignmentRule","Rating","Classification","PhysicalDataConnector","Context"]},"resourceDiscriminator":{"type":"string","description":"The resource discriminator, which indicates the type of the referenced resource, e.g. \"Community\", \"Asset\", ... Check the documentation of the class using the resource reference for detailed documentation regarding the possible resource discriminator values."},"name":{"type":"string","description":"The name of the referenced resource."}},"description":"Represents reference to the resource, including its name."}}},"paths":{"/assets/{assetId}/breadcrumb":{"get":{"tags":["Assets"],"summary":"Get asset breadcrumb","description":"Returns the list of resources that lead to the asset identified by the given ID.","operationId":"getAssetBreadcrumb","parameters":[{"name":"assetId","in":"path","description":"The ID of the asset","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK - The request has succeeded.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/NamedResourceReferenceImpl"}}}}},"401":{"description":"Unauthorized - Authentication has failed or has not been provided."},"403":{"description":"Forbidden - Insufficient permissions to perform the requested operation."},"404":{"description":"Not Found - One of the requested resources could not be found or the requested URI is invalid."},"500":{"description":"Internal Server Error - The server encountered an unexpected condition which prevented it from fulfilling the request. Please report a problem as this situation should not occur."}}}}}}
```

## Set asset attributes

> Replaces all attributes of the asset with the given ID (of given attribute type) with the attributes from the request, except matching attributes, which are retained.

```json
{"openapi":"3.0.3","info":{"title":"Collibra Data Governance Center Core API","version":"2.0"},"servers":[{"url":"/rest/2.0","variables":{}}],"security":[{"basicAuth":[]},{"jwtAuth":[]},{"oauth2":["kg.manage-all"]}],"components":{"securitySchemes":{"basicAuth":{"type":"http","scheme":"basic"},"jwtAuth":{"type":"http","description":"Collibra REST API authentication using JSON Web Token.","scheme":"bearer","bearerFormat":"JWT"},"oauth2":{"type":"oauth2","description":"Collibra REST API authentication using OAuth 2.","flows":{"clientCredentials":{"tokenUrl":"/rest/oauth/v2/token","scopes":{"sys.admin":"System administration","kg.manage-all":"Manage all knowledge graph resources","kg.view-all":"View any knowledge graph resource","kg.manage-tags":"Manage tags","insights.download":"Download insights reporting zip files","wf.administration":"Workflow administration","wf.use-message-events":"Use workflow events"}}}}},"schemas":{"SetAssetAttributesRequest":{"required":["values"],"type":"object","properties":{"typeId":{"type":"string","description":"The ID of the attribute type for the new attribute.","format":"uuid"},"typePublicId":{"type":"string","description":"The public ID of the attribute type for the new attribute."},"values":{"type":"array","description":"The values for the new attribute.","items":{"type":"object","description":"The values for the new attribute."}}}},"Attribute":{"type":"object","properties":{"value":{"type":"object"},"type":{"$ref":"#/components/schemas/NamedResourceReferenceImpl"},"asset":{"$ref":"#/components/schemas/NamedResourceReferenceImpl"},"attributeDiscriminator":{"type":"string"},"system":{"type":"boolean","description":"Whether this is a system resource or not."},"resourceType":{"type":"string","description":"The type of the resource, e.g. [Community, Asset, Domain, Attribute, Relation, WorkflowInstance, ...].\nThis property is deprecated and will be removed in the future. In order to stay backwards compatible\nand to enable introduction of new types of resources, where necessary, a resource discriminator\nproperty (of type String) has been added to specific subtypes of Resource,\ne.g. assignedResourceDiscriminator on AssignedResource, or attributeDiscriminator on Attribute.\nFor new types of resource that didn't exist before this change, the resourceType will be\nBaseDataType.\n","deprecated":true,"enum":["View","Asset","Community","Domain","AssetType","DomainType","Status","User","ClassificationMatch","UserGroup","Attribute","StringAttribute","ScriptAttribute","BooleanAttribute","DateAttribute","NumericAttribute","SingleValueListAttribute","MultiValueListAttribute","Comment","Attachment","Responsibility","Workflow","Job","Relation","RelationType","ComplexRelation","ComplexRelationType","ArticulationRule","Assignment","Scope","RelationTrace","ValidationRule","DataQualityRule","DataQualityMetric","Address","InstantMessagingAccount","Email","PhoneNumber","Website","Activity","FormProperty","WorkflowTask","ActivityChange","WorkflowInstance","Role","AttributeType","BooleanAttributeType","DateAttributeType","DateTimeAttributeType","MultiValueListAttributeType","NumericAttributeType","ScriptAttributeType","SingleValueListAttributeType","StringAttributeType","ViewSharingRule","ViewAssignmentRule","JdbcDriverFile","JdbcDriver","JdbcIngestionProperties","CsvIngestionProperties","ExcelIngestionProperties","ConnectionStringParameter","AssignedCharacteristicType","Notification","Tag","ComplexRelationLegType","ComplexRelationAttributeType","ComplexRelationLeg","BaseDataType","AdvancedDataType","DiagramPicture","DiagramPictureSharingRule","DiagramPictureAssignmentRule","Rating","Classification","PhysicalDataConnector","Context"]},"createdBy":{"type":"string","description":"The id of the user that created this resource.","format":"uuid"},"lastModifiedBy":{"type":"string","description":"The id of the user who modified this resource the last time.","format":"uuid"},"createdOn":{"type":"integer","description":"The timestamp (in UTC time standard) of the creation of this resource.","format":"int64"},"lastModifiedOn":{"type":"integer","description":"The timestamp (in UTC time standard) of the last modification of this resource.","format":"int64"},"id":{"type":"string","description":"The id of the represented object (entity).","format":"uuid"}},"description":"The list of attributes corresponding to the complex relation.","discriminator":{"propertyName":"resourceType","mapping":{"BooleanAttribute":"#/components/schemas/BooleanAttribute","DateAttribute":"#/components/schemas/DateAttribute","MultiValueListAttribute":"#/components/schemas/MultiValueListAttribute","NumericAttribute":"#/components/schemas/NumericAttribute","ScriptAttribute":"#/components/schemas/ScriptAttribute","SingleValueListAttribute":"#/components/schemas/SingleValueListAttribute","StringAttribute":"#/components/schemas/StringAttribute"}}},"NamedResourceReferenceImpl":{"required":["id","resourceType"],"type":"object","properties":{"id":{"type":"string","description":"The id of the referenced resource.","format":"uuid"},"resourceType":{"type":"string","description":"The type of the resource, e.g. [Community, Asset, Domain, Attribute, Relation, WorkflowInstance, ...]. This property is deprecated and will be removed in the future. In order to stay backwards compatible and to enable us to introduce new types of resources, we are replacing the ResourceType enum with a String. For new types of resources that didn't exist before this change, resourceType will be BaseDataType. Please use the resourceDiscriminator property instead. Refer to the object containing the ResourceReference for possible values.","deprecated":true,"enum":["View","Asset","Community","Domain","AssetType","DomainType","Status","User","ClassificationMatch","UserGroup","Attribute","StringAttribute","ScriptAttribute","BooleanAttribute","DateAttribute","NumericAttribute","SingleValueListAttribute","MultiValueListAttribute","Comment","Attachment","Responsibility","Workflow","Job","Relation","RelationType","ComplexRelation","ComplexRelationType","ArticulationRule","Assignment","Scope","RelationTrace","ValidationRule","DataQualityRule","DataQualityMetric","Address","InstantMessagingAccount","Email","PhoneNumber","Website","Activity","FormProperty","WorkflowTask","ActivityChange","WorkflowInstance","Role","AttributeType","BooleanAttributeType","DateAttributeType","DateTimeAttributeType","MultiValueListAttributeType","NumericAttributeType","ScriptAttributeType","SingleValueListAttributeType","StringAttributeType","ViewSharingRule","ViewAssignmentRule","JdbcDriverFile","JdbcDriver","JdbcIngestionProperties","CsvIngestionProperties","ExcelIngestionProperties","ConnectionStringParameter","AssignedCharacteristicType","Notification","Tag","ComplexRelationLegType","ComplexRelationAttributeType","ComplexRelationLeg","BaseDataType","AdvancedDataType","DiagramPicture","DiagramPictureSharingRule","DiagramPictureAssignmentRule","Rating","Classification","PhysicalDataConnector","Context"]},"resourceDiscriminator":{"type":"string","description":"The resource discriminator, which indicates the type of the referenced resource, e.g. \"Community\", \"Asset\", ... Check the documentation of the class using the resource reference for detailed documentation regarding the possible resource discriminator values."},"name":{"type":"string","description":"The name of the referenced resource."}},"description":"Represents reference to the resource, including its name."}}},"paths":{"/assets/{assetId}/attributes":{"put":{"tags":["Assets"],"summary":"Set asset attributes","description":"Replaces all attributes of the asset with the given ID (of given attribute type) with the attributes from the request, except matching attributes, which are retained.","operationId":"setAssetAttributes","parameters":[{"name":"assetId","in":"path","description":"The ID of the asset","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"description":"The attributes to be set on the given asset","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SetAssetAttributesRequest"}}}},"responses":{"200":{"description":"OK - The request has succeeded.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Attribute"}}}}},"400":{"description":"Bad Request - Request data is malformed or illegal. The request body will contain additional information."},"401":{"description":"Unauthorized - Authentication has failed or has not been provided."},"403":{"description":"Forbidden - Insufficient permissions to perform the requested operation."},"404":{"description":"Not Found - One of the requested resources could not be found or the requested URI is invalid."},"500":{"description":"Internal Server Error - The server encountered an unexpected condition which prevented it from fulfilling the request. Please report a problem as this situation should not occur."}}}}}}
```

## Set asset relations

> Sets relations for the asset with the given ID. All the relations described by this request will replace the existing ones (identified with asset as one end, relation type and direction of the relation).

```json
{"openapi":"3.0.3","info":{"title":"Collibra Data Governance Center Core API","version":"2.0"},"servers":[{"url":"/rest/2.0","variables":{}}],"security":[{"basicAuth":[]},{"jwtAuth":[]},{"oauth2":["kg.manage-all"]}],"components":{"securitySchemes":{"basicAuth":{"type":"http","scheme":"basic"},"jwtAuth":{"type":"http","description":"Collibra REST API authentication using JSON Web Token.","scheme":"bearer","bearerFormat":"JWT"},"oauth2":{"type":"oauth2","description":"Collibra REST API authentication using OAuth 2.","flows":{"clientCredentials":{"tokenUrl":"/rest/oauth/v2/token","scopes":{"sys.admin":"System administration","kg.manage-all":"Manage all knowledge graph resources","kg.view-all":"View any knowledge graph resource","kg.manage-tags":"Manage tags","insights.download":"Download insights reporting zip files","wf.administration":"Workflow administration","wf.use-message-events":"Use workflow events"}}}}},"schemas":{"SetAssetRelationsRequest":{"required":["relatedAssetIds","relationDirection"],"type":"object","properties":{"typeId":{"type":"string","description":"The ID of the relation type for the relations to be set.","format":"uuid"},"relatedAssetIds":{"type":"array","description":"The IDs of the related assets.","items":{"type":"string","description":"The IDs of the related assets.","format":"uuid"}},"relationDirection":{"type":"string","description":"The relation direction. If TO_SOURCE then related assets will become source assets. Otherwise they will become target assets for created relations.","enum":["TO_TARGET","TO_SOURCE"]},"typePublicId":{"type":"string","description":"The public ID of the relation type for the relations to be set."}}},"RelationImpl":{"required":["id","resourceType"],"type":"object","properties":{"id":{"type":"string","description":"The id of the represented object (entity).","format":"uuid"},"createdBy":{"type":"string","description":"The id of the user that created this resource.","format":"uuid"},"createdOn":{"type":"integer","description":"The timestamp (in UTC time standard) of the creation of this resource.","format":"int64"},"lastModifiedBy":{"type":"string","description":"The id of the user who modified this resource the last time.","format":"uuid"},"lastModifiedOn":{"type":"integer","description":"The timestamp (in UTC time standard) of the last modification of this resource.","format":"int64"},"system":{"type":"boolean","description":"Whether this is a system resource or not."},"resourceType":{"type":"string","description":"The type of the resource, e.g. [Community, Asset, Domain, Attribute, Relation, WorkflowInstance, ...].\nThis property is deprecated and will be removed in the future. In order to stay backwards compatible\nand to enable introduction of new types of resources, where necessary, a resource discriminator\nproperty (of type String) has been added to specific subtypes of Resource,\ne.g. assignedResourceDiscriminator on AssignedResource, or attributeDiscriminator on Attribute.\nFor new types of resource that didn't exist before this change, the resourceType will be\nBaseDataType.\n","deprecated":true,"enum":["View","Asset","Community","Domain","AssetType","DomainType","Status","User","ClassificationMatch","UserGroup","Attribute","StringAttribute","ScriptAttribute","BooleanAttribute","DateAttribute","NumericAttribute","SingleValueListAttribute","MultiValueListAttribute","Comment","Attachment","Responsibility","Workflow","Job","Relation","RelationType","ComplexRelation","ComplexRelationType","ArticulationRule","Assignment","Scope","RelationTrace","ValidationRule","DataQualityRule","DataQualityMetric","Address","InstantMessagingAccount","Email","PhoneNumber","Website","Activity","FormProperty","WorkflowTask","ActivityChange","WorkflowInstance","Role","AttributeType","BooleanAttributeType","DateAttributeType","DateTimeAttributeType","MultiValueListAttributeType","NumericAttributeType","ScriptAttributeType","SingleValueListAttributeType","StringAttributeType","ViewSharingRule","ViewAssignmentRule","JdbcDriverFile","JdbcDriver","JdbcIngestionProperties","CsvIngestionProperties","ExcelIngestionProperties","ConnectionStringParameter","AssignedCharacteristicType","Notification","Tag","ComplexRelationLegType","ComplexRelationAttributeType","ComplexRelationLeg","BaseDataType","AdvancedDataType","DiagramPicture","DiagramPictureSharingRule","DiagramPictureAssignmentRule","Rating","Classification","PhysicalDataConnector","Context"]},"source":{"$ref":"#/components/schemas/NamedResourceReferenceImpl"},"target":{"$ref":"#/components/schemas/NamedResourceReferenceImpl"},"type":{"$ref":"#/components/schemas/ResourceReference"},"startingDate":{"type":"integer","description":"The timestamp representing the starting date of the relation.","format":"int64","deprecated":true},"endingDate":{"type":"integer","description":"The timestamp representing the ending date of the relation.","format":"int64","deprecated":true}}},"NamedResourceReferenceImpl":{"required":["id","resourceType"],"type":"object","properties":{"id":{"type":"string","description":"The id of the referenced resource.","format":"uuid"},"resourceType":{"type":"string","description":"The type of the resource, e.g. [Community, Asset, Domain, Attribute, Relation, WorkflowInstance, ...]. This property is deprecated and will be removed in the future. In order to stay backwards compatible and to enable us to introduce new types of resources, we are replacing the ResourceType enum with a String. For new types of resources that didn't exist before this change, resourceType will be BaseDataType. Please use the resourceDiscriminator property instead. Refer to the object containing the ResourceReference for possible values.","deprecated":true,"enum":["View","Asset","Community","Domain","AssetType","DomainType","Status","User","ClassificationMatch","UserGroup","Attribute","StringAttribute","ScriptAttribute","BooleanAttribute","DateAttribute","NumericAttribute","SingleValueListAttribute","MultiValueListAttribute","Comment","Attachment","Responsibility","Workflow","Job","Relation","RelationType","ComplexRelation","ComplexRelationType","ArticulationRule","Assignment","Scope","RelationTrace","ValidationRule","DataQualityRule","DataQualityMetric","Address","InstantMessagingAccount","Email","PhoneNumber","Website","Activity","FormProperty","WorkflowTask","ActivityChange","WorkflowInstance","Role","AttributeType","BooleanAttributeType","DateAttributeType","DateTimeAttributeType","MultiValueListAttributeType","NumericAttributeType","ScriptAttributeType","SingleValueListAttributeType","StringAttributeType","ViewSharingRule","ViewAssignmentRule","JdbcDriverFile","JdbcDriver","JdbcIngestionProperties","CsvIngestionProperties","ExcelIngestionProperties","ConnectionStringParameter","AssignedCharacteristicType","Notification","Tag","ComplexRelationLegType","ComplexRelationAttributeType","ComplexRelationLeg","BaseDataType","AdvancedDataType","DiagramPicture","DiagramPictureSharingRule","DiagramPictureAssignmentRule","Rating","Classification","PhysicalDataConnector","Context"]},"resourceDiscriminator":{"type":"string","description":"The resource discriminator, which indicates the type of the referenced resource, e.g. \"Community\", \"Asset\", ... Check the documentation of the class using the resource reference for detailed documentation regarding the possible resource discriminator values."},"name":{"type":"string","description":"The name of the referenced resource."}},"description":"Represents reference to the resource, including its name."},"ResourceReference":{"required":["id","resourceType"],"type":"object","properties":{"id":{"type":"string","description":"The id of the referenced resource.","format":"uuid"},"resourceType":{"type":"string","description":"The type of the resource, e.g. [Community, Asset, Domain, Attribute, Relation, WorkflowInstance, ...]. This property is deprecated and will be removed in the future. In order to stay backwards compatible and to enable us to introduce new types of resources, we are replacing the ResourceType enum with a String. For new types of resources that didn't exist before this change, resourceType will be BaseDataType. Please use the resourceDiscriminator property instead. Refer to the object containing the ResourceReference for possible values.","deprecated":true,"enum":["View","Asset","Community","Domain","AssetType","DomainType","Status","User","ClassificationMatch","UserGroup","Attribute","StringAttribute","ScriptAttribute","BooleanAttribute","DateAttribute","NumericAttribute","SingleValueListAttribute","MultiValueListAttribute","Comment","Attachment","Responsibility","Workflow","Job","Relation","RelationType","ComplexRelation","ComplexRelationType","ArticulationRule","Assignment","Scope","RelationTrace","ValidationRule","DataQualityRule","DataQualityMetric","Address","InstantMessagingAccount","Email","PhoneNumber","Website","Activity","FormProperty","WorkflowTask","ActivityChange","WorkflowInstance","Role","AttributeType","BooleanAttributeType","DateAttributeType","DateTimeAttributeType","MultiValueListAttributeType","NumericAttributeType","ScriptAttributeType","SingleValueListAttributeType","StringAttributeType","ViewSharingRule","ViewAssignmentRule","JdbcDriverFile","JdbcDriver","JdbcIngestionProperties","CsvIngestionProperties","ExcelIngestionProperties","ConnectionStringParameter","AssignedCharacteristicType","Notification","Tag","ComplexRelationLegType","ComplexRelationAttributeType","ComplexRelationLeg","BaseDataType","AdvancedDataType","DiagramPicture","DiagramPictureSharingRule","DiagramPictureAssignmentRule","Rating","Classification","PhysicalDataConnector","Context"]},"resourceDiscriminator":{"type":"string","description":"The resource discriminator, which indicates the type of the referenced resource, e.g. \"Community\", \"Asset\", ... Check the documentation of the class using the resource reference for detailed documentation regarding the possible resource discriminator values."}},"description":"Represents reference to the resource."}}},"paths":{"/assets/{assetId}/relations":{"put":{"tags":["Assets"],"summary":"Set asset relations","description":"Sets relations for the asset with the given ID. All the relations described by this request will replace the existing ones (identified with asset as one end, relation type and direction of the relation).","operationId":"setAssetRelations","parameters":[{"name":"assetId","in":"path","description":"The ID of the asset","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"description":"The relations to be set on given asset","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SetAssetRelationsRequest"}}}},"responses":{"200":{"description":"OK - The request has succeeded.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/RelationImpl"}}}}},"400":{"description":"Bad Request - Request data is malformed or illegal. The request body will contain additional information."},"401":{"description":"Unauthorized - Authentication has failed or has not been provided."},"403":{"description":"Forbidden - Insufficient permissions to perform the requested operation."},"404":{"description":"Not Found - One of the requested resources could not be found or the requested URI is invalid."},"500":{"description":"Internal Server Error - The server encountered an unexpected condition which prevented it from fulfilling the request. Please report a problem as this situation should not occur."}}}}}}
```

## Set asset responsibilities

> Sets responsibilities for the asset with the given ID.

```json
{"openapi":"3.0.3","info":{"title":"Collibra Data Governance Center Core API","version":"2.0"},"servers":[{"url":"/rest/2.0","variables":{}}],"security":[{"basicAuth":[]},{"jwtAuth":[]},{"oauth2":["kg.manage-all"]}],"components":{"securitySchemes":{"basicAuth":{"type":"http","scheme":"basic"},"jwtAuth":{"type":"http","description":"Collibra REST API authentication using JSON Web Token.","scheme":"bearer","bearerFormat":"JWT"},"oauth2":{"type":"oauth2","description":"Collibra REST API authentication using OAuth 2.","flows":{"clientCredentials":{"tokenUrl":"/rest/oauth/v2/token","scopes":{"sys.admin":"System administration","kg.manage-all":"Manage all knowledge graph resources","kg.view-all":"View any knowledge graph resource","kg.manage-tags":"Manage tags","insights.download":"Download insights reporting zip files","wf.administration":"Workflow administration","wf.use-message-events":"Use workflow events"}}}}},"schemas":{"SetAssetResponsibilitiesRequest":{"required":["ownerIds","roleId"],"type":"object","properties":{"roleId":{"type":"string","description":"The ID of the role for the responsibilities to be set.","format":"uuid"},"ownerIds":{"type":"array","description":"The IDs of the owners. An owner is either user or group.","items":{"type":"string","description":"The IDs of the owners. An owner is either user or group.","format":"uuid"}}}},"ResponsibilityImpl":{"required":["id","resourceType"],"type":"object","properties":{"id":{"type":"string","description":"The id of the represented object (entity).","format":"uuid"},"createdBy":{"type":"string","description":"The id of the user that created this resource.","format":"uuid"},"createdOn":{"type":"integer","description":"The timestamp (in UTC time standard) of the creation of this resource.","format":"int64"},"lastModifiedBy":{"type":"string","description":"The id of the user who modified this resource the last time.","format":"uuid"},"lastModifiedOn":{"type":"integer","description":"The timestamp (in UTC time standard) of the last modification of this resource.","format":"int64"},"system":{"type":"boolean","description":"Whether this is a system resource or not."},"resourceType":{"type":"string","description":"The type of the resource, e.g. [Community, Asset, Domain, Attribute, Relation, WorkflowInstance, ...].\nThis property is deprecated and will be removed in the future. In order to stay backwards compatible\nand to enable introduction of new types of resources, where necessary, a resource discriminator\nproperty (of type String) has been added to specific subtypes of Resource,\ne.g. assignedResourceDiscriminator on AssignedResource, or attributeDiscriminator on Attribute.\nFor new types of resource that didn't exist before this change, the resourceType will be\nBaseDataType.\n","deprecated":true,"enum":["View","Asset","Community","Domain","AssetType","DomainType","Status","User","ClassificationMatch","UserGroup","Attribute","StringAttribute","ScriptAttribute","BooleanAttribute","DateAttribute","NumericAttribute","SingleValueListAttribute","MultiValueListAttribute","Comment","Attachment","Responsibility","Workflow","Job","Relation","RelationType","ComplexRelation","ComplexRelationType","ArticulationRule","Assignment","Scope","RelationTrace","ValidationRule","DataQualityRule","DataQualityMetric","Address","InstantMessagingAccount","Email","PhoneNumber","Website","Activity","FormProperty","WorkflowTask","ActivityChange","WorkflowInstance","Role","AttributeType","BooleanAttributeType","DateAttributeType","DateTimeAttributeType","MultiValueListAttributeType","NumericAttributeType","ScriptAttributeType","SingleValueListAttributeType","StringAttributeType","ViewSharingRule","ViewAssignmentRule","JdbcDriverFile","JdbcDriver","JdbcIngestionProperties","CsvIngestionProperties","ExcelIngestionProperties","ConnectionStringParameter","AssignedCharacteristicType","Notification","Tag","ComplexRelationLegType","ComplexRelationAttributeType","ComplexRelationLeg","BaseDataType","AdvancedDataType","DiagramPicture","DiagramPictureSharingRule","DiagramPictureAssignmentRule","Rating","Classification","PhysicalDataConnector","Context"]},"role":{"$ref":"#/components/schemas/NamedResourceReferenceImpl"},"baseResource":{"$ref":"#/components/schemas/ResourceReference"},"owner":{"$ref":"#/components/schemas/ResourceReference"}}},"NamedResourceReferenceImpl":{"required":["id","resourceType"],"type":"object","properties":{"id":{"type":"string","description":"The id of the referenced resource.","format":"uuid"},"resourceType":{"type":"string","description":"The type of the resource, e.g. [Community, Asset, Domain, Attribute, Relation, WorkflowInstance, ...]. This property is deprecated and will be removed in the future. In order to stay backwards compatible and to enable us to introduce new types of resources, we are replacing the ResourceType enum with a String. For new types of resources that didn't exist before this change, resourceType will be BaseDataType. Please use the resourceDiscriminator property instead. Refer to the object containing the ResourceReference for possible values.","deprecated":true,"enum":["View","Asset","Community","Domain","AssetType","DomainType","Status","User","ClassificationMatch","UserGroup","Attribute","StringAttribute","ScriptAttribute","BooleanAttribute","DateAttribute","NumericAttribute","SingleValueListAttribute","MultiValueListAttribute","Comment","Attachment","Responsibility","Workflow","Job","Relation","RelationType","ComplexRelation","ComplexRelationType","ArticulationRule","Assignment","Scope","RelationTrace","ValidationRule","DataQualityRule","DataQualityMetric","Address","InstantMessagingAccount","Email","PhoneNumber","Website","Activity","FormProperty","WorkflowTask","ActivityChange","WorkflowInstance","Role","AttributeType","BooleanAttributeType","DateAttributeType","DateTimeAttributeType","MultiValueListAttributeType","NumericAttributeType","ScriptAttributeType","SingleValueListAttributeType","StringAttributeType","ViewSharingRule","ViewAssignmentRule","JdbcDriverFile","JdbcDriver","JdbcIngestionProperties","CsvIngestionProperties","ExcelIngestionProperties","ConnectionStringParameter","AssignedCharacteristicType","Notification","Tag","ComplexRelationLegType","ComplexRelationAttributeType","ComplexRelationLeg","BaseDataType","AdvancedDataType","DiagramPicture","DiagramPictureSharingRule","DiagramPictureAssignmentRule","Rating","Classification","PhysicalDataConnector","Context"]},"resourceDiscriminator":{"type":"string","description":"The resource discriminator, which indicates the type of the referenced resource, e.g. \"Community\", \"Asset\", ... Check the documentation of the class using the resource reference for detailed documentation regarding the possible resource discriminator values."},"name":{"type":"string","description":"The name of the referenced resource."}},"description":"Represents reference to the resource, including its name."},"ResourceReference":{"required":["id","resourceType"],"type":"object","properties":{"id":{"type":"string","description":"The id of the referenced resource.","format":"uuid"},"resourceType":{"type":"string","description":"The type of the resource, e.g. [Community, Asset, Domain, Attribute, Relation, WorkflowInstance, ...]. This property is deprecated and will be removed in the future. In order to stay backwards compatible and to enable us to introduce new types of resources, we are replacing the ResourceType enum with a String. For new types of resources that didn't exist before this change, resourceType will be BaseDataType. Please use the resourceDiscriminator property instead. Refer to the object containing the ResourceReference for possible values.","deprecated":true,"enum":["View","Asset","Community","Domain","AssetType","DomainType","Status","User","ClassificationMatch","UserGroup","Attribute","StringAttribute","ScriptAttribute","BooleanAttribute","DateAttribute","NumericAttribute","SingleValueListAttribute","MultiValueListAttribute","Comment","Attachment","Responsibility","Workflow","Job","Relation","RelationType","ComplexRelation","ComplexRelationType","ArticulationRule","Assignment","Scope","RelationTrace","ValidationRule","DataQualityRule","DataQualityMetric","Address","InstantMessagingAccount","Email","PhoneNumber","Website","Activity","FormProperty","WorkflowTask","ActivityChange","WorkflowInstance","Role","AttributeType","BooleanAttributeType","DateAttributeType","DateTimeAttributeType","MultiValueListAttributeType","NumericAttributeType","ScriptAttributeType","SingleValueListAttributeType","StringAttributeType","ViewSharingRule","ViewAssignmentRule","JdbcDriverFile","JdbcDriver","JdbcIngestionProperties","CsvIngestionProperties","ExcelIngestionProperties","ConnectionStringParameter","AssignedCharacteristicType","Notification","Tag","ComplexRelationLegType","ComplexRelationAttributeType","ComplexRelationLeg","BaseDataType","AdvancedDataType","DiagramPicture","DiagramPictureSharingRule","DiagramPictureAssignmentRule","Rating","Classification","PhysicalDataConnector","Context"]},"resourceDiscriminator":{"type":"string","description":"The resource discriminator, which indicates the type of the referenced resource, e.g. \"Community\", \"Asset\", ... Check the documentation of the class using the resource reference for detailed documentation regarding the possible resource discriminator values."}},"description":"Represents reference to the resource."}}},"paths":{"/assets/{assetId}/responsibilities":{"put":{"tags":["Assets"],"summary":"Set asset responsibilities","description":"Sets responsibilities for the asset with the given ID.","operationId":"setAssetResponsibilities","parameters":[{"name":"assetId","in":"path","description":"The ID of the asset","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"description":"The responsibilities to be set on given asset","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SetAssetResponsibilitiesRequest"}}}},"responses":{"200":{"description":"OK - The request has succeeded.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ResponsibilityImpl"}}}}},"400":{"description":"Bad Request - Request data is malformed or illegal. The request body will contain additional information."},"401":{"description":"Unauthorized - Authentication has failed or has not been provided."},"403":{"description":"Forbidden - Insufficient permissions to perform the requested operation."},"404":{"description":"Not Found - One of the requested resources could not be found or the requested URI is invalid."},"500":{"description":"Internal Server Error - The server encountered an unexpected condition which prevented it from fulfilling the request. Please report a problem as this situation should not occur."}}}}}}
```


# Attachments

## Find attachments

> Returns attachments matching the given search criteria. Only parameters that are specified in this request and have not \<code>null\</code> values are used for filtering. All other parameters are ignored. The returned attachments satisfy all constraints that are specified in this search criteria.	By default a result containing 1000 attachments is returned.

```json
{"openapi":"3.0.3","info":{"title":"Collibra Data Governance Center Core API","version":"2.0"},"servers":[{"url":"/rest/2.0","variables":{}}],"security":[{"basicAuth":[]},{"jwtAuth":[]},{"oauth2":["kg.view-all"]},{"oauth2":[]}],"components":{"securitySchemes":{"basicAuth":{"type":"http","scheme":"basic"},"jwtAuth":{"type":"http","description":"Collibra REST API authentication using JSON Web Token.","scheme":"bearer","bearerFormat":"JWT"},"oauth2":{"type":"oauth2","description":"Collibra REST API authentication using OAuth 2.","flows":{"clientCredentials":{"tokenUrl":"/rest/oauth/v2/token","scopes":{"sys.admin":"System administration","kg.manage-all":"Manage all knowledge graph resources","kg.view-all":"View any knowledge graph resource","kg.manage-tags":"Manage tags","insights.download":"Download insights reporting zip files","wf.administration":"Workflow administration","wf.use-message-events":"Use workflow events"}}}}},"schemas":{"AttachmentPagedResponse":{"type":"object","properties":{"total":{"type":"integer","description":"The total number of results.","format":"int64"},"offset":{"type":"integer","description":"The offset for the results.","format":"int64"},"limit":{"type":"integer","description":"The maximum number of results to be returned.","format":"int64"},"results":{"type":"array","description":"The list of results.","items":{"$ref":"#/components/schemas/AttachmentImpl"}}}},"AttachmentImpl":{"required":["id","resourceType"],"type":"object","properties":{"id":{"type":"string","description":"The id of the represented object (entity).","format":"uuid"},"createdBy":{"type":"string","description":"The id of the user that created this resource.","format":"uuid"},"createdOn":{"type":"integer","description":"The timestamp (in UTC time standard) of the creation of this resource.","format":"int64"},"lastModifiedBy":{"type":"string","description":"The id of the user who modified this resource the last time.","format":"uuid"},"lastModifiedOn":{"type":"integer","description":"The timestamp (in UTC time standard) of the last modification of this resource.","format":"int64"},"system":{"type":"boolean","description":"Whether this is a system resource or not."},"resourceType":{"type":"string","description":"The type of the resource, e.g. [Community, Asset, Domain, Attribute, Relation, WorkflowInstance, ...].\nThis property is deprecated and will be removed in the future. In order to stay backwards compatible\nand to enable introduction of new types of resources, where necessary, a resource discriminator\nproperty (of type String) has been added to specific subtypes of Resource,\ne.g. assignedResourceDiscriminator on AssignedResource, or attributeDiscriminator on Attribute.\nFor new types of resource that didn't exist before this change, the resourceType will be\nBaseDataType.\n","deprecated":true,"enum":["View","Asset","Community","Domain","AssetType","DomainType","Status","User","ClassificationMatch","UserGroup","Attribute","StringAttribute","ScriptAttribute","BooleanAttribute","DateAttribute","NumericAttribute","SingleValueListAttribute","MultiValueListAttribute","Comment","Attachment","Responsibility","Workflow","Job","Relation","RelationType","ComplexRelation","ComplexRelationType","ArticulationRule","Assignment","Scope","RelationTrace","ValidationRule","DataQualityRule","DataQualityMetric","Address","InstantMessagingAccount","Email","PhoneNumber","Website","Activity","FormProperty","WorkflowTask","ActivityChange","WorkflowInstance","Role","AttributeType","BooleanAttributeType","DateAttributeType","DateTimeAttributeType","MultiValueListAttributeType","NumericAttributeType","ScriptAttributeType","SingleValueListAttributeType","StringAttributeType","ViewSharingRule","ViewAssignmentRule","JdbcDriverFile","JdbcDriver","JdbcIngestionProperties","CsvIngestionProperties","ExcelIngestionProperties","ConnectionStringParameter","AssignedCharacteristicType","Notification","Tag","ComplexRelationLegType","ComplexRelationAttributeType","ComplexRelationLeg","BaseDataType","AdvancedDataType","DiagramPicture","DiagramPictureSharingRule","DiagramPictureAssignmentRule","Rating","Classification","PhysicalDataConnector","Context"]},"baseResource":{"$ref":"#/components/schemas/ResourceReference"},"file":{"$ref":"#/components/schemas/FileReferenceImpl"}}},"ResourceReference":{"required":["id","resourceType"],"type":"object","properties":{"id":{"type":"string","description":"The id of the referenced resource.","format":"uuid"},"resourceType":{"type":"string","description":"The type of the resource, e.g. [Community, Asset, Domain, Attribute, Relation, WorkflowInstance, ...]. This property is deprecated and will be removed in the future. In order to stay backwards compatible and to enable us to introduce new types of resources, we are replacing the ResourceType enum with a String. For new types of resources that didn't exist before this change, resourceType will be BaseDataType. Please use the resourceDiscriminator property instead. Refer to the object containing the ResourceReference for possible values.","deprecated":true,"enum":["View","Asset","Community","Domain","AssetType","DomainType","Status","User","ClassificationMatch","UserGroup","Attribute","StringAttribute","ScriptAttribute","BooleanAttribute","DateAttribute","NumericAttribute","SingleValueListAttribute","MultiValueListAttribute","Comment","Attachment","Responsibility","Workflow","Job","Relation","RelationType","ComplexRelation","ComplexRelationType","ArticulationRule","Assignment","Scope","RelationTrace","ValidationRule","DataQualityRule","DataQualityMetric","Address","InstantMessagingAccount","Email","PhoneNumber","Website","Activity","FormProperty","WorkflowTask","ActivityChange","WorkflowInstance","Role","AttributeType","BooleanAttributeType","DateAttributeType","DateTimeAttributeType","MultiValueListAttributeType","NumericAttributeType","ScriptAttributeType","SingleValueListAttributeType","StringAttributeType","ViewSharingRule","ViewAssignmentRule","JdbcDriverFile","JdbcDriver","JdbcIngestionProperties","CsvIngestionProperties","ExcelIngestionProperties","ConnectionStringParameter","AssignedCharacteristicType","Notification","Tag","ComplexRelationLegType","ComplexRelationAttributeType","ComplexRelationLeg","BaseDataType","AdvancedDataType","DiagramPicture","DiagramPictureSharingRule","DiagramPictureAssignmentRule","Rating","Classification","PhysicalDataConnector","Context"]},"resourceDiscriminator":{"type":"string","description":"The resource discriminator, which indicates the type of the referenced resource, e.g. \"Community\", \"Asset\", ... Check the documentation of the class using the resource reference for detailed documentation regarding the possible resource discriminator values."}},"description":"Represents reference to the resource."},"FileReferenceImpl":{"type":"object","properties":{"id":{"type":"string","description":"The ID of the file","format":"uuid"},"name":{"type":"string","description":"The name of the file."},"contentType":{"type":"string","description":"The MIME type of the file content."}},"description":"The reference to the file contained by this attachment."}}},"paths":{"/attachments":{"get":{"tags":["Attachments"],"summary":"Find attachments","description":"Returns attachments matching the given search criteria. Only parameters that are specified in this request and have not <code>null</code> values are used for filtering. All other parameters are ignored. The returned attachments satisfy all constraints that are specified in this search criteria.\tBy default a result containing 1000 attachments is returned.","operationId":"findAttachments","parameters":[{"name":"offset","in":"query","description":"The first result to retrieve. If not set (offset = <code>0</code>), results will be retrieved starting from row <code>0</code>.","schema":{"type":"integer","format":"int32","default":0}},{"name":"limit","in":"query","description":"The maximum number of results to retrieve. If not set (limit = <code>0</code>), the default limit will be used. The maximum allowed limit is 1000.","schema":{"type":"integer","format":"int32","default":0}},{"name":"countLimit","in":"query","description":"Allows to limit the number of elements that will be counted. -1 will count everything and 0 will cause the count to be skipped","schema":{"type":"integer","format":"int32","default":-1}},{"name":"fileName","in":"query","description":"The name of the file representing searched attachment.","schema":{"type":"string"}},{"name":"fileContentType","in":"query","description":"The type of the content of the file representing searched attachment.","schema":{"type":"string"}},{"name":"uploadDate","in":"query","description":"The date of attachment upload. It is the timestamp (in UTC time standard).","schema":{"type":"integer","format":"int64"}},{"name":"userId","in":"query","description":"The ID of the user who uploaded the attachment.","schema":{"type":"string","format":"uuid"}},{"name":"baseResourceId","in":"query","description":"The ID of the resource the attachment refers to.","schema":{"type":"string","format":"uuid"}},{"name":"sortField","in":"query","description":"The field that should be used as reference for sorting.","schema":{"type":"string","enum":["FILE_CONTENT_TYPE","CREATED_BY","FILE_NAME","CREATED_ON","BASE_RESOURCE_ID","LAST_MODIFIED"],"default":"LAST_MODIFIED"}},{"name":"sortOrder","in":"query","description":"The order of sorting.","schema":{"type":"string","enum":["ASC","DESC"],"default":"DESC"}}],"responses":{"200":{"description":"OK - The request has succeeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AttachmentPagedResponse"}}}},"401":{"description":"Unauthorized - Authentication has failed or has not been provided."},"500":{"description":"Internal Server Error - The server encountered an unexpected condition which prevented it from fulfilling the request. Please report a problem as this situation should not occur."}}}}}}
```

## Add attachment

> Adds new attachment.

```json
{"openapi":"3.0.3","info":{"title":"Collibra Data Governance Center Core API","version":"2.0"},"servers":[{"url":"/rest/2.0","variables":{}}],"security":[{"basicAuth":[]},{"jwtAuth":[]},{"oauth2":["kg.manage-all"]}],"components":{"securitySchemes":{"basicAuth":{"type":"http","scheme":"basic"},"jwtAuth":{"type":"http","description":"Collibra REST API authentication using JSON Web Token.","scheme":"bearer","bearerFormat":"JWT"},"oauth2":{"type":"oauth2","description":"Collibra REST API authentication using OAuth 2.","flows":{"clientCredentials":{"tokenUrl":"/rest/oauth/v2/token","scopes":{"sys.admin":"System administration","kg.manage-all":"Manage all knowledge graph resources","kg.view-all":"View any knowledge graph resource","kg.manage-tags":"Manage tags","insights.download":"Download insights reporting zip files","wf.administration":"Workflow administration","wf.use-message-events":"Use workflow events"}}}}},"schemas":{"AttachmentImpl":{"required":["id","resourceType"],"type":"object","properties":{"id":{"type":"string","description":"The id of the represented object (entity).","format":"uuid"},"createdBy":{"type":"string","description":"The id of the user that created this resource.","format":"uuid"},"createdOn":{"type":"integer","description":"The timestamp (in UTC time standard) of the creation of this resource.","format":"int64"},"lastModifiedBy":{"type":"string","description":"The id of the user who modified this resource the last time.","format":"uuid"},"lastModifiedOn":{"type":"integer","description":"The timestamp (in UTC time standard) of the last modification of this resource.","format":"int64"},"system":{"type":"boolean","description":"Whether this is a system resource or not."},"resourceType":{"type":"string","description":"The type of the resource, e.g. [Community, Asset, Domain, Attribute, Relation, WorkflowInstance, ...].\nThis property is deprecated and will be removed in the future. In order to stay backwards compatible\nand to enable introduction of new types of resources, where necessary, a resource discriminator\nproperty (of type String) has been added to specific subtypes of Resource,\ne.g. assignedResourceDiscriminator on AssignedResource, or attributeDiscriminator on Attribute.\nFor new types of resource that didn't exist before this change, the resourceType will be\nBaseDataType.\n","deprecated":true,"enum":["View","Asset","Community","Domain","AssetType","DomainType","Status","User","ClassificationMatch","UserGroup","Attribute","StringAttribute","ScriptAttribute","BooleanAttribute","DateAttribute","NumericAttribute","SingleValueListAttribute","MultiValueListAttribute","Comment","Attachment","Responsibility","Workflow","Job","Relation","RelationType","ComplexRelation","ComplexRelationType","ArticulationRule","Assignment","Scope","RelationTrace","ValidationRule","DataQualityRule","DataQualityMetric","Address","InstantMessagingAccount","Email","PhoneNumber","Website","Activity","FormProperty","WorkflowTask","ActivityChange","WorkflowInstance","Role","AttributeType","BooleanAttributeType","DateAttributeType","DateTimeAttributeType","MultiValueListAttributeType","NumericAttributeType","ScriptAttributeType","SingleValueListAttributeType","StringAttributeType","ViewSharingRule","ViewAssignmentRule","JdbcDriverFile","JdbcDriver","JdbcIngestionProperties","CsvIngestionProperties","ExcelIngestionProperties","ConnectionStringParameter","AssignedCharacteristicType","Notification","Tag","ComplexRelationLegType","ComplexRelationAttributeType","ComplexRelationLeg","BaseDataType","AdvancedDataType","DiagramPicture","DiagramPictureSharingRule","DiagramPictureAssignmentRule","Rating","Classification","PhysicalDataConnector","Context"]},"baseResource":{"$ref":"#/components/schemas/ResourceReference"},"file":{"$ref":"#/components/schemas/FileReferenceImpl"}}},"ResourceReference":{"required":["id","resourceType"],"type":"object","properties":{"id":{"type":"string","description":"The id of the referenced resource.","format":"uuid"},"resourceType":{"type":"string","description":"The type of the resource, e.g. [Community, Asset, Domain, Attribute, Relation, WorkflowInstance, ...]. This property is deprecated and will be removed in the future. In order to stay backwards compatible and to enable us to introduce new types of resources, we are replacing the ResourceType enum with a String. For new types of resources that didn't exist before this change, resourceType will be BaseDataType. Please use the resourceDiscriminator property instead. Refer to the object containing the ResourceReference for possible values.","deprecated":true,"enum":["View","Asset","Community","Domain","AssetType","DomainType","Status","User","ClassificationMatch","UserGroup","Attribute","StringAttribute","ScriptAttribute","BooleanAttribute","DateAttribute","NumericAttribute","SingleValueListAttribute","MultiValueListAttribute","Comment","Attachment","Responsibility","Workflow","Job","Relation","RelationType","ComplexRelation","ComplexRelationType","ArticulationRule","Assignment","Scope","RelationTrace","ValidationRule","DataQualityRule","DataQualityMetric","Address","InstantMessagingAccount","Email","PhoneNumber","Website","Activity","FormProperty","WorkflowTask","ActivityChange","WorkflowInstance","Role","AttributeType","BooleanAttributeType","DateAttributeType","DateTimeAttributeType","MultiValueListAttributeType","NumericAttributeType","ScriptAttributeType","SingleValueListAttributeType","StringAttributeType","ViewSharingRule","ViewAssignmentRule","JdbcDriverFile","JdbcDriver","JdbcIngestionProperties","CsvIngestionProperties","ExcelIngestionProperties","ConnectionStringParameter","AssignedCharacteristicType","Notification","Tag","ComplexRelationLegType","ComplexRelationAttributeType","ComplexRelationLeg","BaseDataType","AdvancedDataType","DiagramPicture","DiagramPictureSharingRule","DiagramPictureAssignmentRule","Rating","Classification","PhysicalDataConnector","Context"]},"resourceDiscriminator":{"type":"string","description":"The resource discriminator, which indicates the type of the referenced resource, e.g. \"Community\", \"Asset\", ... Check the documentation of the class using the resource reference for detailed documentation regarding the possible resource discriminator values."}},"description":"Represents reference to the resource."},"FileReferenceImpl":{"type":"object","properties":{"id":{"type":"string","description":"The ID of the file","format":"uuid"},"name":{"type":"string","description":"The name of the file."},"contentType":{"type":"string","description":"The MIME type of the file content."}},"description":"The reference to the file contained by this attachment."}}},"paths":{"/attachments":{"post":{"tags":["Attachments"],"summary":"Add attachment","description":"Adds new attachment.","operationId":"addAttachment","requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"file":{"type":"string","description":"the file - attachment content","format":"binary"},"fileName":{"type":"string","description":"the display name of the file of this attachment"},"resourceType":{"type":"string","description":"the type of the resource the attachment should refer to.\nAn attachment can be added on those resource types: User, Community, Domain, Asset.\nThis parameter is deprecated, please use resourceDiscriminator instead.","enum":["View","Asset","Community","Domain","AssetType","DomainType","Status","User","ClassificationMatch","UserGroup","Attribute","StringAttribute","ScriptAttribute","BooleanAttribute","DateAttribute","NumericAttribute","SingleValueListAttribute","MultiValueListAttribute","Comment","Attachment","Responsibility","Workflow","Job","Relation","RelationType","ComplexRelation","ComplexRelationType","ArticulationRule","Assignment","Scope","RelationTrace","ValidationRule","DataQualityRule","DataQualityMetric","Address","InstantMessagingAccount","Email","PhoneNumber","Website","Activity","FormProperty","WorkflowTask","ActivityChange","WorkflowInstance","Role","AttributeType","BooleanAttributeType","DateAttributeType","DateTimeAttributeType","MultiValueListAttributeType","NumericAttributeType","ScriptAttributeType","SingleValueListAttributeType","StringAttributeType","ViewSharingRule","ViewAssignmentRule","JdbcDriverFile","JdbcDriver","JdbcIngestionProperties","CsvIngestionProperties","ExcelIngestionProperties","ConnectionStringParameter","AssignedCharacteristicType","Notification","Tag","ComplexRelationLegType","ComplexRelationAttributeType","ComplexRelationLeg","BaseDataType","AdvancedDataType","DiagramPicture","DiagramPictureSharingRule","DiagramPictureAssignmentRule","Rating","Classification","PhysicalDataConnector","Context"]},"resourceDiscriminator":{"type":"string","description":"the discriminator of the resource the attachment should refer to.\nFollowing discriminators are valid for attachments : User, Community, Domain, Asset."},"resourceId":{"type":"string","description":"the id of the resource the attachment should refer to","format":"uuid"}}}}}},"responses":{"201":{"description":"Created - The request has been fulfilled and resulted in a new resource being created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AttachmentImpl"}}}},"400":{"description":"Bad Request - Request data is malformed or illegal. The request body will contain additional information."},"401":{"description":"Unauthorized - Authentication has failed or has not been provided."},"403":{"description":"Forbidden - Insufficient permissions to perform the requested operation."},"500":{"description":"Internal Server Error - The server encountered an unexpected condition which prevented it from fulfilling the request. Please report a problem as this situation should not occur."}}}}}}
```

## Get attachment

> Returns information about the attachment identified by id.

```json
{"openapi":"3.0.3","info":{"title":"Collibra Data Governance Center Core API","version":"2.0"},"servers":[{"url":"/rest/2.0","variables":{}}],"security":[{"basicAuth":[]},{"jwtAuth":[]},{"oauth2":["kg.view-all"]},{"oauth2":[]}],"components":{"securitySchemes":{"basicAuth":{"type":"http","scheme":"basic"},"jwtAuth":{"type":"http","description":"Collibra REST API authentication using JSON Web Token.","scheme":"bearer","bearerFormat":"JWT"},"oauth2":{"type":"oauth2","description":"Collibra REST API authentication using OAuth 2.","flows":{"clientCredentials":{"tokenUrl":"/rest/oauth/v2/token","scopes":{"sys.admin":"System administration","kg.manage-all":"Manage all knowledge graph resources","kg.view-all":"View any knowledge graph resource","kg.manage-tags":"Manage tags","insights.download":"Download insights reporting zip files","wf.administration":"Workflow administration","wf.use-message-events":"Use workflow events"}}}}},"schemas":{"AttachmentImpl":{"required":["id","resourceType"],"type":"object","properties":{"id":{"type":"string","description":"The id of the represented object (entity).","format":"uuid"},"createdBy":{"type":"string","description":"The id of the user that created this resource.","format":"uuid"},"createdOn":{"type":"integer","description":"The timestamp (in UTC time standard) of the creation of this resource.","format":"int64"},"lastModifiedBy":{"type":"string","description":"The id of the user who modified this resource the last time.","format":"uuid"},"lastModifiedOn":{"type":"integer","description":"The timestamp (in UTC time standard) of the last modification of this resource.","format":"int64"},"system":{"type":"boolean","description":"Whether this is a system resource or not."},"resourceType":{"type":"string","description":"The type of the resource, e.g. [Community, Asset, Domain, Attribute, Relation, WorkflowInstance, ...].\nThis property is deprecated and will be removed in the future. In order to stay backwards compatible\nand to enable introduction of new types of resources, where necessary, a resource discriminator\nproperty (of type String) has been added to specific subtypes of Resource,\ne.g. assignedResourceDiscriminator on AssignedResource, or attributeDiscriminator on Attribute.\nFor new types of resource that didn't exist before this change, the resourceType will be\nBaseDataType.\n","deprecated":true,"enum":["View","Asset","Community","Domain","AssetType","DomainType","Status","User","ClassificationMatch","UserGroup","Attribute","StringAttribute","ScriptAttribute","BooleanAttribute","DateAttribute","NumericAttribute","SingleValueListAttribute","MultiValueListAttribute","Comment","Attachment","Responsibility","Workflow","Job","Relation","RelationType","ComplexRelation","ComplexRelationType","ArticulationRule","Assignment","Scope","RelationTrace","ValidationRule","DataQualityRule","DataQualityMetric","Address","InstantMessagingAccount","Email","PhoneNumber","Website","Activity","FormProperty","WorkflowTask","ActivityChange","WorkflowInstance","Role","AttributeType","BooleanAttributeType","DateAttributeType","DateTimeAttributeType","MultiValueListAttributeType","NumericAttributeType","ScriptAttributeType","SingleValueListAttributeType","StringAttributeType","ViewSharingRule","ViewAssignmentRule","JdbcDriverFile","JdbcDriver","JdbcIngestionProperties","CsvIngestionProperties","ExcelIngestionProperties","ConnectionStringParameter","AssignedCharacteristicType","Notification","Tag","ComplexRelationLegType","ComplexRelationAttributeType","ComplexRelationLeg","BaseDataType","AdvancedDataType","DiagramPicture","DiagramPictureSharingRule","DiagramPictureAssignmentRule","Rating","Classification","PhysicalDataConnector","Context"]},"baseResource":{"$ref":"#/components/schemas/ResourceReference"},"file":{"$ref":"#/components/schemas/FileReferenceImpl"}}},"ResourceReference":{"required":["id","resourceType"],"type":"object","properties":{"id":{"type":"string","description":"The id of the referenced resource.","format":"uuid"},"resourceType":{"type":"string","description":"The type of the resource, e.g. [Community, Asset, Domain, Attribute, Relation, WorkflowInstance, ...]. This property is deprecated and will be removed in the future. In order to stay backwards compatible and to enable us to introduce new types of resources, we are replacing the ResourceType enum with a String. For new types of resources that didn't exist before this change, resourceType will be BaseDataType. Please use the resourceDiscriminator property instead. Refer to the object containing the ResourceReference for possible values.","deprecated":true,"enum":["View","Asset","Community","Domain","AssetType","DomainType","Status","User","ClassificationMatch","UserGroup","Attribute","StringAttribute","ScriptAttribute","BooleanAttribute","DateAttribute","NumericAttribute","SingleValueListAttribute","MultiValueListAttribute","Comment","Attachment","Responsibility","Workflow","Job","Relation","RelationType","ComplexRelation","ComplexRelationType","ArticulationRule","Assignment","Scope","RelationTrace","ValidationRule","DataQualityRule","DataQualityMetric","Address","InstantMessagingAccount","Email","PhoneNumber","Website","Activity","FormProperty","WorkflowTask","ActivityChange","WorkflowInstance","Role","AttributeType","BooleanAttributeType","DateAttributeType","DateTimeAttributeType","MultiValueListAttributeType","NumericAttributeType","ScriptAttributeType","SingleValueListAttributeType","StringAttributeType","ViewSharingRule","ViewAssignmentRule","JdbcDriverFile","JdbcDriver","JdbcIngestionProperties","CsvIngestionProperties","ExcelIngestionProperties","ConnectionStringParameter","AssignedCharacteristicType","Notification","Tag","ComplexRelationLegType","ComplexRelationAttributeType","ComplexRelationLeg","BaseDataType","AdvancedDataType","DiagramPicture","DiagramPictureSharingRule","DiagramPictureAssignmentRule","Rating","Classification","PhysicalDataConnector","Context"]},"resourceDiscriminator":{"type":"string","description":"The resource discriminator, which indicates the type of the referenced resource, e.g. \"Community\", \"Asset\", ... Check the documentation of the class using the resource reference for detailed documentation regarding the possible resource discriminator values."}},"description":"Represents reference to the resource."},"FileReferenceImpl":{"type":"object","properties":{"id":{"type":"string","description":"The ID of the file","format":"uuid"},"name":{"type":"string","description":"The name of the file."},"contentType":{"type":"string","description":"The MIME type of the file content."}},"description":"The reference to the file contained by this attachment."}}},"paths":{"/attachments/{attachmentId}":{"get":{"tags":["Attachments"],"summary":"Get attachment","description":"Returns information about the attachment identified by id.","operationId":"getAttachment","parameters":[{"name":"attachmentId","in":"path","description":"the id of the attachment","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK - The request has succeeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AttachmentImpl"}}}},"401":{"description":"Unauthorized - Authentication has failed or has not been provided."},"403":{"description":"Forbidden - Insufficient permissions to perform the requested operation."},"404":{"description":"Not Found - One of the requested resources could not be found or the requested URI is invalid."},"500":{"description":"Internal Server Error - The server encountered an unexpected condition which prevented it from fulfilling the request. Please report a problem as this situation should not occur."}}}}}}
```

## Remove attachment

> Removes attachment identified by given id.

```json
{"openapi":"3.0.3","info":{"title":"Collibra Data Governance Center Core API","version":"2.0"},"servers":[{"url":"/rest/2.0","variables":{}}],"security":[{"basicAuth":[]},{"jwtAuth":[]},{"oauth2":["kg.manage-all"]}],"components":{"securitySchemes":{"basicAuth":{"type":"http","scheme":"basic"},"jwtAuth":{"type":"http","description":"Collibra REST API authentication using JSON Web Token.","scheme":"bearer","bearerFormat":"JWT"},"oauth2":{"type":"oauth2","description":"Collibra REST API authentication using OAuth 2.","flows":{"clientCredentials":{"tokenUrl":"/rest/oauth/v2/token","scopes":{"sys.admin":"System administration","kg.manage-all":"Manage all knowledge graph resources","kg.view-all":"View any knowledge graph resource","kg.manage-tags":"Manage tags","insights.download":"Download insights reporting zip files","wf.administration":"Workflow administration","wf.use-message-events":"Use workflow events"}}}}}},"paths":{"/attachments/{attachmentId}":{"delete":{"tags":["Attachments"],"summary":"Remove attachment","description":"Removes attachment identified by given id.","operationId":"removeAttachment","parameters":[{"name":"attachmentId","in":"path","description":"the id of the attachment","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"204":{"description":"No Content - The server has fulfilled the request but does not need to return an entity-body."},"401":{"description":"Unauthorized - Authentication has failed or has not been provided."},"403":{"description":"Forbidden - Insufficient permissions to perform the requested operation."},"404":{"description":"Not Found - One of the requested resources could not be found or the requested URI is invalid."},"500":{"description":"Internal Server Error - The server encountered an unexpected condition which prevented it from fulfilling the request. Please report a problem as this situation should not occur."}}}}}}
```

## Get attachment content

> Returns content of the attachment identified by given id.

```json
{"openapi":"3.0.3","info":{"title":"Collibra Data Governance Center Core API","version":"2.0"},"servers":[{"url":"/rest/2.0","variables":{}}],"security":[{"basicAuth":[]},{"jwtAuth":[]},{"oauth2":["kg.view-all"]},{"oauth2":[]}],"components":{"securitySchemes":{"basicAuth":{"type":"http","scheme":"basic"},"jwtAuth":{"type":"http","description":"Collibra REST API authentication using JSON Web Token.","scheme":"bearer","bearerFormat":"JWT"},"oauth2":{"type":"oauth2","description":"Collibra REST API authentication using OAuth 2.","flows":{"clientCredentials":{"tokenUrl":"/rest/oauth/v2/token","scopes":{"sys.admin":"System administration","kg.manage-all":"Manage all knowledge graph resources","kg.view-all":"View any knowledge graph resource","kg.manage-tags":"Manage tags","insights.download":"Download insights reporting zip files","wf.administration":"Workflow administration","wf.use-message-events":"Use workflow events"}}}}}},"paths":{"/attachments/{attachmentId}/file":{"get":{"tags":["Attachments"],"summary":"Get attachment content","description":"Returns content of the attachment identified by given id.","operationId":"getAttachmentContent","parameters":[{"name":"attachmentId","in":"path","description":"the id of the attachment","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK - The request has succeeded.","content":{"application/json":{"schema":{"type":"string","description":"The attachment content","format":"binary"}}}},"401":{"description":"Unauthorized - Authentication has failed or has not been provided."},"403":{"description":"Forbidden - Insufficient permissions to perform the requested operation."},"404":{"description":"Not Found - One of the requested resources could not be found or the requested URI is invalid."},"500":{"description":"Internal Server Error - The server encountered an unexpected condition which prevented it from fulfilling the request. Please report a problem as this situation should not occur."}}}}}}
```


# Attributes

## Find attributes

> \<p>Returns attributes matching the given search criteria. Only parameters that are specified in this request and have not \<code>null\</code> values are used for filtering. All other parameters are ignored. The returned attributes satisfy all constraints that are specified in this search criteria. By default a result containing 1000 attributes is returned.\</p>\<p>For fetching large numbers of attributes or attributes of multiple assets consider using the async methods of Output Module REST API instead, which allow getting attributes for multiple assets in one call and eliminate the risk of timing out. Additionally, consider the CSV endpoint of the Output Module REST API for particularly large result sets, as it's more memory efficient.\</p>

```json
{"openapi":"3.0.3","info":{"title":"Collibra Data Governance Center Core API","version":"2.0"},"servers":[{"url":"/rest/2.0","variables":{}}],"security":[{"basicAuth":[]},{"jwtAuth":[]},{"oauth2":["kg.view-all"]},{"oauth2":[]}],"components":{"securitySchemes":{"basicAuth":{"type":"http","scheme":"basic"},"jwtAuth":{"type":"http","description":"Collibra REST API authentication using JSON Web Token.","scheme":"bearer","bearerFormat":"JWT"},"oauth2":{"type":"oauth2","description":"Collibra REST API authentication using OAuth 2.","flows":{"clientCredentials":{"tokenUrl":"/rest/oauth/v2/token","scopes":{"sys.admin":"System administration","kg.manage-all":"Manage all knowledge graph resources","kg.view-all":"View any knowledge graph resource","kg.manage-tags":"Manage tags","insights.download":"Download insights reporting zip files","wf.administration":"Workflow administration","wf.use-message-events":"Use workflow events"}}}}},"schemas":{"AttributePagedResponse":{"type":"object","properties":{"total":{"type":"integer","description":"The total number of results. -1 when cursor pagination is used.","format":"int64"},"offset":{"type":"integer","description":"The offset for the results. -1 when cursor pagination is used.","format":"int64"},"limit":{"type":"integer","description":"The maximum number of results to be returned.","format":"int64"},"results":{"type":"array","description":"The list of results.","items":{"$ref":"#/components/schemas/Attribute"}},"nextCursor":{"type":"string","description":"Cursor value to be passed in next request to retrieve next page of results. Not returned on last page or when offset pagination is used."}}},"Attribute":{"type":"object","properties":{"value":{"type":"object"},"type":{"$ref":"#/components/schemas/NamedResourceReferenceImpl"},"asset":{"$ref":"#/components/schemas/NamedResourceReferenceImpl"},"attributeDiscriminator":{"type":"string"},"system":{"type":"boolean","description":"Whether this is a system resource or not."},"resourceType":{"type":"string","description":"The type of the resource, e.g. [Community, Asset, Domain, Attribute, Relation, WorkflowInstance, ...].\nThis property is deprecated and will be removed in the future. In order to stay backwards compatible\nand to enable introduction of new types of resources, where necessary, a resource discriminator\nproperty (of type String) has been added to specific subtypes of Resource,\ne.g. assignedResourceDiscriminator on AssignedResource, or attributeDiscriminator on Attribute.\nFor new types of resource that didn't exist before this change, the resourceType will be\nBaseDataType.\n","deprecated":true,"enum":["View","Asset","Community","Domain","AssetType","DomainType","Status","User","ClassificationMatch","UserGroup","Attribute","StringAttribute","ScriptAttribute","BooleanAttribute","DateAttribute","NumericAttribute","SingleValueListAttribute","MultiValueListAttribute","Comment","Attachment","Responsibility","Workflow","Job","Relation","RelationType","ComplexRelation","ComplexRelationType","ArticulationRule","Assignment","Scope","RelationTrace","ValidationRule","DataQualityRule","DataQualityMetric","Address","InstantMessagingAccount","Email","PhoneNumber","Website","Activity","FormProperty","WorkflowTask","ActivityChange","WorkflowInstance","Role","AttributeType","BooleanAttributeType","DateAttributeType","DateTimeAttributeType","MultiValueListAttributeType","NumericAttributeType","ScriptAttributeType","SingleValueListAttributeType","StringAttributeType","ViewSharingRule","ViewAssignmentRule","JdbcDriverFile","JdbcDriver","JdbcIngestionProperties","CsvIngestionProperties","ExcelIngestionProperties","ConnectionStringParameter","AssignedCharacteristicType","Notification","Tag","ComplexRelationLegType","ComplexRelationAttributeType","ComplexRelationLeg","BaseDataType","AdvancedDataType","DiagramPicture","DiagramPictureSharingRule","DiagramPictureAssignmentRule","Rating","Classification","PhysicalDataConnector","Context"]},"createdBy":{"type":"string","description":"The id of the user that created this resource.","format":"uuid"},"lastModifiedBy":{"type":"string","description":"The id of the user who modified this resource the last time.","format":"uuid"},"createdOn":{"type":"integer","description":"The timestamp (in UTC time standard) of the creation of this resource.","format":"int64"},"lastModifiedOn":{"type":"integer","description":"The timestamp (in UTC time standard) of the last modification of this resource.","format":"int64"},"id":{"type":"string","description":"The id of the represented object (entity).","format":"uuid"}},"description":"The list of attributes corresponding to the complex relation.","discriminator":{"propertyName":"resourceType","mapping":{"BooleanAttribute":"#/components/schemas/BooleanAttribute","DateAttribute":"#/components/schemas/DateAttribute","MultiValueListAttribute":"#/components/schemas/MultiValueListAttribute","NumericAttribute":"#/components/schemas/NumericAttribute","ScriptAttribute":"#/components/schemas/ScriptAttribute","SingleValueListAttribute":"#/components/schemas/SingleValueListAttribute","StringAttribute":"#/components/schemas/StringAttribute"}}},"NamedResourceReferenceImpl":{"required":["id","resourceType"],"type":"object","properties":{"id":{"type":"string","description":"The id of the referenced resource.","format":"uuid"},"resourceType":{"type":"string","description":"The type of the resource, e.g. [Community, Asset, Domain, Attribute, Relation, WorkflowInstance, ...]. This property is deprecated and will be removed in the future. In order to stay backwards compatible and to enable us to introduce new types of resources, we are replacing the ResourceType enum with a String. For new types of resources that didn't exist before this change, resourceType will be BaseDataType. Please use the resourceDiscriminator property instead. Refer to the object containing the ResourceReference for possible values.","deprecated":true,"enum":["View","Asset","Community","Domain","AssetType","DomainType","Status","User","ClassificationMatch","UserGroup","Attribute","StringAttribute","ScriptAttribute","BooleanAttribute","DateAttribute","NumericAttribute","SingleValueListAttribute","MultiValueListAttribute","Comment","Attachment","Responsibility","Workflow","Job","Relation","RelationType","ComplexRelation","ComplexRelationType","ArticulationRule","Assignment","Scope","RelationTrace","ValidationRule","DataQualityRule","DataQualityMetric","Address","InstantMessagingAccount","Email","PhoneNumber","Website","Activity","FormProperty","WorkflowTask","ActivityChange","WorkflowInstance","Role","AttributeType","BooleanAttributeType","DateAttributeType","DateTimeAttributeType","MultiValueListAttributeType","NumericAttributeType","ScriptAttributeType","SingleValueListAttributeType","StringAttributeType","ViewSharingRule","ViewAssignmentRule","JdbcDriverFile","JdbcDriver","JdbcIngestionProperties","CsvIngestionProperties","ExcelIngestionProperties","ConnectionStringParameter","AssignedCharacteristicType","Notification","Tag","ComplexRelationLegType","ComplexRelationAttributeType","ComplexRelationLeg","BaseDataType","AdvancedDataType","DiagramPicture","DiagramPictureSharingRule","DiagramPictureAssignmentRule","Rating","Classification","PhysicalDataConnector","Context"]},"resourceDiscriminator":{"type":"string","description":"The resource discriminator, which indicates the type of the referenced resource, e.g. \"Community\", \"Asset\", ... Check the documentation of the class using the resource reference for detailed documentation regarding the possible resource discriminator values."},"name":{"type":"string","description":"The name of the referenced resource."}},"description":"Represents reference to the resource, including its name."}}},"paths":{"/attributes":{"get":{"tags":["Attributes"],"summary":"Find attributes","description":"<p>Returns attributes matching the given search criteria. Only parameters that are specified in this request and have not <code>null</code> values are used for filtering. All other parameters are ignored. The returned attributes satisfy all constraints that are specified in this search criteria. By default a result containing 1000 attributes is returned.</p><p>For fetching large numbers of attributes or attributes of multiple assets consider using the async methods of Output Module REST API instead, which allow getting attributes for multiple assets in one call and eliminate the risk of timing out. Additionally, consider the CSV endpoint of the Output Module REST API for particularly large result sets, as it's more memory efficient.</p>","operationId":"findAttributes","parameters":[{"name":"offset","in":"query","description":"The first result to retrieve. If not set (offset = <code>0</code>), results will be retrieved starting from row <code>0</code>. Cursor should be preferred over offset for better performance and stable results. It is forbidden to use both in the same request.","deprecated":true,"schema":{"type":"integer","format":"int32","default":0}},{"name":"limit","in":"query","description":"The maximum number of results to retrieve. If not set (limit = <code>0</code>), the default limit will be used. The maximum allowed limit is 1000.","schema":{"type":"integer","format":"int32","default":0}},{"name":"countLimit","in":"query","description":"Allows to limit the number of elements that will be counted. -1 will count everything and 0 will cause the count to be skipped. For cursor pagination this parameter is ignored and count is skipped.","deprecated":true,"schema":{"type":"integer","format":"int32","default":-1}},{"name":"cursor","in":"query","description":"Cursor for the current page of results. To retrieve the first page with cursor pagination you need to pass this parameter with an empty value (must be non-null). For the next pages, the value must be taken from the response (<code>nextCursor</code> property).","schema":{"type":"string"}},{"name":"typeIds","in":"query","description":"The list of IDs of the attribute types the found attributes should have, or null or empty if no type filtering should be applied.","schema":{"type":"array","items":{"type":"string","format":"uuid"}}},{"name":"assetId","in":"query","description":"The ID of the asset to find the attributes in, or null if no asset filtering should be applied.","schema":{"type":"string","format":"uuid"}},{"name":"sortOrder","in":"query","description":"The sorting order.","schema":{"type":"string","enum":["ASC","DESC"],"default":"DESC"}},{"name":"sortField","in":"query","description":"The field on which the results are sorted.","required":true,"schema":{"type":"string","enum":["CREATED_BY","CREATED_ON","LAST_MODIFIED","ID"],"default":"LAST_MODIFIED"}},{"name":"typePublicIds","in":"query","description":"The list of public IDs of the attribute types the found attributes should have, or null or empty if no type filtering should be applied.","schema":{"type":"array","items":{"type":"string"}}}],"responses":{"200":{"description":"OK - The request has succeeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AttributePagedResponse"}}}},"401":{"description":"Unauthorized - Authentication has failed or has not been provided."},"500":{"description":"Internal Server Error - The server encountered an unexpected condition which prevented it from fulfilling the request. Please report a problem as this situation should not occur."}}}}}}
```

## Add attribute

> Adds a new attribute to an asset.

```json
{"openapi":"3.0.3","info":{"title":"Collibra Data Governance Center Core API","version":"2.0"},"servers":[{"url":"/rest/2.0","variables":{}}],"security":[{"basicAuth":[]},{"jwtAuth":[]},{"oauth2":["kg.manage-all"]}],"components":{"securitySchemes":{"basicAuth":{"type":"http","scheme":"basic"},"jwtAuth":{"type":"http","description":"Collibra REST API authentication using JSON Web Token.","scheme":"bearer","bearerFormat":"JWT"},"oauth2":{"type":"oauth2","description":"Collibra REST API authentication using OAuth 2.","flows":{"clientCredentials":{"tokenUrl":"/rest/oauth/v2/token","scopes":{"sys.admin":"System administration","kg.manage-all":"Manage all knowledge graph resources","kg.view-all":"View any knowledge graph resource","kg.manage-tags":"Manage tags","insights.download":"Download insights reporting zip files","wf.administration":"Workflow administration","wf.use-message-events":"Use workflow events"}}}}},"schemas":{"AddAttributeRequest":{"required":["assetId","value"],"type":"object","properties":{"assetId":{"type":"string","description":"The ID of the asset this attribute should belong to.","format":"uuid"},"typeId":{"type":"string","description":"The ID of the attribute type for the new attribute.","format":"uuid"},"typePublicId":{"type":"string","description":"The public ID of the attribute type for the new attribute."},"value":{"type":"object","description":"The value of this attribute. Expected type of the value depends on the type of the attribute.<br/>Following list presents type of the value depending on the kind of the attribute<br/><ul><br/><li> kind: Numeric               -> value type: number or string<br/><li> kind: Script                -> value type: string<br/><li> kind: Single Value List     -> value type: string<br/><li> kind: Date                  -> value type: number or string<br/><li> kind: String                -> value type: string<br/><li> kind: Boolean               -> value type: boolean or string<br/><li> kind: Multi Value List      -> value type: array of strings<br/></ul>"}}},"Attribute":{"type":"object","properties":{"value":{"type":"object"},"type":{"$ref":"#/components/schemas/NamedResourceReferenceImpl"},"asset":{"$ref":"#/components/schemas/NamedResourceReferenceImpl"},"attributeDiscriminator":{"type":"string"},"system":{"type":"boolean","description":"Whether this is a system resource or not."},"resourceType":{"type":"string","description":"The type of the resource, e.g. [Community, Asset, Domain, Attribute, Relation, WorkflowInstance, ...].\nThis property is deprecated and will be removed in the future. In order to stay backwards compatible\nand to enable introduction of new types of resources, where necessary, a resource discriminator\nproperty (of type String) has been added to specific subtypes of Resource,\ne.g. assignedResourceDiscriminator on AssignedResource, or attributeDiscriminator on Attribute.\nFor new types of resource that didn't exist before this change, the resourceType will be\nBaseDataType.\n","deprecated":true,"enum":["View","Asset","Community","Domain","AssetType","DomainType","Status","User","ClassificationMatch","UserGroup","Attribute","StringAttribute","ScriptAttribute","BooleanAttribute","DateAttribute","NumericAttribute","SingleValueListAttribute","MultiValueListAttribute","Comment","Attachment","Responsibility","Workflow","Job","Relation","RelationType","ComplexRelation","ComplexRelationType","ArticulationRule","Assignment","Scope","RelationTrace","ValidationRule","DataQualityRule","DataQualityMetric","Address","InstantMessagingAccount","Email","PhoneNumber","Website","Activity","FormProperty","WorkflowTask","ActivityChange","WorkflowInstance","Role","AttributeType","BooleanAttributeType","DateAttributeType","DateTimeAttributeType","MultiValueListAttributeType","NumericAttributeType","ScriptAttributeType","SingleValueListAttributeType","StringAttributeType","ViewSharingRule","ViewAssignmentRule","JdbcDriverFile","JdbcDriver","JdbcIngestionProperties","CsvIngestionProperties","ExcelIngestionProperties","ConnectionStringParameter","AssignedCharacteristicType","Notification","Tag","ComplexRelationLegType","ComplexRelationAttributeType","ComplexRelationLeg","BaseDataType","AdvancedDataType","DiagramPicture","DiagramPictureSharingRule","DiagramPictureAssignmentRule","Rating","Classification","PhysicalDataConnector","Context"]},"createdBy":{"type":"string","description":"The id of the user that created this resource.","format":"uuid"},"lastModifiedBy":{"type":"string","description":"The id of the user who modified this resource the last time.","format":"uuid"},"createdOn":{"type":"integer","description":"The timestamp (in UTC time standard) of the creation of this resource.","format":"int64"},"lastModifiedOn":{"type":"integer","description":"The timestamp (in UTC time standard) of the last modification of this resource.","format":"int64"},"id":{"type":"string","description":"The id of the represented object (entity).","format":"uuid"}},"description":"The list of attributes corresponding to the complex relation.","discriminator":{"propertyName":"resourceType","mapping":{"BooleanAttribute":"#/components/schemas/BooleanAttribute","DateAttribute":"#/components/schemas/DateAttribute","MultiValueListAttribute":"#/components/schemas/MultiValueListAttribute","NumericAttribute":"#/components/schemas/NumericAttribute","ScriptAttribute":"#/components/schemas/ScriptAttribute","SingleValueListAttribute":"#/components/schemas/SingleValueListAttribute","StringAttribute":"#/components/schemas/StringAttribute"}}},"NamedResourceReferenceImpl":{"required":["id","resourceType"],"type":"object","properties":{"id":{"type":"string","description":"The id of the referenced resource.","format":"uuid"},"resourceType":{"type":"string","description":"The type of the resource, e.g. [Community, Asset, Domain, Attribute, Relation, WorkflowInstance, ...]. This property is deprecated and will be removed in the future. In order to stay backwards compatible and to enable us to introduce new types of resources, we are replacing the ResourceType enum with a String. For new types of resources that didn't exist before this change, resourceType will be BaseDataType. Please use the resourceDiscriminator property instead. Refer to the object containing the ResourceReference for possible values.","deprecated":true,"enum":["View","Asset","Community","Domain","AssetType","DomainType","Status","User","ClassificationMatch","UserGroup","Attribute","StringAttribute","ScriptAttribute","BooleanAttribute","DateAttribute","NumericAttribute","SingleValueListAttribute","MultiValueListAttribute","Comment","Attachment","Responsibility","Workflow","Job","Relation","RelationType","ComplexRelation","ComplexRelationType","ArticulationRule","Assignment","Scope","RelationTrace","ValidationRule","DataQualityRule","DataQualityMetric","Address","InstantMessagingAccount","Email","PhoneNumber","Website","Activity","FormProperty","WorkflowTask","ActivityChange","WorkflowInstance","Role","AttributeType","BooleanAttributeType","DateAttributeType","DateTimeAttributeType","MultiValueListAttributeType","NumericAttributeType","ScriptAttributeType","SingleValueListAttributeType","StringAttributeType","ViewSharingRule","ViewAssignmentRule","JdbcDriverFile","JdbcDriver","JdbcIngestionProperties","CsvIngestionProperties","ExcelIngestionProperties","ConnectionStringParameter","AssignedCharacteristicType","Notification","Tag","ComplexRelationLegType","ComplexRelationAttributeType","ComplexRelationLeg","BaseDataType","AdvancedDataType","DiagramPicture","DiagramPictureSharingRule","DiagramPictureAssignmentRule","Rating","Classification","PhysicalDataConnector","Context"]},"resourceDiscriminator":{"type":"string","description":"The resource discriminator, which indicates the type of the referenced resource, e.g. \"Community\", \"Asset\", ... Check the documentation of the class using the resource reference for detailed documentation regarding the possible resource discriminator values."},"name":{"type":"string","description":"The name of the referenced resource."}},"description":"Represents reference to the resource, including its name."}}},"paths":{"/attributes":{"post":{"tags":["Attributes"],"summary":"Add attribute","description":"Adds a new attribute to an asset.","operationId":"addAttribute","requestBody":{"description":"the properties of the attribute to be added","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddAttributeRequest"}}}},"responses":{"201":{"description":"Created - The request has been fulfilled and resulted in a new resource being created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Attribute"}}}},"400":{"description":"Bad Request - Request data is malformed or illegal. The request body will contain additional information."},"401":{"description":"Unauthorized - Authentication has failed or has not been provided."},"403":{"description":"Forbidden - Insufficient permissions to perform the requested operation."},"500":{"description":"Internal Server Error - The server encountered an unexpected condition which prevented it from fulfilling the request. Please report a problem as this situation should not occur."}}}}}}
```

## Add attributes

> Adds multiple attributes.

```json
{"openapi":"3.0.3","info":{"title":"Collibra Data Governance Center Core API","version":"2.0"},"servers":[{"url":"/rest/2.0","variables":{}}],"security":[{"basicAuth":[]},{"jwtAuth":[]},{"oauth2":["kg.manage-all"]}],"components":{"securitySchemes":{"basicAuth":{"type":"http","scheme":"basic"},"jwtAuth":{"type":"http","description":"Collibra REST API authentication using JSON Web Token.","scheme":"bearer","bearerFormat":"JWT"},"oauth2":{"type":"oauth2","description":"Collibra REST API authentication using OAuth 2.","flows":{"clientCredentials":{"tokenUrl":"/rest/oauth/v2/token","scopes":{"sys.admin":"System administration","kg.manage-all":"Manage all knowledge graph resources","kg.view-all":"View any knowledge graph resource","kg.manage-tags":"Manage tags","insights.download":"Download insights reporting zip files","wf.administration":"Workflow administration","wf.use-message-events":"Use workflow events"}}}}},"schemas":{"AddAttributeRequest":{"required":["assetId","value"],"type":"object","properties":{"assetId":{"type":"string","description":"The ID of the asset this attribute should belong to.","format":"uuid"},"typeId":{"type":"string","description":"The ID of the attribute type for the new attribute.","format":"uuid"},"typePublicId":{"type":"string","description":"The public ID of the attribute type for the new attribute."},"value":{"type":"object","description":"The value of this attribute. Expected type of the value depends on the type of the attribute.<br/>Following list presents type of the value depending on the kind of the attribute<br/><ul><br/><li> kind: Numeric               -> value type: number or string<br/><li> kind: Script                -> value type: string<br/><li> kind: Single Value List     -> value type: string<br/><li> kind: Date                  -> value type: number or string<br/><li> kind: String                -> value type: string<br/><li> kind: Boolean               -> value type: boolean or string<br/><li> kind: Multi Value List      -> value type: array of strings<br/></ul>"}}},"Attribute":{"type":"object","properties":{"value":{"type":"object"},"type":{"$ref":"#/components/schemas/NamedResourceReferenceImpl"},"asset":{"$ref":"#/components/schemas/NamedResourceReferenceImpl"},"attributeDiscriminator":{"type":"string"},"system":{"type":"boolean","description":"Whether this is a system resource or not."},"resourceType":{"type":"string","description":"The type of the resource, e.g. [Community, Asset, Domain, Attribute, Relation, WorkflowInstance, ...].\nThis property is deprecated and will be removed in the future. In order to stay backwards compatible\nand to enable introduction of new types of resources, where necessary, a resource discriminator\nproperty (of type String) has been added to specific subtypes of Resource,\ne.g. assignedResourceDiscriminator on AssignedResource, or attributeDiscriminator on Attribute.\nFor new types of resource that didn't exist before this change, the resourceType will be\nBaseDataType.\n","deprecated":true,"enum":["View","Asset","Community","Domain","AssetType","DomainType","Status","User","ClassificationMatch","UserGroup","Attribute","StringAttribute","ScriptAttribute","BooleanAttribute","DateAttribute","NumericAttribute","SingleValueListAttribute","MultiValueListAttribute","Comment","Attachment","Responsibility","Workflow","Job","Relation","RelationType","ComplexRelation","ComplexRelationType","ArticulationRule","Assignment","Scope","RelationTrace","ValidationRule","DataQualityRule","DataQualityMetric","Address","InstantMessagingAccount","Email","PhoneNumber","Website","Activity","FormProperty","WorkflowTask","ActivityChange","WorkflowInstance","Role","AttributeType","BooleanAttributeType","DateAttributeType","DateTimeAttributeType","MultiValueListAttributeType","NumericAttributeType","ScriptAttributeType","SingleValueListAttributeType","StringAttributeType","ViewSharingRule","ViewAssignmentRule","JdbcDriverFile","JdbcDriver","JdbcIngestionProperties","CsvIngestionProperties","ExcelIngestionProperties","ConnectionStringParameter","AssignedCharacteristicType","Notification","Tag","ComplexRelationLegType","ComplexRelationAttributeType","ComplexRelationLeg","BaseDataType","AdvancedDataType","DiagramPicture","DiagramPictureSharingRule","DiagramPictureAssignmentRule","Rating","Classification","PhysicalDataConnector","Context"]},"createdBy":{"type":"string","description":"The id of the user that created this resource.","format":"uuid"},"lastModifiedBy":{"type":"string","description":"The id of the user who modified this resource the last time.","format":"uuid"},"createdOn":{"type":"integer","description":"The timestamp (in UTC time standard) of the creation of this resource.","format":"int64"},"lastModifiedOn":{"type":"integer","description":"The timestamp (in UTC time standard) of the last modification of this resource.","format":"int64"},"id":{"type":"string","description":"The id of the represented object (entity).","format":"uuid"}},"description":"The list of attributes corresponding to the complex relation.","discriminator":{"propertyName":"resourceType","mapping":{"BooleanAttribute":"#/components/schemas/BooleanAttribute","DateAttribute":"#/components/schemas/DateAttribute","MultiValueListAttribute":"#/components/schemas/MultiValueListAttribute","NumericAttribute":"#/components/schemas/NumericAttribute","ScriptAttribute":"#/components/schemas/ScriptAttribute","SingleValueListAttribute":"#/components/schemas/SingleValueListAttribute","StringAttribute":"#/components/schemas/StringAttribute"}}},"NamedResourceReferenceImpl":{"required":["id","resourceType"],"type":"object","properties":{"id":{"type":"string","description":"The id of the referenced resource.","format":"uuid"},"resourceType":{"type":"string","description":"The type of the resource, e.g. [Community, Asset, Domain, Attribute, Relation, WorkflowInstance, ...]. This property is deprecated and will be removed in the future. In order to stay backwards compatible and to enable us to introduce new types of resources, we are replacing the ResourceType enum with a String. For new types of resources that didn't exist before this change, resourceType will be BaseDataType. Please use the resourceDiscriminator property instead. Refer to the object containing the ResourceReference for possible values.","deprecated":true,"enum":["View","Asset","Community","Domain","AssetType","DomainType","Status","User","ClassificationMatch","UserGroup","Attribute","StringAttribute","ScriptAttribute","BooleanAttribute","DateAttribute","NumericAttribute","SingleValueListAttribute","MultiValueListAttribute","Comment","Attachment","Responsibility","Workflow","Job","Relation","RelationType","ComplexRelation","ComplexRelationType","ArticulationRule","Assignment","Scope","RelationTrace","ValidationRule","DataQualityRule","DataQualityMetric","Address","InstantMessagingAccount","Email","PhoneNumber","Website","Activity","FormProperty","WorkflowTask","ActivityChange","WorkflowInstance","Role","AttributeType","BooleanAttributeType","DateAttributeType","DateTimeAttributeType","MultiValueListAttributeType","NumericAttributeType","ScriptAttributeType","SingleValueListAttributeType","StringAttributeType","ViewSharingRule","ViewAssignmentRule","JdbcDriverFile","JdbcDriver","JdbcIngestionProperties","CsvIngestionProperties","ExcelIngestionProperties","ConnectionStringParameter","AssignedCharacteristicType","Notification","Tag","ComplexRelationLegType","ComplexRelationAttributeType","ComplexRelationLeg","BaseDataType","AdvancedDataType","DiagramPicture","DiagramPictureSharingRule","DiagramPictureAssignmentRule","Rating","Classification","PhysicalDataConnector","Context"]},"resourceDiscriminator":{"type":"string","description":"The resource discriminator, which indicates the type of the referenced resource, e.g. \"Community\", \"Asset\", ... Check the documentation of the class using the resource reference for detailed documentation regarding the possible resource discriminator values."},"name":{"type":"string","description":"The name of the referenced resource."}},"description":"Represents reference to the resource, including its name."}}},"paths":{"/attributes/bulk":{"post":{"tags":["Attributes"],"summary":"Add attributes","description":"Adds multiple attributes.","operationId":"addAttributes","requestBody":{"description":"the list of the properties of the attributes to be added","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AddAttributeRequest"}}}}},"responses":{"201":{"description":"Created - The request has been fulfilled and resulted in a new resource being created.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Attribute"}}}}},"400":{"description":"Bad Request - Request data is malformed or illegal. The request body will contain additional information."},"401":{"description":"Unauthorized - Authentication has failed or has not been provided."},"403":{"description":"Forbidden - Insufficient permissions to perform the requested operation."},"500":{"description":"Internal Server Error - The server encountered an unexpected condition which prevented it from fulfilling the request. Please report a problem as this situation should not occur."}}}}}}
```

## Remove attributes

> Removes the attributes identified by given ids.

```json
{"openapi":"3.0.3","info":{"title":"Collibra Data Governance Center Core API","version":"2.0"},"servers":[{"url":"/rest/2.0","variables":{}}],"security":[{"basicAuth":[]},{"jwtAuth":[]},{"oauth2":["kg.manage-all"]}],"components":{"securitySchemes":{"basicAuth":{"type":"http","scheme":"basic"},"jwtAuth":{"type":"http","description":"Collibra REST API authentication using JSON Web Token.","scheme":"bearer","bearerFormat":"JWT"},"oauth2":{"type":"oauth2","description":"Collibra REST API authentication using OAuth 2.","flows":{"clientCredentials":{"tokenUrl":"/rest/oauth/v2/token","scopes":{"sys.admin":"System administration","kg.manage-all":"Manage all knowledge graph resources","kg.view-all":"View any knowledge graph resource","kg.manage-tags":"Manage tags","insights.download":"Download insights reporting zip files","wf.administration":"Workflow administration","wf.use-message-events":"Use workflow events"}}}}}},"paths":{"/attributes/bulk":{"delete":{"tags":["Attributes"],"summary":"Remove attributes","description":"Removes the attributes identified by given ids.","operationId":"removeAttributes","requestBody":{"description":"the ids of the attributes to remove","content":{"application/json":{"schema":{"type":"array","items":{"type":"string","format":"uuid"}}}}},"responses":{"204":{"description":"No Content - The server has fulfilled the request but does not need to return an entity-body."},"400":{"description":"Bad Request - Request data is malformed or illegal. The request body will contain additional information."},"401":{"description":"Unauthorized - Authentication has failed or has not been provided."},"403":{"description":"Forbidden - Insufficient permissions to perform the requested operation."},"500":{"description":"Internal Server Error - The server encountered an unexpected condition which prevented it from fulfilling the request. Please report a problem as this situation should not occur."}}}}}}
```

## Change attributes

> Changes multiple attributes with the information that is present in the request. Only properties that are specified in this request and have not \<code>null\</code> values are updated. All other properties are ignored.

```json
{"openapi":"3.0.3","info":{"title":"Collibra Data Governance Center Core API","version":"2.0"},"servers":[{"url":"/rest/2.0","variables":{}}],"security":[{"basicAuth":[]},{"jwtAuth":[]},{"oauth2":["kg.manage-all"]}],"components":{"securitySchemes":{"basicAuth":{"type":"http","scheme":"basic"},"jwtAuth":{"type":"http","description":"Collibra REST API authentication using JSON Web Token.","scheme":"bearer","bearerFormat":"JWT"},"oauth2":{"type":"oauth2","description":"Collibra REST API authentication using OAuth 2.","flows":{"clientCredentials":{"tokenUrl":"/rest/oauth/v2/token","scopes":{"sys.admin":"System administration","kg.manage-all":"Manage all knowledge graph resources","kg.view-all":"View any knowledge graph resource","kg.manage-tags":"Manage tags","insights.download":"Download insights reporting zip files","wf.administration":"Workflow administration","wf.use-message-events":"Use workflow events"}}}}},"schemas":{"ChangeAttributeRequest":{"required":["id","value"],"type":"object","properties":{"id":{"type":"string","description":"The ID of the attribute to be changed. Silently ignored if the ID is provided as path parameter of the request.","format":"uuid"},"value":{"type":"object","description":"The value of this attribute. Expected type of the value depends on the type of the attribute.<br/>Following list presents type of the value depending on the kind of the attribute<br/><ul><br/><li> kind: Numeric               -> value type: number or string<br/><li> kind: Script                -> value type: string<br/><li> kind: Single Value List     -> value type: string<br/><li> kind: Date                  -> value type: number or string<br/><li> kind: String                -> value type: string<br/><li> kind: Boolean               -> value type: boolean or string<br/><li> kind: Multi Value List      -> value type: array of strings<br/></ul>"}}},"Attribute":{"type":"object","properties":{"value":{"type":"object"},"type":{"$ref":"#/components/schemas/NamedResourceReferenceImpl"},"asset":{"$ref":"#/components/schemas/NamedResourceReferenceImpl"},"attributeDiscriminator":{"type":"string"},"system":{"type":"boolean","description":"Whether this is a system resource or not."},"resourceType":{"type":"string","description":"The type of the resource, e.g. [Community, Asset, Domain, Attribute, Relation, WorkflowInstance, ...].\nThis property is deprecated and will be removed in the future. In order to stay backwards compatible\nand to enable introduction of new types of resources, where necessary, a resource discriminator\nproperty (of type String) has been added to specific subtypes of Resource,\ne.g. assignedResourceDiscriminator on AssignedResource, or attributeDiscriminator on Attribute.\nFor new types of resource that didn't exist before this change, the resourceType will be\nBaseDataType.\n","deprecated":true,"enum":["View","Asset","Community","Domain","AssetType","DomainType","Status","User","ClassificationMatch","UserGroup","Attribute","StringAttribute","ScriptAttribute","BooleanAttribute","DateAttribute","NumericAttribute","SingleValueListAttribute","MultiValueListAttribute","Comment","Attachment","Responsibility","Workflow","Job","Relation","RelationType","ComplexRelation","ComplexRelationType","ArticulationRule","Assignment","Scope","RelationTrace","ValidationRule","DataQualityRule","DataQualityMetric","Address","InstantMessagingAccount","Email","PhoneNumber","Website","Activity","FormProperty","WorkflowTask","ActivityChange","WorkflowInstance","Role","AttributeType","BooleanAttributeType","DateAttributeType","DateTimeAttributeType","MultiValueListAttributeType","NumericAttributeType","ScriptAttributeType","SingleValueListAttributeType","StringAttributeType","ViewSharingRule","ViewAssignmentRule","JdbcDriverFile","JdbcDriver","JdbcIngestionProperties","CsvIngestionProperties","ExcelIngestionProperties","ConnectionStringParameter","AssignedCharacteristicType","Notification","Tag","ComplexRelationLegType","ComplexRelationAttributeType","ComplexRelationLeg","BaseDataType","AdvancedDataType","DiagramPicture","DiagramPictureSharingRule","DiagramPictureAssignmentRule","Rating","Classification","PhysicalDataConnector","Context"]},"createdBy":{"type":"string","description":"The id of the user that created this resource.","format":"uuid"},"lastModifiedBy":{"type":"string","description":"The id of the user who modified this resource the last time.","format":"uuid"},"createdOn":{"type":"integer","description":"The timestamp (in UTC time standard) of the creation of this resource.","format":"int64"},"lastModifiedOn":{"type":"integer","description":"The timestamp (in UTC time standard) of the last modification of this resource.","format":"int64"},"id":{"type":"string","description":"The id of the represented object (entity).","format":"uuid"}},"description":"The list of attributes corresponding to the complex relation.","discriminator":{"propertyName":"resourceType","mapping":{"BooleanAttribute":"#/components/schemas/BooleanAttribute","DateAttribute":"#/components/schemas/DateAttribute","MultiValueListAttribute":"#/components/schemas/MultiValueListAttribute","NumericAttribute":"#/components/schemas/NumericAttribute","ScriptAttribute":"#/components/schemas/ScriptAttribute","SingleValueListAttribute":"#/components/schemas/SingleValueListAttribute","StringAttribute":"#/components/schemas/StringAttribute"}}},"NamedResourceReferenceImpl":{"required":["id","resourceType"],"type":"object","properties":{"id":{"type":"string","description":"The id of the referenced resource.","format":"uuid"},"resourceType":{"type":"string","description":"The type of the resource, e.g. [Community, Asset, Domain, Attribute, Relation, WorkflowInstance, ...]. This property is deprecated and will be removed in the future. In order to stay backwards compatible and to enable us to introduce new types of resources, we are replacing the ResourceType enum with a String. For new types of resources that didn't exist before this change, resourceType will be BaseDataType. Please use the resourceDiscriminator property instead. Refer to the object containing the ResourceReference for possible values.","deprecated":true,"enum":["View","Asset","Community","Domain","AssetType","DomainType","Status","User","ClassificationMatch","UserGroup","Attribute","StringAttribute","ScriptAttribute","BooleanAttribute","DateAttribute","NumericAttribute","SingleValueListAttribute","MultiValueListAttribute","Comment","Attachment","Responsibility","Workflow","Job","Relation","RelationType","ComplexRelation","ComplexRelationType","ArticulationRule","Assignment","Scope","RelationTrace","ValidationRule","DataQualityRule","DataQualityMetric","Address","InstantMessagingAccount","Email","PhoneNumber","Website","Activity","FormProperty","WorkflowTask","ActivityChange","WorkflowInstance","Role","AttributeType","BooleanAttributeType","DateAttributeType","DateTimeAttributeType","MultiValueListAttributeType","NumericAttributeType","ScriptAttributeType","SingleValueListAttributeType","StringAttributeType","ViewSharingRule","ViewAssignmentRule","JdbcDriverFile","JdbcDriver","JdbcIngestionProperties","CsvIngestionProperties","ExcelIngestionProperties","ConnectionStringParameter","AssignedCharacteristicType","Notification","Tag","ComplexRelationLegType","ComplexRelationAttributeType","ComplexRelationLeg","BaseDataType","AdvancedDataType","DiagramPicture","DiagramPictureSharingRule","DiagramPictureAssignmentRule","Rating","Classification","PhysicalDataConnector","Context"]},"resourceDiscriminator":{"type":"string","description":"The resource discriminator, which indicates the type of the referenced resource, e.g. \"Community\", \"Asset\", ... Check the documentation of the class using the resource reference for detailed documentation regarding the possible resource discriminator values."},"name":{"type":"string","description":"The name of the referenced resource."}},"description":"Represents reference to the resource, including its name."}}},"paths":{"/attributes/bulk":{"patch":{"tags":["Attributes"],"summary":"Change attributes","description":"Changes multiple attributes with the information that is present in the request. Only properties that are specified in this request and have not <code>null</code> values are updated. All other properties are ignored.","operationId":"changeAttributes","requestBody":{"description":"the list of properties of the attributes to be changed","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ChangeAttributeRequest"}}}}},"responses":{"200":{"description":"OK - The request has succeeded.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Attribute"}}}}},"400":{"description":"Bad Request - Request data is malformed or illegal. The request body will contain additional information."},"401":{"description":"Unauthorized - Authentication has failed or has not been provided."},"403":{"description":"Forbidden - Insufficient permissions to perform the requested operation."},"404":{"description":"Not Found - One of the requested resources could not be found or the requested URI is invalid."},"500":{"description":"Internal Server Error - The server encountered an unexpected condition which prevented it from fulfilling the request. Please report a problem as this situation should not occur."}}}}}}
```

## Get attribute

> Returns the attribute identified by given id.

```json
{"openapi":"3.0.3","info":{"title":"Collibra Data Governance Center Core API","version":"2.0"},"servers":[{"url":"/rest/2.0","variables":{}}],"security":[{"basicAuth":[]},{"jwtAuth":[]},{"oauth2":["kg.view-all"]},{"oauth2":[]}],"components":{"securitySchemes":{"basicAuth":{"type":"http","scheme":"basic"},"jwtAuth":{"type":"http","description":"Collibra REST API authentication using JSON Web Token.","scheme":"bearer","bearerFormat":"JWT"},"oauth2":{"type":"oauth2","description":"Collibra REST API authentication using OAuth 2.","flows":{"clientCredentials":{"tokenUrl":"/rest/oauth/v2/token","scopes":{"sys.admin":"System administration","kg.manage-all":"Manage all knowledge graph resources","kg.view-all":"View any knowledge graph resource","kg.manage-tags":"Manage tags","insights.download":"Download insights reporting zip files","wf.administration":"Workflow administration","wf.use-message-events":"Use workflow events"}}}}},"schemas":{"Attribute":{"type":"object","properties":{"value":{"type":"object"},"type":{"$ref":"#/components/schemas/NamedResourceReferenceImpl"},"asset":{"$ref":"#/components/schemas/NamedResourceReferenceImpl"},"attributeDiscriminator":{"type":"string"},"system":{"type":"boolean","description":"Whether this is a system resource or not."},"resourceType":{"type":"string","description":"The type of the resource, e.g. [Community, Asset, Domain, Attribute, Relation, WorkflowInstance, ...].\nThis property is deprecated and will be removed in the future. In order to stay backwards compatible\nand to enable introduction of new types of resources, where necessary, a resource discriminator\nproperty (of type String) has been added to specific subtypes of Resource,\ne.g. assignedResourceDiscriminator on AssignedResource, or attributeDiscriminator on Attribute.\nFor new types of resource that didn't exist before this change, the resourceType will be\nBaseDataType.\n","deprecated":true,"enum":["View","Asset","Community","Domain","AssetType","DomainType","Status","User","ClassificationMatch","UserGroup","Attribute","StringAttribute","ScriptAttribute","BooleanAttribute","DateAttribute","NumericAttribute","SingleValueListAttribute","MultiValueListAttribute","Comment","Attachment","Responsibility","Workflow","Job","Relation","RelationType","ComplexRelation","ComplexRelationType","ArticulationRule","Assignment","Scope","RelationTrace","ValidationRule","DataQualityRule","DataQualityMetric","Address","InstantMessagingAccount","Email","PhoneNumber","Website","Activity","FormProperty","WorkflowTask","ActivityChange","WorkflowInstance","Role","AttributeType","BooleanAttributeType","DateAttributeType","DateTimeAttributeType","MultiValueListAttributeType","NumericAttributeType","ScriptAttributeType","SingleValueListAttributeType","StringAttributeType","ViewSharingRule","ViewAssignmentRule","JdbcDriverFile","JdbcDriver","JdbcIngestionProperties","CsvIngestionProperties","ExcelIngestionProperties","ConnectionStringParameter","AssignedCharacteristicType","Notification","Tag","ComplexRelationLegType","ComplexRelationAttributeType","ComplexRelationLeg","BaseDataType","AdvancedDataType","DiagramPicture","DiagramPictureSharingRule","DiagramPictureAssignmentRule","Rating","Classification","PhysicalDataConnector","Context"]},"createdBy":{"type":"string","description":"The id of the user that created this resource.","format":"uuid"},"lastModifiedBy":{"type":"string","description":"The id of the user who modified this resource the last time.","format":"uuid"},"createdOn":{"type":"integer","description":"The timestamp (in UTC time standard) of the creation of this resource.","format":"int64"},"lastModifiedOn":{"type":"integer","description":"The timestamp (in UTC time standard) of the last modification of this resource.","format":"int64"},"id":{"type":"string","description":"The id of the represented object (entity).","format":"uuid"}},"description":"The list of attributes corresponding to the complex relation.","discriminator":{"propertyName":"resourceType","mapping":{"BooleanAttribute":"#/components/schemas/BooleanAttribute","DateAttribute":"#/components/schemas/DateAttribute","MultiValueListAttribute":"#/components/schemas/MultiValueListAttribute","NumericAttribute":"#/components/schemas/NumericAttribute","ScriptAttribute":"#/components/schemas/ScriptAttribute","SingleValueListAttribute":"#/components/schemas/SingleValueListAttribute","StringAttribute":"#/components/schemas/StringAttribute"}}},"NamedResourceReferenceImpl":{"required":["id","resourceType"],"type":"object","properties":{"id":{"type":"string","description":"The id of the referenced resource.","format":"uuid"},"resourceType":{"type":"string","description":"The type of the resource, e.g. [Community, Asset, Domain, Attribute, Relation, WorkflowInstance, ...]. This property is deprecated and will be removed in the future. In order to stay backwards compatible and to enable us to introduce new types of resources, we are replacing the ResourceType enum with a String. For new types of resources that didn't exist before this change, resourceType will be BaseDataType. Please use the resourceDiscriminator property instead. Refer to the object containing the ResourceReference for possible values.","deprecated":true,"enum":["View","Asset","Community","Domain","AssetType","DomainType","Status","User","ClassificationMatch","UserGroup","Attribute","StringAttribute","ScriptAttribute","BooleanAttribute","DateAttribute","NumericAttribute","SingleValueListAttribute","MultiValueListAttribute","Comment","Attachment","Responsibility","Workflow","Job","Relation","RelationType","ComplexRelation","ComplexRelationType","ArticulationRule","Assignment","Scope","RelationTrace","ValidationRule","DataQualityRule","DataQualityMetric","Address","InstantMessagingAccount","Email","PhoneNumber","Website","Activity","FormProperty","WorkflowTask","ActivityChange","WorkflowInstance","Role","AttributeType","BooleanAttributeType","DateAttributeType","DateTimeAttributeType","MultiValueListAttributeType","NumericAttributeType","ScriptAttributeType","SingleValueListAttributeType","StringAttributeType","ViewSharingRule","ViewAssignmentRule","JdbcDriverFile","JdbcDriver","JdbcIngestionProperties","CsvIngestionProperties","ExcelIngestionProperties","ConnectionStringParameter","AssignedCharacteristicType","Notification","Tag","ComplexRelationLegType","ComplexRelationAttributeType","ComplexRelationLeg","BaseDataType","AdvancedDataType","DiagramPicture","DiagramPictureSharingRule","DiagramPictureAssignmentRule","Rating","Classification","PhysicalDataConnector","Context"]},"resourceDiscriminator":{"type":"string","description":"The resource discriminator, which indicates the type of the referenced resource, e.g. \"Community\", \"Asset\", ... Check the documentation of the class using the resource reference for detailed documentation regarding the possible resource discriminator values."},"name":{"type":"string","description":"The name of the referenced resource."}},"description":"Represents reference to the resource, including its name."}}},"paths":{"/attributes/{attributeId}":{"get":{"tags":["Attributes"],"summary":"Get attribute","description":"Returns the attribute identified by given id.","operationId":"getAttribute","parameters":[{"name":"attributeId","in":"path","description":"the id of the attribute","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK - The request has succeeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Attribute"}}}},"401":{"description":"Unauthorized - Authentication has failed or has not been provided."},"403":{"description":"Forbidden - Insufficient permissions to perform the requested operation."},"404":{"description":"Not Found - One of the requested resources could not be found or the requested URI is invalid."},"500":{"description":"Internal Server Error - The server encountered an unexpected condition which prevented it from fulfilling the request. Please report a problem as this situation should not occur."}}}}}}
```

## Remove attribute

> Removes the attribute identified by given id.

```json
{"openapi":"3.0.3","info":{"title":"Collibra Data Governance Center Core API","version":"2.0"},"servers":[{"url":"/rest/2.0","variables":{}}],"security":[{"basicAuth":[]},{"jwtAuth":[]},{"oauth2":["kg.manage-all"]}],"components":{"securitySchemes":{"basicAuth":{"type":"http","scheme":"basic"},"jwtAuth":{"type":"http","description":"Collibra REST API authentication using JSON Web Token.","scheme":"bearer","bearerFormat":"JWT"},"oauth2":{"type":"oauth2","description":"Collibra REST API authentication using OAuth 2.","flows":{"clientCredentials":{"tokenUrl":"/rest/oauth/v2/token","scopes":{"sys.admin":"System administration","kg.manage-all":"Manage all knowledge graph resources","kg.view-all":"View any knowledge graph resource","kg.manage-tags":"Manage tags","insights.download":"Download insights reporting zip files","wf.administration":"Workflow administration","wf.use-message-events":"Use workflow events"}}}}}},"paths":{"/attributes/{attributeId}":{"delete":{"tags":["Attributes"],"summary":"Remove attribute","description":"Removes the attribute identified by given id.","operationId":"removeAttribute","parameters":[{"name":"attributeId","in":"path","description":"the id of the attribute","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"204":{"description":"No Content - The server has fulfilled the request but does not need to return an entity-body."},"401":{"description":"Unauthorized - Authentication has failed or has not been provided."},"403":{"description":"Forbidden - Insufficient permissions to perform the requested operation."},"404":{"description":"Not Found - One of the requested resources could not be found or the requested URI is invalid."},"500":{"description":"Internal Server Error - The server encountered an unexpected condition which prevented it from fulfilling the request. Please report a problem as this situation should not occur."}}}}}}
```

## Change attribute

> Changes the attribute with the information that is present in the request. Only properties that are specified in this request and have not \<code>null\</code> values are updated. All other properties are ignored.

```json
{"openapi":"3.0.3","info":{"title":"Collibra Data Governance Center Core API","version":"2.0"},"servers":[{"url":"/rest/2.0","variables":{}}],"security":[{"basicAuth":[]},{"jwtAuth":[]},{"oauth2":["kg.manage-all"]}],"components":{"securitySchemes":{"basicAuth":{"type":"http","scheme":"basic"},"jwtAuth":{"type":"http","description":"Collibra REST API authentication using JSON Web Token.","scheme":"bearer","bearerFormat":"JWT"},"oauth2":{"type":"oauth2","description":"Collibra REST API authentication using OAuth 2.","flows":{"clientCredentials":{"tokenUrl":"/rest/oauth/v2/token","scopes":{"sys.admin":"System administration","kg.manage-all":"Manage all knowledge graph resources","kg.view-all":"View any knowledge graph resource","kg.manage-tags":"Manage tags","insights.download":"Download insights reporting zip files","wf.administration":"Workflow administration","wf.use-message-events":"Use workflow events"}}}}},"schemas":{"ChangeAttributeRequest":{"required":["id","value"],"type":"object","properties":{"id":{"type":"string","description":"The ID of the attribute to be changed. Silently ignored if the ID is provided as path parameter of the request.","format":"uuid"},"value":{"type":"object","description":"The value of this attribute. Expected type of the value depends on the type of the attribute.<br/>Following list presents type of the value depending on the kind of the attribute<br/><ul><br/><li> kind: Numeric               -> value type: number or string<br/><li> kind: Script                -> value type: string<br/><li> kind: Single Value List     -> value type: string<br/><li> kind: Date                  -> value type: number or string<br/><li> kind: String                -> value type: string<br/><li> kind: Boolean               -> value type: boolean or string<br/><li> kind: Multi Value List      -> value type: array of strings<br/></ul>"}}},"Attribute":{"type":"object","properties":{"value":{"type":"object"},"type":{"$ref":"#/components/schemas/NamedResourceReferenceImpl"},"asset":{"$ref":"#/components/schemas/NamedResourceReferenceImpl"},"attributeDiscriminator":{"type":"string"},"system":{"type":"boolean","description":"Whether this is a system resource or not."},"resourceType":{"type":"string","description":"The type of the resource, e.g. [Community, Asset, Domain, Attribute, Relation, WorkflowInstance, ...].\nThis property is deprecated and will be removed in the future. In order to stay backwards compatible\nand to enable introduction of new types of resources, where necessary, a resource discriminator\nproperty (of type String) has been added to specific subtypes of Resource,\ne.g. assignedResourceDiscriminator on AssignedResource, or attributeDiscriminator on Attribute.\nFor new types of resource that didn't exist before this change, the resourceType will be\nBaseDataType.\n","deprecated":true,"enum":["View","Asset","Community","Domain","AssetType","DomainType","Status","User","ClassificationMatch","UserGroup","Attribute","StringAttribute","ScriptAttribute","BooleanAttribute","DateAttribute","NumericAttribute","SingleValueListAttribute","MultiValueListAttribute","Comment","Attachment","Responsibility","Workflow","Job","Relation","RelationType","ComplexRelation","ComplexRelationType","ArticulationRule","Assignment","Scope","RelationTrace","ValidationRule","DataQualityRule","DataQualityMetric","Address","InstantMessagingAccount","Email","PhoneNumber","Website","Activity","FormProperty","WorkflowTask","ActivityChange","WorkflowInstance","Role","AttributeType","BooleanAttributeType","DateAttributeType","DateTimeAttributeType","MultiValueListAttributeType","NumericAttributeType","ScriptAttributeType","SingleValueListAttributeType","StringAttributeType","ViewSharingRule","ViewAssignmentRule","JdbcDriverFile","JdbcDriver","JdbcIngestionProperties","CsvIngestionProperties","ExcelIngestionProperties","ConnectionStringParameter","AssignedCharacteristicType","Notification","Tag","ComplexRelationLegType","ComplexRelationAttributeType","ComplexRelationLeg","BaseDataType","AdvancedDataType","DiagramPicture","DiagramPictureSharingRule","DiagramPictureAssignmentRule","Rating","Classification","PhysicalDataConnector","Context"]},"createdBy":{"type":"string","description":"The id of the user that created this resource.","format":"uuid"},"lastModifiedBy":{"type":"string","description":"The id of the user who modified this resource the last time.","format":"uuid"},"createdOn":{"type":"integer","description":"The timestamp (in UTC time standard) of the creation of this resource.","format":"int64"},"lastModifiedOn":{"type":"integer","description":"The timestamp (in UTC time standard) of the last modification of this resource.","format":"int64"},"id":{"type":"string","description":"The id of the represented object (entity).","format":"uuid"}},"description":"The list of attributes corresponding to the complex relation.","discriminator":{"propertyName":"resourceType","mapping":{"BooleanAttribute":"#/components/schemas/BooleanAttribute","DateAttribute":"#/components/schemas/DateAttribute","MultiValueListAttribute":"#/components/schemas/MultiValueListAttribute","NumericAttribute":"#/components/schemas/NumericAttribute","ScriptAttribute":"#/components/schemas/ScriptAttribute","SingleValueListAttribute":"#/components/schemas/SingleValueListAttribute","StringAttribute":"#/components/schemas/StringAttribute"}}},"NamedResourceReferenceImpl":{"required":["id","resourceType"],"type":"object","properties":{"id":{"type":"string","description":"The id of the referenced resource.","format":"uuid"},"resourceType":{"type":"string","description":"The type of the resource, e.g. [Community, Asset, Domain, Attribute, Relation, WorkflowInstance, ...]. This property is deprecated and will be removed in the future. In order to stay backwards compatible and to enable us to introduce new types of resources, we are replacing the ResourceType enum with a String. For new types of resources that didn't exist before this change, resourceType will be BaseDataType. Please use the resourceDiscriminator property instead. Refer to the object containing the ResourceReference for possible values.","deprecated":true,"enum":["View","Asset","Community","Domain","AssetType","DomainType","Status","User","ClassificationMatch","UserGroup","Attribute","StringAttribute","ScriptAttribute","BooleanAttribute","DateAttribute","NumericAttribute","SingleValueListAttribute","MultiValueListAttribute","Comment","Attachment","Responsibility","Workflow","Job","Relation","RelationType","ComplexRelation","ComplexRelationType","ArticulationRule","Assignment","Scope","RelationTrace","ValidationRule","DataQualityRule","DataQualityMetric","Address","InstantMessagingAccount","Email","PhoneNumber","Website","Activity","FormProperty","WorkflowTask","ActivityChange","WorkflowInstance","Role","AttributeType","BooleanAttributeType","DateAttributeType","DateTimeAttributeType","MultiValueListAttributeType","NumericAttributeType","ScriptAttributeType","SingleValueListAttributeType","StringAttributeType","ViewSharingRule","ViewAssignmentRule","JdbcDriverFile","JdbcDriver","JdbcIngestionProperties","CsvIngestionProperties","ExcelIngestionProperties","ConnectionStringParameter","AssignedCharacteristicType","Notification","Tag","ComplexRelationLegType","ComplexRelationAttributeType","ComplexRelationLeg","BaseDataType","AdvancedDataType","DiagramPicture","DiagramPictureSharingRule","DiagramPictureAssignmentRule","Rating","Classification","PhysicalDataConnector","Context"]},"resourceDiscriminator":{"type":"string","description":"The resource discriminator, which indicates the type of the referenced resource, e.g. \"Community\", \"Asset\", ... Check the documentation of the class using the resource reference for detailed documentation regarding the possible resource discriminator values."},"name":{"type":"string","description":"The name of the referenced resource."}},"description":"Represents reference to the resource, including its name."}}},"paths":{"/attributes/{attributeId}":{"patch":{"tags":["Attributes"],"summary":"Change attribute","description":"Changes the attribute with the information that is present in the request. Only properties that are specified in this request and have not <code>null</code> values are updated. All other properties are ignored.","operationId":"changeAttribute","parameters":[{"name":"attributeId","in":"path","description":"the id of the attribute","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"description":"the properties of the attribute to be changed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChangeAttributeRequest"}}}},"responses":{"200":{"description":"OK - The request has succeeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Attribute"}}}},"400":{"description":"Bad Request - Request data is malformed or illegal. The request body will contain additional information."},"401":{"description":"Unauthorized - Authentication has failed or has not been provided."},"403":{"description":"Forbidden - Insufficient permissions to perform the requested operation."},"404":{"description":"Not Found - One of the requested resources could not be found or the requested URI is invalid."},"500":{"description":"Internal Server Error - The server encountered an unexpected condition which prevented it from fulfilling the request. Please report a problem as this situation should not occur."}}}}}}
```




---

[Next Page](/llms-full.txt/1)

