> For the complete documentation index, see [llms.txt](https://docs.decube.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.decube.io/public-api/overview/index/virtual-sources.md).

# Virtual Sources

The Virtual Sources API lets you manage virtual sources and their objects programmatically. Use these endpoints to bulk-create asset hierarchies, integrate virtual source management into your data pipelines, or automate the lifecycle of virtual assets.

All write operations require the `admin_data_source:edit` permission. Read operations require `admin_data_source:view`.

{% hint style="info" %}
Virtual objects created via API follow the same Decube data model as those created in the UI. See [Overview](/virtual-sources-and-objects/virtual-sources.md) for an overview of supported object types.
{% endhint %}

## Virtual Sources

### Create a virtual source

Creates a new virtual source. The source name must be unique across all sources in your workspace.

## Create Virtual Source

> Creates a new virtual source using the provided request body.

```json
{"openapi":"3.1.0","info":{"title":"Decube Public API (BETA)","version":"1.0.0"},"servers":[{"url":"https://connect.<REGION>.decube.io/api/v1/data"}],"paths":{"/virtual_sources":{"post":{"tags":["Virtual Sources"],"summary":"Create Virtual Source","description":"Creates a new virtual source using the provided request body.","operationId":"create_virtual_source_virtual_sources_post","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateVirtualSource"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VirtualSourceResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"CreateVirtualSource":{"properties":{"name":{"type":"string","title":"Name"}},"type":"object","required":["name"],"title":"CreateVirtualSource"},"VirtualSourceResponse":{"properties":{"source_id":{"type":"integer","title":"Source Id"}},"type":"object","required":["source_id"],"title":"VirtualSourceResponse"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}}}
```

### Update a virtual source

Updates the name or description of an existing virtual source.

## Update Virtual Source

> Updates an existing virtual source using the provided request body.

```json
{"openapi":"3.1.0","info":{"title":"Decube Public API (BETA)","version":"1.0.0"},"servers":[{"url":"https://connect.<REGION>.decube.io/api/v1/data"}],"paths":{"/virtual_sources":{"put":{"tags":["Virtual Sources"],"summary":"Update Virtual Source","description":"Updates an existing virtual source using the provided request body.","operationId":"update_virtual_source_virtual_sources_put","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateVirtualSource"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"UpdateVirtualSource":{"properties":{"source_id":{"type":"integer","title":"Source Id"},"name":{"type":"string","title":"Name"}},"type":"object","required":["source_id","name"],"title":"UpdateVirtualSource"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}}}
```

### Delete a virtual source

Permanently deletes a virtual source and all virtual objects under it. This is irreversible.

## Delete Virtual Source

> Deletes a virtual source by ID.

```json
{"openapi":"3.1.0","info":{"title":"Decube Public API (BETA)","version":"1.0.0"},"servers":[{"url":"https://connect.<REGION>.decube.io/api/v1/data"}],"paths":{"/virtual_sources":{"delete":{"tags":["Virtual Sources"],"summary":"Delete Virtual Source","description":"Deletes a virtual source by ID.","operationId":"delete_virtual_source_virtual_sources_delete","parameters":[{"name":"source_id","in":"query","required":true,"schema":{"type":"integer","title":"Source Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}}}
```

## Virtual Objects

All virtual object endpoints operate only on assets under a virtual source. Passing an identifier that resolves to a native source asset returns a `400`.

### Create a virtual object

Creates a virtual object under a virtual source. Pass a `type` field to specify the asset type — supported values are `COLLECTION` (Schema), `DATASET` (Table), `PROPERTY` (Column), `DATA_JOB`, `DATA_TASK`, `DASHBOARD`, and `CHART`. The asset type cannot be changed after creation.

## Create Virtual Asset

> Creates a new virtual asset using the provided request body.

```json
{"openapi":"3.1.0","info":{"title":"Decube Public API (BETA)","version":"1.0.0"},"servers":[{"url":"https://connect.<REGION>.decube.io/api/v1/data"}],"paths":{"/virtual_assets":{"post":{"tags":["Virtual Assets"],"summary":"Create Virtual Asset","description":"Creates a new virtual asset using the provided request body.","operationId":"create_virtual_asset_virtual_assets_post","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/CreateVirtualSchema"},{"$ref":"#/components/schemas/CreateVirtualTable"},{"$ref":"#/components/schemas/CreateVirtualColumn"},{"$ref":"#/components/schemas/CreateVirtualDataJob"},{"$ref":"#/components/schemas/CreateVirtualDataTask"},{"$ref":"#/components/schemas/CreateVirtualDashboard"},{"$ref":"#/components/schemas/CreateVirtualChart"}],"discriminator":{"propertyName":"type","mapping":{"collection":"#/components/schemas/CreateVirtualSchema","dataset":"#/components/schemas/CreateVirtualTable","property":"#/components/schemas/CreateVirtualColumn","data_job":"#/components/schemas/CreateVirtualDataJob","data_task":"#/components/schemas/CreateVirtualDataTask","dashboard":"#/components/schemas/CreateVirtualDashboard","chart":"#/components/schemas/CreateVirtualChart"}},"title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__models__public__asset__AssetData"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"CreateVirtualSchema":{"properties":{"type":{"type":"string","const":"collection","title":"Type"},"parent":{"$ref":"#/components/schemas/SourceIdentifier"},"name":{"type":"string","title":"Name"}},"type":"object","required":["type","parent","name"],"title":"CreateVirtualSchema"},"SourceIdentifier":{"properties":{"type":{"type":"string","const":"source","title":"Type"},"id":{"type":"integer","minimum":1,"title":"Id","description":"Unique identifier of the source asset"}},"type":"object","required":["type","id"],"title":"SourceIdentifier"},"CreateVirtualTable":{"properties":{"type":{"type":"string","const":"dataset","title":"Type"},"parent":{"$ref":"#/components/schemas/CollectionIdentifier"},"name":{"type":"string","title":"Name"},"definition":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Definition"}},"type":"object","required":["type","parent","name"],"title":"CreateVirtualTable"},"CollectionIdentifier":{"properties":{"type":{"type":"string","const":"collection","title":"Type"},"id":{"type":"integer","minimum":1,"title":"Id","description":"Unique identifier of the collection asset"}},"type":"object","required":["type","id"],"title":"CollectionIdentifier"},"CreateVirtualColumn":{"properties":{"type":{"type":"string","const":"property","title":"Type"},"parent":{"$ref":"#/components/schemas/DatasetIdentifier"},"name":{"type":"string","title":"Name"},"unified_type":{"$ref":"#/components/schemas/DataType","default":"STRING"},"raw_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Raw Type"},"constraints":{"anyOf":[{"items":{"$ref":"#/components/schemas/ConstraintType"},"type":"array"},{"type":"null"}],"title":"Constraints"}},"type":"object","required":["type","parent","name"],"title":"CreateVirtualColumn"},"DatasetIdentifier":{"properties":{"type":{"type":"string","const":"dataset","title":"Type"},"id":{"type":"integer","minimum":1,"title":"Id","description":"Unique identifier of the dataset asset"}},"type":"object","required":["type","id"],"title":"DatasetIdentifier"},"DataType":{"type":"string","enum":["INTEGER","STRING","NUMERIC","BOOLEAN","DATETIME","INTERVAL","DATE","ARRAY","JSON","OTHER","ENUM","TIME"],"title":"DataType"},"ConstraintType":{"type":"string","enum":["Not Null","Unique","Primary Key","Foreign Key"],"title":"ConstraintType"},"CreateVirtualDataJob":{"properties":{"type":{"type":"string","const":"data_job","title":"Type"},"parent":{"$ref":"#/components/schemas/SourceIdentifier"},"name":{"type":"string","title":"Name"},"definition":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Definition"},"schedule":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Schedule"}},"type":"object","required":["type","parent","name"],"title":"CreateVirtualDataJob"},"CreateVirtualDataTask":{"properties":{"type":{"type":"string","const":"data_task","title":"Type"},"parent":{"$ref":"#/components/schemas/DataJobIdentifier"},"name":{"type":"string","title":"Name"},"definition":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Definition"}},"type":"object","required":["type","parent","name"],"title":"CreateVirtualDataTask"},"DataJobIdentifier":{"properties":{"type":{"type":"string","const":"data_job","title":"Type"},"id":{"type":"integer","minimum":1,"title":"Id","description":"Unique identifier of the data job asset"}},"type":"object","required":["type","id"],"title":"DataJobIdentifier"},"CreateVirtualDashboard":{"properties":{"type":{"type":"string","const":"dashboard","title":"Type"},"parent":{"$ref":"#/components/schemas/SourceIdentifier"},"name":{"type":"string","title":"Name"},"url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Url"}},"type":"object","required":["type","parent","name"],"title":"CreateVirtualDashboard"},"CreateVirtualChart":{"properties":{"type":{"type":"string","const":"chart","title":"Type"},"parent":{"$ref":"#/components/schemas/SourceIdentifier"},"name":{"type":"string","title":"Name"},"url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Url"}},"type":"object","required":["type","parent","name"],"title":"CreateVirtualChart"},"app__models__public__asset__AssetData":{"properties":{"asset":{"$ref":"#/components/schemas/AssetObject"},"parents":{"items":{"$ref":"#/components/schemas/AssetObject"},"type":"array","title":"Parents"},"attrs":{"anyOf":[{"$ref":"#/components/schemas/SourceAttributes"},{"$ref":"#/components/schemas/CollectionAttributes"},{"$ref":"#/components/schemas/DatasetAttributes"},{"$ref":"#/components/schemas/PropertyAttributes"},{"$ref":"#/components/schemas/DashboardAttributes"},{"$ref":"#/components/schemas/ChartAttributes"},{"$ref":"#/components/schemas/DataJobAttributes"},{"$ref":"#/components/schemas/DataTaskAttributes"},{"$ref":"#/components/schemas/PolicyAttributes"},{"$ref":"#/components/schemas/GlossaryAttributes"},{"$ref":"#/components/schemas/CategoryAttributes"},{"$ref":"#/components/schemas/TermAttributes"}],"title":"Attrs"}},"type":"object","required":["asset","parents","attrs"],"title":"AssetData"},"AssetObject":{"properties":{"id":{"type":"integer","title":"Id"},"name":{"type":"string","title":"Name"},"type":{"$ref":"#/components/schemas/AssetMetadataTypes"}},"type":"object","required":["id","name","type"],"title":"AssetObject"},"AssetMetadataTypes":{"type":"string","enum":["source","collection","dataset","property","data_job","data_task","data_run","file","glossary","category","term","monitor","dashboard","report","chart","policy","policy_rule","data_domain","data_subdomain","data_product","data_asset","data_asset_property","data_contract"],"title":"AssetMetadataTypes"},"SourceAttributes":{"properties":{"source_type":{"$ref":"#/components/schemas/DbType"},"data_owners":{"items":{"$ref":"#/components/schemas/Users"},"type":"array","title":"Data Owners"},"business_owners":{"items":{"$ref":"#/components/schemas/Users"},"type":"array","title":"Business Owners"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"linked_terms":{"items":{"$ref":"#/components/schemas/AssetIdentifier-Output"},"type":"array","title":"Linked Terms"},"custom_attributes":{"items":{"anyOf":[{"$ref":"#/components/schemas/app__models__public__custom_attributes__IntegerAttribute"},{"$ref":"#/components/schemas/app__models__public__custom_attributes__TextAttribute"},{"$ref":"#/components/schemas/app__models__public__custom_attributes__BooleanAttribute"},{"$ref":"#/components/schemas/app__models__public__custom_attributes__EnumAttribute"},{"$ref":"#/components/schemas/app__models__public__custom_attributes__UserAttribute"},{"$ref":"#/components/schemas/app__models__public__custom_attributes__KVAttribute"}]},"type":"array","title":"Custom Attributes"}},"type":"object","required":["source_type","data_owners","business_owners","description","linked_terms","custom_attributes"],"title":"SourceAttributes"},"DbType":{"type":"string","enum":["bigquery","redshift","postgresql","mysql","snowflake","databricks","sql_server","azure_server","singlestore","synapse","oracle","cloudera_hive","hive","power_bi","tableau","looker","dbt_cloud","dbt_core","fivetran","airflow","adf","glue","s3dl","adls","gcsdl","open_lineage","spark","iceberg","cloudera_atlas","atlas","unknown","virtual_source"],"title":"DbType"},"Users":{"properties":{"email":{"type":"string","title":"Email"},"id":{"type":"string","title":"Id"}},"type":"object","required":["email","id"],"title":"Users"},"AssetIdentifier-Output":{"properties":{"id":{"type":"integer","minimum":0,"title":"Id","description":"Unique identifier of the specific asset"},"type":{"$ref":"#/components/schemas/AssetMetadataTypes","description":"Type of the specific asset"}},"type":"object","required":["id","type"],"title":"AssetIdentifier"},"app__models__public__custom_attributes__IntegerAttribute":{"properties":{"id":{"type":"integer","title":"Id","description":"Unique identifier for the custom attribute"},"type":{"type":"string","const":"integer","title":"Type"},"value":{"type":"integer","title":"Value","description":"Integer value of the custom attribute"}},"type":"object","required":["id","type","value"],"title":"IntegerAttribute"},"app__models__public__custom_attributes__TextAttribute":{"properties":{"id":{"type":"integer","title":"Id","description":"Unique identifier for the custom attribute"},"type":{"type":"string","const":"text","title":"Type"},"value":{"type":"string","title":"Value","description":"Text value of the custom attribute"}},"type":"object","required":["id","type","value"],"title":"TextAttribute"},"app__models__public__custom_attributes__BooleanAttribute":{"properties":{"id":{"type":"integer","title":"Id","description":"Unique identifier for the custom attribute"},"type":{"type":"string","const":"boolean","title":"Type"},"value":{"type":"boolean","title":"Value","description":"Boolean value of the custom attribute"}},"type":"object","required":["id","type","value"],"title":"BooleanAttribute"},"app__models__public__custom_attributes__EnumAttribute":{"properties":{"id":{"type":"integer","title":"Id","description":"Unique identifier for the custom attribute"},"type":{"type":"string","const":"enum","title":"Type"},"value":{"items":{"$ref":"#/components/schemas/app__models__public__custom_attributes__EnumValue"},"type":"array","title":"Value","description":"List of enum values"}},"type":"object","required":["id","type","value"],"title":"EnumAttribute"},"app__models__public__custom_attributes__EnumValue":{"properties":{"id":{"type":"integer","title":"Id","description":"ID of the enum option"},"label":{"type":"string","title":"Label","description":"Label of the enum option"},"color":{"type":"string","title":"Color","description":"Color associated with the enum option"}},"type":"object","required":["id","label","color"],"title":"EnumValue"},"app__models__public__custom_attributes__UserAttribute":{"properties":{"id":{"type":"integer","title":"Id","description":"Unique identifier for the custom attribute"},"type":{"type":"string","const":"user","title":"Type"},"value":{"anyOf":[{"type":"string"},{"items":{"type":"string"},"type":"array"}],"title":"Value","description":"User or list of users associated with the custom attribute. If the attribute is multi-select, this will be a list."}},"type":"object","required":["id","type","value"],"title":"UserAttribute"},"app__models__public__custom_attributes__KVAttribute":{"properties":{"id":{"type":"integer","title":"Id","description":"Unique identifier for the custom attribute"},"label":{"type":"string","title":"Label","description":"Label of the custom attribute"},"type":{"type":"string","const":"kv","title":"Type"},"value":{"items":{"oneOf":[{"$ref":"#/components/schemas/KVTextEntryValue"},{"$ref":"#/components/schemas/KVEnumEntryValue"}],"discriminator":{"propertyName":"type","mapping":{"enum":"#/components/schemas/KVEnumEntryValue","text":"#/components/schemas/KVTextEntryValue"}}},"type":"array","title":"Value","description":"List of key-value entries on the asset"}},"type":"object","required":["id","label","type","value"],"title":"KVAttribute"},"KVTextEntryValue":{"properties":{"id":{"type":"integer","title":"Id","description":"Unique identifier of the key definition"},"label":{"type":"string","title":"Label","description":"Name of the key"},"type":{"type":"string","const":"text","title":"Type"},"value":{"type":"string","title":"Value","description":"String value of the key-value entry"}},"type":"object","required":["id","label","type","value"],"title":"KVTextEntryValue"},"KVEnumEntryValue":{"properties":{"id":{"type":"integer","title":"Id","description":"Unique identifier of the key definition"},"label":{"type":"string","title":"Label","description":"Name of the key"},"type":{"type":"string","const":"enum","title":"Type"},"value":{"items":{"$ref":"#/components/schemas/app__models__public__custom_attributes__KVKeyEnumOption"},"type":"array","title":"Value","description":"List of enum options for the key-value entry"}},"type":"object","required":["id","label","type","value"],"title":"KVEnumEntryValue"},"app__models__public__custom_attributes__KVKeyEnumOption":{"properties":{"id":{"type":"integer","title":"Id","description":"Unique identifier of the enum option"},"label":{"type":"string","title":"Label","description":"Label of the enum option"},"color":{"type":"string","title":"Color","description":"Color associated with the enum option"}},"type":"object","required":["id","label","color"],"title":"KVKeyEnumOption"},"CollectionAttributes":{"properties":{"data_owners":{"items":{"$ref":"#/components/schemas/Users"},"type":"array","title":"Data Owners"},"business_owners":{"items":{"$ref":"#/components/schemas/Users"},"type":"array","title":"Business Owners"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"source_description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Description"},"linked_terms":{"items":{"$ref":"#/components/schemas/AssetIdentifier-Output"},"type":"array","title":"Linked Terms"},"custom_attributes":{"items":{"anyOf":[{"$ref":"#/components/schemas/app__models__public__custom_attributes__IntegerAttribute"},{"$ref":"#/components/schemas/app__models__public__custom_attributes__TextAttribute"},{"$ref":"#/components/schemas/app__models__public__custom_attributes__BooleanAttribute"},{"$ref":"#/components/schemas/app__models__public__custom_attributes__EnumAttribute"},{"$ref":"#/components/schemas/app__models__public__custom_attributes__UserAttribute"},{"$ref":"#/components/schemas/app__models__public__custom_attributes__KVAttribute"}]},"type":"array","title":"Custom Attributes"}},"type":"object","required":["data_owners","business_owners","description","source_description","linked_terms","custom_attributes"],"title":"CollectionAttributes"},"DatasetAttributes":{"properties":{"data_owners":{"items":{"$ref":"#/components/schemas/Users"},"type":"array","title":"Data Owners"},"business_owners":{"items":{"$ref":"#/components/schemas/Users"},"type":"array","title":"Business Owners"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"source_description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Description"},"property_count":{"type":"integer","title":"Property Count"},"is_view":{"type":"boolean","title":"Is View"},"is_virtual":{"type":"boolean","title":"Is Virtual"},"linked_terms":{"items":{"$ref":"#/components/schemas/AssetIdentifier-Output"},"type":"array","title":"Linked Terms"},"custom_attributes":{"items":{"anyOf":[{"$ref":"#/components/schemas/app__models__public__custom_attributes__IntegerAttribute"},{"$ref":"#/components/schemas/app__models__public__custom_attributes__TextAttribute"},{"$ref":"#/components/schemas/app__models__public__custom_attributes__BooleanAttribute"},{"$ref":"#/components/schemas/app__models__public__custom_attributes__EnumAttribute"},{"$ref":"#/components/schemas/app__models__public__custom_attributes__UserAttribute"},{"$ref":"#/components/schemas/app__models__public__custom_attributes__KVAttribute"}]},"type":"array","title":"Custom Attributes"}},"type":"object","required":["data_owners","business_owners","description","source_description","property_count","is_view","is_virtual","linked_terms","custom_attributes"],"title":"DatasetAttributes"},"PropertyAttributes":{"properties":{"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"source_description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Description"},"unified_type":{"$ref":"#/components/schemas/DataType"},"raw_type":{"type":"string","title":"Raw Type"},"is_virtual":{"type":"boolean","title":"Is Virtual"},"classifications":{"items":{"$ref":"#/components/schemas/AssetIdentifier-Output"},"type":"array","title":"Classifications"},"linked_terms":{"items":{"$ref":"#/components/schemas/AssetIdentifier-Output"},"type":"array","title":"Linked Terms"},"custom_attributes":{"items":{"anyOf":[{"$ref":"#/components/schemas/app__models__public__custom_attributes__IntegerAttribute"},{"$ref":"#/components/schemas/app__models__public__custom_attributes__TextAttribute"},{"$ref":"#/components/schemas/app__models__public__custom_attributes__BooleanAttribute"},{"$ref":"#/components/schemas/app__models__public__custom_attributes__EnumAttribute"},{"$ref":"#/components/schemas/app__models__public__custom_attributes__UserAttribute"},{"$ref":"#/components/schemas/app__models__public__custom_attributes__KVAttribute"}]},"type":"array","title":"Custom Attributes"}},"type":"object","required":["description","source_description","unified_type","raw_type","is_virtual","classifications","linked_terms","custom_attributes"],"title":"PropertyAttributes"},"DashboardAttributes":{"properties":{"data_owners":{"items":{"$ref":"#/components/schemas/Users"},"type":"array","title":"Data Owners"},"business_owners":{"items":{"$ref":"#/components/schemas/Users"},"type":"array","title":"Business Owners"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"linked_terms":{"items":{"$ref":"#/components/schemas/AssetIdentifier-Output"},"type":"array","title":"Linked Terms"},"custom_attributes":{"items":{"anyOf":[{"$ref":"#/components/schemas/app__models__public__custom_attributes__IntegerAttribute"},{"$ref":"#/components/schemas/app__models__public__custom_attributes__TextAttribute"},{"$ref":"#/components/schemas/app__models__public__custom_attributes__BooleanAttribute"},{"$ref":"#/components/schemas/app__models__public__custom_attributes__EnumAttribute"},{"$ref":"#/components/schemas/app__models__public__custom_attributes__UserAttribute"},{"$ref":"#/components/schemas/app__models__public__custom_attributes__KVAttribute"}]},"type":"array","title":"Custom Attributes"}},"type":"object","required":["data_owners","business_owners","description","linked_terms","custom_attributes"],"title":"DashboardAttributes"},"ChartAttributes":{"properties":{"data_owners":{"items":{"$ref":"#/components/schemas/Users"},"type":"array","title":"Data Owners"},"business_owners":{"items":{"$ref":"#/components/schemas/Users"},"type":"array","title":"Business Owners"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"linked_terms":{"items":{"$ref":"#/components/schemas/AssetIdentifier-Output"},"type":"array","title":"Linked Terms"},"custom_attributes":{"items":{"anyOf":[{"$ref":"#/components/schemas/app__models__public__custom_attributes__IntegerAttribute"},{"$ref":"#/components/schemas/app__models__public__custom_attributes__TextAttribute"},{"$ref":"#/components/schemas/app__models__public__custom_attributes__BooleanAttribute"},{"$ref":"#/components/schemas/app__models__public__custom_attributes__EnumAttribute"},{"$ref":"#/components/schemas/app__models__public__custom_attributes__UserAttribute"},{"$ref":"#/components/schemas/app__models__public__custom_attributes__KVAttribute"}]},"type":"array","title":"Custom Attributes"}},"type":"object","required":["data_owners","business_owners","description","linked_terms","custom_attributes"],"title":"ChartAttributes"},"DataJobAttributes":{"properties":{"data_owners":{"items":{"$ref":"#/components/schemas/Users"},"type":"array","title":"Data Owners"},"business_owners":{"items":{"$ref":"#/components/schemas/Users"},"type":"array","title":"Business Owners"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"linked_terms":{"items":{"$ref":"#/components/schemas/AssetIdentifier-Output"},"type":"array","title":"Linked Terms"},"custom_attributes":{"items":{"anyOf":[{"$ref":"#/components/schemas/app__models__public__custom_attributes__IntegerAttribute"},{"$ref":"#/components/schemas/app__models__public__custom_attributes__TextAttribute"},{"$ref":"#/components/schemas/app__models__public__custom_attributes__BooleanAttribute"},{"$ref":"#/components/schemas/app__models__public__custom_attributes__EnumAttribute"},{"$ref":"#/components/schemas/app__models__public__custom_attributes__UserAttribute"},{"$ref":"#/components/schemas/app__models__public__custom_attributes__KVAttribute"}]},"type":"array","title":"Custom Attributes"}},"type":"object","required":["data_owners","business_owners","description","linked_terms","custom_attributes"],"title":"DataJobAttributes"},"DataTaskAttributes":{"properties":{},"type":"object","title":"DataTaskAttributes"},"PolicyAttributes":{"properties":{"policy_tag":{"type":"string","title":"Policy Tag"},"stewards":{"items":{"$ref":"#/components/schemas/Users"},"type":"array","title":"Stewards"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"purpose":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Purpose"},"color":{"type":"string","title":"Color"},"masking_type":{"$ref":"#/components/schemas/RuleMasking"}},"type":"object","required":["policy_tag","stewards","description","purpose","color","masking_type"],"title":"PolicyAttributes"},"RuleMasking":{"type":"string","enum":["none","hash","email","last_four","first_four","nullify","sha256"],"title":"RuleMasking"},"GlossaryAttributes":{"properties":{"data_owners":{"items":{"$ref":"#/components/schemas/Users"},"type":"array","title":"Data Owners"},"business_owners":{"items":{"$ref":"#/components/schemas/Users"},"type":"array","title":"Business Owners"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"created_by":{"$ref":"#/components/schemas/Users"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"reviewed_by":{"anyOf":[{"$ref":"#/components/schemas/Users"},{"type":"null"}]},"children_count":{"type":"integer","title":"Children Count"},"custom_attributes":{"items":{"anyOf":[{"$ref":"#/components/schemas/app__models__public__custom_attributes__IntegerAttribute"},{"$ref":"#/components/schemas/app__models__public__custom_attributes__TextAttribute"},{"$ref":"#/components/schemas/app__models__public__custom_attributes__BooleanAttribute"},{"$ref":"#/components/schemas/app__models__public__custom_attributes__EnumAttribute"},{"$ref":"#/components/schemas/app__models__public__custom_attributes__UserAttribute"},{"$ref":"#/components/schemas/app__models__public__custom_attributes__KVAttribute"}]},"type":"array","title":"Custom Attributes"}},"type":"object","required":["data_owners","business_owners","description","created_by","created_at","reviewed_by","children_count","custom_attributes"],"title":"GlossaryAttributes"},"CategoryAttributes":{"properties":{"data_owners":{"items":{"$ref":"#/components/schemas/Users"},"type":"array","title":"Data Owners"},"business_owners":{"items":{"$ref":"#/components/schemas/Users"},"type":"array","title":"Business Owners"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"created_by":{"$ref":"#/components/schemas/Users"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"reviewed_by":{"anyOf":[{"$ref":"#/components/schemas/Users"},{"type":"null"}]},"children_count":{"type":"integer","title":"Children Count"},"custom_attributes":{"items":{"anyOf":[{"$ref":"#/components/schemas/app__models__public__custom_attributes__IntegerAttribute"},{"$ref":"#/components/schemas/app__models__public__custom_attributes__TextAttribute"},{"$ref":"#/components/schemas/app__models__public__custom_attributes__BooleanAttribute"},{"$ref":"#/components/schemas/app__models__public__custom_attributes__EnumAttribute"},{"$ref":"#/components/schemas/app__models__public__custom_attributes__UserAttribute"},{"$ref":"#/components/schemas/app__models__public__custom_attributes__KVAttribute"}]},"type":"array","title":"Custom Attributes"}},"type":"object","required":["data_owners","business_owners","description","created_by","created_at","reviewed_by","children_count","custom_attributes"],"title":"CategoryAttributes"},"TermAttributes":{"properties":{"data_owners":{"items":{"$ref":"#/components/schemas/Users"},"type":"array","title":"Data Owners"},"business_owners":{"items":{"$ref":"#/components/schemas/Users"},"type":"array","title":"Business Owners"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"created_by":{"$ref":"#/components/schemas/Users"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"reviewed_by":{"anyOf":[{"$ref":"#/components/schemas/Users"},{"type":"null"}]},"classifications":{"items":{"$ref":"#/components/schemas/AssetIdentifier-Output"},"type":"array","title":"Classifications"},"related_terms":{"items":{"$ref":"#/components/schemas/AssetIdentifier-Output"},"type":"array","title":"Related Terms"},"linked_assets":{"items":{"$ref":"#/components/schemas/AssetIdentifier-Output"},"type":"array","title":"Linked Assets"},"custom_attributes":{"items":{"anyOf":[{"$ref":"#/components/schemas/app__models__public__custom_attributes__IntegerAttribute"},{"$ref":"#/components/schemas/app__models__public__custom_attributes__TextAttribute"},{"$ref":"#/components/schemas/app__models__public__custom_attributes__BooleanAttribute"},{"$ref":"#/components/schemas/app__models__public__custom_attributes__EnumAttribute"},{"$ref":"#/components/schemas/app__models__public__custom_attributes__UserAttribute"},{"$ref":"#/components/schemas/app__models__public__custom_attributes__KVAttribute"}]},"type":"array","title":"Custom Attributes"}},"type":"object","required":["data_owners","business_owners","description","created_by","created_at","reviewed_by","classifications","related_terms","linked_assets","custom_attributes"],"title":"TermAttributes"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}}}
```

### Update a virtual object

Updates one or more fields on an existing virtual object. Only fields included in the request are updated.

## Patch Virtual Asset

> Updates (partially) an existing virtual asset using the provided request body.

```json
{"openapi":"3.1.0","info":{"title":"Decube Public API (BETA)","version":"1.0.0"},"servers":[{"url":"https://connect.<REGION>.decube.io/api/v1/data"}],"paths":{"/virtual_assets":{"patch":{"tags":["Virtual Assets"],"summary":"Patch Virtual Asset","description":"Updates (partially) an existing virtual asset using the provided request body.","operationId":"patch_virtual_asset_virtual_assets_patch","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/app__models__virtual_assets__UpdateVirtualSchema"},{"$ref":"#/components/schemas/app__models__virtual_assets__UpdateVirtualTable"},{"$ref":"#/components/schemas/app__models__virtual_assets__UpdateVirtualColumn"},{"$ref":"#/components/schemas/app__models__virtual_assets__UpdateVirtualDataJob"},{"$ref":"#/components/schemas/app__models__virtual_assets__UpdateVirtualDataTask"},{"$ref":"#/components/schemas/app__models__virtual_assets__UpdateVirtualDashboard"},{"$ref":"#/components/schemas/app__models__virtual_assets__UpdateVirtualChart"}],"discriminator":{"propertyName":"type","mapping":{"collection":"#/components/schemas/app__models__virtual_assets__UpdateVirtualSchema","dataset":"#/components/schemas/app__models__virtual_assets__UpdateVirtualTable","property":"#/components/schemas/app__models__virtual_assets__UpdateVirtualColumn","data_job":"#/components/schemas/app__models__virtual_assets__UpdateVirtualDataJob","data_task":"#/components/schemas/app__models__virtual_assets__UpdateVirtualDataTask","dashboard":"#/components/schemas/app__models__virtual_assets__UpdateVirtualDashboard","chart":"#/components/schemas/app__models__virtual_assets__UpdateVirtualChart"}},"title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__models__public__asset__AssetData"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"app__models__virtual_assets__UpdateVirtualSchema":{"properties":{"type":{"type":"string","const":"collection","title":"Type"},"asset":{"$ref":"#/components/schemas/CollectionIdentifier"},"name":{"anyOf":[{"$ref":"#/components/schemas/Change_str_"},{"$ref":"#/components/schemas/NotChanged"}],"title":"Name","default":{}}},"type":"object","required":["type","asset"],"title":"UpdateVirtualSchema"},"CollectionIdentifier":{"properties":{"type":{"type":"string","const":"collection","title":"Type"},"id":{"type":"integer","minimum":1,"title":"Id","description":"Unique identifier of the collection asset"}},"type":"object","required":["type","id"],"title":"CollectionIdentifier"},"Change_str_":{"properties":{"value":{"type":"string","title":"Value"}},"type":"object","required":["value"],"title":"Change[str]"},"NotChanged":{"properties":{},"type":"object","title":"NotChanged"},"app__models__virtual_assets__UpdateVirtualTable":{"properties":{"type":{"type":"string","const":"dataset","title":"Type"},"asset":{"$ref":"#/components/schemas/DatasetIdentifier"},"name":{"anyOf":[{"$ref":"#/components/schemas/Change_str_"},{"$ref":"#/components/schemas/NotChanged"}],"title":"Name","default":{}},"definition":{"anyOf":[{"$ref":"#/components/schemas/Change_Union_str__NoneType__"},{"$ref":"#/components/schemas/NotChanged"}],"title":"Definition","default":{}}},"type":"object","required":["type","asset"],"title":"UpdateVirtualTable"},"DatasetIdentifier":{"properties":{"type":{"type":"string","const":"dataset","title":"Type"},"id":{"type":"integer","minimum":1,"title":"Id","description":"Unique identifier of the dataset asset"}},"type":"object","required":["type","id"],"title":"DatasetIdentifier"},"Change_Union_str__NoneType__":{"properties":{"value":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Value"}},"type":"object","required":["value"],"title":"Change[Union[str, NoneType]]"},"app__models__virtual_assets__UpdateVirtualColumn":{"properties":{"type":{"type":"string","const":"property","title":"Type"},"asset":{"$ref":"#/components/schemas/PropertyIdentifier"},"name":{"anyOf":[{"$ref":"#/components/schemas/Change_str_"},{"$ref":"#/components/schemas/NotChanged"}],"title":"Name","default":{}},"unified_type":{"anyOf":[{"$ref":"#/components/schemas/Change_DataType_"},{"$ref":"#/components/schemas/NotChanged"}],"title":"Unified Type","default":{}},"raw_type":{"anyOf":[{"$ref":"#/components/schemas/Change_str_"},{"$ref":"#/components/schemas/NotChanged"}],"title":"Raw Type","default":{}},"constraints":{"anyOf":[{"$ref":"#/components/schemas/Change_Union_list_ConstraintType___NoneType__"},{"$ref":"#/components/schemas/NotChanged"}],"title":"Constraints","default":{}}},"type":"object","required":["type","asset"],"title":"UpdateVirtualColumn"},"PropertyIdentifier":{"properties":{"type":{"type":"string","const":"property","title":"Type"},"id":{"type":"integer","minimum":1,"title":"Id","description":"Unique identifier of the property asset"}},"type":"object","required":["type","id"],"title":"PropertyIdentifier"},"Change_DataType_":{"properties":{"value":{"$ref":"#/components/schemas/DataType"}},"type":"object","required":["value"],"title":"Change[DataType]"},"DataType":{"type":"string","enum":["INTEGER","STRING","NUMERIC","BOOLEAN","DATETIME","INTERVAL","DATE","ARRAY","JSON","OTHER","ENUM","TIME"],"title":"DataType"},"Change_Union_list_ConstraintType___NoneType__":{"properties":{"value":{"anyOf":[{"items":{"$ref":"#/components/schemas/ConstraintType"},"type":"array"},{"type":"null"}],"title":"Value"}},"type":"object","required":["value"],"title":"Change[Union[list[ConstraintType], NoneType]]"},"ConstraintType":{"type":"string","enum":["Not Null","Unique","Primary Key","Foreign Key"],"title":"ConstraintType"},"app__models__virtual_assets__UpdateVirtualDataJob":{"properties":{"type":{"type":"string","const":"data_job","title":"Type"},"asset":{"$ref":"#/components/schemas/DataJobIdentifier"},"name":{"anyOf":[{"$ref":"#/components/schemas/Change_str_"},{"$ref":"#/components/schemas/NotChanged"}],"title":"Name","default":{}},"definition":{"anyOf":[{"$ref":"#/components/schemas/Change_Union_str__NoneType__"},{"$ref":"#/components/schemas/NotChanged"}],"title":"Definition","default":{}},"schedule":{"anyOf":[{"$ref":"#/components/schemas/Change_Union_str__NoneType__"},{"$ref":"#/components/schemas/NotChanged"}],"title":"Schedule","default":{}}},"type":"object","required":["type","asset"],"title":"UpdateVirtualDataJob"},"DataJobIdentifier":{"properties":{"type":{"type":"string","const":"data_job","title":"Type"},"id":{"type":"integer","minimum":1,"title":"Id","description":"Unique identifier of the data job asset"}},"type":"object","required":["type","id"],"title":"DataJobIdentifier"},"app__models__virtual_assets__UpdateVirtualDataTask":{"properties":{"type":{"type":"string","const":"data_task","title":"Type"},"asset":{"$ref":"#/components/schemas/DataTaskIdentifier"},"name":{"anyOf":[{"$ref":"#/components/schemas/Change_str_"},{"$ref":"#/components/schemas/NotChanged"}],"title":"Name","default":{}},"definition":{"anyOf":[{"$ref":"#/components/schemas/Change_Union_str__NoneType__"},{"$ref":"#/components/schemas/NotChanged"}],"title":"Definition","default":{}}},"type":"object","required":["type","asset"],"title":"UpdateVirtualDataTask"},"DataTaskIdentifier":{"properties":{"type":{"type":"string","const":"data_task","title":"Type"},"id":{"type":"integer","minimum":1,"title":"Id","description":"Unique identifier of the data task asset"}},"type":"object","required":["type","id"],"title":"DataTaskIdentifier"},"app__models__virtual_assets__UpdateVirtualDashboard":{"properties":{"type":{"type":"string","const":"dashboard","title":"Type"},"asset":{"$ref":"#/components/schemas/DashboardIdentifier"},"name":{"anyOf":[{"$ref":"#/components/schemas/Change_str_"},{"$ref":"#/components/schemas/NotChanged"}],"title":"Name","default":{}},"url":{"anyOf":[{"$ref":"#/components/schemas/Change_Union_str__NoneType__"},{"$ref":"#/components/schemas/NotChanged"}],"title":"Url","default":{}}},"type":"object","required":["type","asset"],"title":"UpdateVirtualDashboard"},"DashboardIdentifier":{"properties":{"type":{"type":"string","const":"dashboard","title":"Type"},"id":{"type":"integer","minimum":1,"title":"Id","description":"Unique identifier of the dashboard asset"}},"type":"object","required":["type","id"],"title":"DashboardIdentifier"},"app__models__virtual_assets__UpdateVirtualChart":{"properties":{"type":{"type":"string","const":"chart","title":"Type"},"asset":{"$ref":"#/components/schemas/ChartIdentifier"},"name":{"anyOf":[{"$ref":"#/components/schemas/Change_str_"},{"$ref":"#/components/schemas/NotChanged"}],"title":"Name","default":{}},"url":{"anyOf":[{"$ref":"#/components/schemas/Change_Union_str__NoneType__"},{"$ref":"#/components/schemas/NotChanged"}],"title":"Url","default":{}}},"type":"object","required":["type","asset"],"title":"UpdateVirtualChart"},"ChartIdentifier":{"properties":{"type":{"type":"string","const":"chart","title":"Type"},"id":{"type":"integer","minimum":1,"title":"Id","description":"Unique identifier of the chart asset"}},"type":"object","required":["type","id"],"title":"ChartIdentifier"},"app__models__public__asset__AssetData":{"properties":{"asset":{"$ref":"#/components/schemas/AssetObject"},"parents":{"items":{"$ref":"#/components/schemas/AssetObject"},"type":"array","title":"Parents"},"attrs":{"anyOf":[{"$ref":"#/components/schemas/SourceAttributes"},{"$ref":"#/components/schemas/CollectionAttributes"},{"$ref":"#/components/schemas/DatasetAttributes"},{"$ref":"#/components/schemas/PropertyAttributes"},{"$ref":"#/components/schemas/DashboardAttributes"},{"$ref":"#/components/schemas/ChartAttributes"},{"$ref":"#/components/schemas/DataJobAttributes"},{"$ref":"#/components/schemas/DataTaskAttributes"},{"$ref":"#/components/schemas/PolicyAttributes"},{"$ref":"#/components/schemas/GlossaryAttributes"},{"$ref":"#/components/schemas/CategoryAttributes"},{"$ref":"#/components/schemas/TermAttributes"}],"title":"Attrs"}},"type":"object","required":["asset","parents","attrs"],"title":"AssetData"},"AssetObject":{"properties":{"id":{"type":"integer","title":"Id"},"name":{"type":"string","title":"Name"},"type":{"$ref":"#/components/schemas/AssetMetadataTypes"}},"type":"object","required":["id","name","type"],"title":"AssetObject"},"AssetMetadataTypes":{"type":"string","enum":["source","collection","dataset","property","data_job","data_task","data_run","file","glossary","category","term","monitor","dashboard","report","chart","policy","policy_rule","data_domain","data_subdomain","data_product","data_asset","data_asset_property","data_contract"],"title":"AssetMetadataTypes"},"SourceAttributes":{"properties":{"source_type":{"$ref":"#/components/schemas/DbType"},"data_owners":{"items":{"$ref":"#/components/schemas/Users"},"type":"array","title":"Data Owners"},"business_owners":{"items":{"$ref":"#/components/schemas/Users"},"type":"array","title":"Business Owners"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"linked_terms":{"items":{"$ref":"#/components/schemas/AssetIdentifier-Output"},"type":"array","title":"Linked Terms"},"custom_attributes":{"items":{"anyOf":[{"$ref":"#/components/schemas/app__models__public__custom_attributes__IntegerAttribute"},{"$ref":"#/components/schemas/app__models__public__custom_attributes__TextAttribute"},{"$ref":"#/components/schemas/app__models__public__custom_attributes__BooleanAttribute"},{"$ref":"#/components/schemas/app__models__public__custom_attributes__EnumAttribute"},{"$ref":"#/components/schemas/app__models__public__custom_attributes__UserAttribute"},{"$ref":"#/components/schemas/app__models__public__custom_attributes__KVAttribute"}]},"type":"array","title":"Custom Attributes"}},"type":"object","required":["source_type","data_owners","business_owners","description","linked_terms","custom_attributes"],"title":"SourceAttributes"},"DbType":{"type":"string","enum":["bigquery","redshift","postgresql","mysql","snowflake","databricks","sql_server","azure_server","singlestore","synapse","oracle","cloudera_hive","hive","power_bi","tableau","looker","dbt_cloud","dbt_core","fivetran","airflow","adf","glue","s3dl","adls","gcsdl","open_lineage","spark","iceberg","cloudera_atlas","atlas","unknown","virtual_source"],"title":"DbType"},"Users":{"properties":{"email":{"type":"string","title":"Email"},"id":{"type":"string","title":"Id"}},"type":"object","required":["email","id"],"title":"Users"},"AssetIdentifier-Output":{"properties":{"id":{"type":"integer","minimum":0,"title":"Id","description":"Unique identifier of the specific asset"},"type":{"$ref":"#/components/schemas/AssetMetadataTypes","description":"Type of the specific asset"}},"type":"object","required":["id","type"],"title":"AssetIdentifier"},"app__models__public__custom_attributes__IntegerAttribute":{"properties":{"id":{"type":"integer","title":"Id","description":"Unique identifier for the custom attribute"},"type":{"type":"string","const":"integer","title":"Type"},"value":{"type":"integer","title":"Value","description":"Integer value of the custom attribute"}},"type":"object","required":["id","type","value"],"title":"IntegerAttribute"},"app__models__public__custom_attributes__TextAttribute":{"properties":{"id":{"type":"integer","title":"Id","description":"Unique identifier for the custom attribute"},"type":{"type":"string","const":"text","title":"Type"},"value":{"type":"string","title":"Value","description":"Text value of the custom attribute"}},"type":"object","required":["id","type","value"],"title":"TextAttribute"},"app__models__public__custom_attributes__BooleanAttribute":{"properties":{"id":{"type":"integer","title":"Id","description":"Unique identifier for the custom attribute"},"type":{"type":"string","const":"boolean","title":"Type"},"value":{"type":"boolean","title":"Value","description":"Boolean value of the custom attribute"}},"type":"object","required":["id","type","value"],"title":"BooleanAttribute"},"app__models__public__custom_attributes__EnumAttribute":{"properties":{"id":{"type":"integer","title":"Id","description":"Unique identifier for the custom attribute"},"type":{"type":"string","const":"enum","title":"Type"},"value":{"items":{"$ref":"#/components/schemas/app__models__public__custom_attributes__EnumValue"},"type":"array","title":"Value","description":"List of enum values"}},"type":"object","required":["id","type","value"],"title":"EnumAttribute"},"app__models__public__custom_attributes__EnumValue":{"properties":{"id":{"type":"integer","title":"Id","description":"ID of the enum option"},"label":{"type":"string","title":"Label","description":"Label of the enum option"},"color":{"type":"string","title":"Color","description":"Color associated with the enum option"}},"type":"object","required":["id","label","color"],"title":"EnumValue"},"app__models__public__custom_attributes__UserAttribute":{"properties":{"id":{"type":"integer","title":"Id","description":"Unique identifier for the custom attribute"},"type":{"type":"string","const":"user","title":"Type"},"value":{"anyOf":[{"type":"string"},{"items":{"type":"string"},"type":"array"}],"title":"Value","description":"User or list of users associated with the custom attribute. If the attribute is multi-select, this will be a list."}},"type":"object","required":["id","type","value"],"title":"UserAttribute"},"app__models__public__custom_attributes__KVAttribute":{"properties":{"id":{"type":"integer","title":"Id","description":"Unique identifier for the custom attribute"},"label":{"type":"string","title":"Label","description":"Label of the custom attribute"},"type":{"type":"string","const":"kv","title":"Type"},"value":{"items":{"oneOf":[{"$ref":"#/components/schemas/KVTextEntryValue"},{"$ref":"#/components/schemas/KVEnumEntryValue"}],"discriminator":{"propertyName":"type","mapping":{"enum":"#/components/schemas/KVEnumEntryValue","text":"#/components/schemas/KVTextEntryValue"}}},"type":"array","title":"Value","description":"List of key-value entries on the asset"}},"type":"object","required":["id","label","type","value"],"title":"KVAttribute"},"KVTextEntryValue":{"properties":{"id":{"type":"integer","title":"Id","description":"Unique identifier of the key definition"},"label":{"type":"string","title":"Label","description":"Name of the key"},"type":{"type":"string","const":"text","title":"Type"},"value":{"type":"string","title":"Value","description":"String value of the key-value entry"}},"type":"object","required":["id","label","type","value"],"title":"KVTextEntryValue"},"KVEnumEntryValue":{"properties":{"id":{"type":"integer","title":"Id","description":"Unique identifier of the key definition"},"label":{"type":"string","title":"Label","description":"Name of the key"},"type":{"type":"string","const":"enum","title":"Type"},"value":{"items":{"$ref":"#/components/schemas/app__models__public__custom_attributes__KVKeyEnumOption"},"type":"array","title":"Value","description":"List of enum options for the key-value entry"}},"type":"object","required":["id","label","type","value"],"title":"KVEnumEntryValue"},"app__models__public__custom_attributes__KVKeyEnumOption":{"properties":{"id":{"type":"integer","title":"Id","description":"Unique identifier of the enum option"},"label":{"type":"string","title":"Label","description":"Label of the enum option"},"color":{"type":"string","title":"Color","description":"Color associated with the enum option"}},"type":"object","required":["id","label","color"],"title":"KVKeyEnumOption"},"CollectionAttributes":{"properties":{"data_owners":{"items":{"$ref":"#/components/schemas/Users"},"type":"array","title":"Data Owners"},"business_owners":{"items":{"$ref":"#/components/schemas/Users"},"type":"array","title":"Business Owners"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"source_description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Description"},"linked_terms":{"items":{"$ref":"#/components/schemas/AssetIdentifier-Output"},"type":"array","title":"Linked Terms"},"custom_attributes":{"items":{"anyOf":[{"$ref":"#/components/schemas/app__models__public__custom_attributes__IntegerAttribute"},{"$ref":"#/components/schemas/app__models__public__custom_attributes__TextAttribute"},{"$ref":"#/components/schemas/app__models__public__custom_attributes__BooleanAttribute"},{"$ref":"#/components/schemas/app__models__public__custom_attributes__EnumAttribute"},{"$ref":"#/components/schemas/app__models__public__custom_attributes__UserAttribute"},{"$ref":"#/components/schemas/app__models__public__custom_attributes__KVAttribute"}]},"type":"array","title":"Custom Attributes"}},"type":"object","required":["data_owners","business_owners","description","source_description","linked_terms","custom_attributes"],"title":"CollectionAttributes"},"DatasetAttributes":{"properties":{"data_owners":{"items":{"$ref":"#/components/schemas/Users"},"type":"array","title":"Data Owners"},"business_owners":{"items":{"$ref":"#/components/schemas/Users"},"type":"array","title":"Business Owners"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"source_description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Description"},"property_count":{"type":"integer","title":"Property Count"},"is_view":{"type":"boolean","title":"Is View"},"is_virtual":{"type":"boolean","title":"Is Virtual"},"linked_terms":{"items":{"$ref":"#/components/schemas/AssetIdentifier-Output"},"type":"array","title":"Linked Terms"},"custom_attributes":{"items":{"anyOf":[{"$ref":"#/components/schemas/app__models__public__custom_attributes__IntegerAttribute"},{"$ref":"#/components/schemas/app__models__public__custom_attributes__TextAttribute"},{"$ref":"#/components/schemas/app__models__public__custom_attributes__BooleanAttribute"},{"$ref":"#/components/schemas/app__models__public__custom_attributes__EnumAttribute"},{"$ref":"#/components/schemas/app__models__public__custom_attributes__UserAttribute"},{"$ref":"#/components/schemas/app__models__public__custom_attributes__KVAttribute"}]},"type":"array","title":"Custom Attributes"}},"type":"object","required":["data_owners","business_owners","description","source_description","property_count","is_view","is_virtual","linked_terms","custom_attributes"],"title":"DatasetAttributes"},"PropertyAttributes":{"properties":{"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"source_description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Description"},"unified_type":{"$ref":"#/components/schemas/DataType"},"raw_type":{"type":"string","title":"Raw Type"},"is_virtual":{"type":"boolean","title":"Is Virtual"},"classifications":{"items":{"$ref":"#/components/schemas/AssetIdentifier-Output"},"type":"array","title":"Classifications"},"linked_terms":{"items":{"$ref":"#/components/schemas/AssetIdentifier-Output"},"type":"array","title":"Linked Terms"},"custom_attributes":{"items":{"anyOf":[{"$ref":"#/components/schemas/app__models__public__custom_attributes__IntegerAttribute"},{"$ref":"#/components/schemas/app__models__public__custom_attributes__TextAttribute"},{"$ref":"#/components/schemas/app__models__public__custom_attributes__BooleanAttribute"},{"$ref":"#/components/schemas/app__models__public__custom_attributes__EnumAttribute"},{"$ref":"#/components/schemas/app__models__public__custom_attributes__UserAttribute"},{"$ref":"#/components/schemas/app__models__public__custom_attributes__KVAttribute"}]},"type":"array","title":"Custom Attributes"}},"type":"object","required":["description","source_description","unified_type","raw_type","is_virtual","classifications","linked_terms","custom_attributes"],"title":"PropertyAttributes"},"DashboardAttributes":{"properties":{"data_owners":{"items":{"$ref":"#/components/schemas/Users"},"type":"array","title":"Data Owners"},"business_owners":{"items":{"$ref":"#/components/schemas/Users"},"type":"array","title":"Business Owners"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"linked_terms":{"items":{"$ref":"#/components/schemas/AssetIdentifier-Output"},"type":"array","title":"Linked Terms"},"custom_attributes":{"items":{"anyOf":[{"$ref":"#/components/schemas/app__models__public__custom_attributes__IntegerAttribute"},{"$ref":"#/components/schemas/app__models__public__custom_attributes__TextAttribute"},{"$ref":"#/components/schemas/app__models__public__custom_attributes__BooleanAttribute"},{"$ref":"#/components/schemas/app__models__public__custom_attributes__EnumAttribute"},{"$ref":"#/components/schemas/app__models__public__custom_attributes__UserAttribute"},{"$ref":"#/components/schemas/app__models__public__custom_attributes__KVAttribute"}]},"type":"array","title":"Custom Attributes"}},"type":"object","required":["data_owners","business_owners","description","linked_terms","custom_attributes"],"title":"DashboardAttributes"},"ChartAttributes":{"properties":{"data_owners":{"items":{"$ref":"#/components/schemas/Users"},"type":"array","title":"Data Owners"},"business_owners":{"items":{"$ref":"#/components/schemas/Users"},"type":"array","title":"Business Owners"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"linked_terms":{"items":{"$ref":"#/components/schemas/AssetIdentifier-Output"},"type":"array","title":"Linked Terms"},"custom_attributes":{"items":{"anyOf":[{"$ref":"#/components/schemas/app__models__public__custom_attributes__IntegerAttribute"},{"$ref":"#/components/schemas/app__models__public__custom_attributes__TextAttribute"},{"$ref":"#/components/schemas/app__models__public__custom_attributes__BooleanAttribute"},{"$ref":"#/components/schemas/app__models__public__custom_attributes__EnumAttribute"},{"$ref":"#/components/schemas/app__models__public__custom_attributes__UserAttribute"},{"$ref":"#/components/schemas/app__models__public__custom_attributes__KVAttribute"}]},"type":"array","title":"Custom Attributes"}},"type":"object","required":["data_owners","business_owners","description","linked_terms","custom_attributes"],"title":"ChartAttributes"},"DataJobAttributes":{"properties":{"data_owners":{"items":{"$ref":"#/components/schemas/Users"},"type":"array","title":"Data Owners"},"business_owners":{"items":{"$ref":"#/components/schemas/Users"},"type":"array","title":"Business Owners"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"linked_terms":{"items":{"$ref":"#/components/schemas/AssetIdentifier-Output"},"type":"array","title":"Linked Terms"},"custom_attributes":{"items":{"anyOf":[{"$ref":"#/components/schemas/app__models__public__custom_attributes__IntegerAttribute"},{"$ref":"#/components/schemas/app__models__public__custom_attributes__TextAttribute"},{"$ref":"#/components/schemas/app__models__public__custom_attributes__BooleanAttribute"},{"$ref":"#/components/schemas/app__models__public__custom_attributes__EnumAttribute"},{"$ref":"#/components/schemas/app__models__public__custom_attributes__UserAttribute"},{"$ref":"#/components/schemas/app__models__public__custom_attributes__KVAttribute"}]},"type":"array","title":"Custom Attributes"}},"type":"object","required":["data_owners","business_owners","description","linked_terms","custom_attributes"],"title":"DataJobAttributes"},"DataTaskAttributes":{"properties":{},"type":"object","title":"DataTaskAttributes"},"PolicyAttributes":{"properties":{"policy_tag":{"type":"string","title":"Policy Tag"},"stewards":{"items":{"$ref":"#/components/schemas/Users"},"type":"array","title":"Stewards"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"purpose":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Purpose"},"color":{"type":"string","title":"Color"},"masking_type":{"$ref":"#/components/schemas/RuleMasking"}},"type":"object","required":["policy_tag","stewards","description","purpose","color","masking_type"],"title":"PolicyAttributes"},"RuleMasking":{"type":"string","enum":["none","hash","email","last_four","first_four","nullify","sha256"],"title":"RuleMasking"},"GlossaryAttributes":{"properties":{"data_owners":{"items":{"$ref":"#/components/schemas/Users"},"type":"array","title":"Data Owners"},"business_owners":{"items":{"$ref":"#/components/schemas/Users"},"type":"array","title":"Business Owners"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"created_by":{"$ref":"#/components/schemas/Users"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"reviewed_by":{"anyOf":[{"$ref":"#/components/schemas/Users"},{"type":"null"}]},"children_count":{"type":"integer","title":"Children Count"},"custom_attributes":{"items":{"anyOf":[{"$ref":"#/components/schemas/app__models__public__custom_attributes__IntegerAttribute"},{"$ref":"#/components/schemas/app__models__public__custom_attributes__TextAttribute"},{"$ref":"#/components/schemas/app__models__public__custom_attributes__BooleanAttribute"},{"$ref":"#/components/schemas/app__models__public__custom_attributes__EnumAttribute"},{"$ref":"#/components/schemas/app__models__public__custom_attributes__UserAttribute"},{"$ref":"#/components/schemas/app__models__public__custom_attributes__KVAttribute"}]},"type":"array","title":"Custom Attributes"}},"type":"object","required":["data_owners","business_owners","description","created_by","created_at","reviewed_by","children_count","custom_attributes"],"title":"GlossaryAttributes"},"CategoryAttributes":{"properties":{"data_owners":{"items":{"$ref":"#/components/schemas/Users"},"type":"array","title":"Data Owners"},"business_owners":{"items":{"$ref":"#/components/schemas/Users"},"type":"array","title":"Business Owners"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"created_by":{"$ref":"#/components/schemas/Users"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"reviewed_by":{"anyOf":[{"$ref":"#/components/schemas/Users"},{"type":"null"}]},"children_count":{"type":"integer","title":"Children Count"},"custom_attributes":{"items":{"anyOf":[{"$ref":"#/components/schemas/app__models__public__custom_attributes__IntegerAttribute"},{"$ref":"#/components/schemas/app__models__public__custom_attributes__TextAttribute"},{"$ref":"#/components/schemas/app__models__public__custom_attributes__BooleanAttribute"},{"$ref":"#/components/schemas/app__models__public__custom_attributes__EnumAttribute"},{"$ref":"#/components/schemas/app__models__public__custom_attributes__UserAttribute"},{"$ref":"#/components/schemas/app__models__public__custom_attributes__KVAttribute"}]},"type":"array","title":"Custom Attributes"}},"type":"object","required":["data_owners","business_owners","description","created_by","created_at","reviewed_by","children_count","custom_attributes"],"title":"CategoryAttributes"},"TermAttributes":{"properties":{"data_owners":{"items":{"$ref":"#/components/schemas/Users"},"type":"array","title":"Data Owners"},"business_owners":{"items":{"$ref":"#/components/schemas/Users"},"type":"array","title":"Business Owners"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"created_by":{"$ref":"#/components/schemas/Users"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"reviewed_by":{"anyOf":[{"$ref":"#/components/schemas/Users"},{"type":"null"}]},"classifications":{"items":{"$ref":"#/components/schemas/AssetIdentifier-Output"},"type":"array","title":"Classifications"},"related_terms":{"items":{"$ref":"#/components/schemas/AssetIdentifier-Output"},"type":"array","title":"Related Terms"},"linked_assets":{"items":{"$ref":"#/components/schemas/AssetIdentifier-Output"},"type":"array","title":"Linked Assets"},"custom_attributes":{"items":{"anyOf":[{"$ref":"#/components/schemas/app__models__public__custom_attributes__IntegerAttribute"},{"$ref":"#/components/schemas/app__models__public__custom_attributes__TextAttribute"},{"$ref":"#/components/schemas/app__models__public__custom_attributes__BooleanAttribute"},{"$ref":"#/components/schemas/app__models__public__custom_attributes__EnumAttribute"},{"$ref":"#/components/schemas/app__models__public__custom_attributes__UserAttribute"},{"$ref":"#/components/schemas/app__models__public__custom_attributes__KVAttribute"}]},"type":"array","title":"Custom Attributes"}},"type":"object","required":["data_owners","business_owners","description","created_by","created_at","reviewed_by","classifications","related_terms","linked_assets","custom_attributes"],"title":"TermAttributes"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}}}
```

### Delete a virtual object

Soft-deletes a virtual object and all its children. Soft-deleted objects are removed from the Catalog, lineage, and search results but remain in the database until the parent virtual source is deleted.

## Delete Virtual Asset

> Deletes a virtual asset by ID.

```json
{"openapi":"3.1.0","info":{"title":"Decube Public API (BETA)","version":"1.0.0"},"servers":[{"url":"https://connect.<REGION>.decube.io/api/v1/data"}],"paths":{"/virtual_assets":{"delete":{"tags":["Virtual Assets"],"summary":"Delete Virtual Asset","description":"Deletes a virtual asset by ID.","operationId":"delete_virtual_asset_virtual_assets_delete","parameters":[{"name":"asset_id","in":"query","required":true,"schema":{"type":"integer","title":"Asset Id"}},{"name":"asset_type","in":"query","required":true,"schema":{"enum":["collection","dataset","property","data_job","data_task","dashboard","chart"],"type":"string","title":"Asset Type"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}}}
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.decube.io/public-api/overview/index/virtual-sources.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
