openapi: 3.0.1 info: title: OpenMetadata APIs Agent Executions Tables API description: Common types and API definition for OpenMetadata contact: name: OpenMetadata url: https://open-metadata.org email: openmetadata-dev@googlegroups.com license: name: Apache 2.0 url: https://www.apache.org/licenses/LICENSE-2.0 version: '1.13' servers: - url: /api description: Current Host - url: http://localhost:8585/api description: Endpoint URL security: - BearerAuth: [] tags: - name: Tables description: '`Table` organizes data in rows and columns and is defined in a `Database Schema`.' paths: /v1/tables/{id}/customMetric: put: tags: - Tables summary: Add custom metrics description: Add custom metrics. For columns, add columnName. operationId: addCustomMetric parameters: - name: id in: path description: Id of the table required: true schema: type: string format: uuid requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateCustomMetric' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Table' /v1/tables/{id}/dataModel: put: tags: - Tables summary: Add data modeling information to a table description: Add data modeling (such as DBT model) information on how the table was created to the table. operationId: addDataModel parameters: - name: id in: path description: Id of the table required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/DataModel' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Table' /v1/tables/{id}/tableProfile: put: tags: - Tables summary: Add table profile data description: Add table profile data to the table. operationId: addDataProfiler parameters: - name: id in: path description: Id of the table required: true schema: type: string format: uuid requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateTableProfile' responses: '200': description: 'Successfully updated the Table ' content: application/json: schema: $ref: '#/components/schemas/Table' /v1/tables/{id}/tableProfilerConfig: get: tags: - Tables summary: Get table profile config description: Get table profile config to the table. operationId: getDataProfilerConfig_2 parameters: - name: id in: path description: Id of the table required: true schema: type: string format: uuid responses: '200': description: 'Successfully updated the Table ' content: application/json: schema: $ref: '#/components/schemas/Table' put: tags: - Tables summary: Add table profile config description: Add table profile config to the table. operationId: addDataProfilerConfig_2 parameters: - name: id in: path description: Id of the table required: true schema: type: string format: uuid requestBody: content: application/json: schema: $ref: '#/components/schemas/TableProfilerConfig' responses: '200': description: 'Successfully updated the Table ' content: application/json: schema: $ref: '#/components/schemas/Table' delete: tags: - Tables summary: Delete table profiler config description: delete table profile config to the table. operationId: delete DataProfilerConfig_2 parameters: - name: id in: path description: Id of the table required: true schema: type: string format: uuid responses: '200': description: Successfully deleted the Table profiler config content: application/json: schema: $ref: '#/components/schemas/Table' /v1/tables/{id}/followers: put: tags: - Tables summary: Add a follower description: Add a user identified by `userId` as followed of this table operationId: addFollowerToTable parameters: - name: id in: path description: Id of the table required: true schema: type: string format: uuid requestBody: description: Id of the user to be added as follower content: application/json: schema: type: string responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ChangeEvent' '404': description: Table for instance {id} is not found /v1/tables/{id}/joins: put: tags: - Tables summary: Add table join information description: Add information about other tables that this table is joined with. Join information can only be added for the last 30 days starting today. operationId: addTableJoinInfo parameters: - name: id in: path description: Id of the table required: true schema: type: string format: uuid requestBody: content: application/json: schema: $ref: '#/components/schemas/TableJoins' responses: '200': description: Successfully updated the Table content: application/json: schema: $ref: '#/components/schemas/Table' '404': description: Table for instance {id} is not found '400': description: Date range can only include past 30 days starting today /v1/tables/{id}/pipelineObservability: get: tags: - Tables summary: Get pipeline observability data description: Get pipeline observability data for the table. operationId: getPipelineObservability parameters: - name: id in: path description: Id of the table required: true schema: type: string format: uuid responses: '200': description: List of pipeline observability data content: application/json: schema: $ref: '#/components/schemas/PipelineObservability' put: tags: - Tables summary: Add pipeline observability data description: Add pipeline observability data to the table. operationId: addPipelineObservability parameters: - name: id in: path description: Id of the table required: true schema: type: string format: uuid requestBody: description: Pipeline observability data content: application/json: schema: $ref: '#/components/schemas/PipelineObservability' required: true responses: '200': description: Successfully update the Table content: application/json: schema: $ref: '#/components/schemas/Table' delete: tags: - Tables summary: Delete pipeline observability data description: Delete pipeline observability data from the table. operationId: deletePipelineObservability parameters: - name: id in: path description: Id of the table required: true schema: type: string format: uuid responses: '200': description: Successfully update the Table content: application/json: schema: $ref: '#/components/schemas/Table' /v1/tables/{id}/sampleData: get: tags: - Tables summary: Get sample data description: Get sample data from the table. operationId: getSampleData parameters: - name: id in: path description: Id of the table required: true schema: type: string format: uuid responses: '200': description: Successfully update the Table content: application/json: schema: $ref: '#/components/schemas/Table' put: tags: - Tables summary: Add sample data description: Add sample data to the table. operationId: addSampleData parameters: - name: id in: path description: Id of the table required: true schema: type: string format: uuid requestBody: content: application/json: schema: $ref: '#/components/schemas/TableData' responses: '200': description: Successfully update the Table content: application/json: schema: $ref: '#/components/schemas/Table' delete: tags: - Tables summary: Delete sample data description: Delete sample data from the table. operationId: deleteSampleData parameters: - name: id in: path description: Id of the table required: true schema: type: string format: uuid responses: '200': description: Successfully update the Table content: application/json: schema: $ref: '#/components/schemas/Table' /v1/tables/{id}/pipelineObservability/{pipelineFqn}: put: tags: - Tables summary: Add or update single pipeline observability data description: Add or update pipeline observability data for a specific pipeline on the table. operationId: addSinglePipelineObservability parameters: - name: id in: path description: Id of the table required: true schema: type: string format: uuid - name: pipelineFqn in: path description: Fully qualified name of the pipeline required: true schema: type: string requestBody: description: Pipeline observability data content: application/json: schema: $ref: '#/components/schemas/PipelineObservability' required: true responses: '200': description: Successfully update the Table content: application/json: schema: $ref: '#/components/schemas/Table' delete: tags: - Tables summary: Delete single pipeline observability data description: Delete pipeline observability data for a specific pipeline from the table. operationId: deleteSinglePipelineObservability parameters: - name: id in: path description: Id of the table required: true schema: type: string format: uuid - name: pipelineFqn in: path description: Fully qualified name of the pipeline required: true schema: type: string responses: '200': description: Successfully update the Table content: application/json: schema: $ref: '#/components/schemas/Table' /v1/tables/bulk: put: tags: - Tables summary: Bulk create or update tables description: Create or update multiple tables in a single operation. Returns a BulkOperationResult with success/failure details for each table. operationId: bulkCreateOrUpdateTables parameters: - name: async in: query schema: type: boolean default: false requestBody: content: application/json: schema: type: array items: $ref: '#/components/schemas/CreateTable' responses: '200': description: Bulk operation results content: application/json: schema: $ref: '#/components/schemas/BulkOperationResult' '202': description: Bulk operation accepted for async processing content: application/json: schema: $ref: '#/components/schemas/BulkOperationResult' '400': description: Bad request /v1/tables: get: tags: - Tables summary: List tables description: Get a list of tables, optionally filtered by `database` it belongs to. Use `fields` parameter to get only necessary fields. Use cursor-based pagination to limit the number entries in the list using `limit` and `before` or `after` query params. operationId: listTables parameters: - name: fields in: query description: Fields requested in the returned resource schema: type: string example: tableConstraints,tablePartition,usageSummary,owners,customMetrics,columns,sampleData,tags,followers,joins,schemaDefinition,dataModel,extension,testSuite,domains,dataProducts,lifeCycle,sourceHash - name: database in: query description: Filter tables by database fully qualified name schema: type: string example: snowflakeWestCoast.financeDB - name: databaseSchema in: query description: Filter tables by databaseSchema fully qualified name schema: type: string example: snowflakeWestCoast.financeDB.schema - name: databaseSchemaRegex in: query description: Filter tables by database schema regex pattern applied to databaseSchema.name by default. To apply the regex to the fully qualified name, set regexFilterByFqn=true. For better performance, use this in combination with the database query filter. schema: type: string example: finance_schema_.* - name: tableRegex in: query description: Filter tables by table regex pattern applied to the table name by default. To apply the regex to the table fully qualified name, set regexFilterByFqn=true. For better performance, use this in combination with the database and/or databaseSchema query filters. schema: type: string example: orders_.* - name: includeEmptyTestSuite in: query description: Include tables with an empty test suite (i.e. no test cases have been created for this table). Default to true schema: type: boolean example: true default: true - name: limit in: query description: 'Limit the number tables returned. (1 to 1000000, default = 10) ' schema: maximum: 1000000 minimum: 0 type: integer format: int32 default: 10 - name: before in: query description: Returns list of tables before this cursor schema: type: string - name: after in: query description: Returns list of tables after this cursor schema: type: string - name: include in: query description: Include all, deleted, or non-deleted entities. schema: type: string default: non-deleted enum: - all - deleted - non-deleted - name: regexFilterByFqn in: query description: When true, regex filters match against fullyQualifiedName instead of name. Default is false. schema: type: boolean example: false default: false - name: regexMode in: query description: Controls how regex filters are applied. 'include' returns matching entities, 'exclude' returns non-matching entities. Default is 'include'. schema: type: string default: include enum: - include - exclude responses: '200': description: List of tables content: application/json: schema: $ref: '#/components/schemas/TableList' put: tags: - Tables summary: Create or update a table description: Create a table, if it does not exist. If a table already exists, update the table. operationId: createOrUpdateTable requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateTable' responses: '200': description: The table content: application/json: schema: $ref: '#/components/schemas/Table' '400': description: Bad request post: tags: - Tables summary: Create a table description: Create a new table under an existing `database`. operationId: createTable requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateTable' responses: '200': description: table content: application/json: schema: $ref: '#/components/schemas/Table' '400': description: Bad request /v1/tables/{id}: get: tags: - Tables summary: Get a table by Id description: Get a table by `Id` operationId: getTableByID parameters: - name: id in: path description: table Id required: true schema: type: string format: uuid - name: fields in: query description: Fields requested in the returned resource schema: type: string example: tableConstraints,tablePartition,usageSummary,owners,customMetrics,columns,sampleData,tags,followers,joins,schemaDefinition,dataModel,extension,testSuite,domains,dataProducts,lifeCycle,sourceHash - name: include in: query description: Include all, deleted, or non-deleted entities. schema: type: string default: non-deleted enum: - all - deleted - non-deleted - name: includeRelations in: query description: 'Per-relation include control. Format: field:value,field2:value2. Example: owners:non-deleted,followers:all. Valid values: all, deleted, non-deleted. If not specified for a field, uses the entity''s include value.' schema: type: string example: owners:non-deleted,followers:all responses: '200': description: table content: application/json: schema: $ref: '#/components/schemas/Table' '404': description: Table for instance {id} is not found delete: tags: - Tables summary: Delete a table by Id description: Delete a table by `Id`. operationId: deleteTable parameters: - name: hardDelete in: query description: Hard delete the entity. (Default = `false`) schema: type: boolean default: false - name: recursive in: query description: Recursively delete this entity and it's children. (Default `false`) schema: type: boolean default: false - name: id in: path description: Id of the table required: true schema: type: string format: uuid responses: '200': description: OK '404': description: Table for instance {id} is not found patch: tags: - Tables summary: Update a table description: Update an existing table using JsonPatch. externalDocs: description: JsonPatch RFC url: https://tools.ietf.org/html/rfc6902 operationId: patchTable_1 parameters: - name: id in: path description: Id of the table required: true schema: type: string format: uuid - name: changeSource in: query description: Optional source of the change. If the change is made by a user use 'Manual'. schema: type: string enum: - Manual - Propagated - Automated - Derived - Ingested - Suggested requestBody: description: JsonPatch with array of operations content: application/json-patch+json: schema: $ref: '#/components/schemas/JsonPatch' example: '[{op:remove, path:/a},{op:add, path: /b, value: val}]' responses: default: description: default response content: application/json: {} /v1/tables/name/{fqn}: get: tags: - Tables summary: Get a table by fully qualified name description: Get a table by fully qualified table name. operationId: getTableByFQN parameters: - name: fqn in: path description: Fully qualified name of the table required: true schema: type: string - name: fields in: query description: Fields requested in the returned resource schema: type: string example: tableConstraints,tablePartition,usageSummary,owners,customMetrics,columns,sampleData,tags,followers,joins,schemaDefinition,dataModel,extension,testSuite,domains,dataProducts,lifeCycle,sourceHash - name: include in: query description: Include all, deleted, or non-deleted entities. schema: type: string default: non-deleted enum: - all - deleted - non-deleted - name: includeRelations in: query description: 'Per-relation include control. Format: field:value,field2:value2. Example: owners:non-deleted,followers:all. Valid values: all, deleted, non-deleted. If not specified for a field, uses the entity''s include value.' schema: type: string example: owners:non-deleted,followers:all responses: '200': description: table content: application/json: schema: $ref: '#/components/schemas/Table' '404': description: Table for instance {fqn} is not found delete: tags: - Tables summary: Delete a table by fully qualified name description: Delete a table by `fullyQualifiedName`. operationId: deleteTable_1 parameters: - name: hardDelete in: query description: Hard delete the entity. (Default = `false`) schema: type: boolean default: false - name: recursive in: query description: Recursively delete this entity and it's children. (Default `false`) schema: type: boolean default: false - name: fqn in: path description: Name of the table required: true schema: type: string responses: '200': description: OK '404': description: Table for instance {fqn} is not found patch: tags: - Tables summary: Update a table by name. description: Update an existing table using JsonPatch. externalDocs: description: JsonPatch RFC url: https://tools.ietf.org/html/rfc6902 operationId: patchTable parameters: - name: fqn in: path description: Name of the table required: true schema: type: string - name: changeSource in: query description: Context of the change schema: type: string enum: - Manual - Propagated - Automated - Derived - Ingested - Suggested requestBody: description: JsonPatch with array of operations content: application/json-patch+json: schema: $ref: '#/components/schemas/JsonPatch' example: '[{op:remove, path:/a},{op:add, path: /b, value: val}]' responses: default: description: default response content: application/json: {} /v1/tables/async/{id}: delete: tags: - Tables summary: Asynchronously delete a table by Id description: Asynchronously delete a table by `Id`. operationId: deleteTableAsync parameters: - name: hardDelete in: query description: Hard delete the entity. (Default = `false`) schema: type: boolean default: false - name: recursive in: query description: Recursively delete this entity and it's children. (Default `false`) schema: type: boolean default: false - name: id in: path description: Id of the table required: true schema: type: string format: uuid responses: '200': description: OK '404': description: Table for instance {id} is not found /v1/tables/{id}/customMetric/{columnName}/{customMetricName}: delete: tags: - Tables summary: Delete custom metric from a column description: Delete a custom metric from a column. operationId: deleteCustomMetric parameters: - name: id in: path description: Id of the table required: true schema: type: string format: uuid - name: columnName in: path description: column of the table required: true schema: type: string - name: customMetricName in: path description: column Test Type required: true schema: type: string responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Table' /v1/tables/{fqn}/{entityType}/{timestamp}/profile: delete: tags: - Tables summary: Delete table profile data description: Delete table profile data to the table. operationId: deleteDataProfiler parameters: - name: fqn in: path description: FQN of the table or column required: true schema: type: string - name: entityType in: path description: type of the entity table or column required: true schema: type: string - name: timestamp in: path description: Timestamp of the table profile required: true schema: type: integer format: int64 responses: '200': description: Successfully deleted the Table Profile content: application/json: schema: $ref: '#/components/schemas/TableProfile' /v1/tables/{id}/followers/{userId}: delete: tags: - Tables summary: Remove a follower description: Remove the user identified `userId` as a follower of the entity. operationId: deleteFollower_9 parameters: - name: id in: path description: Id of the Entity required: true schema: type: string format: uuid - name: userId in: path description: Id of the user being removed as follower required: true schema: type: string responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ChangeEvent' /v1/tables/{id}/customMetric/{customMetricName}: delete: tags: - Tables summary: Delete custom metric from a table description: Delete a custom metric from a table. operationId: deleteCustomMetric_1 parameters: - name: id in: path description: Id of the table required: true schema: type: string format: uuid - name: customMetricName in: path description: column Test Type required: true schema: type: string responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Table' /v1/tables/name/{name}/export: get: tags: - Tables summary: Export table in CSV format operationId: exportTable parameters: - name: name in: path description: Name of the table required: true schema: type: string responses: '200': description: Exported csv with columns from the table content: application/json: schema: type: string /v1/tables/name/{name}/exportAsync: get: tags: - Tables summary: Export table in CSV format operationId: exportTable_1 parameters: - name: name in: path description: Name of the table required: true schema: type: string responses: '200': description: Exported csv with columns from the table content: application/json: schema: type: string /v1/tables/{fqn}/tableProfile/latest: get: tags: - Tables summary: Get the latest table profile description: 'Get the latest table and column profile ' operationId: Get the latest table and column profile parameters: - name: fqn in: path description: FQN of the table or column required: true schema: type: string - name: includeColumnProfile in: query description: Include column profile schema: type: boolean default: true responses: '200': description: Table with profile and column profile content: application/json: schema: $ref: '#/components/schemas/Table' /v1/tables/name/{fqn}/pipelineObservability: get: tags: - Tables summary: Get pipeline observability data by table FQN description: Get pipeline observability data for the table using fully qualified name. operationId: getPipelineObservabilityByFQN parameters: - name: fqn in: path description: Fully qualified name of the table required: true schema: type: string responses: '200': description: List of pipeline observability data content: application/json: schema: $ref: '#/components/schemas/PipelineObservability' /v1/tables/{id}/columns: get: tags: - Tables summary: Get table columns with pagination description: Get a paginated list of table columns. This endpoint provides server-side pagination to handle tables with large numbers of columns efficiently. operationId: getTableColumns parameters: - name: id in: path description: Id of the table required: true schema: type: string format: uuid - name: limit in: query description: Limit the number of columns returned (1 to 1000, default = 50) schema: maximum: 1000 minimum: 1 type: integer format: int32 default: 50 - name: offset in: query description: Offset for pagination (default = 0) schema: minimum: 0 type: integer format: int32 default: 0 - name: fields in: query description: Fields requested in the returned columns schema: type: string example: tags,customMetrics - name: include in: query description: Include all, deleted, or non-deleted entities. schema: type: string default: non-deleted enum: - all - deleted - non-deleted - name: sortBy in: query description: 'Sort columns by field. Supported values: ''name'' (default), ''ordinalPosition''' schema: type: string default: name enum: - name - ordinalPosition - name: sortOrder in: query description: 'Sort order. Supported values: ''asc'' (default), ''desc''' schema: type: string default: asc enum: - asc - desc responses: '200': description: List of table columns content: application/json: schema: $ref: '#/components/schemas/TableColumnList' /v1/tables/name/{fqn}/columns: get: tags: - Tables summary: Get table columns with pagination by FQN description: Get a paginated list of table columns by fully qualified name. This endpoint provides server-side pagination to handle tables with large numbers of columns efficiently. operationId: getTableColumnsByFQN parameters: - name: fqn in: path description: Fully qualified name of the table required: true schema: type: string - name: limit in: query description: Limit the number of columns returned (1 to 1000, default = 50) schema: maximum: 1000 minimum: 1 type: integer format: int32 default: 50 - name: offset in: query description: Offset for pagination (default = 0) schema: minimum: 0 type: integer format: int32 default: 0 - name: fields in: query description: Fields requested in the returned columns schema: type: string example: tags,customMetrics - name: include in: query description: Include all, deleted, or non-deleted entities. schema: type: string default: non-deleted enum: - all - deleted - non-deleted - name: sortBy in: query description: 'Sort columns by field. Supported values: ''name'' (default), ''ordinalPosition''' schema: type: string default: name enum: - name - ordinalPosition - name: sortOrder in: query description: 'Sort order. Supported values: ''asc'' (default), ''desc''' schema: type: string default: asc enum: - asc - desc responses: '200': description: List of table columns content: application/json: schema: $ref: '#/components/schemas/TableColumnList' /v1/tables/{id}/versions/{version}: get: tags: - Tables summary: Get a version of the table description: Get a version of the table by given `Id` operationId: getSpecificDatabaseVersion_1 parameters: - name: id in: path description: Table Id required: true schema: type: string format: uuid - name: version in: path description: Table version number in the form `major`.`minor` required: true schema: type: string example: 0.1 or 1.1 responses: '200': description: table content: application/json: schema: $ref: '#/components/schemas/Table' '404': description: Table for instance {id} and version {version} is not found /v1/tables/name/{name}/import: put: tags: - Tables summary: Import columns from CSV to update table (no creation allowed) operationId: importTable parameters: - name: name in: path description: Name of the table required: true schema: type: string - name: dryRun in: query description: Dry-run when true is used for validating the CSV without really importing it. (default=true) schema: type: boolean default: true requestBody: content: text/plain: schema: type: string responses: '200': description: Import result content: application/json: schema: $ref: '#/components/schemas/CsvImportResult' /v1/tables/name/{name}/importAsync: put: tags: - Tables summary: Import columns from CSV to update table asynchronously (no creation allowed) operationId: importTableAsync parameters: - name: name in: path description: Name of the table required: true schema: type: string - name: dryRun in: query description: Dry-run when true is used for validating the CSV without really importing it. (default=true) schema: type: boolean default: true requestBody: content: text/plain: schema: type: string responses: '200': description: Import result content: application/json: schema: $ref: '#/components/schemas/CsvImportResult' /v1/tables/{fqn}/columnProfile: get: tags: - Tables summary: List of column profiles description: Get a list of all the column profiles for the given table fqn, optionally filtered by `extension`, `startTs` and `endTs` of the profile. Use cursor-based pagination to limit the number of entries in the list using `limit` and `before` or `after` query params. operationId: list column Profiles parameters: - name: fqn in: path description: FQN of the column required: true schema: type: string - name: startTs in: query description: Filter table/column profiles after the given start timestamp required: true schema: type: number - name: endTs in: query description: Filter table/column profiles before the given end timestamp required: true schema: type: number responses: '200': description: List of table profiles content: application/json: schema: $ref: '#/components/schemas/ColumnProfileList' /v1/tables/history: get: tags: - Tables summary: List all entity versions within a time range description: 'Get a paginated list of all entity versions within a given time range specified by `startTs` and `endTs` in milliseconds since epoch. ' operationId: listAllEntityVersionsByTimestamp_16 parameters: - name: startTs in: query description: Start timestamp in milliseconds since epoch required: true schema: type: integer format: int64 - name: endTs in: query description: End timestamp in milliseconds since epoch required: true schema: type: integer format: int64 - name: limit in: query description: Limit the number of entity returned (1 to 1000000, default = 10) schema: maximum: 500 minimum: 1 type: integer format: int32 default: 10 - name: before in: query description: Returns list of entity versions before this cursor schema: type: string - name: after in: query description: Returns list of entity versions after this cursor schema: type: string responses: '200': description: List of all versions content: application/json: schema: $ref: '#/components/schemas/ResultList' /v1/tables/{fqn}/systemProfile: get: tags: - Tables summary: List of system profiles description: Get a list of all the system profiles for the given table fqn, filtered by `extension`, `startTs` and `endTs` of the profile. Use cursor-based pagination to limit the number of entries in the list using `limit` and `before` or `after` query params. operationId: list system Profiles parameters: - name: fqn in: path description: FQN of the table required: true schema: type: string - name: startTs in: query description: Filter system profiles after the given start timestamp required: true schema: type: number - name: endTs in: query description: Filter system profiles before the given end timestamp required: true schema: type: number responses: '200': description: List of system profiles content: application/json: schema: $ref: '#/components/schemas/SystemProfileList' /v1/tables/{fqn}/tableProfile: get: tags: - Tables summary: List of table profiles description: Get a list of all the table profiles for the given table fqn, optionally filtered by `extension`, `startTs` and `endTs` of the profile. Use cursor-based pagination to limit the number of entries in the list using `limit` and `before` or `after` query params. operationId: list Profiles parameters: - name: fqn in: path description: FQN of the table or column required: true schema: type: string - name: startTs in: query description: Filter table/column profiles after the given start timestamp schema: type: number - name: endTs in: query description: Filter table/column profiles before the given end timestamp schema: type: number responses: '200': description: List of table profiles content: application/json: schema: $ref: '#/components/schemas/TableProfileList' /v1/tables/{id}/versions: get: tags: - Tables summary: List table versions description: Get a list of all the versions of a table identified by `Id` operationId: listAllTableVersion parameters: - name: id in: path description: Table Id required: true schema: type: string responses: '200': description: List of table versions content: application/json: schema: $ref: '#/components/schemas/EntityHistory' /v1/tables/restore: put: tags: - Tables summary: Restore a soft deleted table description: Restore a soft deleted table. operationId: restore_15 requestBody: content: application/json: schema: $ref: '#/components/schemas/RestoreEntity' responses: '200': description: 'Successfully restored the Table ' content: application/json: schema: $ref: '#/components/schemas/Table' /v1/tables/entityRelationship: get: tags: - Tables summary: Search Entity Relationship operationId: searchEntityRelationship parameters: - name: fqn in: query description: fqn schema: type: string - name: upstreamDepth in: query description: upstreamDepth schema: type: integer format: int32 - name: downstreamDepth in: query description: downstreamDepth schema: type: integer format: int32 - name: query_filter in: query description: Elasticsearch query that will be combined with the query_string query generator from the `query` argument schema: type: string - name: includeDeleted in: query description: Filter documents by deleted param. By default deleted is false schema: type: boolean default: false - name: fields in: query description: Source Fields to Include schema: type: string default: '*' - name: from in: query description: From field to paginate the results, defaults to 0 schema: type: integer format: int32 default: 0 - name: size in: query description: Size field to limit the no.of results returned, defaults to 1000 schema: type: integer format: int32 default: 1000 responses: '200': description: search response content: application/json: schema: $ref: '#/components/schemas/SearchEntityRelationshipResult' /v1/tables/entityRelationship/{direction}: get: tags: - Tables summary: Search entity relationship with Direction operationId: searchEntityRelationshipWithDirection parameters: - name: fqn in: query description: fqn schema: type: string - name: direction in: path description: Direction required: true schema: type: string - name: upstreamDepth in: query description: upstreamDepth schema: type: integer format: int32 default: 3 - name: downstreamDepth in: query description: downstreamDepth schema: type: integer format: int32 default: 3 - name: query_filter in: query description: Elasticsearch query that will be combined with the query_string query generator from the `query` argument schema: type: string - name: includeDeleted in: query description: Filter documents by deleted param. By default deleted is false schema: type: boolean default: false - name: fields in: query description: Source Fields to Include schema: type: string default: '*' - name: from in: query description: From field to paginate the results, defaults to 0 schema: type: integer format: int32 default: 0 - name: size in: query description: Size field to limit the no.of results returned, defaults to 1000 schema: type: integer format: int32 default: 1000 responses: '200': description: search response content: application/json: schema: $ref: '#/components/schemas/SearchEntityRelationshipResult' /v1/tables/name/{fqn}/columns/search: get: tags: - Tables summary: Search table columns with pagination by FQN description: Search table columns by name, description, or data type with server-side pagination. This endpoint provides efficient search functionality for tables with large numbers of columns. operationId: searchTableColumnsByFQN parameters: - name: fqn in: path description: Fully qualified name of the table required: true schema: type: string - name: q in: query description: Search query for column names, descriptions, or data types schema: type: string - name: limit in: query description: Limit the number of columns returned (1 to 1000, default = 50) schema: maximum: 1000 minimum: 1 type: integer format: int32 default: 50 - name: offset in: query description: Offset for pagination (default = 0) schema: minimum: 0 type: integer format: int32 default: 0 - name: fields in: query description: Fields requested in the returned columns schema: type: string example: tags,customMetrics - name: include in: query description: Include all, deleted, or non-deleted entities. schema: type: string default: non-deleted enum: - all - deleted - non-deleted - name: sortBy in: query description: 'Sort columns by field. Supported values: ''name'' (default), ''ordinalPosition''' schema: type: string default: name enum: - name - ordinalPosition - name: sortOrder in: query description: 'Sort order. Supported values: ''asc'' (default), ''desc''' schema: type: string default: asc enum: - asc - desc responses: '200': description: List of matching table columns content: application/json: schema: $ref: '#/components/schemas/TableColumnList' /v1/tables/{id}/columns/search: get: tags: - Tables summary: Search table columns with pagination by ID description: Search table columns by name, description, or data type with server-side pagination. This endpoint provides efficient search functionality for tables with large numbers of columns. operationId: searchTableColumnsById parameters: - name: id in: path description: Id of the table required: true schema: type: string - name: q in: query description: Search query for column names, descriptions, or data types schema: type: string - name: limit in: query description: Limit the number of columns returned (1 to 1000, default = 50) schema: maximum: 1000 minimum: 1 type: integer format: int32 default: 50 - name: offset in: query description: Offset for pagination (default = 0) schema: minimum: 0 type: integer format: int32 default: 0 - name: fields in: query description: Fields requested in the returned columns schema: type: string example: tags,customMetrics - name: include in: query description: Include all, deleted, or non-deleted entities. schema: type: string default: non-deleted enum: - all - deleted - non-deleted - name: sortBy in: query description: 'Sort columns by field. Supported values: ''name'' (default), ''ordinalPosition''' schema: type: string default: name enum: - name - ordinalPosition - name: sortOrder in: query description: 'Sort order. Supported values: ''asc'' (default), ''desc''' schema: type: string default: asc enum: - asc - desc responses: '200': description: List of matching table columns content: application/json: schema: $ref: '#/components/schemas/TableColumnList' /v1/tables/{id}/vote: put: tags: - Tables summary: Update Vote for a Entity description: Update vote for a Entity operationId: updateVoteForEntity_5 parameters: - name: id in: path description: Id of the Entity required: true schema: type: string format: uuid requestBody: content: application/json: schema: $ref: '#/components/schemas/VoteRequest' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ChangeEvent' '404': description: model for instance {id} is not found components: schemas: CompressionStrategy: type: object properties: compressionType: type: string enum: - AUTOMATIC - MANUAL - POLICY_BASED segmentColumns: type: array items: type: string orderColumns: type: array items: type: string compressionLevel: maximum: 9 exclusiveMaximum: false minimum: 1 exclusiveMinimum: false type: integer format: int32 Partitioning: required: - partitionColumn type: object properties: partitionColumn: type: string lowerBound: type: string upperBound: type: string TagLabelRecognizerMetadata: required: - recognizerId - recognizerName - score type: object properties: recognizerId: type: string format: uuid recognizerName: type: string score: type: number format: double target: type: string enum: - content - column_name patterns: type: array items: $ref: '#/components/schemas/PatternMatch' ColumnProfile: required: - name - timestamp type: object properties: name: type: string timestamp: type: integer format: int64 valuesCount: type: number format: double valuesPercentage: type: number format: double validCount: type: number format: double duplicateCount: type: number format: double nullCount: type: number format: double nullProportion: type: number format: double missingPercentage: type: number format: double missingCount: type: number format: double uniqueCount: type: number format: double uniqueProportion: type: number format: double distinctCount: type: number format: double distinctProportion: type: number format: double min: type: object max: type: object minLength: type: number format: double maxLength: type: number format: double mean: type: number format: double sum: type: number format: double stddev: type: number format: double variance: type: number format: double median: type: number format: double firstQuartile: type: number format: double thirdQuartile: type: number format: double interQuartileRange: type: number format: double nonParametricSkew: type: number format: double histogram: $ref: '#/components/schemas/Histogram' customMetrics: type: array items: $ref: '#/components/schemas/CustomMetricProfile' cardinalityDistribution: $ref: '#/components/schemas/CardinalityDistribution' BulkOperationResult: type: object properties: dryRun: type: boolean status: type: string enum: - success - failure - aborted - partialSuccess - running abortReason: type: string numberOfRowsProcessed: minimum: 0 exclusiveMinimum: false type: integer format: int32 numberOfRowsPassed: minimum: 0 exclusiveMinimum: false type: integer format: int32 numberOfRowsFailed: minimum: 0 exclusiveMinimum: false type: integer format: int32 successRequest: type: array items: $ref: '#/components/schemas/BulkResponse' failedRequest: type: array items: $ref: '#/components/schemas/BulkResponse' SystemProfileList: required: - data type: object properties: data: type: array items: $ref: '#/components/schemas/SystemProfile' paging: $ref: '#/components/schemas/Paging' errors: type: array items: $ref: '#/components/schemas/EntityError' warningsCount: type: integer format: int32 warnings: type: array items: $ref: '#/components/schemas/EntityError' PartitionProfilerConfig: type: object properties: enablePartitioning: type: boolean partitionColumnName: type: string partitionIntervalType: type: string enum: - TIME-UNIT - INTEGER-RANGE - INGESTION-TIME - COLUMN-VALUE - INJECTED - ENUM - OTHER partitionInterval: type: integer format: int32 partitionIntervalUnit: type: string enum: - YEAR - MONTH - DAY - HOUR partitionValues: type: array items: type: object partitionIntegerRangeStart: type: integer format: int32 partitionIntegerRangeEnd: type: integer format: int32 TableList: required: - data type: object properties: data: type: array items: $ref: '#/components/schemas/Table' paging: $ref: '#/components/schemas/Paging' errors: type: array items: $ref: '#/components/schemas/EntityError' warningsCount: type: integer format: int32 warnings: type: array items: $ref: '#/components/schemas/EntityError' SparkTableProfilerConfig: type: object properties: partitioning: $ref: '#/components/schemas/Partitioning' ProfileSampleConfig: type: object properties: sampleConfigType: type: string enum: - STATIC - DYNAMIC config: type: object AccessDetails: required: - timestamp type: object properties: timestamp: type: integer format: int64 accessedBy: $ref: '#/components/schemas/EntityReference' accessedByAProcess: type: string ChangeSummaryMap: type: object FieldChange: type: object properties: name: type: string oldValue: type: object newValue: type: object CoverImage: type: object properties: url: type: string position: type: string RestoreEntity: required: - id type: object properties: id: type: string format: uuid TableProfile: required: - timestamp type: object properties: timestamp: type: integer format: int64 columnCount: type: number format: double rowCount: type: number format: double sizeInByte: type: number format: double createDateTime: type: string format: date-time customMetrics: type: array items: $ref: '#/components/schemas/CustomMetricProfile' profileSample: type: number format: double profileSampleType: type: string enum: - PERCENTAGE - ROWS CreateTableProfile: required: - tableProfile type: object properties: tableProfile: $ref: '#/components/schemas/TableProfile' columnProfile: type: array items: $ref: '#/components/schemas/ColumnProfile' systemProfile: type: array items: $ref: '#/components/schemas/SystemProfile' LifeCycle: type: object properties: created: $ref: '#/components/schemas/AccessDetails' updated: $ref: '#/components/schemas/AccessDetails' accessed: $ref: '#/components/schemas/AccessDetails' DataModel: required: - modelType type: object properties: modelType: type: string enum: - DBT - DDL resourceType: type: string dbtSourceProject: type: string description: type: string path: type: string rawSql: type: string sql: type: string upstream: type: array items: type: string owners: type: array items: $ref: '#/components/schemas/EntityReference' tags: type: array items: $ref: '#/components/schemas/TagLabel' columns: type: array items: $ref: '#/components/schemas/Column' generatedAt: type: string format: date-time JoinedWith: required: - fullyQualifiedName - joinCount type: object properties: fullyQualifiedName: maxLength: 3072 minLength: 1 type: string joinCount: type: integer format: int32 EntityHistory: required: - entityType - versions type: object properties: entityType: type: string versions: type: array items: type: object AssetCertification: required: - appliedDate - expiryDate - tagLabel type: object properties: tagLabel: $ref: '#/components/schemas/TagLabel' appliedDate: type: integer format: int64 expiryDate: type: integer format: int64 CustomMetricProfile: type: object properties: name: type: string value: type: number format: double VoteRequest: type: object properties: updatedVoteType: type: string enum: - votedUp - votedDown - unVoted CardinalityDistribution: type: object properties: categories: type: array items: type: string counts: type: array items: type: integer format: int32 percentages: type: array items: type: number format: double allValuesUnique: type: boolean ResultList: required: - data type: object properties: data: type: array items: type: object paging: $ref: '#/components/schemas/Paging' errors: type: array items: $ref: '#/components/schemas/EntityError' warningsCount: type: integer format: int32 warnings: type: array items: $ref: '#/components/schemas/EntityError' CreateCustomMetric: required: - expression - name type: object properties: description: type: string name: maxLength: 256 minLength: 1 pattern: ^((?!::).)*$ type: string columnName: type: string expression: type: string owners: type: array items: $ref: '#/components/schemas/EntityReference' updatedAt: type: integer format: int64 updatedBy: type: string SystemProfile: type: object properties: timestamp: type: integer format: int64 operation: type: string enum: - UPDATE - INSERT - DELETE - WRITE rowsAffected: type: integer format: int32 TableData: type: object properties: columns: type: array items: type: string rows: type: array items: type: array items: type: object TableProfileList: required: - data type: object properties: data: type: array items: $ref: '#/components/schemas/TableProfile' paging: $ref: '#/components/schemas/Paging' errors: type: array items: $ref: '#/components/schemas/EntityError' warningsCount: type: integer format: int32 warnings: type: array items: $ref: '#/components/schemas/EntityError' TableProfilerConfig: type: object properties: sampleDataCount: type: integer format: int32 randomizedSample: type: boolean profileQuery: type: string excludeColumns: type: array items: type: string includeColumns: type: array items: $ref: '#/components/schemas/ColumnProfilerConfig' partitioning: $ref: '#/components/schemas/PartitionProfilerConfig' computeTableMetrics: type: boolean computeColumnMetrics: type: boolean sparkTableProfilerConfig: $ref: '#/components/schemas/SparkTableProfilerConfig' profileSampleConfig: $ref: '#/components/schemas/ProfileSampleConfig' ColumnProfilerConfig: type: object properties: columnName: type: string metrics: type: array items: type: string Paging: required: - total type: object properties: before: type: string after: type: string offset: type: integer format: int32 limit: type: integer format: int32 total: type: integer format: int32 LayerPaging: type: object properties: entityDownstreamCount: type: integer format: int32 entityUpstreamCount: type: integer format: int32 RelationshipRef: type: object properties: id: type: string format: uuid fullyQualifiedName: maxLength: 3072 minLength: 1 type: string fqnHash: type: string type: type: string BulkResponse: type: object properties: request: type: object message: type: string status: type: integer format: int32 JsonPatch: type: object CustomMetric: required: - expression - name type: object properties: id: type: string format: uuid name: maxLength: 256 minLength: 1 pattern: ^((?!::).)*$ type: string description: type: string columnName: type: string expression: type: string owners: type: array items: $ref: '#/components/schemas/EntityReference' updatedAt: type: integer format: int64 updatedBy: type: string PipelineObservability: required: - pipeline type: object properties: pipeline: $ref: '#/components/schemas/EntityReference' serviceType: type: string enum: - Airflow - GluePipeline - KinesisFirehose - Airbyte - Fivetran - Flink - Dagster - Nifi - DomoPipeline - CustomPipeline - DatabricksPipeline - Spline - Spark - OpenLineage - KafkaConnect - DBTCloud - Matillion - Stitch - DataFactory - Wherescape - SSIS - Snowplow - Mulesoft - MicrosoftFabricPipeline scheduleInterval: type: string startTime: type: integer format: int64 endTime: type: integer format: int64 lastRunTime: type: integer format: int64 lastRunStatus: type: string enum: - Successful - Failed - Pending - Skipped - Running averageRunTime: type: number format: double ChangeDescription: type: object properties: fieldsAdded: type: array items: $ref: '#/components/schemas/FieldChange' fieldsUpdated: type: array items: $ref: '#/components/schemas/FieldChange' fieldsDeleted: type: array items: $ref: '#/components/schemas/FieldChange' previousVersion: type: number format: double changeSummary: $ref: '#/components/schemas/ChangeSummaryMap' SearchEntityRelationshipResult: type: object properties: nodes: type: object additionalProperties: $ref: '#/components/schemas/NodeInformation' upstreamEdges: type: object additionalProperties: $ref: '#/components/schemas/EsEntityRelationshipData' downstreamEdges: type: object additionalProperties: $ref: '#/components/schemas/EsEntityRelationshipData' ColumnProfileList: required: - data type: object properties: data: type: array items: $ref: '#/components/schemas/ColumnProfile' paging: $ref: '#/components/schemas/Paging' errors: type: array items: $ref: '#/components/schemas/EntityError' warningsCount: type: integer format: int32 warnings: type: array items: $ref: '#/components/schemas/EntityError' TablePartition: type: object properties: columns: type: array items: $ref: '#/components/schemas/PartitionColumnDetails' ChangeEvent: required: - entityId - entityType - eventType - id - timestamp type: object properties: id: type: string format: uuid eventType: type: string enum: - entityCreated - entityUpdated - entityFieldsChanged - entityNoChange - entitySoftDeleted - entityDeleted - entityRestored - threadCreated - threadUpdated - postCreated - postUpdated - taskResolved - taskClosed - logicalTestCaseAdded - suggestionCreated - suggestionUpdated - suggestionAccepted - suggestionRejected - suggestionDeleted - userLogin - userLogout entityType: type: string entityId: type: string format: uuid domains: type: array items: type: string format: uuid entityFullyQualifiedName: type: string previousVersion: type: number format: double currentVersion: type: number format: double userName: type: string impersonatedBy: type: string timestamp: type: integer format: int64 changeDescription: $ref: '#/components/schemas/ChangeDescription' incrementalChangeDescription: $ref: '#/components/schemas/ChangeDescription' entity: type: object UsageStats: required: - count type: object properties: count: minimum: 0 exclusiveMinimum: false type: integer format: int32 percentileRank: type: number format: double EsEntityRelationshipData: type: object properties: entity: $ref: '#/components/schemas/RelationshipRef' relatedEntity: $ref: '#/components/schemas/RelationshipRef' columns: type: array items: $ref: '#/components/schemas/Column' description: type: string docId: type: string relationshipType: type: string TableJoins: type: object properties: startDate: type: string dayCount: type: integer format: int32 columnJoins: type: array items: $ref: '#/components/schemas/ColumnJoin' directTableJoins: type: array items: $ref: '#/components/schemas/JoinedWith' Style: type: object properties: color: type: string iconURL: type: string coverImage: $ref: '#/components/schemas/CoverImage' Column: required: - dataType - name type: object properties: name: maxLength: 2147483647 minLength: 1 pattern: ^((?!::).)*$ type: string displayName: type: string dataType: type: string enum: - NUMBER - TINYINT - SMALLINT - INT - BIGINT - BYTEINT - BYTES - FLOAT - DOUBLE - DECIMAL - NUMERIC - TIMESTAMP - TIMESTAMPZ - TIME - DATE - DATETIME - INTERVAL - STRING - MEDIUMTEXT - TEXT - CHAR - LONG - VARCHAR - BOOLEAN - BINARY - VARBINARY - ARRAY - BLOB - LONGBLOB - MEDIUMBLOB - MAP - STRUCT - UNION - SET - GEOGRAPHY - ENUM - JSON - UUID - VARIANT - GEOMETRY - BYTEA - AGGREGATEFUNCTION - ERROR - FIXED - RECORD - 'NULL' - SUPER - HLLSKETCH - PG_LSN - PG_SNAPSHOT - TSQUERY - TXID_SNAPSHOT - XML - MACADDR - TSVECTOR - UNKNOWN - CIDR - INET - CLOB - ROWID - LOWCARDINALITY - YEAR - POINT - POLYGON - TUPLE - SPATIAL - TABLE - NTEXT - IMAGE - IPV4 - IPV6 - DATETIMERANGE - HLL - LARGEINT - QUANTILE_STATE - AGG_STATE - BITMAP - UINT - BIT - MONEY - MEASURE HIDDEN - MEASURE VISIBLE - MEASURE - KPI - HEIRARCHY - HIERARCHYID arrayDataType: type: string enum: - NUMBER - TINYINT - SMALLINT - INT - BIGINT - BYTEINT - BYTES - FLOAT - DOUBLE - DECIMAL - NUMERIC - TIMESTAMP - TIMESTAMPZ - TIME - DATE - DATETIME - INTERVAL - STRING - MEDIUMTEXT - TEXT - CHAR - LONG - VARCHAR - BOOLEAN - BINARY - VARBINARY - ARRAY - BLOB - LONGBLOB - MEDIUMBLOB - MAP - STRUCT - UNION - SET - GEOGRAPHY - ENUM - JSON - UUID - VARIANT - GEOMETRY - BYTEA - AGGREGATEFUNCTION - ERROR - FIXED - RECORD - 'NULL' - SUPER - HLLSKETCH - PG_LSN - PG_SNAPSHOT - TSQUERY - TXID_SNAPSHOT - XML - MACADDR - TSVECTOR - UNKNOWN - CIDR - INET - CLOB - ROWID - LOWCARDINALITY - YEAR - POINT - POLYGON - TUPLE - SPATIAL - TABLE - NTEXT - IMAGE - IPV4 - IPV6 - DATETIMERANGE - HLL - LARGEINT - QUANTILE_STATE - AGG_STATE - BITMAP - UINT - BIT - MONEY - MEASURE HIDDEN - MEASURE VISIBLE - MEASURE - KPI - HEIRARCHY - HIERARCHYID dataLength: type: integer format: int32 precision: type: integer format: int32 scale: type: integer format: int32 dataTypeDisplay: type: string description: type: string fullyQualifiedName: maxLength: 3072 minLength: 1 type: string tags: type: array items: $ref: '#/components/schemas/TagLabel' constraint: type: string enum: - 'NULL' - NOT_NULL - UNIQUE - PRIMARY_KEY ordinalPosition: type: integer format: int32 jsonSchema: type: string children: type: array items: $ref: '#/components/schemas/Column' profile: $ref: '#/components/schemas/ColumnProfile' customMetrics: type: array items: $ref: '#/components/schemas/CustomMetric' extension: type: object Votes: type: object properties: upVotes: type: integer format: int32 downVotes: type: integer format: int32 upVoters: type: array items: $ref: '#/components/schemas/EntityReference' downVoters: type: array items: $ref: '#/components/schemas/EntityReference' CsvImportResult: type: object properties: dryRun: type: boolean status: type: string enum: - success - failure - aborted - partialSuccess - running abortReason: type: string numberOfRowsProcessed: minimum: 0 exclusiveMinimum: false type: integer format: int32 numberOfRowsPassed: minimum: 0 exclusiveMinimum: false type: integer format: int32 numberOfRowsFailed: minimum: 0 exclusiveMinimum: false type: integer format: int32 importResultsCsv: type: string NodeInformation: type: object properties: entity: type: object additionalProperties: type: object paging: $ref: '#/components/schemas/LayerPaging' nodeDepth: minimum: 0 exclusiveMinimum: false type: integer format: int32 Histogram: type: object properties: boundaries: type: array items: type: object frequencies: type: array items: type: object TagLabel: required: - labelType - source - state - tagFQN type: object properties: tagFQN: type: string name: type: string displayName: type: string description: type: string style: $ref: '#/components/schemas/Style' source: type: string enum: - Classification - Glossary labelType: type: string enum: - Manual - Propagated - Automated - Derived - Generated state: type: string enum: - Suggested - Confirmed href: type: string format: uri reason: type: string appliedAt: type: string format: date-time appliedBy: type: string metadata: $ref: '#/components/schemas/TagLabelMetadata' PatternMatch: required: - name - score type: object properties: name: type: string regex: type: string score: type: number format: double Table: required: - columns - id - name type: object properties: id: type: string format: uuid name: maxLength: 256 minLength: 1 pattern: ^((?!::).)*$ type: string displayName: type: string fullyQualifiedName: maxLength: 3072 minLength: 1 type: string description: type: string version: type: number format: double updatedAt: type: integer format: int64 updatedBy: type: string impersonatedBy: type: string href: type: string format: uri tableType: type: string enum: - Regular - External - Dynamic - View - SecureView - MaterializedView - Iceberg - Local - Partitioned - Foreign - Transient - Stream - Stage columns: type: array items: $ref: '#/components/schemas/Column' tableConstraints: type: array items: $ref: '#/components/schemas/TableConstraint' tablePartition: $ref: '#/components/schemas/TablePartition' owners: type: array items: $ref: '#/components/schemas/EntityReference' databaseSchema: $ref: '#/components/schemas/EntityReference' database: $ref: '#/components/schemas/EntityReference' service: $ref: '#/components/schemas/EntityReference' serviceType: type: string enum: - BigQuery - BigTable - Mysql - Redshift - Snowflake - Postgres - Timescale - Mssql - MicrosoftAccess - Oracle - Athena - Hive - Impala - Presto - Trino - Vertica - Glue - MariaDB - Druid - Db2 - Clickhouse - Databricks - AzureSQL - DynamoDB - SingleStore - SQLite - DeltaLake - Salesforce - PinotDB - Datalake - DomoDatabase - QueryLog - CustomDatabase - Dbt - SapHana - SapSuccessFactors - MongoDB - Cassandra - Couchbase - Greenplum - Doris - StarRocks - UnityCatalog - SAS - Teradata - SapErp - Synapse - Exasol - Cockroach - SSAS - Epic - ServiceNow - Dremio - MicrosoftFabric - BurstIQ - Informix - Iomete - QuestDB location: $ref: '#/components/schemas/EntityReference' locationPath: type: string schemaDefinition: type: string tags: type: array items: $ref: '#/components/schemas/TagLabel' usageSummary: $ref: '#/components/schemas/UsageDetails' followers: type: array items: $ref: '#/components/schemas/EntityReference' joins: $ref: '#/components/schemas/TableJoins' sampleData: $ref: '#/components/schemas/TableData' tableProfilerConfig: $ref: '#/components/schemas/TableProfilerConfig' customMetrics: type: array items: $ref: '#/components/schemas/CustomMetric' profile: $ref: '#/components/schemas/TableProfile' testSuite: $ref: '#/components/schemas/EntityReference' dataModel: $ref: '#/components/schemas/DataModel' changeDescription: $ref: '#/components/schemas/ChangeDescription' incrementalChangeDescription: $ref: '#/components/schemas/ChangeDescription' deleted: type: boolean retentionPeriod: type: string compressionEnabled: type: boolean compressionCodec: type: string compressionStrategy: $ref: '#/components/schemas/CompressionStrategy' extension: type: object sourceUrl: type: string domains: type: array items: $ref: '#/components/schemas/EntityReference' dataProducts: type: array items: $ref: '#/components/schemas/EntityReference' dataContract: $ref: '#/components/schemas/EntityReference' fileFormat: type: string enum: - csv - csv.gz - tsv - avro - parquet - pq - pqt - parq - parquet.snappy - json - json.gz - json.zip - jsonl - jsonl.gz - jsonl.zip - MF4 votes: $ref: '#/components/schemas/Votes' lifeCycle: $ref: '#/components/schemas/LifeCycle' certification: $ref: '#/components/schemas/AssetCertification' sourceHash: maxLength: 32 minLength: 1 type: string processedLineage: type: boolean queries: type: array items: type: string pipelineObservability: type: array items: $ref: '#/components/schemas/PipelineObservability' entityStatus: type: string enum: - Draft - In Review - Approved - Archived - Deprecated - Rejected - Unprocessed provider: type: string enum: - system - user - automation children: type: array items: $ref: '#/components/schemas/EntityReference' style: $ref: '#/components/schemas/Style' experts: type: array items: $ref: '#/components/schemas/EntityReference' reviewers: type: array items: $ref: '#/components/schemas/EntityReference' TagLabelMetadata: type: object properties: recognizer: $ref: '#/components/schemas/TagLabelRecognizerMetadata' expiryDate: type: integer format: int64 TableColumnList: required: - data type: object properties: data: type: array items: $ref: '#/components/schemas/Column' paging: $ref: '#/components/schemas/Paging' errors: type: array items: $ref: '#/components/schemas/EntityError' warningsCount: type: integer format: int32 warnings: type: array items: $ref: '#/components/schemas/EntityError' EntityError: type: object properties: message: type: string entity: type: object TableConstraint: type: object properties: constraintType: type: string enum: - UNIQUE - PRIMARY_KEY - FOREIGN_KEY - SORT_KEY - DIST_KEY - CLUSTER_KEY columns: type: array items: type: string referredColumns: type: array items: type: string relationshipType: type: string enum: - ONE_TO_ONE - ONE_TO_MANY - MANY_TO_ONE - MANY_TO_MANY CreateTable: required: - columns - databaseSchema - name type: object properties: name: maxLength: 256 minLength: 1 pattern: ^((?!::).)*$ type: string displayName: type: string description: type: string tableType: type: string enum: - Regular - External - Dynamic - View - SecureView - MaterializedView - Iceberg - Local - Partitioned - Foreign - Transient - Stream - Stage columns: type: array items: $ref: '#/components/schemas/Column' dataModel: $ref: '#/components/schemas/DataModel' locationPath: type: string tableConstraints: type: array items: $ref: '#/components/schemas/TableConstraint' tablePartition: $ref: '#/components/schemas/TablePartition' tableProfilerConfig: $ref: '#/components/schemas/TableProfilerConfig' owners: type: array items: $ref: '#/components/schemas/EntityReference' databaseSchema: maxLength: 3072 minLength: 1 type: string tags: type: array items: $ref: '#/components/schemas/TagLabel' schemaDefinition: type: string retentionPeriod: type: string extension: type: object sourceUrl: type: string domains: type: array items: type: string dataProducts: type: array items: type: string fileFormat: type: string enum: - csv - csv.gz - tsv - avro - parquet - pq - pqt - parq - parquet.snappy - json - json.gz - json.zip - jsonl - jsonl.gz - jsonl.zip - MF4 lifeCycle: $ref: '#/components/schemas/LifeCycle' sourceHash: maxLength: 32 minLength: 1 type: string reviewers: type: array items: $ref: '#/components/schemas/EntityReference' EntityReference: required: - id - type type: object properties: id: type: string format: uuid type: type: string name: type: string fullyQualifiedName: type: string description: type: string displayName: type: string deleted: type: boolean inherited: type: boolean href: type: string format: uri PartitionColumnDetails: type: object properties: columnName: type: string intervalType: type: string enum: - TIME-UNIT - INTEGER-RANGE - INGESTION-TIME - COLUMN-VALUE - INJECTED - ENUM - OTHER interval: type: string ColumnJoin: type: object properties: columnName: maxLength: 2147483647 minLength: 1 pattern: ^((?!::).)*$ type: string joinedWith: type: array items: $ref: '#/components/schemas/JoinedWith' UsageDetails: required: - dailyStats - date type: object properties: dailyStats: $ref: '#/components/schemas/UsageStats' weeklyStats: $ref: '#/components/schemas/UsageStats' monthlyStats: $ref: '#/components/schemas/UsageStats' date: type: string securitySchemes: BearerAuth: type: http scheme: bearer bearerFormat: JWT