# Metadata

APIs used to retrieve metadata from Immuta to enrich the marketplace

## Get available Immuta Domains

> Search Immuta domains that can be used to create a data product in the marketplace

```json
{"openapi":"3.0.0","info":{"title":"Immuta Data Marketplace","version":"1.0"},"tags":[{"name":"Metadata","description":"APIs used to retrieve metadata from Immuta to enrich the marketplace"}],"servers":[{"url":"https://{global-segment}.api.immutacloud.com/marketplace","description":"Marketplace API Endpoint","variables":{"global-segment":{"default":"na","enum":["na","eu","ap"],"description":"Marketplace API global segment"}}}],"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"scheme":"bearer","bearerFormat":"JWT","type":"http"}},"schemas":{"ImmutaDomainSchemaResponse":{"type":"object","properties":{"domains":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string","description":"Domain name"},"description":{"type":"string","description":"Domain description"}},"required":["id","name","description"]}}},"required":["domains"]}}},"paths":{"/api/metadata/domain":{"get":{"description":"Search Immuta domains that can be used to create a data product in the marketplace","operationId":"getAvailableDomains","parameters":[],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImmutaDomainSchemaResponse"}}}}},"summary":"Get available Immuta Domains","tags":["Metadata"]}}}}
```

## Search data sources in domain

> Search data sources within the selected domain that can be included in a data product

```json
{"openapi":"3.0.0","info":{"title":"Immuta Data Marketplace","version":"1.0"},"tags":[{"name":"Metadata","description":"APIs used to retrieve metadata from Immuta to enrich the marketplace"}],"servers":[{"url":"https://{global-segment}.api.immutacloud.com/marketplace","description":"Marketplace API Endpoint","variables":{"global-segment":{"default":"na","enum":["na","eu","ap"],"description":"Marketplace API global segment"}}}],"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"scheme":"bearer","bearerFormat":"JWT","type":"http"}},"schemas":{"PaginatedImmutaDataSource":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"dataSourceId":{"type":"number"},"name":{"type":"string","description":"Data source name"},"platform":{"type":"string","description":"Data source technology"},"createdAt":{"type":"string","format":"date-time"},"prefix":{"oneOf":[{"type":"string","description":"The native S3 prefix"}],"nullable":true,"description":"The native S3 prefix"},"hostname":{"oneOf":[{"type":"string","description":"Data source hostname"}],"nullable":true,"description":"Data source hostname"},"database":{"oneOf":[{"type":"string","description":"Data source database name"}],"nullable":true,"description":"Data source database name"},"schema":{"oneOf":[{"type":"string","description":"Data source schema name"}],"nullable":true,"description":"Data source schema name"},"table":{"oneOf":[{"type":"string","description":"Data source table name"}],"nullable":true,"description":"Data source table name"}},"required":["dataSourceId","name","platform","createdAt"]}},"meta":{"type":"object","properties":{"offset":{"default":0,"type":"number","minimum":0},"limit":{"default":10,"type":"number","minimum":1},"totalCount":{"type":"number"},"pageCount":{"type":"number"},"currentPage":{"type":"number"},"totalPages":{"type":"number"}},"required":["totalCount","pageCount","currentPage","totalPages"]}},"required":["data","meta"]}}},"paths":{"/api/metadata/domain/{id}/datasources":{"get":{"description":"Search data sources within the selected domain that can be included in a data product","operationId":"getDomainDataSources","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}},{"name":"offset","required":false,"in":"query","schema":{"minimum":0,"default":0,"type":"number"}},{"name":"limit","required":false,"in":"query","schema":{"minimum":1,"default":10,"type":"number"}},{"name":"searchText","required":false,"in":"query","description":"Search text to filter data sources","schema":{"type":"string"}},{"name":"dataSourceIds","required":false,"in":"query","description":"Array of ids to filter data sources","schema":{"type":"array","items":{"type":"number"}}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedImmutaDataSource"}}}}},"summary":"Search data sources in domain","tags":["Metadata"]}}}}
```

## Get the specified domain

> Returns the Immuta domain specified in the request

```json
{"openapi":"3.0.0","info":{"title":"Immuta Data Marketplace","version":"1.0"},"tags":[{"name":"Metadata","description":"APIs used to retrieve metadata from Immuta to enrich the marketplace"}],"servers":[{"url":"https://{global-segment}.api.immutacloud.com/marketplace","description":"Marketplace API Endpoint","variables":{"global-segment":{"default":"na","enum":["na","eu","ap"],"description":"Marketplace API global segment"}}}],"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"scheme":"bearer","bearerFormat":"JWT","type":"http"}},"schemas":{"ImmutaDomain":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string","description":"Domain name"},"description":{"type":"string","description":"Domain description"}},"required":["id","name","description"]}}},"paths":{"/api/metadata/domain/{id}":{"get":{"description":"Returns the Immuta domain specified in the request","operationId":"getDomain","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImmutaDomain"}}}}},"summary":"Get the specified domain","tags":["Metadata"]}}}}
```

## Search Immuta users

> Search across all users in Immuta

```json
{"openapi":"3.0.0","info":{"title":"Immuta Data Marketplace","version":"1.0"},"tags":[{"name":"Metadata","description":"APIs used to retrieve metadata from Immuta to enrich the marketplace"}],"servers":[{"url":"https://{global-segment}.api.immutacloud.com/marketplace","description":"Marketplace API Endpoint","variables":{"global-segment":{"default":"na","enum":["na","eu","ap"],"description":"Marketplace API global segment"}}}],"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"scheme":"bearer","bearerFormat":"JWT","type":"http"}},"schemas":{"ImmutaUserList":{"type":"object","properties":{"users":{"type":"array","items":{"type":"object","properties":{"id":{"type":"number"},"iamId":{"type":"string","description":"ID of the IAM the user is associated with"},"globalUserId":{"type":"string","format":"uuid","description":"Immuta global user ID"},"username":{"type":"string","description":"Username/login name for the user"},"name":{"type":"string","description":"Display name"},"email":{"type":"string","description":"Email address","nullable":true},"authorizations":{"type":"object","additionalProperties":{"type":"array","items":{"type":"string"}}}},"required":["id","iamId","globalUserId","username","name"],"title":"Immuta User"}}},"required":["users"]}}},"paths":{"/api/metadata/users":{"get":{"description":"Search across all users in Immuta","operationId":"getImmutaUsers","parameters":[{"name":"limit","required":false,"in":"query","schema":{"default":100,"type":"number"}},{"name":"filter","required":false,"in":"query","schema":{"type":"string"}},{"name":"globalUserId","required":false,"in":"query","schema":{"type":"array","items":{"type":"string"}}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImmutaUserList"}}}}},"summary":"Search Immuta users","tags":["Metadata"]}}}}
```

## Search Immuta groups

> Search across all groups in Immuta

```json
{"openapi":"3.0.0","info":{"title":"Immuta Data Marketplace","version":"1.0"},"tags":[{"name":"Metadata","description":"APIs used to retrieve metadata from Immuta to enrich the marketplace"}],"servers":[{"url":"https://{global-segment}.api.immutacloud.com/marketplace","description":"Marketplace API Endpoint","variables":{"global-segment":{"default":"na","enum":["na","eu","ap"],"description":"Marketplace API global segment"}}}],"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"scheme":"bearer","bearerFormat":"JWT","type":"http"}},"schemas":{"ImmutaGroupList":{"type":"object","properties":{"groups":{"type":"array","items":{"type":"object","properties":{"id":{"type":"number","description":"Immuta group ID"},"iamId":{"type":"string","description":"ID of the IAM the group is associated with","nullable":true},"name":{"type":"string","description":"Group name"},"email":{"type":"string","format":"email","description":"Email address","nullable":true}},"required":["id","iamId","name","email"],"title":"Immuta Group"}}},"required":["groups"]}}},"paths":{"/api/metadata/groups":{"get":{"description":"Search across all groups in Immuta","operationId":"getImmutaGroups","parameters":[{"name":"limit","required":false,"in":"query","schema":{"default":100,"type":"number"}},{"name":"filter","required":false,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImmutaGroupList"}}}}},"summary":"Search Immuta groups","tags":["Metadata"]}}}}
```

## Search Immuta attributes

> Search across all attributes in Immuta

```json
{"openapi":"3.0.0","info":{"title":"Immuta Data Marketplace","version":"1.0"},"tags":[{"name":"Metadata","description":"APIs used to retrieve metadata from Immuta to enrich the marketplace"}],"servers":[{"url":"https://{global-segment}.api.immutacloud.com/marketplace","description":"Marketplace API Endpoint","variables":{"global-segment":{"default":"na","enum":["na","eu","ap"],"description":"Marketplace API global segment"}}}],"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"scheme":"bearer","bearerFormat":"JWT","type":"http"}},"schemas":{"ImmutaAttributeList":{"type":"object","properties":{"attributes":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string"},"value":{"type":"string"}},"required":["type","value"],"title":"Immuta Attribute"}}},"required":["attributes"]}}},"paths":{"/api/metadata/attributes":{"get":{"description":"Search across all attributes in Immuta","operationId":"getImmutaAttributes","parameters":[{"name":"search","required":false,"in":"query","schema":{"type":"string"}},{"name":"type","required":false,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImmutaAttributeList"}}}}},"summary":"Search Immuta attributes","tags":["Metadata"]}}}}
```

## Search Immuta tags

> Search across all tags in Immuta

```json
{"openapi":"3.0.0","info":{"title":"Immuta Data Marketplace","version":"1.0"},"tags":[{"name":"Metadata","description":"APIs used to retrieve metadata from Immuta to enrich the marketplace"}],"servers":[{"url":"https://{global-segment}.api.immutacloud.com/marketplace","description":"Marketplace API Endpoint","variables":{"global-segment":{"default":"na","enum":["na","eu","ap"],"description":"Marketplace API global segment"}}}],"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"scheme":"bearer","bearerFormat":"JWT","type":"http"}},"schemas":{"ImmutaTagSearchResponse":{"type":"array","items":{"type":"object","properties":{"addedBy":{"type":"number"},"color":{"type":"string"},"context":{"type":"string"},"createdAt":{"type":"string"},"createdBy":{"type":"number"},"dataProductName":{"type":"string"},"deleted":{"type":"boolean"},"description":{"type":"string"},"displayName":{"type":"string"},"hasLeafNodes":{"type":"boolean"},"id":{"type":"number"},"name":{"type":"string"},"protected":{"type":"boolean"},"source":{"type":"string"},"systemCreated":{"type":"boolean"},"updatedAt":{"type":"string"}},"required":["name"]}}}},"paths":{"/api/metadata/tags":{"get":{"description":"Search across all tags in Immuta","operationId":"getImmutaTags","parameters":[{"name":"searchText","required":false,"in":"query","description":"A string used to filter returned tags based on name.","schema":{"type":"string"}},{"name":"fuzzySearch","required":false,"in":"query","description":"Whether to perform a fuzzy search.","schema":{"type":"boolean"}},{"name":"limit","required":false,"in":"query","description":"The maximum number of search results that will be returned.","schema":{"maximum":200,"type":"number"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImmutaTagSearchResponse"}}}}},"summary":"Search Immuta tags","tags":["Metadata"]}}}}
```
