{"openapi":"3.1.1","info":{"title":"Catalog API","version":"1.0","description":"API for managing the ADOC data catalog, including assets, asset metadata, tags, labels, sampling, lineage, and watched assets, as well as data reliability policies (data quality, reconciliation, data drift, schema drift, and related rule types) and their executions. Covers discovering and searching assets, retrieving asset configuration and activity, and creating, scheduling, and running policies against catalog assets."},"paths":{"/catalog-server/api/assets/{id}/metadata":{"get":{"operationId":"getAssetMetadata","tags":["Asset Metadata"],"summary":"Get asset metadata","description":"Metadata describes basic information about the data, making it easier to locate, use, and reuse specific instances of the data.\n\nThis endpoint retrieves the metadata of a specific asset by its `id`. For example, the metadata of a column name in a table `customer_information` would indicate that the column's data type is of string type.\n\n**Authorization**: requires `ASSET_VIEW` and `ASSET_METADATA_VIEW`.\n\n### Response\n\nReturns `StandardResponse` containing the asset metadata payload.","parameters":[{"name":"id","in":"path","description":"Asset ID","required":true,"schema":{"type":"integer"}},{"name":"accessKey","in":"header","description":"API access key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"secretKey","in":"header","description":"API secret key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"Accept","in":"header","description":"Always set to application/json","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Asset metadata wrapped in StandardResponse","content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object"}}}}}},"404":{"description":"No Metadata found for assetId {id}"}}}},"/catalog-server/api/assets/{id}/sample/async":{"post":{"operationId":"requestAssetSampleAsync","tags":["Asset Sampling"],"summary":"Request an async sample of asset data","description":"This endpoint initiates an asynchronous request to retrieve sample data of a specified asset by its `id`. If the sample data is not cached, the API returns a job execution status of IN_PROGRESS along with a `requestId`. The client needs to poll the `catalog-server/api/assets/sample/result/{requestId}` endpoint until the job execution status is SUCCESSFUL. Once the result is cached or the job status is SUCCESSFUL, the API retrieves the first 100 rows of the asset's sample data.\n\n**Authorization**: requires `ASSET_VIEW`.\n\n### Request Body\n\nOptional `SampleDataWithTransformUDFsRequest`:\n\n- `invalidateCache` (boolean): Specifies whether the cache should be invalidated. If set to `true`, the API bypasses any cached sample data and initiates a fresh sample generation. If set to `false`, cached data (if available) will be used.\n- Transform UDF fields may also be supplied to apply transformations during sampling.\n\n### Response\n\nReturns `SampleDataApiResponse` with job status and, when complete, sample rows.","parameters":[{"name":"id","in":"path","description":"Asset ID","required":true,"schema":{"type":"integer"}},{"name":"accessKey","in":"header","description":"API access key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"secretKey","in":"header","description":"API secret key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"Accept","in":"header","description":"Always set to application/json","required":true,"schema":{"type":"string"}},{"name":"Content-Type","in":"header","description":"Always set to application/json","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"Sample data request with optional transform UDFs and `invalidateCache` flag.\nSchema: `SampleDataWithTransformUDFsRequest`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SampleDataWithTransformUDFsRequest"}}}},"responses":{"200":{"description":"Sample data response with job status and optional sample rows","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SampleDataApiResponse"}}}}}}},"/catalog-server/api/assets/{id}/tags":{"get":{"operationId":"getAssetTagsById","tags":["Asset Tags & Labels"],"summary":"Get tags for an asset","description":"This endpoint retrieves the tags associated with an asset.\n\n**Authorization**: requires `ASSET_VIEW` and `TAGS_VIEW` (feature permission).\n\n### Response\n\nReturns `AssetTagResponse` containing the list of tags linked to the asset.","parameters":[{"name":"id","in":"path","description":"Asset ID","required":true,"schema":{"type":"integer"}},{"name":"accessKey","in":"header","description":"API access key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"secretKey","in":"header","description":"API secret key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"Accept","in":"header","description":"Always set to application/json","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"List of asset tags","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssetTagResponse"}}}}}}},"/catalog-server/api/assets/{id}/tag":{"post":{"operationId":"addAssetTag","tags":["Asset Tags & Labels"],"summary":"Add a tag to an asset","description":"This endpoint is used to add a tag to a specific asset by making an HTTP POST request to the provided URL.\n\n**Authorization**: requires `ASSET_VIEW` and `TAGS_CREATE` (feature permission).\n\n#### Request Body\n\nThe request body should be in raw JSON format (`AssetTagRequest`) and include one of:\n\n- `name` (string): The name of the tag to be added to the asset.\n- `id` (number): The ID of an existing tag to associate with the asset.\n\n#### Response\n\nUpon a successful request, the response will include the following parameters:\n\n- `assetId` (number): The ID of the asset.\n- `autoTagged` (boolean): Indicates if the asset was auto-tagged.\n- `domains` (array): An array of domains.\n- `id` (number): The ID of the tag.\n- `name` (string): The name of the tag.\n- `protectedData` (boolean): Indicates if the data is protected.\n- `state` (string): The state of the tag.\n- `tagId` (number): The ID of the tag.\n- `tenantId` (null): The ID of the tenant.\n- `uid` (null): The unique identifier.\n\n> If autotagging is not enabled and an asset lacks a tag, the POST Add Tags method can be used to create tags for the asset.","parameters":[{"name":"id","in":"path","description":"Asset ID","required":true,"schema":{"type":"integer"}},{"name":"accessKey","in":"header","description":"API access key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"secretKey","in":"header","description":"API secret key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"Accept","in":"header","description":"Always set to application/json","required":true,"schema":{"type":"string"}},{"name":"Content-Type","in":"header","description":"Always set to application/json","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"Tag to associate with the asset (`name` or `id` required). Schema: `AssetTagRequest`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssetTagRequest"}}}},"responses":{"200":{"description":"Tag association result","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssetTag"}}}}}}},"/catalog-server/api/assets/{id}/tag/{tagId}":{"delete":{"operationId":"deleteAssetTag","tags":["Asset Tags & Labels"],"summary":"Remove a tag from an asset","description":"This endpoint removes the specified tag associated with an asset using the provided `tagId`.\n\n**Authorization**: requires `ASSET_VIEW` and `TAGS_MODIFY` (feature permission).\n\n### Response\n\nReturns `true` when the tag was removed successfully.","parameters":[{"name":"id","in":"path","description":"Asset ID","required":true,"schema":{"type":"integer"}},{"name":"tagId","in":"path","description":"Tag ID to remove","required":true,"schema":{"type":"integer"}},{"name":"accessKey","in":"header","description":"API access key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"secretKey","in":"header","description":"API secret key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"Accept","in":"header","description":"Always set to application/json","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Tag removal result","content":{"application/json":{"schema":{"type":"boolean"}}}}}}},"/catalog-server/api/assets/{id}/labels":{"put":{"operationId":"updateAssetLabels","tags":["Asset Tags & Labels"],"summary":"Update asset labels","description":"This endpoint is used to add, delete, or update labels for a specific asset identified by its `ID`.\n\n**Authorization**: requires `ASSET_VIEW` and `TAGS_MODIFY` (feature permission).\n\n### Request Body\n\nThe request body should contain a JSON object with a \"labels\" key, which is an array of label objects. Each label object should have a \"key\" and \"value\" field. These fields are used to specify the key-value pairs for the labels to be added, deleted, or updated.\n\n- `labels`: An array of label objects, where each object contains the following fields:\n - `key`: Specifies the type or category of information (e.g., \"Confidentiality\").\n - `value`: Provides specific details or levels within that category (e.g., \"High\", \"Medium\", \"Low\").\n\n### Response\n\nReturns the updated list of `Label` objects for the asset.","parameters":[{"name":"id","in":"path","description":"Asset ID","required":true,"schema":{"type":"integer"}},{"name":"accessKey","in":"header","description":"API access key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"secretKey","in":"header","description":"API secret key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"Accept","in":"header","description":"Always set to application/json","required":true,"schema":{"type":"string"}},{"name":"Content-Type","in":"header","description":"Always set to application/json","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"Label update request. Schema: `AssetLabelRequest`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssetLabelRequest"}}}},"responses":{"200":{"description":"Updated labels","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Label"}}}}}}},"get":{"operationId":"getAssetLabels","tags":["Asset Tags & Labels"],"summary":"Get asset labels","description":"This endpoint returns all the labels associated with an asset based on the asset's `ID`.\n\n**Authorization**: requires `ASSET_VIEW` and `TAGS_VIEW` (feature permission).\n\n### Response\n\nReturns a list of `Label` key/value pairs for the asset.","parameters":[{"name":"id","in":"path","description":"Asset ID","required":true,"schema":{"type":"integer"}},{"name":"accessKey","in":"header","description":"API access key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"secretKey","in":"header","description":"API secret key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"Accept","in":"header","description":"Always set to application/json","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Asset labels","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Label"}}}}}}}},"/catalog-server/api/assets/{id}/watch":{"post":{"operationId":"watchAsset","tags":["Asset Watch"],"summary":"Watch an asset","description":"This endpoint monitors a selected asset by its `ID` and triggers notifications whenever there are changes to the asset.\n\n**Authorization**: requires `ASSET_CONFIGURATION_MODIFY`.\n\n### Response\n\nReturns `Response` confirming the asset was added to the watch list.","parameters":[{"name":"id","in":"path","description":"Asset ID","required":true,"schema":{"type":"integer"}},{"name":"accessKey","in":"header","description":"API access key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"secretKey","in":"header","description":"API secret key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"Accept","in":"header","description":"Always set to application/json","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Watch added","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}}}},"403":{"description":"Either the asset is not present, or the user doesn't have permissions to perform the operation."}}},"delete":{"operationId":"unwatchAsset","tags":["Asset Watch"],"summary":"Unwatch an asset","description":"This endpoint removes a selected asset from the watch list by its `ID`. This action will stop all notifications for any changes to the asset.\n\n**Authorization**: requires `ASSET_CONFIGURATION_MODIFY`.","parameters":[{"name":"id","in":"path","description":"Asset ID","required":true,"schema":{"type":"integer"}},{"name":"accessKey","in":"header","description":"API access key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"secretKey","in":"header","description":"API secret key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"Accept","in":"header","description":"Always set to application/json","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Watch removed successfully"},"403":{"description":"Either the asset is not present, or the user doesn't have permissions to perform the operation."},"404":{"description":"Resource not found"}}}},"/catalog-server/api/assets/{id}/activity":{"get":{"operationId":"getAssetActivity","tags":["Asset Activity"],"summary":"Get asset activity","description":"This endpoint returns the total number of upvotes and downvotes for an asset using the asset's `id`.\n\n**Authorization**: requires `ASSET_VIEW`.\n\n### Response\n\nReturns `AssetActivityInfo` with upvote/downvote counts.","parameters":[{"name":"id","in":"path","description":"Asset ID","required":true,"schema":{"type":"integer"}},{"name":"accessKey","in":"header","description":"API access key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"secretKey","in":"header","description":"API secret key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"Accept","in":"header","description":"Always set to application/json","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Asset activity log","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssetActivityInfo"}}}},"404":{"description":"Either the asset is not present, or the user doesn't have permissions to perform the operation."}}}},"/catalog-server/api/assets/{id}/comments":{"get":{"operationId":"getAssetComments","tags":["Asset Activity"],"summary":"Get asset comments","description":"This endpoint retrieves all the comments mentioned for a specific asset identified by its `id`.\n\n**Authorization**: requires `ASSET_VIEW`.\n\n### Response\n\nReturns `AssetCommentResponse` containing the list of comments for the asset.","parameters":[{"name":"id","in":"path","description":"Asset ID","required":true,"schema":{"type":"integer"}},{"name":"accessKey","in":"header","description":"API access key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"secretKey","in":"header","description":"API secret key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"Accept","in":"header","description":"Always set to application/json","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"List of comments","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssetCommentResponse"}}}},"404":{"description":"Either the asset is not present, or the user doesn't have permissions to perform the operation."}}}},"/catalog-server/api/assets/{id}/incremental-strategies":{"get":{"operationId":"getIncrementalStrategies","tags":["Asset Configuration"],"summary":"Get incremental profiling strategies","description":"This endpoint makes an HTTP GET request to retrieve the incremental strategies for a specific asset. The response will be a JSON object with an array of \"strategies\", where each strategy object contains the \"description\", \"name\", and \"type\" properties.\n\n**Authorization**: requires `ASSET_VIEW`.\n\n### Response\n\nReturns `IncrementalStrategiesResponse` with the available strategies for the asset.","parameters":[{"name":"id","in":"path","description":"Asset ID","required":true,"schema":{"type":"integer"}},{"name":"accessKey","in":"header","description":"API access key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"secretKey","in":"header","description":"API secret key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"Accept","in":"header","description":"Always set to application/json","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"List of incremental strategies","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IncrementalStrategiesResponse"}}}}}}},"/catalog-server/api/assets/{id}/reference-assets/inferredMetadata":{"get":{"operationId":"getInferredMetadataByAssetId","tags":["Reference Assets"],"summary":"Get inferred reference metadata for an asset","description":"This endpoint retrieves the inferred metadata for a specific asset.\n\n**Authorization**: requires `ASSET_VIEW`.\n\n### Response\n\nReturns `StandardResponse>` containing inferred column and schema metadata for reference assets associated with the given asset ID.","parameters":[{"name":"id","in":"path","description":"Asset ID","required":true,"schema":{"type":"integer"}},{"name":"accessKey","in":"header","description":"API access key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"secretKey","in":"header","description":"API secret key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"Accept","in":"header","description":"Always set to application/json","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Inferred column metadata wrapped in StandardResponse","content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object"}}}}}}}}},"/catalog-server/api/assets/{id}/udf-variables":{"post":{"operationId":"createAssetUdfVariable","tags":["Asset UDF Variables"],"summary":"Create a UDF variable for an asset","description":"This endpoint makes an HTTP POST request to create a user-defined field (UDF) variable for a specific asset.\n\n**Authorization**: requires `ASSET_VIEW` and `USER_DEFINED_FUNCTION_CREATE` (feature permission).\n\n#### Request Body\n\n- `assetId` (number, optional): The ID of the asset (path `id` sets scope when omitted).\n- `key` (string): The key or name of the UDF variable.\n- `value` (string): The value associated with the UDF variable.\n\nSchema: `AssetUDFVariableRequest`.\n\n#### Response Body\n\nThe response body contains the created `AssetUDFVariable` record.","parameters":[{"name":"id","in":"path","description":"Asset ID","required":true,"schema":{"type":"integer"}},{"name":"accessKey","in":"header","description":"API access key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"secretKey","in":"header","description":"API secret key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"Accept","in":"header","description":"Always set to application/json","required":true,"schema":{"type":"string"}},{"name":"Content-Type","in":"header","description":"Always set to application/json","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"UDF variable definition (key, value; assetId optional). Schema: `AssetUDFVariableRequest`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssetUDFVariableRequest"}}}},"responses":{"200":{"description":"Created UDF variable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssetUDFVariable"}}}},"422":{"description":"Could not create Asset Udf Variable : {message}"}}},"get":{"operationId":"getAssetUdfVariables","tags":["Asset UDF Variables"],"summary":"List UDF variables for an asset","description":"This endpoint retrieves the user-defined variables for a specific asset.\n\n**Authorization**: requires `ASSET_VIEW` and `USER_DEFINED_FUNCTION_VIEW` (feature permission).\n\n### Response\n\nReturns `AssetUDFVariableResponse` containing all UDF variables scoped to the asset.","parameters":[{"name":"id","in":"path","description":"Asset ID","required":true,"schema":{"type":"integer"}},{"name":"accessKey","in":"header","description":"API access key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"secretKey","in":"header","description":"API secret key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"Accept","in":"header","description":"Always set to application/json","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"List of UDF variables","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssetUDFVariableResponse"}}}},"422":{"description":"Could not fetch Asset Udf Variables: {message}"}}}},"/catalog-server/api/assets/{id}/udf-variables/{variableId}":{"put":{"operationId":"updateAssetUdfVariable","tags":["Asset UDF Variables"],"summary":"Update a UDF variable for an asset","description":"This endpoint allows the user to update a specific user-defined field variable for a particular asset.\n\n**Authorization**: requires `ASSET_VIEW` and `USER_DEFINED_FUNCTION_MODIFY` (feature permission).\n\n#### Request Body\n\n- `key` (string, optional): The key of the user-defined field variable.\n- `value` (string, optional): The value of the user-defined field variable.\n\nSchema: `AssetUDFVariableRequest`.\n\n#### Response\n\nReturns the updated `AssetUDFVariable`.","parameters":[{"name":"id","in":"path","description":"Asset ID","required":true,"schema":{"type":"integer"}},{"name":"variableId","in":"path","description":"Variable ID","required":true,"schema":{"type":"integer"}},{"name":"accessKey","in":"header","description":"API access key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"secretKey","in":"header","description":"API secret key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"Accept","in":"header","description":"Always set to application/json","required":true,"schema":{"type":"string"}},{"name":"Content-Type","in":"header","description":"Always set to application/json","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"Updated UDF variable definition. Schema: `AssetUDFVariableRequest`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssetUDFVariableRequest"}}}},"responses":{"200":{"description":"Updated UDF variable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssetUDFVariable"}}}},"404":{"description":"Asset Udf Variable {variableId} not found"},"422":{"description":"Could not update Asset Udf Variable: {message}"}}},"delete":{"operationId":"deleteAssetUdfVariable","tags":["Asset UDF Variables"],"summary":"Delete a UDF variable from an asset","description":"This endpoint deletes a specific user-defined function (UDF) variable for a particular asset by its `variableId`.\n\n**Authorization**: requires `ASSET_VIEW` and `USER_DEFINED_FUNCTION_MODIFY` (feature permission).","parameters":[{"name":"id","in":"path","description":"Asset ID","required":true,"schema":{"type":"integer"}},{"name":"variableId","in":"path","description":"Variable ID","required":true,"schema":{"type":"integer"}},{"name":"accessKey","in":"header","description":"API access key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"secretKey","in":"header","description":"API secret key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"Accept","in":"header","description":"Always set to application/json","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"UDF variable deleted successfully"},"404":{"description":"Asset UDF variable with id {variableId} not found"}}},"get":{"operationId":"getAssetUdfVariable","tags":["Asset UDF Variables"],"summary":"Get a specific UDF variable for an asset","description":"This endpoint retrieves user-defined variables for a specific asset using the asset `ID` and `variableId` with this endpoint.\n\n**Authorization**: requires `ASSET_VIEW` and `USER_DEFINED_FUNCTION_VIEW` (feature permission).\n\n### Response\n\nReturns `AssetUDFVariable` with the variable key, value, and identifiers.","parameters":[{"name":"id","in":"path","description":"Asset ID","required":true,"schema":{"type":"integer"}},{"name":"variableId","in":"path","description":"Variable ID","required":true,"schema":{"type":"integer"}},{"name":"accessKey","in":"header","description":"API access key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"secretKey","in":"header","description":"API secret key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"Accept","in":"header","description":"Always set to application/json","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"UDF variable details","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssetUDFVariable"}}}},"404":{"description":"Asset Udf Variable {variableId} not found"},"422":{"description":"Could not fetch Asset Udf Variable: {message}"}}}},"/catalog-server/api/assets/sample/result/{requestId}":{"get":{"operationId":"getAssetSampleResult","tags":["Asset Sampling"],"summary":"Get sample data result","description":"This endpoint retrieves the status and results of a sample data request, triggered by the `POST /catalog-server/api/assets/{id}/sample/async` endpoint.\n\nThis process involves the following steps:\n\n1. **Poll for Status**: Use the `requestId` to poll the status of the job by making GET requests to the endpoint `catalog-server/api/assets/sample/result/{requestId}`.\n2. **Retrieve Sample Data**: Continue polling until the job execution status is `SUCCESSFUL`. Once successful, the API will retrieve and return the first 100 rows of the asset's sample data.\n\n**Authorization**: requires `ASSET_VIEW`.\n\n### Response\n\nReturns `SampleDataApiResponse` containing execution status and sample data when available.","parameters":[{"name":"requestId","in":"path","description":"Sample request ID","required":true,"schema":{"type":"string"}},{"name":"accessKey","in":"header","description":"API access key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"secretKey","in":"header","description":"API secret key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"Accept","in":"header","description":"Always set to application/json","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Sample data result","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SampleDataApiResponse"}}}},"404":{"description":"Dataplane job not found for requestId: {requestId}"}}}},"/catalog-server/api/assets/byUid/{uid}/watch":{"post":{"operationId":"watchAssetByUid","tags":["Asset Watch"],"summary":"Watch an asset by UID","description":"This endpoint is used to monitor a selected asset by its `UID`. This request will also trigger notifications whenever there are changes to the asset.\n\n**Authorization**: requires `ASSET_CONFIGURATION_MODIFY`. Missing or inaccessible asset returns 403 via `getAssetId`.\n\n### Response\n\nReturns `Response` confirming the asset was added to the watch list.","parameters":[{"name":"uid","in":"path","description":"Asset unique identifier","required":true,"schema":{"type":"string"}},{"name":"accessKey","in":"header","description":"API access key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"secretKey","in":"header","description":"API secret key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"Accept","in":"header","description":"Always set to application/json","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Watch added","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}}}},"403":{"description":"Either the asset is not present, or the user doesn't have permissions to perform the operation."}}},"delete":{"operationId":"unwatchAssetByUid","tags":["Asset Watch"],"summary":"Unwatch an asset by UID","description":"The endpoint is used to remove a selected asset from the watch list by its UID. This request will stop all notifications for any changes to the asset.\n\n**Authorization**: requires `ASSET_CONFIGURATION_MODIFY`. Missing or inaccessible asset returns 403 via `getAssetId`.","parameters":[{"name":"uid","in":"path","description":"Asset unique identifier","required":true,"schema":{"type":"string"}},{"name":"accessKey","in":"header","description":"API access key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"secretKey","in":"header","description":"API secret key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"Accept","in":"header","description":"Always set to application/json","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Watch removed successfully"},"403":{"description":"Either the asset is not present, or the user doesn't have permissions to perform the operation."},"404":{"description":"Resource not found"}}}},"/catalog-server/api/asset-types":{"get":{"operationId":"listAssetTypes","tags":["Asset Types"],"summary":"List all asset types","description":"This endpoint retrieves a list of supported asset types.\n\n**Authorization**: requires `ASSET_VIEW`.\n\n**Query parameters**:\n\n- `onlyCrawledAssetTypes` (boolean, optional, default false): When true, return only asset types that have been crawled in the tenant.\n\n### Response\n\nReturns `StandardResponse>` containing all supported asset type definitions (or crawled subset when filtered).","parameters":[{"name":"accessKey","in":"header","description":"API access key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"secretKey","in":"header","description":"API secret key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"Accept","in":"header","description":"Always set to application/json","required":true,"schema":{"type":"string"}},{"name":"onlyCrawledAssetTypes","in":"query","description":"Return only asset types that have been crawled (default false)","schema":{"type":"boolean"}}],"responses":{"200":{"description":"List of asset types wrapped in StandardResponse","content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object"}}}}}}}}},"/catalog-server/api/rules/{id}/schedule":{"put":{"operationId":"setRuleSchedule","tags":["Rules"],"summary":"Toggle schedule for a policy","description":"Enables or disables scheduling for any policy type (data quality, reconciliation,\ndata drift, schema drift, profile anomaly, etc.) and optionally updates the\ncron expression and time zone. Returns the effective schedule after the update.\n\n**Authorization**: requires `ASSET_VIEW` and `POLICY_MODIFY`.\n\n**Request body**: `ScheduleRequest` with required `scheduled`; optional `cronExpression`\nand `timeZone` when updating cron while on or off.\n\n**Supported types**: DATA_QUALITY, DATA_DRIFT, RECONCILIATION, EQUALITY, PROFILE_ANOMALY,\nAUTO_ANOMALY, DATA_CADENCE, SCHEMA_DRIFT.","parameters":[{"name":"id","in":"path","description":"Numeric rule / policy ID","required":true,"schema":{"type":"integer"}},{"name":"accessKey","in":"header","description":"API access key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"secretKey","in":"header","description":"API secret key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"Accept","in":"header","description":"Always set to application/json","required":true,"schema":{"type":"string"}},{"name":"Content-Type","in":"header","description":"Always set to application/json","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"Schedule configuration with scheduled flag and optional cron/time zone","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScheduleRequest"}}}},"responses":{"200":{"description":"Updated schedule","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PolicyScheduleResponse"}}}},"400":{"description":"Bad Request — missing or non-numeric id"},"404":{"description":"Rule not found."},"422":{"description":"Cannot update schedule for policy type {ruleType}."}}}},"/catalog-server/api/rules/{id}/tag":{"post":{"operationId":"addRuleTag","tags":["Rule Tags"],"summary":"Add a single tag to a rule","description":"This endpoint is used to add a tag to a specific policy by making an HTTP POST request to the provided URL.\n\n#### Request Body\n\nThe request body should be in raw JSON format and include the following parameter:\n\n- `ruleTag.name` (string, required): The name of the tag to be added to the policy.\n \n\n#### Response\n\nUpon a successful request, the response will include the following parameters:\n\n- `id` (number): The ID of the tag.\n \n- `name` (string): The name of the tag.\n \n- `ruleId` (number): The ID of the rule.\n \n- `tagId` (number): The ID of the tag.\n \n- `tenantId` (string): The ID of the tenant.\n\n**Authorization**: requires `ASSET_VIEW` and `POLICY_VIEW`.\n\n**Request body**: `RuleTagRequest` with nested `ruleTag.name` (required). Other `ruleTag`\nfields are optional; server sets `ruleId` from the path.","parameters":[{"name":"id","in":"path","description":"Numeric rule ID","required":true,"schema":{"type":"integer"}},{"name":"accessKey","in":"header","description":"API access key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"secretKey","in":"header","description":"API secret key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"Accept","in":"header","description":"Always set to application/json","required":true,"schema":{"type":"string"}},{"name":"Content-Type","in":"header","description":"Always set to application/json","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"Tag to add","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RuleTagRequest"}}}},"responses":{"200":{"description":"Created rule tag association","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RuleTag"}}}},"400":{"description":"Bad Request — missing or non-numeric id"}}}},"/catalog-server/api/rules/{id}/configuration":{"get":{"operationId":"getRuleConfiguration","tags":["Rule Configuration"],"summary":"Get rule persistence configuration","description":"This endpoint is used to fetch the storage location for Data Quality policy results and summaries based on the policy ID.\n\n**Authorization**: requires `ASSET_VIEW` and `POLICY_VIEW`.","parameters":[{"name":"id","in":"path","description":"Numeric policy/rule ID","required":true,"schema":{"type":"integer"}},{"name":"accessKey","in":"header","description":"API access key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"secretKey","in":"header","description":"API secret key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"Accept","in":"header","description":"Always set to application/json","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Rule configuration details","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RuleConfig"}}}},"400":{"description":"Bad Request — missing or non-numeric id"}}}},"/catalog-server/api/rules/executions":{"get":{"operationId":"listRuleExecutions","tags":["Rules"],"summary":"List policy executions across all rule types","description":"This method returns a list of all the policies that were executed. The API returns a paginated response and can be made more specific using query parameters.\n\n**Authorization**: requires `ASSET_VIEW` and `POLICY_VIEW`.\n\n**Filters**: `ruleType`, `executionStatus`, and other execution filters are passed as\ndirect query parameters (see parameter list). Values map to `RuleExecutionTable`\nfilter columns via `listControlOptions`.","parameters":[{"name":"accessKey","in":"header","description":"API access key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"secretKey","in":"header","description":"API secret key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"Accept","in":"header","description":"Always set to application/json","required":true,"schema":{"type":"string"}},{"name":"ruleType","in":"query","description":"Filter by rule type (e.g. DATA_QUALITY, RECONCILIATION, DATA_DRIFT, DATA_CADENCE, PROFILE_ANOMALY)","schema":{"type":"string"}},{"name":"executionStatus","in":"query","description":"Filter by execution status (e.g. SUCCESSFUL, FAILED, IN_PROGRESS, RUNNING, SUBMITTED)","schema":{"type":"string"}},{"name":"assetIds","in":"query","description":"Comma-separated asset IDs to filter by (resolved to rule IDs server-side)","schema":{"type":"string"}},{"name":"assemblyIds","in":"query","description":"Comma-separated assembly IDs to filter by","schema":{"type":"string"}},{"name":"sourceTypeIds","in":"query","description":"Comma-separated source type IDs to filter by","schema":{"type":"string"}},{"name":"includeSubPolicies","in":"query","description":"Include sub-policy executions when resolving rules from assets (default false)","schema":{"type":"boolean"}},{"name":"page","in":"query","description":"Page number (0-based, default 0)","schema":{"type":"integer"}},{"name":"size","in":"query","description":"Number of items per page (default 25)","schema":{"type":"integer"}},{"name":"sortBy","in":"query","description":"Sort field and direction (e.g., name:asc or createdAt:desc)","schema":{"type":"string"}}],"responses":{"200":{"description":"Paginated list of rule executions","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExecutionsResponse"}}}}}}},"/catalog-server/api/rules/data-quality/{identifier}":{"get":{"operationId":"getDataQualityRule","tags":["Data Quality Rules"],"summary":"Get a data quality rule by ID or name","description":"Returns details of a data quality rule by its ID or name, including child rules\nand items. Optionally specify a version or request only the last executed version.\n\n**Authorization**: requires `ASSET_VIEW` and `POLICY_VIEW`.\n\n**Version selection**: optional `version` query parameter. When `onlyExecutedVersion=true` and\n`version` is omitted, uses the last completed execution's rule version. Invalid `version` values\nare ignored.","parameters":[{"name":"identifier","in":"path","description":"Policy ID (numeric) or policy name","required":true,"schema":{"type":"string"}},{"name":"accessKey","in":"header","description":"API access key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"secretKey","in":"header","description":"API secret key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"Accept","in":"header","description":"Always set to application/json","required":true,"schema":{"type":"string"}},{"name":"version","in":"query","description":"Specific policy version (optional; invalid values ignored)","schema":{"type":"integer"}},{"name":"onlyExecutedVersion","in":"query","description":"When true and version omitted, return last executed version","schema":{"type":"boolean"}}],"responses":{"200":{"description":"Data quality rule with children","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RuleResponse"}}}},"404":{"description":"Policy not found (identifier did not resolve), or\nData Quality rule with id {ruleId} not found"}}}},"/catalog-server/api/rules/data-quality/{id}/executions":{"post":{"operationId":"triggerDataQualityExecution","tags":["Data Quality Rules"],"summary":"Trigger a data quality rule execution","description":"The POST request executes a Data Quality policy by numeric rule ID.\n\n#### Request Body\n\n- `markerConfigs` (array): An array of marker configurations containing information about the asset, type, and column names.\n \n - `assetId` (number): The ID of the asset.\n \n - `markerConfig` (object, optional): Only required for SELECTIVE profiling. It is a configuration object used to define different types of bounds for policy execution selectively. The `type`attribute determines the structure and required fields of the `markerConfig` object. Below are the possible types and their configurations:\n \n - Type: `TimestampBasedMarkerConfig`: This configuration is applicable to Kafka asset-based policies. It utilizes the offset associated with the specified timestamp to determine data bounds for policy execution.\n \n - **type**: `\"TimestampBasedMarkerConfig\"` (string) - The type of the marker configuration.\n \n - **format**: (string) - The format of the date values.\n \n - **initialOffset**: (string) - The initial date offset for the bound.\n \n - **timeZoneId**: (string) - The time zone ID.\n \n - Type: `boundFileEvent`: Used to define bounds based on file events and dates.\n \n - **type**: `\"boundFileEvent\"` (string) - The type of the marker configuration.\n \n - **fromDate**: (string) - The start date and time for the bound, in the specified format.\n \n - **toDate**: (string) - The end date and time for the bound, in the specified format.\n \n - **timeZoneId**: (string) - The time zone ID.\n \n - Type: `bound`: Used to define bounds based on an ID range.\n \n - **type**: `\"bound\"` (string) - The type of the marker configuration.\n \n - **idColumnName**: (string) - The name of the column containing ID values.\n \n - **fromId**: (integer) - The start ID for the bound.\n \n - **toId**: (integer) - The end ID for the bound.\n \n - Type: `boundDateTime`: Used to define bounds based on date and time.\n \n - **type**: `\"boundDateTime\"` (string) - The type of the marker configuration.\n \n - **dateColumnName**: (string) - The name of the column containing date and time values.\n \n - **format**: (string) - The format of the date and time values.\n \n - **fromDate**: (string) - The start date and time for the bound, in the specified format.\n \n - **toDate**: (string) - The end date and time for the bound, in the specified format.\n \n - **timeZoneId**: (string) - The time zone ID.\n \n- `executionType` (string): The type of execution.\n \n- `ruleItemSelections` (array): An array of rule item selections.\n \n- `includeInQualityScore` (boolean): A boolean value to include in the quality score.\n\n**Authorization**: requires `ASSET_VIEW` and `POLICY_EXECUTE`.\n\n**Request body**: `PolicyExecutionRequest` — markerConfigs, executionType, ruleItemSelections,\nincludeInQualityScore, sparkResourceConfig.","parameters":[{"name":"id","in":"path","description":"Numeric rule ID","required":true,"schema":{"type":"integer"}},{"name":"accessKey","in":"header","description":"API access key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"secretKey","in":"header","description":"API secret key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"Accept","in":"header","description":"Always set to application/json","required":true,"schema":{"type":"string"}},{"name":"Content-Type","in":"header","description":"Always set to application/json","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"Execution request configuration","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PolicyExecutionRequest"}}}},"responses":{"200":{"description":"Execution details","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Execution"}}}},"404":{"description":"Rule not found."},"422":{"description":"Previous execution of rule '{name}' has not completed. Not running the rule."}}},"get":{"operationId":"getDataQualityExecutions","tags":["Data Quality Rules"],"summary":"List executions for a data quality rule","description":"This method retrieves a list of all policy executions for a specific Data Quality policy by its ID.\n\n**Authorization**: requires `ASSET_VIEW` and `POLICY_VIEW`.","parameters":[{"name":"id","in":"path","description":"Numeric rule ID","required":true,"schema":{"type":"integer"}},{"name":"accessKey","in":"header","description":"API access key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"secretKey","in":"header","description":"API secret key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"Accept","in":"header","description":"Always set to application/json","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","description":"Page number (0-based, default 0)","schema":{"type":"integer"}},{"name":"size","in":"query","description":"Number of items per page (default 25)","schema":{"type":"integer"}},{"name":"sortBy","in":"query","description":"Sort field and direction (e.g., name:asc or createdAt:desc)","schema":{"type":"string"}}],"responses":{"200":{"description":"Paginated list of executions","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DataQuality.ExecutionsResponse"}}}},"400":{"description":"Bad Request — missing or non-numeric id"}}}},"/catalog-server/api/rules/data-quality/{id}":{"put":{"operationId":"updateDataQualityRule","tags":["Data Quality Rules"],"summary":"Update a data quality rule","description":"This endpoint updates a data quality policy's attributes in the catalog server by specifying the policy ID in the endpoint URL. The request body should contain a JSON payload with the following parameters:\n\n#### Request Body Parameters\n\n1. **rule** (object, required) - Defines the main data quality policy.\n \n - **enabled** (boolean) - Specifies if the policy should be enabled.\n \n - **name** (string, required) - Name of the data quality policy.\n \n - **description** (string) - Description of the data quality policy.\n \n - **scheduled** (boolean) - Whether the policy is scheduled.\n \n - **backingAsset** (object) - Configuration for the backing asset.\n \n - **marker** (object) - Marker configuration for incremental processing.\n \n - Specify one of the marker types: `IdMarkerConfig`, `DateTimeMarkerConfig`, `DateBasedPartitionMarkerConfig`, `DayMonthYearBasedPartitionMarkerConfig`.\n \n - **notificationChannels** (object) - Configuration for notification channels.\n \n - **notifyOnSuccess** (boolean) - Whether to notify on policy success.\n \n - **additionalPersistedColumns** (array of strings) - Additional persisted columns.\n \n2. **items** (array of objects, required) - Defines the data quality rule items.\n \n - **measurementType** (string, required) - Type of measurement for the rule item.\n \n - **columnName** (string, required) - Column name in the asset where the rule applies.\n \n - **executionOrder** (integer, required) - Execution order of the rule item.\n \n - **value** (object) - Additional values or parameters for the rule item.\n \n - **weightage** (number) - Weightage for the rule.\n \n - **businessExplanation** (string) - Explanation of the business logic behind the rule.\n \n - **isWarning** (boolean) - Specifies if the rule is a warning.\n \n - **labels** (array of objects) - Labels associated with the rule item.\n \n3. **transformUDFs** (array of objects) - Defines user-defined transformations.\n\n**Authorization**: requires `ASSET_VIEW` and `POLICY_MODIFY`.\n\n**Request body**: `DataQuality.RuleRequest` (same shape as create).","parameters":[{"name":"id","in":"path","description":"Numeric rule ID","required":true,"schema":{"type":"integer"}},{"name":"accessKey","in":"header","description":"API access key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"secretKey","in":"header","description":"API secret key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"Accept","in":"header","description":"Always set to application/json","required":true,"schema":{"type":"string"}},{"name":"Content-Type","in":"header","description":"Always set to application/json","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"Updated data quality rule","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RuleRequest"}}}},"responses":{"200":{"description":"Updated data quality rule","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RuleResponse"}}}},"400":{"description":"Validation failure — DQCheckResponse"}}},"delete":{"operationId":"deleteDataQualityRule","tags":["Data Quality Rules"],"summary":"Delete (archive) a data quality rule","description":"This endpoint deletes a specific data quality policy identified by its `id`.\n\n**Authorization**: requires `ASSET_VIEW` and `POLICY_MODIFY`.","parameters":[{"name":"id","in":"path","description":"Numeric rule ID","required":true,"schema":{"type":"integer"}},{"name":"accessKey","in":"header","description":"API access key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"secretKey","in":"header","description":"API secret key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"Accept","in":"header","description":"Always set to application/json","required":true,"schema":{"type":"string"}},{"name":"message","in":"query","description":"Optional archival reason","schema":{"type":"string"}}],"responses":{"204":{"description":"Rule deleted successfully"},"404":{"description":"Data Quality rule with id {id} not found"}}}},"/catalog-server/api/rules/data-quality/{id}/unarchive":{"post":{"operationId":"unarchiveDataQualityRule","tags":["Data Quality Rules"],"summary":"Unarchive a data quality rule","description":"When users delete or rename columns in tables associated with a policy, ADOC automatically archives the policy. Archived policies cannot be executed. To reuse the policy, users must unarchive it using the Policy Unarchive feature in ADOC or by using this endpoint (`https://{{HOST}}/catalog-server/api/rules/data-quality/:id/unarchive`).\n\n**Authorization**: requires `ASSET_VIEW` and `POLICY_MODIFY`.","parameters":[{"name":"id","in":"path","description":"Numeric rule ID","required":true,"schema":{"type":"integer"}},{"name":"accessKey","in":"header","description":"API access key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"secretKey","in":"header","description":"API secret key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"Accept","in":"header","description":"Always set to application/json","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Unarchived rule","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnarchiveResponse"}}}},"404":{"description":"Policy not found"}}}},"/catalog-server/api/rules/data-quality/{id}/schedule":{"put":{"operationId":"setDataQualitySchedule","tags":["Data Quality Rules"],"summary":"Toggle schedule for a data quality rule","description":"Toggling the schedule status of a Data Quality policy involves the action of enabling or disabling the scheduled execution of a particular policy. This toggle functionality allows users to control whether the Data Quality policy runs at predefined intervals or remains inactive.\n\n**Authorization**: requires `ASSET_VIEW` and `POLICY_MODIFY`.\n\n**Note**: this route only applies the `scheduled` boolean from `ScheduleRequest`;\n`cronExpression` and `timeZone` fields are not used here.","parameters":[{"name":"id","in":"path","description":"Numeric rule ID","required":true,"schema":{"type":"integer"}},{"name":"accessKey","in":"header","description":"API access key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"secretKey","in":"header","description":"API secret key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"Accept","in":"header","description":"Always set to application/json","required":true,"schema":{"type":"string"}},{"name":"Content-Type","in":"header","description":"Always set to application/json","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"Schedule configuration (scheduled boolean required)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScheduleRequest"}}}},"responses":{"200":{"description":"Updated rule with schedule status","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RuleResponse"}}}},"404":{"description":"Rule not found."},"422":{"description":"Cron schedule is not configured. Cannot execute., or\nCannot schedule as the rule is already running., or\nCannot un-schedule as the rule is not scheduled., or\nCannot schedule a Data Quality rule."}}}},"/catalog-server/api/rules/data-quality/{id}/items":{"get":{"operationId":"getDataQualityItems","tags":["Data Quality Rules"],"summary":"Get data quality rule items","description":"This endpoint returns a list of policy item definitions configured for a specific policy such as Null Values, Asset Data Type, Pattern Match, Schema Match, and Regex Match for an asset based on the policy ID.\n\n**Authorization**: requires `ASSET_VIEW` and `POLICY_VIEW`.","parameters":[{"name":"id","in":"path","description":"Numeric rule ID","required":true,"schema":{"type":"integer"}},{"name":"accessKey","in":"header","description":"API access key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"secretKey","in":"header","description":"API secret key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"Accept","in":"header","description":"Always set to application/json","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"List of rule items","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ItemsResponse"}}}}}}},"/catalog-server/api/rules/data-quality/executions/{id}":{"get":{"operationId":"getDataQualityExecutionDetail","tags":["Data Quality Rules"],"summary":"Get data quality execution detail","description":"This endpoint returns a list of execution details such as start and end time, success and warning threshold, number of evaluations configured, passed and failed, status of execution and the quality score for a specific Data Quality policy.\n\n**Authorization**: requires `ASSET_VIEW` and `POLICY_VIEW`.","parameters":[{"name":"id","in":"path","description":"Numeric execution ID","required":true,"schema":{"type":"integer"}},{"name":"accessKey","in":"header","description":"API access key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"secretKey","in":"header","description":"API secret key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"Accept","in":"header","description":"Always set to application/json","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Execution detail","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Execution"}}}},"404":{"description":"Data Quality rule Execution with id {executionId} not found"}}}},"/catalog-server/api/rules/data-quality/executions/{id}/result":{"get":{"operationId":"getDataQualityExecutionResult","tags":["Data Quality Rules"],"summary":"Get data quality execution result","description":"This endpoint returns the policy execution result for a Data Quality policy. The execution result includes the execution history, execution details, execution summary, quality summary, persistence paths and data violations.\n\n**Authorization**: requires `ASSET_VIEW` and `POLICY_VIEW`.","parameters":[{"name":"id","in":"path","description":"Numeric execution ID","required":true,"schema":{"type":"integer"}},{"name":"accessKey","in":"header","description":"API access key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"secretKey","in":"header","description":"API secret key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"Accept","in":"header","description":"Always set to application/json","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Execution result with measure outcomes","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExecutionResult"}}}},"404":{"description":"Execution not found."}}}},"/catalog-server/api/rules/data-quality":{"post":{"operationId":"createDataQualityRule","tags":["Data Quality Rules"],"summary":"Create a data quality rule","description":"This endpoint is used to create a new Data Quality policy.\n\n#### Request Body Parameters\n\n1. **rule** (object, required) - Defines the main data quality policy.\n \n - **enabled** (boolean) - Specifies if the policy should be enabled.\n \n - **name** (string, required) - Name of the data quality policy.\n \n - **description** (string) - Description of the data quality policy.\n \n - **thresholdLevel** (object) - Defines the threshold levels for success and warning.\n \n - **success** (number) - Threshold level for success.\n \n - **warning** (number) - Threshold level for warning.\n \n - **executionTimeoutInMinutes** (number) - Timeout for policy execution in minutes.\n \n - **analyticsPipelineId** (string) - ID of the analytics pipeline.\n \n - **type** (string) - Type of the data quality policy.\n \n - **scheduled** (boolean) - Whether the policy is scheduled.\n \n - **backingAsset** (object) - Configuration for the backing asset.\n \n - **marker** (object) - Marker configuration for incremental processing.\n \n - Specify one of the marker types:\n \n - **IdMarkerConfig** (object) - Configuration for ID marker.\n \n - **DateTimeMarkerConfig** (object) - Configuration for date-time marker.\n \n - **DateBasedPartitionMarkerConfig** (object) - Configuration for date-based partition marker.\n \n - **DayMonthYearBasedPartitionMarkerConfig** (object) - Configuration for day-month-year-based partition marker.\n \n - **notificationChannels** (object) - Configuration for notification channels.\n \n - **configuredNotificationGroupIds** (array of strings) - IDs of configured notification groups.\n \n - **notifyOn** (array of strings) - Notification types to be triggered.\n \n - **notifyOnSuccess** (boolean) - Whether to notify on policy success.\n \n - **reNotifyFactor** (number) - Re-notification factor.\n \n - **sparkResourceConfig** (object) - Configuration for Spark resources.\n \n - **labels** (array of strings) - Labels associated with the data quality rule.\n \n - **policyGroups** (array of strings) - Policy groups associated with the rule.\n \n - **additionalPersistedColumns** (array of strings) - Additional persisted columns.\n \n - **segments** (object) - Segments associated with the rule.\n \n - **filter** (string) - Filter for the rule.\n \n - **sparkSQLFilterType** (string) - Type of Spark SQL filter.\n \n - **sparkFilterSelectedColumns** (array of strings) - Selected columns for Spark filter.\n \n2. **items** (array of objects, required) - Defines the data quality rule items.\n \n - **measurementType** (string, required) - Type of measurement for the rule item.\n \n - **columnName** (string, required) - Column name in the asset where the rule applies.\n \n - **executionOrder** (integer, required) - Execution order of the rule item.\n \n - **value** (object) - Additional values or parameters for the rule item.\n \n - **addEmptyCheck** (boolean) - Specifies if empty check should be added.\n \n3. **transformUDFs** (array of objects) - Defines user-defined transformations.\n \n\n### Response\n\nThe response will contain the details of the created data quality policy.\n\n**Authorization**: requires `ASSET_VIEW` and `POLICY_CREATE`.\n\n**Request body**: `DataQuality.RuleRequest` with:\n- `rule` (`DataQualityRule`): name, description, enabled, thresholdLevel, backingAsset,\n notificationChannels, sparkResourceConfig, labels, policyGroups, segments, filter, etc.\n- `items` (`Item[]`): measurementType, columnName, executionOrder, value, weightage,\n businessExplanation, isWarning, labels.\n- `transformUDFs`, optional `childRules`, optional `engineType`.","parameters":[{"name":"accessKey","in":"header","description":"API access key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"secretKey","in":"header","description":"API secret key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"Accept","in":"header","description":"Always set to application/json","required":true,"schema":{"type":"string"}},{"name":"Content-Type","in":"header","description":"Always set to application/json","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"Data quality rule definition","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RuleRequest"}}}},"responses":{"200":{"description":"Created data quality rule","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RuleResponse"}}}},"400":{"description":"Validation failure — DQCheckResponse or DQCheckResponseComposite"}}},"get":{"operationId":"listDataQualityRules","tags":["Data Quality Rules"],"summary":"List all data quality rules","description":"This endpoint retrieves a list of all Data Quality policies configured for a specific tenant.\n\n**Authorization**: requires `ASSET_VIEW` and `POLICY_VIEW`.","parameters":[{"name":"accessKey","in":"header","description":"API access key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"secretKey","in":"header","description":"API secret key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"Accept","in":"header","description":"Always set to application/json","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","description":"Page number (0-based, default 0)","schema":{"type":"integer"}},{"name":"size","in":"query","description":"Number of items per page (default 25)","schema":{"type":"integer"}},{"name":"sortBy","in":"query","description":"Sort field and direction (e.g., name:asc or createdAt:desc)","schema":{"type":"string"}},{"name":"ruleStatus","in":"query","description":"Filter by rule status","schema":{"type":"string"}}],"responses":{"200":{"description":"Paginated list of data quality rules","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RulesResponse"}}}}}}},"/catalog-server/api/rules/data-quality/byName/{name}":{"put":{"operationId":"updateDataQualityByName","tags":["Data Quality Rules"],"summary":"Update a data quality rule by name","description":"This endpoint allows users to update a Data Quality policy by its `name`.\n\n#### Request Body Parameters\n\n1. **rule** (object, required) - Defines the main data quality policy.\n \n - **enabled** (boolean) - Specifies if the policy should be enabled.\n \n - **name** (string, required) - Name of the data quality policy.\n \n - **description** (string) - Description of the data quality policy.\n \n - **scheduled** (boolean) - Whether the policy is scheduled.\n \n - **backingAsset** (object) - Configuration for the backing asset.\n \n - **marker** (object) - Marker configuration for incremental processing.\n \n - Specify one of the marker types: `IdMarkerConfig`, `DateTimeMarkerConfig`, `DateBasedPartitionMarkerConfig`, `DayMonthYearBasedPartitionMarkerConfig`.\n \n - **notificationChannels** (object) - Configuration for notification channels.\n \n - **notifyOnSuccess** (boolean) - Whether to notify on policy success.\n \n - **additionalPersistedColumns** (array of strings) - Additional persisted columns.\n \n2. **items** (array of objects, required) - Defines the data quality rule items.\n \n - **measurementType** (string, required) - Type of measurement for the rule item.\n \n - **columnName** (string, required) - Column name in the asset where the rule applies.\n \n - **executionOrder** (integer, required) - Execution order of the rule item.\n \n - **value** (object) - Additional values or parameters for the rule item.\n \n - **weightage** (number) - Weightage for the rule.\n \n - **businessExplanation** (string) - Explanation of the business logic behind the rule.\n \n - **isWarning** (boolean) - Specifies if the rule is a warning.\n \n - **labels** (array of objects) - Labels associated with the rule item.\n \n3. **transformUDFs** (array of objects) - Defines user-defined transformations.\n \n\n#### Response Body\n\nThe response will contain the updated details of the data quality policy.\n\n**Authorization**: requires `ASSET_VIEW` and `POLICY_MODIFY`.\n\n**Request body**: `DataQuality.RuleRequest` (same shape as create).","parameters":[{"name":"name","in":"path","description":"Policy name","required":true,"schema":{"type":"string"}},{"name":"accessKey","in":"header","description":"API access key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"secretKey","in":"header","description":"API secret key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"Accept","in":"header","description":"Always set to application/json","required":true,"schema":{"type":"string"}},{"name":"Content-Type","in":"header","description":"Always set to application/json","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"Updated data quality rule","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RuleRequest"}}}},"responses":{"200":{"description":"Updated data quality rule","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RuleResponse"}}}},"400":{"description":"Validation failure — DQCheckResponse"},"404":{"description":"Rule with the given name: {name} not found"}}},"delete":{"operationId":"deleteDataQualityByName","tags":["Data Quality Rules"],"summary":"Delete (archive) a data quality rule by name","description":"This endpoint deletes a specific Data Quality policy by its `name`.\n\n**Authorization**: requires `ASSET_VIEW` and `POLICY_MODIFY`.","parameters":[{"name":"name","in":"path","description":"Policy name","required":true,"schema":{"type":"string"}},{"name":"accessKey","in":"header","description":"API access key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"secretKey","in":"header","description":"API secret key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"Accept","in":"header","description":"Always set to application/json","required":true,"schema":{"type":"string"}},{"name":"message","in":"query","description":"Optional archival reason","schema":{"type":"string"}}],"responses":{"204":{"description":"Rule deleted successfully"},"404":{"description":"Rule with the given name: {name} not found, or\nData Quality rule with id {ruleId} not found"}}},"get":{"operationId":"getDataQualityByName","tags":["Data Quality Rules"],"summary":"Get a data quality rule by name","description":"This method returns details about a Data Quality policy based on the policy's name.\n\n**Authorization**: requires `ASSET_VIEW` and `POLICY_VIEW`.","parameters":[{"name":"name","in":"path","description":"Policy name","required":true,"schema":{"type":"string"}},{"name":"accessKey","in":"header","description":"API access key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"secretKey","in":"header","description":"API secret key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"Accept","in":"header","description":"Always set to application/json","required":true,"schema":{"type":"string"}},{"name":"version","in":"query","description":"Specific policy version (optional; invalid values ignored)","schema":{"type":"integer"}},{"name":"onlyExecutedVersion","in":"query","description":"When true and version omitted, return last executed version","schema":{"type":"boolean"}}],"responses":{"200":{"description":"Data quality rule details","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RuleResponse"}}}},"404":{"description":"Rule with the given name: {name} not found, or\nData Quality rule with id {ruleId} not found"}}}},"/catalog-server/api/rules/data-quality/byName/{name}/schedule":{"put":{"operationId":"setDataQualityScheduleByName","tags":["Data Quality Rules"],"summary":"Toggle schedule for a data quality rule by name","description":"Toggling the schedule status of a data quality policy involves the action of enabling or disabling the scheduled execution of that policy. This toggle functionality allows users to control whether the data quality policy runs at predefined intervals or remains inactive\n\n**Authorization**: requires `ASSET_VIEW` and `POLICY_MODIFY`.\n\n**Note**: this route only applies the `scheduled` boolean from `ScheduleRequest`.","parameters":[{"name":"name","in":"path","description":"Policy name","required":true,"schema":{"type":"string"}},{"name":"accessKey","in":"header","description":"API access key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"secretKey","in":"header","description":"API secret key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"Accept","in":"header","description":"Always set to application/json","required":true,"schema":{"type":"string"}},{"name":"Content-Type","in":"header","description":"Always set to application/json","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"Schedule configuration (scheduled boolean required)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScheduleRequest"}}}},"responses":{"200":{"description":"Updated rule with schedule status","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RuleResponse"}}}},"404":{"description":"Rule with the given name: {name} not found"},"422":{"description":"Cron schedule not configured, already scheduled, not scheduled, or wrong rule type"}}}},"/catalog-server/api/rules/data-quality/byName/{name}/items":{"get":{"operationId":"getDataQualityItemsByName","tags":["Data Quality Rules"],"summary":"Get data quality rule items by name","description":"This endpoint returns a list of policy item definitions configured for a specific policy such as Null Values, Asset Data Type, Pattern Match, Schema Match, and Regex Match for an asset.\n\n**Authorization**: requires `ASSET_VIEW` and `POLICY_VIEW`.","parameters":[{"name":"name","in":"path","description":"Policy name","required":true,"schema":{"type":"string"}},{"name":"accessKey","in":"header","description":"API access key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"secretKey","in":"header","description":"API secret key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"Accept","in":"header","description":"Always set to application/json","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"List of rule items","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ItemsResponse"}}}},"404":{"description":"Rule with the given name: {name} not found"}}}},"/catalog-server/api/rules/data-quality/byName/{name}/unarchive":{"post":{"operationId":"unarchiveDataQualityByName","tags":["Data Quality Rules"],"summary":"Unarchive a data quality rule by name","description":"When users delete or rename columns in tables associated with a policy, ADOC automatically archives the policy. Archived policies cannot be executed. To reuse the policy, users must unarchive it using the Policy Unarchive feature in ADOC or by using this endpoint (`https://{{HOST}}/catalog-server/api/rules/data-quality/byName/:name/unarchive`).\n\n**Authorization**: requires `ASSET_VIEW` and `POLICY_MODIFY`.","parameters":[{"name":"name","in":"path","description":"Policy name","required":true,"schema":{"type":"string"}},{"name":"accessKey","in":"header","description":"API access key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"secretKey","in":"header","description":"API secret key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"Accept","in":"header","description":"Always set to application/json","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Unarchived rule","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnarchiveResponse"}}}},"404":{"description":"Rule with the given name: {name} not found"}}}},"/catalog-server/api/rules/data-quality/byName/{name}/executions":{"post":{"operationId":"triggerDataQualityExecutionByName","tags":["Data Quality Rules"],"summary":"Trigger execution of a data quality rule by name","description":"The `POST` request is used to execute a Data Quality policy by its name.\n\n#### Request Body\n\n- `markerConfigs` (array): An array of marker configurations containing information about the asset, type, and column names.\n \n - `assetId` (number): The ID of the asset.\n \n - `markerConfig` (object, optional): Only required for SELECTIVE profiling. It is a configuration object used to define different types of bounds for policy execution selectively. The `type`attribute determines the structure and required fields of the `markerConfig` object. Below are the possible types and their configurations:\n \n - Type: `TimestampBasedMarkerConfig`: This configuration is applicable to Kafka asset-based policies. It utilizes the offset associated with the specified timestamp to determine data bounds for policy execution.\n \n - **type**: `\"TimestampBasedMarkerConfig\"` (string) - The type of the marker configuration.\n \n - **format**: (string) - The format of the date values.\n \n - **initialOffset**: (string) - The initial date offset for the bound.\n \n - **timeZoneId**: (string) - The time zone ID.\n \n - Type: `boundFileEvent`: Used to define bounds based on file events and dates.\n \n - **type**: `\"boundFileEvent\"` (string) - The type of the marker configuration.\n \n - **fromDate**: (string) - The start date and time for the bound, in the specified format.\n \n - **toDate**: (string) - The end date and time for the bound, in the specified format.\n \n - **timeZoneId**: (string) - The time zone ID.\n \n - Type: `bound`: Used to define bounds based on an ID range.\n \n - **type**: `\"bound\"` (string) - The type of the marker configuration.\n \n - **idColumnName**: (string) - The name of the column containing ID values.\n \n - **fromId**: (integer) - The start ID for the bound.\n \n - **toId**: (integer) - The end ID for the bound.\n \n - Type: `boundDateTime`: Used to define bounds based on date and time.\n \n - **type**: `\"boundDateTime\"` (string) - The type of the marker configuration.\n \n - **dateColumnName**: (string) - The name of the column containing date and time values.\n \n - **format**: (string) - The format of the date and time values.\n \n - **fromDate**: (string) - The start date and time for the bound, in the specified format.\n \n - **toDate**: (string) - The end date and time for the bound, in the specified format.\n \n - **timeZoneId**: (string) - The time zone ID.\n \n- `executionType` (string): The type of execution.\n \n- `ruleItemSelections` (array): An array of rule item selections.\n \n- `includeInQualityScore` (boolean): A boolean value to include in the quality score.\n\n**Authorization**: requires `ASSET_VIEW` and `POLICY_VIEW` only\n(note: execute-by-ID requires `POLICY_EXECUTE`).\n\n**Request body**: `PolicyExecutionRequest` — markerConfigs, executionType,\nruleItemSelections, includeInQualityScore, sparkResourceConfig.","parameters":[{"name":"name","in":"path","description":"Policy name","required":true,"schema":{"type":"string"}},{"name":"accessKey","in":"header","description":"API access key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"secretKey","in":"header","description":"API secret key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"Accept","in":"header","description":"Always set to application/json","required":true,"schema":{"type":"string"}},{"name":"Content-Type","in":"header","description":"Always set to application/json","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"Execution request configuration","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PolicyExecutionRequest"}}}},"responses":{"200":{"description":"Execution details","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Execution"}}}},"404":{"description":"Rule with the given name: {name} not found, or\nRule not found."},"422":{"description":"Previous execution of rule '{name}' has not completed. Not running the rule."}}},"get":{"operationId":"getDataQualityExecutionsByName","tags":["Data Quality Rules"],"summary":"List executions for a data quality rule by name","description":"This endpoint returns a list of all executions for a given Data Quality policy by its `name`.\n\n**Authorization**: requires `ASSET_VIEW` and `POLICY_VIEW`.","parameters":[{"name":"name","in":"path","description":"Policy name","required":true,"schema":{"type":"string"}},{"name":"accessKey","in":"header","description":"API access key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"secretKey","in":"header","description":"API secret key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"Accept","in":"header","description":"Always set to application/json","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","description":"Page number (0-based, default 0)","schema":{"type":"integer"}},{"name":"size","in":"query","description":"Number of items per page (default 25)","schema":{"type":"integer"}},{"name":"sortBy","in":"query","description":"Sort field and direction (e.g., name:asc or createdAt:desc)","schema":{"type":"string"}}],"responses":{"200":{"description":"Paginated list of executions","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DataQuality.ExecutionsResponse"}}}},"404":{"description":"Rule with the given name: {name} not found"}}}},"/catalog-server/api/rules/reconciliation/{identifier}":{"get":{"operationId":"getReconciliationRule","tags":["Reconciliation Rules"],"summary":"Get a reconciliation rule by ID or name","description":"Returns details of a reconciliation rule by its ID or name.\nOptionally specify a version or request only the last executed version.\n\n**Authorization**: requires `ASSET_VIEW` and `POLICY_VIEW`.\n\n**Version selection**: optional `version` query parameter. When `onlyExecutedVersion=true` and\n`version` is omitted, uses the last completed execution's rule version. Invalid `version` values\nare ignored.","parameters":[{"name":"identifier","in":"path","description":"Policy ID (numeric) or policy name","required":true,"schema":{"type":"string"}},{"name":"accessKey","in":"header","description":"API access key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"secretKey","in":"header","description":"API secret key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"Accept","in":"header","description":"Always set to application/json","required":true,"schema":{"type":"string"}},{"name":"version","in":"query","description":"Specific policy version (optional; invalid values ignored)","schema":{"type":"integer"}},{"name":"onlyExecutedVersion","in":"query","description":"When true and version omitted, return last executed version","schema":{"type":"boolean"}}],"responses":{"200":{"description":"Reconciliation rule details","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Reconciliation.RuleResponse"}}}},"404":{"description":"Policy not found (identifier did not resolve), or\nReconciliation policy rule with id {ruleId} not found"},"422":{"description":"Entity is not a reconciliation rule."}}}},"/catalog-server/api/rules/reconciliation/{id}/executions":{"post":{"operationId":"triggerReconciliationExecution","tags":["Reconciliation Rules"],"summary":"Trigger a reconciliation rule execution","description":"This endpoint triggers execution of a Reconciliation policy by numeric rule ID.\n\n#### Request Body\n\n- `markerConfigs` (array of objects): An array of marker configurations containing asset ID, marker type, and other details.\n \n - `assetId` (number): The ID of the asset.\n \n - `markerConfig` (object, optional): Only required for SELECTIVE profiling. It is a configuration object used to define different types of bounds for policy execution selectively. The `type`attribute determines the structure and required fields of the `markerConfig` object. Below are the possible types and their configurations:\n \n - Type: `TimestampBasedMarkerConfig`: This configuration is applicable to Kafka asset-based policies. It utilizes the offset associated with the specified timestamp to determine data bounds for policy execution.\n \n - **type**: `\"TimestampBasedMarkerConfig\"` (string) - The type of the marker configuration.\n \n - **format**: (string) - The format of the date values.\n \n - **initialOffset**: (string) - The initial date offset for the bound.\n \n - **timeZoneId**: (string) - The time zone ID.\n \n - Type: `boundFileEvent`: Used to define bounds based on file events and dates.\n \n - **type**: `\"boundFileEvent\"` (string) - The type of the marker configuration.\n \n - **fromDate**: (string) - The start date and time for the bound, in the specified format.\n \n - **toDate**: (string) - The end date and time for the bound, in the specified format.\n \n - **timeZoneId**: (string) - The time zone ID.\n \n - Type: `bound`: Used to define bounds based on an ID range.\n \n - **type**: `\"bound\"` (string) - The type of the marker configuration.\n \n - **idColumnName**: (string) - The name of the column containing ID values.\n \n - **fromId**: (integer) - The start ID for the bound.\n \n - **toId**: (integer) - The end ID for the bound.\n \n - Type: `boundDateTime`: Used to define bounds based on date and time.\n \n - **type**: `\"boundDateTime\"` (string) - The type of the marker configuration.\n \n - **dateColumnName**: (string) - The name of the column containing date and time values.\n \n - **format**: (string) - The format of the date and time values.\n \n - **fromDate**: (string) - The start date and time for the bound, in the specified format.\n \n - **toDate**: (string) - The end date and time for the bound, in the specified format.\n \n - **timeZoneId**: (string) - The time zone ID.\n \n- `executionType` (string): The type of execution.\n \n- `analyticsPipelineId` (number): The ID of the analytics pipeline.\n \n- `sparkResourceConfig` (object): Configuration for Spark resources.\n \n - `yunikorn` (object): Configuration for YuniKorn resource manager.\n \n - `minExecutors` (number): Minimum number of executors.\n \n - `maxExecutors` (number): Maximum number of executors.\n \n - `executorCores` (number): Number of cores per executor.\n \n - `executorMemory` (string): Memory allocated to each executor.\n \n - `driverCores` (number): Number of cores for the driver.\n \n - `driverMemory` (string): Memory allocated to the driver.\n \n - `additionalConfiguration` (object): Additional configuration details.\n \n- `ruleItemSelections` (array of numbers): Array of rule item selections.\n \n- `includeInQualityScore` (boolean): Indicates whether to include in quality score.\n \n\n#### Response Body\n\n- `execution`: Object containing details of the execution including `analysisJob`, `analyticsPipelineId`, `dataPersistenceEnabled`, and more.\n \n- `items`: Array of items containing execution details such as `executionId`, `finishedAt`, `isError`, `leftAnalyticsPipelineName`, `rightAnalyticsPipelineName`, and more.\n\n**Authorization**: requires `ASSET_VIEW` and `POLICY_EXECUTE`.\n\n**Request body**: `PolicyExecutionRequest` — markerConfigs, executionType, analyticsPipelineId,\nsparkResourceConfig, ruleItemSelections, includeInQualityScore.","parameters":[{"name":"id","in":"path","description":"Numeric rule ID","required":true,"schema":{"type":"integer"}},{"name":"accessKey","in":"header","description":"API access key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"secretKey","in":"header","description":"API secret key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"Accept","in":"header","description":"Always set to application/json","required":true,"schema":{"type":"string"}},{"name":"Content-Type","in":"header","description":"Always set to application/json","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"Execution request configuration","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PolicyExecutionRequest"}}}},"responses":{"200":{"description":"Execution details","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Reconciliation.Execution"}}}},"400":{"description":"Custom SQL / dataplane compatibility validation failure"},"404":{"description":"Rule not found., or Execution not found"},"422":{"description":"Previous execution of rule '{name}' has not completed. Not running the rule."}}},"get":{"operationId":"getReconciliationExecutions","tags":["Reconciliation Rules"],"summary":"List executions for a reconciliation rule","description":"This endpoint retrieves the executions of a Reconciliation policy based on its id.\n\n### Parameters\n\n- `id` (path, required): The unique identifier of the reconciliation rule.\n\n**Authorization**: requires `ASSET_VIEW` and `POLICY_VIEW`.","parameters":[{"name":"id","in":"path","description":"Numeric rule ID","required":true,"schema":{"type":"integer"}},{"name":"accessKey","in":"header","description":"API access key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"secretKey","in":"header","description":"API secret key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"Accept","in":"header","description":"Always set to application/json","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","description":"Page number (0-based, default 0)","schema":{"type":"integer"}},{"name":"size","in":"query","description":"Number of items per page (default 25)","schema":{"type":"integer"}},{"name":"sortBy","in":"query","description":"Sort field and direction (e.g., name:asc or createdAt:desc)","schema":{"type":"string"}}],"responses":{"200":{"description":"Paginated list of reconciliation executions","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Reconciliation.ExecutionsResponse"}}}},"400":{"description":"Bad Request — missing or non-numeric id"}}}},"/catalog-server/api/rules/reconciliation/{id}":{"put":{"operationId":"updateReconciliationRule","tags":["Reconciliation Rules"],"summary":"Update a reconciliation rule","description":"This endpoint is used to update an existing Reconciliation policy.\n\n#### Request Body\n\n- `rule` (object)\n \n - `enabled` (boolean, optional): Indicates whether the rule is enabled.\n \n - `name` (string, optional): The name of the rule.\n \n - `description` (string, optional): Description of the rule.\n \n - `thresholdLevel` (object)\n \n - `success` (number, optional): The success threshold level.\n \n - `warning` (number, optional): The warning threshold level.\n \n - `type` (string, optional): The type of the rule.\n \n - `scheduled` (boolean, optional): Indicates whether the rule is scheduled.\n \n - `leftBackingAsset` (object): Details of the left backing asset.\n \n - `tableAssetId` (number, optional): The table asset ID for the left backing asset.\n \n - `rightBackingAsset` (object): Details of the right backing asset.\n \n - `tableAssetId` (number, optional): The table asset ID for the right backing asset.\n \n - `timeSecondsOffset` (number, optional): Time seconds offset.\n \n - `notificationChannels` (object): Notification channel configuration.\n \n - `configuredNotificationGroupIds` (array): Configured notification group IDs.\n \n - `notifyOnSuccess` (boolean): Indicates whether to notify on success.\n \n - `alertsEnabled` (boolean): Indicates whether alerts are enabled.\n \n - `reNotifyFactor` (number): Re-notify factor.\n \n - `labels` (array of objects): Labels for the rule.\n \n - `policyGroups` (array of objects): Policy groups for the rule.\n \n- `items` (array of objects)\n \n - `measurementType` (string, optional): The measurement type.\n \n - `executionOrder` (number, optional): The execution order.\n \n- `mappings` (array of objects)\n \n - `leftColumnName` (string, optional): The left column name for mapping.\n \n - `operation` (string, optional): The operation for mapping.\n \n - `rightColumnName` (string, optional): The right column name for mapping.\n \n - `executionOrder` (number, optional): The execution order for mapping.\n \n - `useForJoining` (boolean, optional): Indicates whether to use for joining.\n \n - `ignoreNullValues` (boolean, optional): Indicates whether to ignore null values.\n \n - `weightage` (number, optional): The weightage for mapping.\n \n - `businessExplanation` (string, optional): Business explanation for mapping.\n \n - `isWarning` (boolean, optional): Indicates whether the mapping is a warning.\n \n - `labels` (array of objects): Labels for the mapping.\n\n**Authorization**: requires `ASSET_VIEW` and `POLICY_MODIFY`.\n\n**Request body**: `Reconciliation.RuleRequest` (same shape as create).","parameters":[{"name":"id","in":"path","description":"Numeric rule ID","required":true,"schema":{"type":"integer"}},{"name":"accessKey","in":"header","description":"API access key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"secretKey","in":"header","description":"API secret key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"Accept","in":"header","description":"Always set to application/json","required":true,"schema":{"type":"string"}},{"name":"Content-Type","in":"header","description":"Always set to application/json","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"Updated reconciliation rule","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Reconciliation.RuleRequest"}}}},"responses":{"200":{"description":"Updated reconciliation rule","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Reconciliation.RuleResponse"}}}},"400":{"description":"Bad Request — validation failure"}}},"delete":{"operationId":"deleteReconciliationRule","tags":["Reconciliation Rules"],"summary":"Delete (archive) a reconciliation rule","description":"This endpoint is used to delete a specific Reconciliation policy by its id.\n\n**Authorization**: requires `ASSET_VIEW` and `POLICY_MODIFY`.","parameters":[{"name":"id","in":"path","description":"Numeric rule ID","required":true,"schema":{"type":"integer"}},{"name":"accessKey","in":"header","description":"API access key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"secretKey","in":"header","description":"API secret key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"Accept","in":"header","description":"Always set to application/json","required":true,"schema":{"type":"string"}},{"name":"message","in":"query","description":"Optional archival reason","schema":{"type":"string"}}],"responses":{"204":{"description":"Rule deleted successfully"},"404":{"description":"Reconciliation policy rule with id {id} not found"}}}},"/catalog-server/api/rules/reconciliation/{id}/unarchive":{"post":{"operationId":"unarchiveReconciliationRule","tags":["Reconciliation Rules"],"summary":"Unarchive a reconciliation rule","description":"This endpoint is used to unarchive a reconciliation policy by its id. When users delete or rename a column of a table, which is associated with a policy, the policy is automatically archived by ADOC, not allowing users to execute it. To reuse the policy, users must unarchive the policy.\n\n**Authorization**: requires `ASSET_VIEW` and `POLICY_MODIFY`.","parameters":[{"name":"id","in":"path","description":"Numeric rule ID","required":true,"schema":{"type":"integer"}},{"name":"accessKey","in":"header","description":"API access key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"secretKey","in":"header","description":"API secret key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"Accept","in":"header","description":"Always set to application/json","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Unarchived rule","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnarchiveResponse"}}}},"404":{"description":"Policy not found, or\nReconciliation policy rule with id {ruleId} not found"}}}},"/catalog-server/api/rules/reconciliation/{id}/schedule":{"put":{"operationId":"setReconciliationSchedule","tags":["Reconciliation Rules"],"summary":"Toggle schedule for a reconciliation rule","description":"This endpoint toggles the schedule status of a Reconciliation policy to enable or disable the policy. This toggle functionality allows users to control whether the Reconcliation policy runs at predefined intervals or remains inactive.\n\n**Authorization**: requires `ASSET_VIEW` and `POLICY_MODIFY`.\n\n**Note**: this route only applies the `scheduled` boolean from `ScheduleRequest`.","parameters":[{"name":"id","in":"path","description":"Numeric rule ID","required":true,"schema":{"type":"integer"}},{"name":"accessKey","in":"header","description":"API access key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"secretKey","in":"header","description":"API secret key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"Accept","in":"header","description":"Always set to application/json","required":true,"schema":{"type":"string"}},{"name":"Content-Type","in":"header","description":"Always set to application/json","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"Schedule configuration (scheduled boolean required)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScheduleRequest"}}}},"responses":{"200":{"description":"Updated rule with schedule status","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Reconciliation.RuleResponse"}}}},"404":{"description":"Rule not found."},"422":{"description":"Cron not configured, schedule state conflict, or wrong rule type"}}}},"/catalog-server/api/rules/reconciliation/executions/{id}":{"get":{"operationId":"getReconciliationExecutionDetail","tags":["Reconciliation Rules"],"summary":"Get reconciliation execution detail","description":"This endpoint retrieves the details of a Reconciliation policy execution based on the provided execution id.\n\n**Request Body** \nThis request does not require a request body.\n\n**Response Body**\n\n- `execution` (object): Details of the reconciliation execution, including analysis job context, analytics pipeline ID, execution status, and other related information.\n \n - `analysisJob` (object): Information about the analysis job, such as job context, status, and timestamps.\n \n - `analyticsPipelineId` (number): ID of the analytics pipeline.\n \n - `dataPersistenceEnabled` (boolean): Indicates if data persistence is enabled for the execution.\n \n - `executionError` (null): Details of any execution error, if present.\n \n - `executionMode` (string): Mode of the execution.\n \n - `executionStatus` (string): Status of the execution.\n \n - `executionType` (string): Type of the execution.\n \n - `finishedAt` (string): Timestamp when the execution finished.\n \n - `id` (number): ID of the execution.\n \n - `includeInQualityScore` (boolean): Indicates if the execution is included in quality score calculations.\n \n - `isProtectedResource` (boolean): Indicates if the resource is protected.\n \n - `jobState` (string): State of the job.\n \n - `lastHealthUpdateAt` (string): Timestamp of the last health update.\n \n - `leftMarkerConfig` (object): Configuration for the left marker.\n \n - `markerConfig` (null): Marker configuration, if available.\n \n - `parentId` (null): ID of the parent execution, if applicable.\n \n - `participatingColumns` (array): List of participating columns.\n \n - `requestId` (string): ID of the request.\n \n - `resultPersistencePath` (object): Details of the result persistence path.\n \n - `resultStatus` (string): Status of the result.\n \n - `ruleId` (number): ID of the rule associated with the execution.\n \n - `ruleName` (string): Name of the rule.\n \n - `ruleSelectionEnabled` (boolean): Indicates if rule selection is enabled.\n \n - `ruleType` (string): Type of the rule.\n \n - `ruleVersion` (number): Version of the rule.\n \n - `startedAt` (string): Timestamp when the execution started.\n \n - `thresholdLevel` (object): Details of the threshold levels for success and warning.\n \n- `items` (array): List of items related to the execution, including details of left and right analytics pipeline, error information, and timestamps.\n\n**Authorization**: requires `ASSET_VIEW` and `POLICY_VIEW`.","parameters":[{"name":"id","in":"path","description":"Numeric execution ID","required":true,"schema":{"type":"integer"}},{"name":"accessKey","in":"header","description":"API access key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"secretKey","in":"header","description":"API secret key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"Accept","in":"header","description":"Always set to application/json","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Execution detail","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Reconciliation.Execution"}}}},"404":{"description":"Reconciliation policy rule Execution with id {executionId} not found"}}}},"/catalog-server/api/rules/reconciliation/executions/{id}/result":{"get":{"operationId":"getReconciliationExecutionResult","tags":["Reconciliation Rules"],"summary":"Get reconciliation execution result","description":"This endpoint retrieves the Reconciliation policy execution result by the policy id.\n\n**Authorization**: requires `ASSET_VIEW` and `POLICY_VIEW`.","parameters":[{"name":"id","in":"path","description":"Numeric execution ID","required":true,"schema":{"type":"integer"}},{"name":"accessKey","in":"header","description":"API access key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"secretKey","in":"header","description":"API secret key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"Accept","in":"header","description":"Always set to application/json","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Execution result","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExecutionResult"}}}},"404":{"description":"Rule execution not found."}}}},"/catalog-server/api/rules/reconciliation":{"post":{"operationId":"createReconciliationRule","tags":["Reconciliation Rules"],"summary":"Create a reconciliation rule","description":"This endpoint allows users to create a Reconciliation policy.\n\n#### Request Body\n\n- `rule` (object)\n \n - `enabled` (boolean, optional): Whether the rule is enabled.\n \n - `name` (string, optional): The name of the rule.\n \n - `description` (string, optional): Description of the rule.\n \n - `thresholdLevel` (object)\n \n - `success` (number, optional): Success threshold level.\n \n - `warning` (number, optional): Warning threshold level.\n \n - `type` (string, optional): The type of the rule.\n \n - `scheduled` (boolean, optional): Whether the rule is scheduled.\n \n - `leftBackingAsset` (object): Details of the left backing asset.\n \n - `tableAssetId` (number, optional): The table asset ID for the left backing asset.\n \n - `rightBackingAsset` (object): Details of the right backing asset.\n \n - `tableAssetId` (number, optional): The table asset ID for the right backing asset.\n \n - `timeSecondsOffset` (number, optional): Time seconds offset.\n \n - `notificationChannels` (object): Notification channel configuration.\n \n - `configuredNotificationGroupIds` (array): Configured notification group IDs.\n \n - `notifyOnSuccess` (boolean): Whether to notify on success.\n \n - `alertsEnabled` (boolean): Whether alerts are enabled.\n \n - `reNotifyFactor` (number): Re-notify factor.\n \n - `labels` (array of objects): Labels for the rule.\n \n - `policyGroups` (array of objects): Policy groups for the rule.\n \n- `items` (array of objects)\n \n - `measurementType` (string, optional): The measurement type.\n \n - `executionOrder` (number, optional): The execution order.\n \n- `mappings` (array of objects)\n \n - `leftColumnName` (string, optional): The left column name for mapping.\n \n - `operation` (string, optional): The operation for mapping.\n \n - `rightColumnName` (string, optional): The right column name for mapping.\n \n - `executionOrder` (number, optional): The execution order for mapping.\n \n - `useForJoining` (boolean, optional): Whether to use for joining.\n \n - `ignoreNullValues` (boolean, optional): Whether to ignore null values.\n \n - `weightage` (number, optional): The weightage for mapping.\n \n - `businessExplanation` (string, optional): Business explanation for mapping.\n \n - `isWarning` (boolean, optional): Whether the mapping is a warning.\n \n - `labels` (array of objects): Labels for the mapping.\n\n**Authorization**: requires `ASSET_VIEW` and `POLICY_CREATE`.\n\n**Request body**: `Reconciliation.RuleRequest` with:\n- `rule` (`ReconciliationRule`): left/right backing assets, thresholdLevel, notificationChannels, etc.\n- `items` (`Item[]`): measurementType, executionOrder\n- `mappings` (`ColumnMapping[]`): leftColumnName, rightColumnName, operation, useForJoining, weightage, etc.\n- optional `analyticsPipelineId`, `cloningDetails`","parameters":[{"name":"accessKey","in":"header","description":"API access key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"secretKey","in":"header","description":"API secret key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"Accept","in":"header","description":"Always set to application/json","required":true,"schema":{"type":"string"}},{"name":"Content-Type","in":"header","description":"Always set to application/json","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"Reconciliation rule definition","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Reconciliation.RuleRequest"}}}},"responses":{"200":{"description":"Created reconciliation rule","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Reconciliation.RuleResponse"}}}},"400":{"description":"Bad Request — invalid policy name or validation failure"}}},"get":{"operationId":"listReconciliationRules","tags":["Reconciliation Rules"],"summary":"List all reconciliation rules","description":"This endpoint retrieves policies for reconciliation from the catalog server. The request includes query parameters for pagination, with options to specify the page number, page size, and rule status.\n\n### Request Body\n\nThis request does not include a request body.\n\n### Response Body\n\nThe response includes a JSON object with a \"meta\" key containing count, page, and size information, and a \"rules\" key containing an array of policy objects. Each policy object includes details such as column mappings, execution order, measurement type, and other rule-specific information.\n\n**Authorization**: requires `ASSET_VIEW` and `POLICY_VIEW`.","parameters":[{"name":"accessKey","in":"header","description":"API access key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"secretKey","in":"header","description":"API secret key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"Accept","in":"header","description":"Always set to application/json","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","description":"Page number (0-based, default 0)","schema":{"type":"integer"}},{"name":"size","in":"query","description":"Number of items per page (default 25)","schema":{"type":"integer"}},{"name":"sortBy","in":"query","description":"Sort field and direction (e.g., name:asc or createdAt:desc)","schema":{"type":"string"}}],"responses":{"200":{"description":"Paginated list of reconciliation rules","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Reconciliation.RulesResponse"}}}}}}},"/catalog-server/api/rules/reconciliation/byName/{name}":{"put":{"operationId":"updateReconciliationByName","tags":["Reconciliation Rules"],"summary":"Update a reconciliation rule by name","description":"This endpoint updates a Reconciliation policy by its name. It requires the following parameters in the request body:\n\n#### Request Body\n\n- `rule` (object)\n \n - `enabled` (boolean, optional): Indicates whether the rule is enabled.\n \n - `name` (string, optional): The name of the rule.\n \n - `description` (string, optional): Description of the rule.\n \n - `thresholdLevel` (object)\n \n - `success` (number, optional): The success threshold level.\n \n - `warning` (number, optional): The warning threshold level.\n \n - `type` (string, optional): The type of the rule.\n \n - `scheduled` (boolean, optional): Indicates whether the rule is scheduled.\n \n - `leftBackingAsset` (object): Details of the left backing asset.\n \n - `tableAssetId` (number, optional): The table asset ID for the left backing asset.\n \n - `rightBackingAsset` (object): Details of the right backing asset.\n \n - `tableAssetId` (number, optional): The table asset ID for the right backing asset.\n \n - `timeSecondsOffset` (number, optional): Time seconds offset.\n \n - `notificationChannels` (object): Notification channel configuration.\n \n - `configuredNotificationGroupIds` (array): Configured notification group IDs.\n \n - `notifyOnSuccess` (boolean): Indicates whether to notify on success.\n \n - `alertsEnabled` (boolean): Indicates whether alerts are enabled.\n \n - `reNotifyFactor` (number): Re-notify factor.\n \n - `labels` (array of objects): Labels for the rule.\n \n - `policyGroups` (array of objects): Policy groups for the rule.\n \n- `items` (array of objects)\n \n - `measurementType` (string, optional): The measurement type.\n \n - `executionOrder` (number, optional): The execution order.\n \n- `mappings` (array of objects)\n \n - `leftColumnName` (string, optional): The left column name for mapping.\n \n - `operation` (string, optional): The operation for mapping.\n \n - `rightColumnName` (string, optional): The right column name for mapping.\n \n - `executionOrder` (number, optional): The execution order for mapping.\n \n - `useForJoining` (boolean, optional): Indicates whether to use for joining.\n \n - `ignoreNullValues` (boolean, optional): Indicates whether to ignore null values.\n \n - `weightage` (number, optional): The weightage for mapping.\n \n - `businessExplanation` (string, optional): Business explanation for mapping.\n \n - `isWarning` (boolean, optional): Indicates whether the mapping is a warning.\n \n - `labels` (array of objects): Labels for the mapping.\n\n**Authorization**: requires `ASSET_VIEW` and `POLICY_MODIFY`.\n\n**Request body**: `Reconciliation.RuleRequest`.","parameters":[{"name":"name","in":"path","description":"Policy name","required":true,"schema":{"type":"string"}},{"name":"accessKey","in":"header","description":"API access key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"secretKey","in":"header","description":"API secret key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"Accept","in":"header","description":"Always set to application/json","required":true,"schema":{"type":"string"}},{"name":"Content-Type","in":"header","description":"Always set to application/json","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"Updated reconciliation rule","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Reconciliation.RuleRequest"}}}},"responses":{"200":{"description":"Updated reconciliation rule","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Reconciliation.RuleResponse"}}}},"404":{"description":"Reconciliation Policy with the given name: {name} not found"}}},"delete":{"operationId":"deleteReconciliationByName","tags":["Reconciliation Rules"],"summary":"Delete (archive) a reconciliation rule by name","description":"This endpint deletes a specific Reconciliation policy by its name.\n\n**Authorization**: requires `ASSET_VIEW` and `POLICY_MODIFY`.","parameters":[{"name":"name","in":"path","description":"Policy name","required":true,"schema":{"type":"string"}},{"name":"accessKey","in":"header","description":"API access key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"secretKey","in":"header","description":"API secret key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"Accept","in":"header","description":"Always set to application/json","required":true,"schema":{"type":"string"}},{"name":"message","in":"query","description":"Optional archival reason","schema":{"type":"string"}}],"responses":{"204":{"description":"Rule deleted successfully"},"404":{"description":"Policy with the given name: {name} not found, or\nReconciliation policy rule with id {ruleId} not found"}}},"get":{"operationId":"getReconciliationByName","tags":["Reconciliation Rules"],"summary":"Get a reconciliation rule by name","description":"### Get Policy by Name\n\nThis endpoint retrieves details about a specific Reconciliation policy based on its `name`.\n\n**Authorization**: requires `ASSET_VIEW` and `POLICY_VIEW`.","parameters":[{"name":"name","in":"path","description":"Policy name","required":true,"schema":{"type":"string"}},{"name":"accessKey","in":"header","description":"API access key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"secretKey","in":"header","description":"API secret key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"Accept","in":"header","description":"Always set to application/json","required":true,"schema":{"type":"string"}},{"name":"version","in":"query","description":"Specific policy version (optional; invalid values ignored)","schema":{"type":"integer"}},{"name":"onlyExecutedVersion","in":"query","description":"When true and version omitted, return last executed version","schema":{"type":"boolean"}}],"responses":{"200":{"description":"Reconciliation rule details","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Reconciliation.RuleResponse"}}}},"404":{"description":"Policy with the given name: {name} not found, or\nReconciliation policy rule with id {ruleId} not found"}}}},"/catalog-server/api/rules/reconciliation/byName/{name}/schedule":{"put":{"operationId":"setReconciliationScheduleByName","tags":["Reconciliation Rules"],"summary":"Toggle schedule for a reconciliation rule by name","description":"This endpoint toggles the schedule status of a Reconciliation policy to enable or disable the scheduled execution of that policy. This toggle functionality allows users to control whether the policy runs at predefined intervals or remains inactive.\n\n**Authorization**: requires `ASSET_VIEW` and `POLICY_MODIFY`.\n\n**Note**: this route only applies the `scheduled` boolean from `ScheduleRequest`.","parameters":[{"name":"name","in":"path","description":"Policy name","required":true,"schema":{"type":"string"}},{"name":"accessKey","in":"header","description":"API access key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"secretKey","in":"header","description":"API secret key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"Accept","in":"header","description":"Always set to application/json","required":true,"schema":{"type":"string"}},{"name":"Content-Type","in":"header","description":"Always set to application/json","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"Schedule configuration (scheduled boolean required)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScheduleRequest"}}}},"responses":{"200":{"description":"Updated rule with schedule status","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Reconciliation.RuleResponse"}}}},"404":{"description":"Policy with the given name: {name} not found"},"422":{"description":"Cron not configured, schedule state conflict, or wrong rule type"}}}},"/catalog-server/api/rules/reconciliation/byName/{name}/unarchive":{"post":{"operationId":"unarchiveReconciliationByName","tags":["Reconciliation Rules"],"summary":"Unarchive a reconciliation rule by name","description":"Restores a previously archived reconciliation policy by policy name.\n\n**Authorization**: requires `ASSET_VIEW` and `POLICY_MODIFY`.","parameters":[{"name":"name","in":"path","description":"Policy name","required":true,"schema":{"type":"string"}},{"name":"accessKey","in":"header","description":"API access key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"secretKey","in":"header","description":"API secret key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"Accept","in":"header","description":"Always set to application/json","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Unarchived rule","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnarchiveResponse"}}}},"404":{"description":"Policy with the given name: {name} not found, or\nReconciliation policy rule with id {ruleId} not found"}}}},"/catalog-server/api/rules/reconciliation/byName/{name}/executions":{"post":{"operationId":"triggerReconciliationExecutionByName","tags":["Reconciliation Rules"],"summary":"Trigger execution of a reconciliation rule by name","description":"This endpoint triggers the execution of a Reconciliation policy by its name.\n\n#### Request Body\n\n- `markerConfigs` (array of objects): An array of marker configurations containing asset ID, marker type, and other details.\n \n - `assetId` (number): The ID of the asset.\n \n - `markerConfig` (object, optional): Only required for SELECTIVE profiling. It is a configuration object used to define different types of bounds for policy execution selectively. The `type`attribute determines the structure and required fields of the `markerConfig` object. Below are the possible types and their configurations:\n \n - Type: `TimestampBasedMarkerConfig`: This configuration is applicable to Kafka asset-based policies. It utilizes the offset associated with the specified timestamp to determine data bounds for policy execution.\n \n - **type**: `\"TimestampBasedMarkerConfig\"` (string) - The type of the marker configuration.\n \n - **format**: (string) - The format of the date values.\n \n - **initialOffset**: (string) - The initial date offset for the bound.\n \n - **timeZoneId**: (string) - The time zone ID.\n \n - Type: `boundFileEvent`: Used to define bounds based on file events and dates.\n \n - **type**: `\"boundFileEvent\"` (string) - The type of the marker configuration.\n \n - **fromDate**: (string) - The start date and time for the bound, in the specified format.\n \n - **toDate**: (string) - The end date and time for the bound, in the specified format.\n \n - **timeZoneId**: (string) - The time zone ID.\n \n - Type: `bound`: Used to define bounds based on an ID range.\n \n - **type**: `\"bound\"` (string) - The type of the marker configuration.\n \n - **idColumnName**: (string) - The name of the column containing ID values.\n \n - **fromId**: (integer) - The start ID for the bound.\n \n - **toId**: (integer) - The end ID for the bound.\n \n - Type: `boundDateTime`: Used to define bounds based on date and time.\n \n - **type**: `\"boundDateTime\"` (string) - The type of the marker configuration.\n \n - **dateColumnName**: (string) - The name of the column containing date and time values.\n \n - **format**: (string) - The format of the date and time values.\n \n - **fromDate**: (string) - The start date and time for the bound, in the specified format.\n \n - **toDate**: (string) - The end date and time for the bound, in the specified format.\n \n - **timeZoneId**: (string) - The time zone ID.\n \n- `executionType` (string): The type of execution.\n \n- `analyticsPipelineId` (number): The ID of the analytics pipeline.\n \n- `sparkResourceConfig` (object): Configuration for Spark resources.\n \n - `yunikorn` (object): Configuration for YuniKorn resource manager.\n \n - `minExecutors` (number): Minimum number of executors.\n \n - `maxExecutors` (number): Maximum number of executors.\n \n - `executorCores` (number): Number of cores per executor.\n \n - `executorMemory` (string): Memory allocated to each executor.\n \n - `driverCores` (number): Number of cores for the driver.\n \n - `driverMemory` (string): Memory allocated to the driver.\n \n - `additionalConfiguration` (object): Additional configuration details.\n \n- `ruleItemSelections` (array of numbers): Array of rule item selections.\n \n- `includeInQualityScore` (boolean): Indicates whether to include in quality score.\n \n\n#### Response Body\n\n- `execution`: Object containing details of the execution including `analysisJob`, `analyticsPipelineId`, `dataPersistenceEnabled`, and more.\n \n- `items`: Array of items containing execution details such as `executionId`, `finishedAt`, `isError`, `leftAnalyticsPipelineName`, `rightAnalyticsPipelineName`, and more.\n\n**Authorization**: requires `ASSET_VIEW` and `POLICY_EXECUTE`.\n\n**Request body**: `PolicyExecutionRequest`.","parameters":[{"name":"name","in":"path","description":"Policy name","required":true,"schema":{"type":"string"}},{"name":"accessKey","in":"header","description":"API access key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"secretKey","in":"header","description":"API secret key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"Accept","in":"header","description":"Always set to application/json","required":true,"schema":{"type":"string"}},{"name":"Content-Type","in":"header","description":"Always set to application/json","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"Execution request configuration","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PolicyExecutionRequest"}}}},"responses":{"200":{"description":"Execution details","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Reconciliation.Execution"}}}},"400":{"description":"Custom SQL / dataplane compatibility validation failure"},"404":{"description":"Policy with the given name: {name} not found"},"422":{"description":"Previous execution of rule '{name}' has not completed. Not running the rule."}}},"get":{"operationId":"getReconciliationExecutionsByName","tags":["Reconciliation Rules"],"summary":"List executions for a reconciliation rule by name","description":"This endpoint retrieves a list of all Reconciliation policy executions for a particular tenant based on the provided policy name.\n\n#### Response\n\nThe response will be in JSON format and will contain an array of `executions` and `meta` information. Each `execution` object includes details about the analysis job, execution status, and other relevant information. The `items` array within the `executions` contains detailed information about each execution, including any errors and result details.\n\n**Authorization**: requires `ASSET_VIEW` and `POLICY_VIEW`.","parameters":[{"name":"name","in":"path","description":"Policy name","required":true,"schema":{"type":"string"}},{"name":"accessKey","in":"header","description":"API access key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"secretKey","in":"header","description":"API secret key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"Accept","in":"header","description":"Always set to application/json","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","description":"Page number (0-based, default 0)","schema":{"type":"integer"}},{"name":"size","in":"query","description":"Number of items per page (default 25)","schema":{"type":"integer"}},{"name":"sortBy","in":"query","description":"Sort field and direction (e.g., name:asc or createdAt:desc)","schema":{"type":"string"}}],"responses":{"200":{"description":"Paginated list of executions","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Reconciliation.ExecutionsResponse"}}}},"404":{"description":"Policy with the given name: {name} not found"}}}},"/catalog-server/api/rules/data-cadence/{identifier}":{"get":{"operationId":"getDataCadenceRule","tags":["Data Cadence Rules"],"summary":"Get a data cadence rule by ID or name","description":"Returns details of a data cadence rule by its ID or name.\nOptionally specify a version to retrieve a specific version.\n\n**Authorization**: requires `ASSET_VIEW` and `POLICY_VIEW` resource permissions.","parameters":[{"name":"identifier","in":"path","description":"Policy ID (numeric) or policy name","required":true,"schema":{"type":"string"}},{"name":"accessKey","in":"header","description":"API access key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"secretKey","in":"header","description":"API secret key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"Accept","in":"header","description":"Always set to application/json","required":true,"schema":{"type":"string"}},{"name":"version","in":"query","description":"Specific policy version to retrieve (optional; invalid values are ignored)","schema":{"type":"integer"}}],"responses":{"200":{"description":"Data cadence policy details","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DataCadenceRule.RuleResponse"}}}},"400":{"description":"Bad Request — missing or invalid path parameter"},"404":{"description":"Policy not found (identifier did not resolve), or\nData cadence policy with id {ruleId} not found, or\nData cadence policy not found (service layer)"}}}},"/catalog-server/api/rules/data-cadence/executions/{executionId}/result":{"get":{"operationId":"getDataCadenceExecutionResult","tags":["Data Cadence Rules"],"summary":"Get data cadence execution result","description":"This endpoint returns the result for a Data Freshness policy. The policy execution result includes the execution history, details, and its summary.\n\n**Authorization**: requires `POLICY_VIEW` resource permission (does not require `ASSET_VIEW`).","parameters":[{"name":"executionId","in":"path","description":"Numeric execution ID","required":true,"schema":{"type":"integer"}},{"name":"accessKey","in":"header","description":"API access key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"secretKey","in":"header","description":"API secret key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"Accept","in":"header","description":"Always set to application/json","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Policy execution result","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExecutionResult"}}}},"400":{"description":"Bad Request — missing or non-numeric executionId"},"404":{"description":"Execution not found."}}}},"/catalog-server/api/rules/data-cadence/byAsset/{identifier}":{"get":{"operationId":"getDataCadenceByAsset","tags":["Data Cadence Rules"],"summary":"Get data cadence rule by asset ID","description":"Returns the data cadence (Data Freshness) policy associated with a numeric asset ID.\n\n**Authorization**: requires `ASSET_VIEW` and `POLICY_VIEW` resource permissions.\n\n**Selection**: when multiple data cadence policies exist for the asset, the first matching\npolicy is returned (`findAllByAssetIds` + `firstOrNull { type == DATA_CADENCE }`).\n\n**Response**: `DataCadenceRule.RuleResponse` with required `rule` and optional `details` (rule items).","parameters":[{"name":"identifier","in":"path","description":"Numeric asset ID","required":true,"schema":{"type":"integer"}},{"name":"accessKey","in":"header","description":"API access key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"secretKey","in":"header","description":"API secret key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"Accept","in":"header","description":"Always set to application/json","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Data cadence policy for the asset","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DataCadenceRule.RuleResponse"}}}},"400":{"description":"Bad Request — missing or non-numeric identifier"},"404":{"description":"Data cadence policy for asset {assetId} not found"}}}},"/catalog-server/api/rules/profile-anomaly/{identifier}":{"get":{"operationId":"getProfileAnomalyRule","tags":["Profile Anomaly Rules"],"summary":"Get a profile anomaly rule by ID or name","description":"Returns a profile anomaly (Data Anomaly) policy by numeric ID or policy name.\n\n**Authorization**: requires `ASSET_VIEW` and `POLICY_VIEW`.\n\n**Version**: optional `version` query parameter. Invalid values are ignored (treated as latest).","parameters":[{"name":"identifier","in":"path","description":"Policy ID (numeric) or policy name","required":true,"schema":{"type":"string"}},{"name":"accessKey","in":"header","description":"API access key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"secretKey","in":"header","description":"API secret key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"Accept","in":"header","description":"Always set to application/json","required":true,"schema":{"type":"string"}},{"name":"version","in":"query","description":"Specific policy version (optional; invalid values ignored)","schema":{"type":"integer"}}],"responses":{"200":{"description":"Profile anomaly rule details","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProfileAnomalyRule.RuleResponse"}}}},"404":{"description":"Policy not found (identifier did not resolve), or\nProfile anomaly policy with id {ruleId} not found, or\nProfile anomaly policy with id {ruleId} and version {version} not found"}}}},"/catalog-server/api/rules/profile-anomaly/{id}":{"put":{"operationId":"updateProfileAnomalyRule","tags":["Profile Anomaly Rules"],"summary":"Update a profile anomaly rule","description":"Updates a profile anomaly policy by numeric rule ID.\n\n**Authorization**: requires `ASSET_VIEW` and `POLICY_MODIFY`.\n\n**Request body**: `ProfileAnomalyRule.RuleRequest`.","parameters":[{"name":"id","in":"path","description":"Numeric rule ID","required":true,"schema":{"type":"integer"}},{"name":"accessKey","in":"header","description":"API access key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"secretKey","in":"header","description":"API secret key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"Accept","in":"header","description":"Always set to application/json","required":true,"schema":{"type":"string"}},{"name":"Content-Type","in":"header","description":"Always set to application/json","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"Updated profile anomaly rule","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProfileAnomalyRule.RuleRequest"}}}},"responses":{"200":{"description":"Updated profile anomaly rule","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProfileAnomalyRule.RuleResponse"}}}},"400":{"description":"Bad Request — missing or non-numeric id"}}}},"/catalog-server/api/rules/profile-anomaly":{"post":{"operationId":"createProfileAnomaly","tags":["Profile Anomaly Rules"],"summary":"Create a profile anomaly rule","description":"Creates a new profile anomaly (Data Anomaly) detection policy.\n\n**Authorization**: requires `ASSET_VIEW` and `POLICY_CREATE`.\n\n**Request body**: `ProfileAnomalyRule.RuleRequest`.","parameters":[{"name":"accessKey","in":"header","description":"API access key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"secretKey","in":"header","description":"API secret key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"Accept","in":"header","description":"Always set to application/json","required":true,"schema":{"type":"string"}},{"name":"Content-Type","in":"header","description":"Always set to application/json","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"Profile anomaly rule definition","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProfileAnomalyRule.RuleRequest"}}}},"responses":{"200":{"description":"Created profile anomaly rule","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProfileAnomalyRule.RuleResponse"}}}},"400":{"description":"Bad Request — validation failure"}}}},"/catalog-server/api/rules/profile-anomaly/byAsset/{identifier}":{"get":{"operationId":"getProfileAnomalyByAsset","tags":["Profile Anomaly Rules"],"summary":"Get profile anomaly rule by asset ID","description":"Returns the profile anomaly policy for a specific asset.\n\n**Authorization**: requires `ASSET_VIEW` and `POLICY_VIEW`.\n\n**Note**: path parameter must be a **numeric asset ID** only (not asset name).\nReturns a single policy (`listOneByAsset`), not a list.","parameters":[{"name":"identifier","in":"path","description":"Numeric asset ID","required":true,"schema":{"type":"integer"}},{"name":"accessKey","in":"header","description":"API access key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"secretKey","in":"header","description":"API secret key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"Accept","in":"header","description":"Always set to application/json","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Profile anomaly rule for the asset","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProfileAnomalyRule.RuleResponse"}}}},"400":{"description":"Bad Request — missing or non-numeric identifier"},"404":{"description":"Either the asset is not present, or the user doesn't have permissions to perform the operation., or\nProfile anomaly policy for asset {assetId} not found"}}}},"/catalog-server/api/rules/profile-anomaly/executions/{executionId}/result":{"get":{"operationId":"getProfileAnomalyExecutionResult","tags":["Profile Anomaly Rules"],"summary":"Get profile anomaly execution result","description":"The `Get Policy Execution Result` endpoint retrieves the result for a Data Anomaly policy execution, including the execution history, details, and summary.\n\n**Authorization**: requires `ASSET_VIEW` and `POLICY_VIEW`.","parameters":[{"name":"executionId","in":"path","description":"Numeric execution ID","required":true,"schema":{"type":"integer"}},{"name":"accessKey","in":"header","description":"API access key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"secretKey","in":"header","description":"API secret key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"Accept","in":"header","description":"Always set to application/json","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Execution result","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExecutionResult"}}}},"400":{"description":"Bad Request — missing or non-numeric executionId"},"404":{"description":"Execution not found."}}}},"/catalog-server/api/rules/data-drift":{"post":{"operationId":"createDataDriftRule","tags":["Data Drift Rules"],"summary":"Create a data drift rule","description":"This endpoint allows users to create a Data Drift policy. This request should be sent as an HTTP POST to the specified URL.\n\n#### Request Body\n\n- `rule` (object)\n \n - `enabled` (boolean): Indicates whether the policy is enabled.\n \n - `name` (string): Name of the policy.\n \n - `description` (string): Description of the policy.\n \n - `thresholdLevel` (object)\n \n - `success` (number): Threshold level for success.\n \n - `warning` (number): Threshold level for warning.\n \n - `type` (string): Type of the rule.\n \n - `backingAsset` (object)\n \n - `tableAssetId` (number): ID of the table asset.\n \n - `notificationChannels` (object)\n \n - `configuredNotificationGroupIds` (array): Array of configured notification group IDs.\n \n - `notifyOn` (array): Array of notification types to be notified on.\n \n - `notifyOnSuccess` (boolean): Indicates whether to notify on success.\n \n - `reNotifyFactor` (number): Re-notification factor.\n \n - `interval` (string): Interval for the rule.\n \n - `policyGroups` (array)\n \n - `id` (number): ID of the policy group.\n \n - `tags` (array)\n \n - `name` (string): Name of the tag.\n \n- `items` (array)\n \n - `metricType` (string): Type of the metric.\n \n - `columnName` (string): Name of the column.\n \n - `driftThreshold` (number): Drift threshold.\n \n - `executionOrder` (number): Execution order.\n \n - `businessExplanation` (string): Business explanation.\n \n - `weightage` (number): Weightage.\n \n\n#### Response\n\nThe response will contain details and the added rule:\n\n- `details` (object)\n \n - Various details of the added rule.\n \n- `rule` (object)\n \n - Details of the created policy.\n\n**Authorization**: requires `ASSET_VIEW` and `POLICY_CREATE`.\n\n**Request body**: `DataDrift.RuleRequest` with:\n- `rule` (`DataDriftRule`): name, description, enabled, interval, thresholdLevel, backingAsset,\n notificationChannels, tags, policyGroups, schedule fields, etc.\n- `items` (`Item[]`): metricType (`DataDriftMetricType`), columnName, driftThreshold, executionOrder,\n weightage, optional value map, optional name.","parameters":[{"name":"accessKey","in":"header","description":"API access key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"secretKey","in":"header","description":"API secret key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"Accept","in":"header","description":"Always set to application/json","required":true,"schema":{"type":"string"}},{"name":"Content-Type","in":"header","description":"Always set to application/json","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"Data drift rule definition","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DataDrift.RuleRequest"}}}},"responses":{"200":{"description":"Created data drift rule","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DataDrift.RuleResponse"}}}},"400":{"description":"Bad Request — invalid policy name or validation failure"}}}},"/catalog-server/api/rules/data-drift/{identifier}":{"get":{"operationId":"getDataDriftRule","tags":["Data Drift Rules"],"summary":"Get a data drift rule by ID or name","description":"Returns a data drift policy by numeric ID or policy name.\n\n**Authorization**: requires `ASSET_VIEW` and `POLICY_VIEW`.\n\n**Version selection**: optional `version` query parameter. When `onlyExecutedVersion=true` and\n`version` is omitted, uses the last completed execution's rule version. Invalid `version` values\nare ignored.","parameters":[{"name":"identifier","in":"path","description":"Policy ID (numeric) or policy name","required":true,"schema":{"type":"string"}},{"name":"accessKey","in":"header","description":"API access key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"secretKey","in":"header","description":"API secret key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"Accept","in":"header","description":"Always set to application/json","required":true,"schema":{"type":"string"}},{"name":"version","in":"query","description":"Specific policy version (optional; invalid values ignored)","schema":{"type":"integer"}},{"name":"onlyExecutedVersion","in":"query","description":"When true and version omitted, return last executed version","schema":{"type":"boolean"}}],"responses":{"200":{"description":"Data drift rule details","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DataDrift.RuleResponse"}}}},"400":{"description":"Bad Request — missing or invalid path parameter"},"404":{"description":"Policy not found (identifier did not resolve), or\nData Drift rule with id {ruleId} not found"}}}},"/catalog-server/api/rules/data-drift/{id}":{"put":{"operationId":"updateDataDriftRule","tags":["Data Drift Rules"],"summary":"Update a data drift rule","description":"This endpoint enables users to update various attributes of a Data Drift policy. Users can enable or disable the policy, assign a name, provide a description, and input policy metrics such as completeness, distinct values, average length, minimum and maximum length, case sensitivity (upper, lower, mixed), and standard deviation.\n\n**Authorization**: requires `ASSET_VIEW` and `POLICY_MODIFY`.\n\n**Request body**: `DataDrift.RuleRequest` (same shape as create). Items must be non-empty.\nPolicy name is validated via `isValidNameText()`.","parameters":[{"name":"id","in":"path","description":"Numeric rule ID","required":true,"schema":{"type":"integer"}},{"name":"accessKey","in":"header","description":"API access key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"secretKey","in":"header","description":"API secret key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"Accept","in":"header","description":"Always set to application/json","required":true,"schema":{"type":"string"}},{"name":"Content-Type","in":"header","description":"Always set to application/json","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"Updated data drift rule","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DataDrift.RuleRequest"}}}},"responses":{"200":{"description":"Updated data drift rule","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DataDrift.RuleResponse"}}}},"400":{"description":"Bad Request — missing or non-numeric id, invalid name, or validation failure"},"422":{"description":"Rules size should not be zero, or entity is not a data drift rule"}}},"delete":{"operationId":"deleteDataDriftRule","tags":["Data Drift Rules"],"summary":"Delete (archive) a data drift rule","description":"This endpoint allows users to delete a specific Data Drift policy by its id.\n\n**Authorization**: requires `ASSET_VIEW` and `POLICY_MODIFY`.","parameters":[{"name":"id","in":"path","description":"Numeric rule ID","required":true,"schema":{"type":"integer"}},{"name":"accessKey","in":"header","description":"API access key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"secretKey","in":"header","description":"API secret key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"Accept","in":"header","description":"Always set to application/json","required":true,"schema":{"type":"string"}},{"name":"message","in":"query","description":"Optional archival reason","schema":{"type":"string"}}],"responses":{"204":{"description":"Data drift rule archived"},"400":{"description":"Bad Request — missing or non-numeric id"},"404":{"description":"Data Drift rule with id {id} not found, or Data drift policy with id {id} not found (service)"}}}},"/catalog-server/api/rules/data-drift/{id}/executions":{"get":{"operationId":"getDataDriftExecutions","tags":["Data Drift Rules"],"summary":"List executions for a data drift rule","description":"This endpoint returns a list of all the Data Drift policy executions based on the specified policy id.\n\n**Authorization**: requires `ASSET_VIEW` and `POLICY_VIEW`.","parameters":[{"name":"id","in":"path","description":"Numeric rule ID","required":true,"schema":{"type":"integer"}},{"name":"accessKey","in":"header","description":"API access key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"secretKey","in":"header","description":"API secret key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"Accept","in":"header","description":"Always set to application/json","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","description":"Page number (0-based, default 0)","schema":{"type":"integer"}},{"name":"size","in":"query","description":"Number of items per page (default 25)","schema":{"type":"integer"}},{"name":"sortBy","in":"query","description":"Sort field and direction (e.g., name:asc or createdAt:desc)","schema":{"type":"string"}}],"responses":{"200":{"description":"List of data drift executions","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DataDrift.ExecutionsResponse"}}}},"400":{"description":"Bad Request — missing or non-numeric id"}}}},"/catalog-server/api/rules/data-drift/executions/{id}":{"get":{"operationId":"getDataDriftExecutionDetail","tags":["Data Drift Rules"],"summary":"Get data drift execution details","description":"This endpoint provides comprehensive information about a particular execution of a Data Drift policy.\n\n**Authorization**: requires `ASSET_VIEW` and `POLICY_VIEW`.","parameters":[{"name":"id","in":"path","description":"Numeric execution ID","required":true,"schema":{"type":"integer"}},{"name":"accessKey","in":"header","description":"API access key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"secretKey","in":"header","description":"API secret key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"Accept","in":"header","description":"Always set to application/json","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Data drift execution details","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DataDrift.Execution"}}}},"400":{"description":"Bad Request — missing or non-numeric id"},"404":{"description":"Data Drift rule Execution with id {executionId} not found"}}}},"/catalog-server/api/rules/data-drift/executions/{id}/result":{"get":{"operationId":"getDataDriftExecutionResult","tags":["Data Drift Rules"],"summary":"Get data drift execution result","description":"This endpoint returns the execution result for a Data Drift policy. The execution result includes the execution history, details, and summary.\n\n**Authorization**: requires `ASSET_VIEW` and `POLICY_VIEW`.","parameters":[{"name":"id","in":"path","description":"Numeric execution ID","required":true,"schema":{"type":"integer"}},{"name":"accessKey","in":"header","description":"API access key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"secretKey","in":"header","description":"API secret key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"Accept","in":"header","description":"Always set to application/json","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Execution result","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExecutionResult"}}}},"400":{"description":"Bad Request — missing or non-numeric id"},"404":{"description":"Execution not found."}}}},"/catalog-server/api/rules/data-drift/byName/{name}":{"put":{"operationId":"updateDataDriftByName","tags":["Data Drift Rules"],"summary":"Update a data drift rule by name","description":"This endpoint enables users to update various attributes of a Data Drift policy `byName`. Users can enable or disable the policy, assign a name, provide a description, and input policy metrics such as completeness, distinct values, average length, minimum and maximum length, case sensitivity (upper, lower, mixed), and standard deviation.\n\n**Authorization**: requires `ASSET_VIEW` and `POLICY_MODIFY`.\n\n**Request body**: `DataDrift.RuleRequest` (same shape as create).","parameters":[{"name":"name","in":"path","description":"Policy name","required":true,"schema":{"type":"string"}},{"name":"accessKey","in":"header","description":"API access key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"secretKey","in":"header","description":"API secret key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"Accept","in":"header","description":"Always set to application/json","required":true,"schema":{"type":"string"}},{"name":"Content-Type","in":"header","description":"Always set to application/json","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"Updated data drift rule","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DataDrift.RuleRequest"}}}},"responses":{"200":{"description":"Updated data drift rule","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DataDrift.RuleResponse"}}}},"404":{"description":"Policy with the given name: {name} not found"},"422":{"description":"Rules size should not be zero, or entity is not a data drift rule"}}},"delete":{"operationId":"deleteDataDriftByName","tags":["Data Drift Rules"],"summary":"Delete (archive) a data drift rule by name","description":"This endpoint deletes a specific Data Drift policy by its name.\n\n**Authorization**: requires `ASSET_VIEW` and `POLICY_MODIFY`.","parameters":[{"name":"name","in":"path","description":"Policy name","required":true,"schema":{"type":"string"}},{"name":"accessKey","in":"header","description":"API access key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"secretKey","in":"header","description":"API secret key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"Accept","in":"header","description":"Always set to application/json","required":true,"schema":{"type":"string"}},{"name":"message","in":"query","description":"Optional archival reason","schema":{"type":"string"}}],"responses":{"204":{"description":"Data drift rule archived"},"404":{"description":"Policy with the given name: {name} not found, or\nData Drift rule with id {ruleId} not found"}}},"get":{"operationId":"getDataDriftByName","tags":["Data Drift Rules"],"summary":"Get a data drift rule by name","description":"This endpoint makes an HTTP GET request to retrieve Data Drift policy details based on the provided policy name.\n\n#### Response\n\nThe response of this request is a JSON schema representing the policy details.\n\n**Authorization**: requires `ASSET_VIEW` and `POLICY_VIEW`.","parameters":[{"name":"name","in":"path","description":"Policy name","required":true,"schema":{"type":"string"}},{"name":"accessKey","in":"header","description":"API access key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"secretKey","in":"header","description":"API secret key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"Accept","in":"header","description":"Always set to application/json","required":true,"schema":{"type":"string"}},{"name":"version","in":"query","description":"Specific policy version (optional; invalid values ignored)","schema":{"type":"integer"}},{"name":"onlyExecutedVersion","in":"query","description":"When true and version omitted, return last executed version","schema":{"type":"boolean"}}],"responses":{"200":{"description":"Data drift rule details","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DataDrift.RuleResponse"}}}},"404":{"description":"Policy with the given name: {name} not found, or\nData Drift rule with id {ruleId} not found"}}}},"/catalog-server/api/rules/data-drift/byName/{name}/executions":{"get":{"operationId":"getDataDriftExecutionsByName","tags":["Data Drift Rules"],"summary":"List executions for a data drift rule by name","description":"This endpoint returns a list of all Data Drift policy executions by the policy name.\n\n**Authorization**: requires `ASSET_VIEW` and `POLICY_VIEW`.","parameters":[{"name":"name","in":"path","description":"Policy name","required":true,"schema":{"type":"string"}},{"name":"accessKey","in":"header","description":"API access key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"secretKey","in":"header","description":"API secret key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"Accept","in":"header","description":"Always set to application/json","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","description":"Page number (0-based, default 0)","schema":{"type":"integer"}},{"name":"size","in":"query","description":"Number of items per page (default 25)","schema":{"type":"integer"}},{"name":"sortBy","in":"query","description":"Sort field and direction (e.g., name:asc or createdAt:desc)","schema":{"type":"string"}}],"responses":{"200":{"description":"List of data drift executions","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DataDrift.ExecutionsResponse"}}}},"404":{"description":"Policy with the given name: {name} not found"}}}},"/catalog-server/api/rules/schema-drift":{"post":{"operationId":"createSchemaDriftRule","tags":["Schema Drift Rules"],"summary":"Create a schema drift rule","description":"This endpoint allows user to create a Schema Drift policy.\n\n#### Request Body\n\n- `rule` (object)\n \n - `enabled` (boolean): Specifies if the rule is enabled.\n \n - `name` (string): The name of the rule.\n \n - `description` (string): Description of the rule.\n \n - `type` (string): Type of the rule.\n \n - `backingAsset` (object)\n \n - `tableAssetId` (number): ID of the table asset.\n \n - `policyGroups` (array): Array of policy groups.\n \n - `notificationChannels` (object)\n \n - `notifyOn` (array): Array of notifications.\n \n - `configuredNotificationGroupIds` (array): Array of configured notification group IDs.\n \n - `notifyOnSuccess` (boolean): Specifies if notification on success is enabled.\n \n - `severity` (string): Severity level.\n \n - `reNotifyFactor` (number): Re-notification factor.\n \n - `alertsEnabled` (boolean): Specifies if alerts are enabled.\n \n - `items` _(array)_: One or more target assets and their schema drift configurations.\n \n - `assetId` _(number)_: ID of the asset being monitored.\n \n - `schemaDriftRuleConfig`_(object)_: Configurations for schema drift detection.\n \n - `assetAddition`_(boolean)_: Detects if new assets (e.g., columns) are added.\n \n - `assetDeletion` _(boolean)_: Detects if assets are removed.\n \n - `dataType` _(boolean)_: Detects changes in data types.\n \n - `assetRelationChange` _(boolean)_: Detects changes in asset relationships.\n \n - `assetMetaData` _(boolean)_: Detects changes in asset metadata.\n \n - `metaDataConfigs` _(array)_: Optional. Configuration of metadata fields to be monitored.\n \n - `selectedMetaData` _(array)_: Optional. List of selected metadata fields to track.\n \n\n#### Response\n\nThe response will contain details and the created rule object with the following fields:\n\n- `archivalReason` (string): Reason for archival.\n \n- `archived` (boolean): Specifies if the rule is archived.\n \n- `assemblyId` (string): ID of the assembly.\n \n- `autoCreated` (boolean): Specifies if the rule was auto-created.\n \n- `backingAsset` (object): Details of the backing asset.\n \n- `createdAt` (string): Date and time of creation.\n \n- `createdBy` (string): Creator of the rule.\n \n- `description` (string): Description of the rule.\n \n- `enabled` (boolean): Specifies if the rule is enabled.\n \n- `id` (number): ID of the rule.\n \n- `lastUpdatedBy` (string): Last updated by.\n \n- `name` (string): Name of the rule.\n \n- `notificationChannels` (object): Details of notification channels.\n \n- `policyGroups` (array): Array of policy groups.\n \n- `sparkResourceConfig` (object): Spark resource configuration.\n \n- `tags` (array): Array of tags.\n \n- `tenantId` (string): ID of the tenant.\n \n- `thresholdLevel` (object): Threshold level details.\n \n- `type` (string): Type of the rule.\n \n- `updatedAt` (string): Date and time of last update.\n \n- `version` (number): Version of the rule.\n\n**Authorization**: requires `ASSET_VIEW` and `POLICY_CREATE`.\n\n**Request body**: `SchemaDriftRule.RuleRequest` with top-level `rule` (policy metadata, backingAsset, notificationChannels) and `items` (assetId + schemaDriftRuleConfig per monitored asset). Items are not nested under `rule`.","parameters":[{"name":"accessKey","in":"header","description":"API access key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"secretKey","in":"header","description":"API secret key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"Accept","in":"header","description":"Always set to application/json","required":true,"schema":{"type":"string"}},{"name":"Content-Type","in":"header","description":"Always set to application/json","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"Schema drift rule definition","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SchemaDriftRule.RuleRequest"}}}},"responses":{"200":{"description":"Created schema drift rule","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SchemaDriftRule.RuleResponse"}}}},"400":{"description":"Bad Request"}}}},"/catalog-server/api/rules/schema-drift/{id}":{"put":{"operationId":"updateSchemaDriftRule","tags":["Schema Drift Rules"],"summary":"Update a schema drift rule","description":"This method is used to update a Schema Drift policy by sending a request to the specified endpoint.\n\n**Request Body**\n\nThe request body should contain a JSON payload with the following fields:\n\n- `enabled` (boolean): Indicates whether the policy is enabled.\n \n- `name` (string): The name of the policy.\n \n- `description` (string): Description of the policy.\n \n- `type` (string): Type of the policy.\n \n- `backingAsset` (object): Object containing details about the backing asset, such as `tableAssetId`.\n \n- `policyGroups` (array): Array of policy groups.\n \n- `notificationChannels` (object): Object containing notification channel details, such as `notifyOn`, `configuredNotificationGroupIds`, `notifyOnSuccess`, `severity`, `reNotifyFactor`, and `alertsEnabled`.\n \n\nThe response to this request will be in JSON format with a status code of 200. It will contain details and rule information, including archival status, backing asset details, creation and update information, policy groups, tenant ID, threshold level, and version.\n\n**Authorization**: requires `ASSET_VIEW` and `POLICY_MODIFY`.\n\n**Request body**: `SchemaDriftRule.RuleRequest` (`rule` + `items`).","parameters":[{"name":"id","in":"path","description":"Numeric rule ID","required":true,"schema":{"type":"integer"}},{"name":"accessKey","in":"header","description":"API access key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"secretKey","in":"header","description":"API secret key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"Accept","in":"header","description":"Always set to application/json","required":true,"schema":{"type":"string"}},{"name":"Content-Type","in":"header","description":"Always set to application/json","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"Updated schema drift rule","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SchemaDriftRule.RuleRequest"}}}},"responses":{"200":{"description":"Updated schema drift rule","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SchemaDriftRule.RuleResponse"}}}},"400":{"description":"Bad Request — missing or non-numeric id"},"422":{"description":"Cannot process a malformed request."}}},"delete":{"operationId":"deleteSchemaDriftRule","tags":["Schema Drift Rules"],"summary":"Delete (archive) a schema drift rule","description":"This endpoint is used to delete a specific Schema Drift policy by its id.\n\n**Authorization**: requires `ASSET_VIEW` and `POLICY_MODIFY`.","parameters":[{"name":"id","in":"path","description":"Numeric rule ID","required":true,"schema":{"type":"integer"}},{"name":"accessKey","in":"header","description":"API access key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"secretKey","in":"header","description":"API secret key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"Accept","in":"header","description":"Always set to application/json","required":true,"schema":{"type":"string"}},{"name":"message","in":"query","description":"Optional archival reason","schema":{"type":"string"}}],"responses":{"204":{"description":"Schema drift rule archived"},"400":{"description":"Bad Request — missing or non-numeric id"},"404":{"description":"Schema Drift rule with id {id} not found"}}},"get":{"operationId":"getSchemaDriftRule","tags":["Schema Drift Rules"],"summary":"Get a schema drift rule","description":"This endpoint retrieves Schema Drift policy information for a specific policy ID.\n\n**Authorization**: requires `ASSET_VIEW` and `POLICY_VIEW`.","parameters":[{"name":"id","in":"path","description":"Numeric rule ID","required":true,"schema":{"type":"integer"}},{"name":"accessKey","in":"header","description":"API access key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"secretKey","in":"header","description":"API secret key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"Accept","in":"header","description":"Always set to application/json","required":true,"schema":{"type":"string"}},{"name":"version","in":"query","description":"Specific rule version to retrieve","schema":{"type":"integer"}}],"responses":{"200":{"description":"Schema drift rule details","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SchemaDriftRule.RuleResponse"}}}},"400":{"description":"Bad Request — missing or non-numeric id"},"404":{"description":"Schema Drift rule with id {id} not found"}}}},"/catalog-server/api/rules/schema-drift/{id}/executions":{"get":{"operationId":"getSchemaDriftExecutions","tags":["Schema Drift Rules"],"summary":"List executions for a schema drift rule","description":"This endpoint retrieves a list of executions run for a specific Schema Drift policy by its `id`.\n\n**Authorization**: requires `ASSET_VIEW` and `POLICY_VIEW`.","parameters":[{"name":"id","in":"path","description":"Numeric rule ID","required":true,"schema":{"type":"integer"}},{"name":"accessKey","in":"header","description":"API access key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"secretKey","in":"header","description":"API secret key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"Accept","in":"header","description":"Always set to application/json","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","description":"Page number (0-based, default 0)","schema":{"type":"integer"}},{"name":"size","in":"query","description":"Number of items per page (default 25)","schema":{"type":"integer"}},{"name":"sortBy","in":"query","description":"Sort field and direction (e.g., name:asc or createdAt:desc)","schema":{"type":"string"}}],"responses":{"200":{"description":"List of schema drift executions","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SchemaDriftRule.ExecutionsResponse"}}}},"400":{"description":"Bad Request — missing or non-numeric id"}}}},"/catalog-server/api/rules/schema-drift/executions/{id}/result":{"get":{"operationId":"getSchemaDriftExecutionResult","tags":["Schema Drift Rules"],"summary":"Get schema drift execution result","description":"This method returns the result for a Schema Drift policy execution. The execution result includes the execution history, details, and summary.\n\n**Authorization**: requires `ASSET_VIEW` and `POLICY_VIEW`.","parameters":[{"name":"id","in":"path","description":"Numeric execution ID","required":true,"schema":{"type":"integer"}},{"name":"accessKey","in":"header","description":"API access key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"secretKey","in":"header","description":"API secret key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"Accept","in":"header","description":"Always set to application/json","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Execution result","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExecutionResult"}}}},"400":{"description":"Bad Request — missing or non-numeric id"},"404":{"description":"Execution not found."}}}},"/catalog-server/api/rules/schema-drift/byName/{name}":{"put":{"operationId":"updateSchemaDriftByName","tags":["Schema Drift Rules"],"summary":"Update a schema drift rule by name","description":"This endpoint allows users to update a Schema Drift policy by its name.\n\n#### Request Body\n\n- `enabled` (boolean): Indicates whether the policy is enabled.\n \n- `name` (string): The name of the policy.\n \n- `description` (string): Description of the policy.\n \n- `type` (string): Type of the policy.\n \n- `backingAsset` (object): Details of the backing asset.\n \n - `tableAssetId` (integer): ID of the table asset.\n \n- `policyGroups` (array): Array of policy groups.\n \n- `notificationChannels` (object): Notification channels configuration.\n \n - `notifyOn` (array): Array of notification types to notify on.\n \n - `configuredNotificationGroupIds` (array): Array of configured notification group IDs.\n \n - `notifyOnSuccess` (boolean): Indicates whether to notify on success.\n \n - `severity` (string): Severity level for notifications.\n \n - `reNotifyFactor` (integer): Re-notification factor.\n \n - `alertsEnabled` (boolean): Indicates whether alerts are enabled.\n \n\n#### Response\n\nThe response will contain the updated details of the policy including:\n\n- `enabled` (boolean): Indicates whether the policy is enabled.\n \n- `name` (string): The name of the policy.\n \n- `description` (string): Description of the policy.\n \n- `type` (string): Type of the policy.\n \n- `backingAsset` (object): Details of the backing asset.\n \n - `tableAssetId` (integer): ID of the table asset.\n \n- `policyGroups` (array): Array of policy groups.\n \n- `notificationChannels` (object): Notification channels configuration.\n \n - `alertsEnabled` (boolean): Indicates whether alerts are enabled.\n \n - `configuredNotificationGroupIds` (array): Array of configured notification group IDs.\n \n - `notifyOn` (array): Array of notification types to notify on.\n \n - `notifyOnSuccess` (boolean): Indicates whether to notify on success.\n \n - `severity` (string): Severity level for notifications.\n \n- `details` (object): Additional details of the policy update.\n \n\n#### Example Response\n\n``` json\n{\n \"details\": {\n \"backingAssetId\": 0,\n \"continueExecutionOnFailure\": true,\n \"id\": 0,\n \"isCompositeRule\": true,\n \"isSegmented\": true,\n \"items\": [],\n \"ruleId\": 0,\n \"segments\": null\n },\n \"rule\": {\n \"archivalReason\": null,\n \"archived\": true,\n \"assemblyId\": null,\n \"autoCreated\": true,\n \"backingAsset\": {\n \"customQuery\": null,\n \"customTableAssetIds\": null,\n \"id\": 0,\n \"marker\": null,\n \"ruleId\": 0,\n \"tableAlias\": null,\n \"tableAssetId\": 0,\n \"tableAssetUid\": null\n },\n \"createdAt\": \"\",\n \"createdBy\": \"\",\n \"description\": \"\",\n \"enabled\": true,\n \"id\": 0,\n \"lastUpdatedBy\": \"\",\n \"name\": \"\",\n \"notificationChannels\": {\n \"alertsEnabled\": true,\n \"configuredNotificationGroupIds\": [0],\n \"notifyOn\": [],\n \"notifyOnSuccess\": true,\n \"reNotifyFactor\": 0,\n \"severity\": \"\",\n \"tags\": null\n },\n \"policyGroups\": [],\n \"sparkResourceConfig\": null,\n \"tags\": [],\n \"tenantId\": \"\",\n \"thresholdLevel\": {\n \"success\": 0,\n \"warning\": null\n },\n \"type\": \"\",\n \"updatedAt\": \"\",\n \"version\": 0\n }\n}\n\n ```\n\n**Authorization**: requires `ASSET_VIEW` and `POLICY_MODIFY`.\n\n**Request body**: `SchemaDriftRule.RuleRequest` (`rule` + `items`). Response: `SchemaDriftRule.RuleResponse` with `rule` and optional `details`.","parameters":[{"name":"name","in":"path","description":"Policy name","required":true,"schema":{"type":"string"}},{"name":"accessKey","in":"header","description":"API access key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"secretKey","in":"header","description":"API secret key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"Accept","in":"header","description":"Always set to application/json","required":true,"schema":{"type":"string"}},{"name":"Content-Type","in":"header","description":"Always set to application/json","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"Updated schema drift rule","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SchemaDriftRule.RuleRequest"}}}},"responses":{"200":{"description":"Updated schema drift rule","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SchemaDriftRule.RuleResponse"}}}},"404":{"description":"Rule with the given name: {name} not found"},"422":{"description":"Cannot process a malformed request."}}},"delete":{"operationId":"deleteSchemaDriftByName","tags":["Schema Drift Rules"],"summary":"Delete (archive) a schema drift rule by name","description":"### Delete Policy By Name\n\nThis endpoint is used to delete a specific Schema Drift policy by its name.\n\n**Authorization**: requires `ASSET_VIEW` and `POLICY_MODIFY`.","parameters":[{"name":"name","in":"path","description":"Policy name","required":true,"schema":{"type":"string"}},{"name":"accessKey","in":"header","description":"API access key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"secretKey","in":"header","description":"API secret key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"Accept","in":"header","description":"Always set to application/json","required":true,"schema":{"type":"string"}},{"name":"message","in":"query","description":"Optional archival reason","schema":{"type":"string"}}],"responses":{"204":{"description":"Schema drift rule archived"},"404":{"description":"Rule with the given name: {name} not found, or\nSchema Drift rule with id {ruleId} not found"}}},"get":{"operationId":"getSchemaDriftByName","tags":["Schema Drift Rules"],"summary":"Get a schema drift rule by name","description":"This endpoint retrieves Schema Drift policy details by name from the catalog server.\n\n**Authorization**: requires `ASSET_VIEW` and `POLICY_VIEW`.","parameters":[{"name":"name","in":"path","description":"Policy name","required":true,"schema":{"type":"string"}},{"name":"accessKey","in":"header","description":"API access key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"secretKey","in":"header","description":"API secret key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"Accept","in":"header","description":"Always set to application/json","required":true,"schema":{"type":"string"}},{"name":"version","in":"query","description":"Specific rule version to retrieve","schema":{"type":"integer"}}],"responses":{"200":{"description":"Schema drift rule details","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SchemaDriftRule.RuleResponse"}}}},"404":{"description":"Rule with the given name: {name} not found, or\nSchema Drift rule with id {ruleId} not found"}}}},"/catalog-server/api/rules/schema-drift/byName/{name}/executions":{"get":{"operationId":"getSchemaDriftExecutionsByName","tags":["Schema Drift Rules"],"summary":"List executions for a schema drift rule by name","description":"This endpoint retrieves a list of all the executions for a specific Schema Drift policy by its name.\n\n**Authorization**: requires `ASSET_VIEW` and `POLICY_VIEW`.","parameters":[{"name":"name","in":"path","description":"Policy name","required":true,"schema":{"type":"string"}},{"name":"accessKey","in":"header","description":"API access key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"secretKey","in":"header","description":"API secret key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"Accept","in":"header","description":"Always set to application/json","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","description":"Page number (0-based, default 0)","schema":{"type":"integer"}},{"name":"size","in":"query","description":"Number of items per page (default 25)","schema":{"type":"integer"}},{"name":"sortBy","in":"query","description":"Sort field and direction (e.g., name:asc or createdAt:desc)","schema":{"type":"string"}}],"responses":{"200":{"description":"List of schema drift executions","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SchemaDriftRule.ExecutionsResponse"}}}},"404":{"description":"Rule with the given name: {name} not found"}}}},"/catalog-server/api/rules/byName/{name}/configuration":{"get":{"operationId":"getRuleConfigurationByName","tags":["Rule Configuration"],"summary":"Get rule persistence configuration by name","description":"This endpoint retrieves the storage location for Data Quality policy results and summaries based on the policy name.\n\n**Authorization**: requires `ASSET_VIEW` and `POLICY_VIEW`.","parameters":[{"name":"name","in":"path","description":"Policy name","required":true,"schema":{"type":"string"}},{"name":"accessKey","in":"header","description":"API access key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"secretKey","in":"header","description":"API secret key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"Accept","in":"header","description":"Always set to application/json","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Rule configuration details","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RuleConfig"}}}},"404":{"description":"Rule with the given name: {name} not found"}}}},"/catalog-server/api/custom-assets/sql-view/{id}":{"put":{"operationId":"updateSqlView","tags":["Custom Assets"],"summary":"Update a SQL view custom asset","description":"This endpoint updates the content of an existing SQL view custom asset, identified by its `ID`. The request body should be in raw format and include the following payload structure:\n\n#### Request Body\n\n- **data** (object, required)\n\n - Represents the request object to update an SQL view.\n\n - **name** (string)\n\n - The updated name for the SQL view. If omitted, the existing name is retained.\n\n - **details** (object, required)\n\n - Provides details about the SQL view, including the query.\n\n - **query** (string, required)\n\n - The query used to construct the SQL view.\n\n - **description** (string, required)\n\n - Description of the SQL view query.\n\n - **schema** (array\\[object\\], required)\n\n - Specifies the schema for SQL view columns. Update this field with data from the API response of the `/catalog-server/api/custom-assets/sql-view/sample/result/:requestId` GET request, particularly from `result.schema.fields`.\n\n - **type** (string, required)\n\n - Specifies the SQL view column type.\n\n - **nullable** (boolean, required)\n\n - Indicates whether the SQL view column is nullable.\n\n - **name** (string, required)\n\n - Describes the SQL view column name.","parameters":[{"name":"id","in":"path","description":"Custom asset ID","required":true,"schema":{"type":"integer"}},{"name":"accessKey","in":"header","description":"API access key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"secretKey","in":"header","description":"API secret key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"Accept","in":"header","description":"Always set to application/json","required":true,"schema":{"type":"string"}},{"name":"Content-Type","in":"header","description":"Always set to application/json","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"Updated SQL view definition and metadata","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateSqlViewRequest"}}}},"responses":{"200":{"description":"Updated custom asset wrapped in StandardResponse","content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object"}}}}}},"400":{"description":"\"Schema cannot be empty\" / \"Query cannot be empty\" / \"Description cannot be empty\""},"404":{"description":"\"Custom asset with id {id} not found\""}}},"delete":{"operationId":"deleteSqlView","tags":["Custom Assets"],"summary":"Delete a SQL view custom asset","description":"This DELETE method is used to delete a SQL View based on its id.","parameters":[{"name":"id","in":"path","description":"Custom asset ID","required":true,"schema":{"type":"integer"}},{"name":"accessKey","in":"header","description":"API access key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"secretKey","in":"header","description":"API secret key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"Accept","in":"header","description":"Always set to application/json","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"SQL view deleted successfully"},"404":{"description":"\"Custom asset with id {id} not found\""},"422":{"description":"\"Failed to delete the Custom Asset. Most Probably there is a Policy associated with this CustomAsset and hence it can't be deleted\""}}},"get":{"operationId":"getSqlView","tags":["Custom Assets"],"summary":"Get a SQL view custom asset","description":"---\n\nThis endpoint retrieves the custom asset SQL view by providing the asset ID of the custom asset.","parameters":[{"name":"id","in":"path","description":"Custom asset ID","required":true,"schema":{"type":"integer"}},{"name":"accessKey","in":"header","description":"API access key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"secretKey","in":"header","description":"API secret key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"Accept","in":"header","description":"Always set to application/json","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"SQL view custom asset details","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomAssetResponse"}}}},"404":{"description":"\"Asset with id:{id} does not exist\" / \"No Custom Asset found for assetId:{id}\""}}}},"/catalog-server/api/udf/template":{"post":{"operationId":"createUdfTemplate","tags":["UDF Templates"],"summary":"Create a UDF template","description":"This endpoint creates a new UDF (User Defined Function) template with the provided details.\n\n#### Request Body\n\n- `name` (string): The name of the UDF template.\n \n- `description` (string): Description of the UDF template.\n \n- `language` (string): The programming language of the UDF.\n \n- `code` (string): The code implementation of the UDF.\n \n- `udfType` (string): Type of the UDF.\n \n- `udfDataType` (string): Data type of the UDF.\n \n- `isTemplate` (boolean): Indicates if the UDF is a template.\n \n- `isPackage` (boolean): Indicates if the UDF is a package.\n \n- `isMetadata` (boolean): Indicates if the UDF is metadata.\n \n\n#### Response\n\n- `className` (string): The class name of the UDF.\n \n- `code` (string): The code implementation of the UDF.\n \n- `createdAt` (string): Date and time of creation.\n \n- `createdBy` (string): Creator of the UDF.\n \n- `description` (string): Description of the UDF.\n \n- `id` (number): Unique identifier of the UDF.\n \n- `isLookup` (boolean): Indicates if the UDF is a lookup.\n \n- `isMetadata` (boolean): Indicates if the UDF is metadata.\n \n- `isPackage` (boolean): Indicates if the UDF is a package.\n \n- `isTemplate` (boolean): Indicates if the UDF is a template.\n \n- `labels` (array): Array of labels associated with the UDF.\n \n- `language` (string): The programming language of the UDF.\n \n- `lastUpdatedBy` (string): Last user who updated the UDF.\n \n- `name` (string): The name of the UDF.\n \n- `packageId` (number): Unique identifier of the package associated with the UDF.\n \n- `packageUdfDetail` (object): Details of the package associated with the UDF.\n \n- `referenceAssets` (array): Array of reference assets associated with the UDF.\n \n- `udfDataType` (string): Data type of the UDF.\n \n- `udfType` (string): Type of the UDF.\n \n- `updatedAt` (string): Date and time of the last update.\n \n- `variables` (array): Array of variables associated with the UDF.","parameters":[{"name":"accessKey","in":"header","description":"API access key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"secretKey","in":"header","description":"API secret key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"Accept","in":"header","description":"Always set to application/json","required":true,"schema":{"type":"string"}},{"name":"Content-Type","in":"header","description":"Always set to application/json","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"UDF template definition","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UdfTemplateRequestWithValidation"}}}},"responses":{"200":{"description":"Created UDF template","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UDFTemplate"}}}},"422":{"description":"\"Could not create template\""}}},"get":{"operationId":"listUdfTemplates","tags":["UDF Templates"],"summary":"List UDF templates","description":"This endpoint retrieves a list of available User Defined Field (UDF) templates from the catalog server based on the provided parameters.\n\n#### Response\n\nThe response will contain an array of UDF template objects, each with the following properties:\n\n- `className` (string, nullable): The class name of the UDF.\n \n- `code` (string): The code of the UDF.\n \n- `createdAt` (string): The timestamp when the UDF was created.\n \n- `createdBy` (string): The user who created the UDF.\n \n- `description` (string): The description of the UDF.\n \n- `id` (integer): The unique identifier of the UDF.\n \n- `isLookup` (boolean): Indicates if the UDF is a lookup.\n \n- `isMetadata` (boolean): Indicates if the UDF is metadata.\n \n- `isPackage` (boolean): Indicates if the UDF is a package.\n \n- `isTemplate` (boolean): Indicates if the UDF is a template.\n \n- `labels` (array): An array of label objects, each with `key` (string), `labelType` (string), and `value` (string) properties.\n \n- `language` (string): The language of the UDF.\n \n- `lastUpdatedBy` (string): The user who last updated the UDF.\n \n- `name` (string): The name of the UDF.\n \n- `packageId` (integer, nullable): The unique identifier of the package associated with the UDF.\n \n- `packageUdfDetail` (object, nullable): Details of the package UDF.\n \n- `referenceAssets` (array): An array of reference assets.\n \n- `udfDataType` (string): The data type of the UDF.\n \n- `udfType` (string): The type of the UDF.\n \n- `updatedAt` (string): The timestamp when the UDF was last updated.\n \n- `variables` (array): An array of variables.","parameters":[{"name":"accessKey","in":"header","description":"API access key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"secretKey","in":"header","description":"API secret key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"Accept","in":"header","description":"Always set to application/json","required":true,"schema":{"type":"string"}},{"name":"isPaginated","in":"query","description":"Enable pagination (default false). When true, response is wrapped in pagination metadata.","schema":{"type":"boolean"}},{"name":"page","in":"query","description":"Page number (0-based, default 0)","schema":{"type":"integer"}},{"name":"size","in":"query","description":"Number of items per page (default 25)","schema":{"type":"integer"}},{"name":"sortBy","in":"query","description":"Sort field and direction (e.g., name:asc or createdAt:desc)","schema":{"type":"string"}}],"responses":{"200":{"description":"List of UDF templates. Returns either List (default) or a paginated wrapper when isPaginated=true.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/UDFTemplate"}}}}},"422":{"description":"\"Could not fetch UDF templates\""}}}},"/catalog-server/api/udf/template/{id}":{"put":{"operationId":"updateUdfTemplate","tags":["UDF Templates"],"summary":"Update a UDF template","description":"This endpoint is used to update the code for an existing User Defined Function (UDF) template.\n\n#### Request Body\n\n- `name` (string, optional): The name of the UDF template.\n \n- `description` (string, optional): Description of the UDF template.\n \n- `language` (string, optional): The programming language used for the UDF template.\n \n- `code` (string, required): The code to be updated for the UDF template.\n \n- `udfType` (string, optional): Type of the UDF template.\n \n- `udfDataType` (string, optional): Data type of the UDF template.\n \n- `isTemplate` (boolean, required): Indicates if the UDF is a template.\n \n- `labels` (array, optional): Labels associated with the UDF template.\n \n- `isLookup` (boolean, required): Indicates if the UDF template is a lookup.\n \n- `isMetadata` (boolean, required): Indicates if the UDF template is metadata.\n \n- `referenceAssets` (array, optional): Array of reference assets associated with the UDF template.\n \n - `referenceAssetColumns` (array, optional): Columns of the reference asset.\n \n - `referenceAssetUid` (string, optional): UID of the reference asset.\n \n - `referenceAssetAlias` (string, optional): Alias of the reference asset.\n \n - `referenceAssetSqlFilter` (string, optional): SQL filter for the reference asset.","parameters":[{"name":"id","in":"path","description":"UDF template ID","required":true,"schema":{"type":"integer"}},{"name":"accessKey","in":"header","description":"API access key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"secretKey","in":"header","description":"API secret key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"Accept","in":"header","description":"Always set to application/json","required":true,"schema":{"type":"string"}},{"name":"Content-Type","in":"header","description":"Always set to application/json","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"Updated UDF template definition","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UdfTemplateRequestWithValidation"}}}},"responses":{"200":{"description":"Updated UDF template","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UDFTemplate"}}}},"422":{"description":"\"Could not update UDF\""}}},"delete":{"operationId":"deleteUdfTemplate","tags":["UDF Templates"],"summary":"Delete a UDF template","description":"This endpoint deletes a specific UDF template by its id.\n\n#### Request Parameters\n\n- `id` (path parameter, required): The ID of the UDF template to be deleted.\n \n\n#### Request Body\n\nThis request does not require a request body.","parameters":[{"name":"id","in":"path","description":"UDF template ID","required":true,"schema":{"type":"integer"}},{"name":"accessKey","in":"header","description":"API access key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"secretKey","in":"header","description":"API secret key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"Accept","in":"header","description":"Always set to application/json","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Template deleted"},"404":{"description":"\"Template with id {id} not found\""}}},"get":{"operationId":"getUdfTemplate","tags":["UDF Templates"],"summary":"Get a UDF template by ID","description":"### Get UDF Template by ID\n\nThis endpoint retrieves the UDF (User Defined Function) template by its ID.\n\n**Response** \nThe response will include the following fields:\n\n- `className` (string, nullable): The class name.\n \n- `code` (string): The code.\n \n- `createdAt` (string): The timestamp of creation.\n \n- `createdBy` (string): The creator.\n \n- `description` (string): The description.\n \n- `id` (integer): The ID of the template.\n \n- `isLookup` (boolean): Indicates if it is a lookup.\n \n- `isMetadata` (boolean): Indicates if it is metadata.\n \n- `isPackage` (boolean): Indicates if it is a package.\n \n- `isTemplate` (boolean): Indicates if it is a template.\n \n- `labels` (array): The labels associated with the template.\n \n- `language` (string): The language used.\n \n- `lastUpdatedBy` (string): The last updated by user.\n \n- `name` (string): The name of the template.\n \n- `packageId` (integer, nullable): The ID of the package.\n \n- `packageUdfDetail` (object, nullable): Details of the package UDF.\n \n- `referenceAssets` (array): List of reference assets with their details.\n - `referenceAssetAlias` (string): The alias of the reference asset.\n \n - `referenceAssetColumns` (array): The columns of the reference asset.\n \n - `referenceAssetSqlFilter` (string): The SQL filter for the reference asset.\n \n - `referenceAssetUid` (string): The UID of the reference asset.\n \n- `udfDataType` (string): The data type of the UDF.\n \n- `udfType` (string): The type of the UDF.\n \n- `updatedAt` (string): The timestamp of the last update.\n \n- `variables` (array): The variables associated with the template.","parameters":[{"name":"id","in":"path","description":"UDF template ID","required":true,"schema":{"type":"integer"}},{"name":"accessKey","in":"header","description":"API access key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"secretKey","in":"header","description":"API secret key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"Accept","in":"header","description":"Always set to application/json","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"UDF template details","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UDFTemplate"}}}},"422":{"description":"\"Could not fetch udf template\""}}}},"/catalog-server/api/udf/template/{id}/validate/async":{"post":{"operationId":"validateUdfTemplateAsync","tags":["UDF Validation"],"summary":"Validate a UDF template asynchronously","description":"This endpoint validates an existing user-defined function (UDF) template (identified by the path `id`) against an asset or test data. The validation runs asynchronously; poll `catalog-server/api/udf/template/validate/result/:requestId` for the status and result.\n\n#### Request Body\n\n- `assetId` (number, optional): The ID of the asset to validate against. Required unless `useTestData` is true.\n\n- `analyticsPipelineId` (number, optional): The ID of the analytics pipeline. Required when `useTestData` is true.\n\n- `testData` (string, optional): Test data to validate against.\n\n- `useTestData` (boolean): Whether to validate using `testData` instead of an asset.\n\n- `variables` (array): UDF variable key/value pairs.\n\n- `referenceAssets` (array): Reference assets for the UDF.\n\n- `selectedColumns` (array): Selected columns to validate.\n\n- `transformUDFs` (array): Transform UDFs applied during validation.\n\n- `isCustomSql` (boolean): Whether the UDF uses custom SQL.\n\n- `customSqlConfig` (object, nullable): Custom SQL configuration.","parameters":[{"name":"id","in":"path","description":"UDF template ID","required":true,"schema":{"type":"integer"}},{"name":"accessKey","in":"header","description":"API access key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"secretKey","in":"header","description":"API secret key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"Accept","in":"header","description":"Always set to application/json","required":true,"schema":{"type":"string"}},{"name":"Content-Type","in":"header","description":"Always set to application/json","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"Template validation request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UdfTemplateValidationRequest"}}}},"responses":{"200":{"description":"Validation job submitted","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UdfValidationResult"}}}},"422":{"description":"\"User request to validate with test data. Please provide test data param \" / \"User request to validate with test data. Please provide analytics service param \" / \"User request to validate with Asset data. Please provide asset id param \" / \"Lookup is only supported for Filter UDFs\" / \"Filter UDFs should be of BOOLEAN data type only\" / \"Analytics pipeline not found\""}}}},"/catalog-server/api/udf/template/validate/result/{requestId}":{"get":{"operationId":"getUdfValidationResult","tags":["UDF Validation"],"summary":"Get UDF validation result","description":"This endpoint is used to retrieve the status and result of a validation request triggered by the `POST catalog-server/api/udf/template/validate/async` endpoint.","parameters":[{"name":"requestId","in":"path","description":"Validation request ID","required":true,"schema":{"type":"string"}},{"name":"accessKey","in":"header","description":"API access key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"secretKey","in":"header","description":"API secret key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"Accept","in":"header","description":"Always set to application/json","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Validation result","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UdfValidationResult"}}}},"404":{"description":"\"Dataplane job not found for requestId: {requestId}\" / \"Analytics pipeline not found\""},"422":{"description":"\"Invalid Asset Id '{assetId}\""}}}}},"components":{"schemas":{"UdfVariable":{"type":"object","title":"io.ad.catalog.api.model.UdfVariable","required":["key"],"properties":{"isColumnVariable":{"type":"boolean"},"key":{"type":"string"},"value":{"type":["string","null"]}}},"PolicyTransformUDF":{"type":"object","title":"io.ad.catalog.api.model.quality.PolicyTransformUDF","required":["assetId","name","parameters","udfId"],"properties":{"assetId":{"type":"integer"},"columnNames":{"type":["array","null"],"items":{"type":"string"}},"id":{"type":"integer"},"name":{"type":"string"},"parameters":{"type":"array","items":{"$ref":"#/components/schemas/UdfVariable"}},"ruleId":{"type":"integer"},"udfId":{"type":"integer"}}},"SampleDataWithTransformUDFsRequest":{"type":"object","title":"io.ad.catalog.api.model.quality.SampleDataWithTransformUDFsRequest","required":["enableSyncForPushdown","filterAssetSelections","invalidateCache","transformUDFs"],"properties":{"enableSyncForPushdown":{"type":"boolean"},"filter":{"type":["string","null"]},"filterAssetSelections":{"type":"boolean"},"invalidateCache":{"type":"boolean"},"transformUDFs":{"type":"array","items":{"$ref":"#/components/schemas/PolicyTransformUDF"}}}},"File":{"type":"object","title":"java.io.File","required":["path","status","prefixLength","filePath"],"properties":{"path":{"type":"string"},"status":{"type":"string","enum":["INVALID","CHECKED"]},"prefixLength":{"type":"integer"},"filePath":{"type":"array","items":{"type":"object"}}}},"Any":{"type":"object","title":"kotlin.Any"},"SampleDataApiResponse":{"type":"object","title":"io.ad.torch.client.analysis.models.SampleDataApiResponse","properties":{"errorMsg":{"type":["string","null"]},"executionId":{"type":["string","null"]},"file":{"oneOf":[{"$ref":"#/components/schemas/File"},{"type":"null"}]},"jobExecutionStatus":{"type":["string","null"],"enum":["WAITING","SKIPPED","SUBMITTED","QUEUED","IN_PROGRESS","ABORTED","FAILED","POSTPROCESSING","ANOMALY_DETECTION","EXECUTION_RESULT","SUCCESSFUL"]},"requestId":{"type":["string","null"]},"sampleData":{"type":["object","null"],"additionalProperties":{"$ref":"#/components/schemas/Any"}}}},"DateTime":{"type":"object","title":"org.joda.time.DateTime"},"TagDomain":{"type":"object","title":"io.ad.catalog.api.model.tags.TagDomain","required":["createdAt","name"],"properties":{"createdAt":{"$ref":"#/components/schemas/DateTime"},"createdBy":{"type":["string","null"]},"description":{"type":["string","null"]},"id":{"type":"integer"},"lastUpdatedBy":{"type":["string","null"]},"name":{"type":"string"},"updatedAt":{"oneOf":[{"$ref":"#/components/schemas/DateTime"},{"type":"null"}]}}},"AssetTag":{"type":"object","title":"io.ad.catalog.api.model.AssetTag","required":["assetId","autoTagged","domains","name","state"],"properties":{"assetId":{"type":"integer"},"autoTagged":{"type":"boolean"},"domains":{"type":"array","items":{"$ref":"#/components/schemas/TagDomain"}},"id":{"type":"integer"},"name":{"type":"string"},"protectedData":{"type":"boolean"},"state":{"type":"string","enum":["ACCEPTED","REJECTED","REMOVED"]},"tagId":{"type":"integer"},"tenantId":{"type":["string","null"]},"uid":{"type":["string","null"]}}},"AssetTagResponse":{"type":"object","title":"io.ad.catalog.api.model.AssetTagResponse","required":["assetTags"],"properties":{"assetTags":{"type":"array","items":{"$ref":"#/components/schemas/AssetTag"}}}},"AssetTagRequest":{"type":"object","title":"io.ad.catalog.api.model.AssetTagRequest","properties":{"id":{"type":"integer"},"name":{"type":["string","null"]}}},"Label":{"type":"object","title":"io.ad.catalog.api.model.Label","required":["key","value"],"properties":{"key":{"type":"string"},"labelType":{"type":["string","null"],"enum":["ASSET","RULE","DQ_RULE_ITEM","RECONCILIATION_COLUMN_MAPPING","POLICY_TEMPLATE_MEASURE","USER_DEFINED_FUNCTION"]},"value":{"type":"string"}}},"AssetLabelRequest":{"type":"object","title":"io.ad.catalog.api.model.AssetLabelRequest","required":["labels"],"properties":{"labels":{"type":"array","items":{"$ref":"#/components/schemas/Label"}}}},"AssetType":{"type":"object","title":"io.ad.catalog.api.model.AssetType","required":["canMonitor","canProfile","canSample","name"],"properties":{"canMonitor":{"type":"boolean"},"canProfile":{"type":"boolean"},"canSample":{"type":"boolean"},"id":{"type":"integer"},"name":{"type":"string"}}},"ChildAsset":{"type":"object","title":"io.ad.catalog.api.model.ChildAsset","required":["assetId","childType","isCustom","name","uid"],"properties":{"alias":{"type":["string","null"]},"assetId":{"type":"integer"},"bucketedDataType":{"type":["string","null"],"enum":["SEMI_STRUCTURED","NUMERIC","TEXT","BOOLEAN","DATE","GEOSPATIAL"]},"childType":{"$ref":"#/components/schemas/AssetType"},"dataType":{"type":["string","null"]},"isCustom":{"type":"boolean"},"name":{"type":"string"},"parentId":{"type":"integer"},"protected":{"type":"boolean"},"reliabilityScore":{"type":"number"},"uid":{"type":"string"},"updatedAt":{"oneOf":[{"$ref":"#/components/schemas/DateTime"},{"type":"null"}]}}},"ChildAssetRequestResponse":{"type":"object","title":"io.ad.catalog.api.model.ChildAssetRequestResponse","properties":{"childAssets":{"type":["array","null"],"items":{"$ref":"#/components/schemas/ChildAsset"}}}},"AssetWatcher":{"type":"object","title":"io.ad.catalog.api.model.AssetWatcher","required":["assetId","createdAt","updatedAt","userId"],"properties":{"assetId":{"type":"integer"},"createdAt":{"$ref":"#/components/schemas/DateTime"},"id":{"type":"integer"},"updatedAt":{"$ref":"#/components/schemas/DateTime"},"userId":{"type":"string"}}},"Response":{"type":"object","title":"io.ad.catalog.api.model.Response","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/AssetWatcher"}}},"AssetActivityInfo":{"type":"object","title":"io.ad.catalog.api.model.AssetActivityInfo","required":["commentCount","downVoteCount","upVoteCount"],"properties":{"commentCount":{"type":"integer"},"downVoteCount":{"type":"integer"},"downvoted":{"type":"boolean"},"upVoteCount":{"type":"integer"},"upvoted":{"type":"boolean"}}},"AssetComment":{"type":"object","title":"io.ad.catalog.api.model.AssetComment","required":["comment"],"properties":{"comment":{"type":"string"},"createdAt":{"oneOf":[{"$ref":"#/components/schemas/DateTime"},{"type":"null"}]},"updatedAt":{"oneOf":[{"$ref":"#/components/schemas/DateTime"},{"type":"null"}]},"userName":{"type":["string","null"]}}},"AssetCommentResponse":{"type":"object","title":"io.ad.catalog.api.model.AssetCommentResponse","required":["comments"],"properties":{"comments":{"type":"array","items":{"$ref":"#/components/schemas/AssetComment"}}}},"Strategy":{"type":"object","title":"io.ad.catalog.api.model.Strategy","required":["description","name","type"],"properties":{"description":{"type":"string"},"name":{"type":"string"},"type":{"type":"string"}}},"Strategies":{"type":"object","title":"io.ad.catalog.api.model.Strategies","required":["strategies"],"properties":{"strategies":{"type":"array","items":{"$ref":"#/components/schemas/Strategy"}}}},"IncrementalStrategiesResponse":{"type":"object","title":"io.ad.catalog.api.model.IncrementalStrategiesResponse","required":["incremental","selective"],"properties":{"incremental":{"$ref":"#/components/schemas/Strategies"},"selective":{"$ref":"#/components/schemas/Strategies"}}},"DataplaneJobStatus":{"type":"object","title":"io.ad.catalog.api.model.DataplaneJobStatus","required":["id","isFinished","status"],"properties":{"details":{"type":["string","null"]},"errorMsg":{"type":["string","null"]},"id":{"type":"string"},"isFinished":{"type":"boolean"},"result":{"oneOf":[{"$ref":"#/components/schemas/Any"},{"type":"null"}]},"status":{"type":"string"}}},"SparkJobStatus":{"type":"object","title":"io.ad.catalog.api.model.SparkJobStatus","required":["id","isFinished","status"],"properties":{"details":{"type":["string","null"]},"errorMsg":{"type":["string","null"]},"id":{"type":"string"},"isFinished":{"type":"boolean"},"result":{"oneOf":[{"$ref":"#/components/schemas/Any"},{"type":"null"}]},"status":{"type":"string"}}},"AnalysisJobContext":{"type":"object","title":"io.ad.catalog.api.model.AnalysisJobContext","required":["type"],"properties":{"dataplaneJobStatus":{"oneOf":[{"$ref":"#/components/schemas/DataplaneJobStatus"},{"type":"null"}]},"sparkJobStatus":{"oneOf":[{"$ref":"#/components/schemas/SparkJobStatus"},{"type":"null"}]},"statusRetryCount":{"type":"integer"},"type":{"type":"string"}}},"Artifact":{"type":"object","title":"io.ad.dataplane.model.spec.Artifact","required":["name","path","version"],"properties":{"name":{"type":"string"},"path":{"type":"string"},"version":{"type":"string"}}},"JobSpec":{"type":"object","title":"io.ad.dataplane.model.spec.JobSpec","required":["artifactFacts"],"properties":{"artifactFacts":{"type":"array","items":{"$ref":"#/components/schemas/Artifact"}}}},"EngineConfig":{"type":"object","title":"io.ad.dataplane.model.engine.EngineConfig"},"Engine":{"type":"object","title":"io.ad.dataplane.model.engine.Engine","required":["type"],"properties":{"config":{"oneOf":[{"$ref":"#/components/schemas/EngineConfig"},{"type":"null"}]},"type":{"type":"string","enum":["SPARK_ASYNC","POD_ASYNC","STANDALONE_ASYNC","PUSHDOWN_ASYNC"]}}},"DataplaneRequest":{"type":"object","title":"io.ad.dataplane.model.DataplaneRequest","required":["engine","method","requestId"],"properties":{"engine":{"$ref":"#/components/schemas/Engine"},"method":{"type":"string","enum":["SUBMIT","CANCEL","STATUS"]},"requestId":{"type":"string"}}},"DataBricksSparkResourceConfig":{"type":"object","title":"io.ad.catalog.api.model.profile.DataBricksSparkResourceConfig","properties":{"clusterDriverType":{"type":["string","null"]},"clusterWorkerType":{"type":["string","null"]},"maxWorkers":{"type":"integer"},"minWorkers":{"type":"integer"}}},"DataprocSparkResourceConfig":{"type":"object","title":"io.ad.catalog.api.model.profile.DataprocSparkResourceConfig","properties":{"clusterMasterType":{"type":["string","null"]},"clusterWorkerType":{"type":["string","null"]},"numMasterNodes":{"type":"integer"},"numWorkerNodes":{"type":"integer"}}},"LivySparkResourceConfig":{"type":"object","title":"io.ad.catalog.api.model.profile.LivySparkResourceConfig","properties":{"driverCores":{"type":"integer"},"driverMemory":{"type":["string","null"]},"executorCores":{"type":"integer"},"executorMemory":{"type":["string","null"]},"numExecutors":{"type":"integer"}}},"YunikornSparkResourceConfig":{"type":"object","title":"io.ad.catalog.api.model.profile.YunikornSparkResourceConfig","properties":{"driverCores":{"type":"integer"},"driverLimitCores":{"type":["string","null"]},"driverMemory":{"type":["string","null"]},"driverMemoryOverhead":{"type":["string","null"]},"driverMemoryOverheadFactor":{"type":"number"},"driverRequestCores":{"type":["string","null"]},"executorCores":{"type":"integer"},"executorLimitCores":{"type":["string","null"]},"executorMemory":{"type":["string","null"]},"executorMemoryOverhead":{"type":["string","null"]},"executorMemoryOverheadFactor":{"type":"number"},"executorRequestCores":{"type":["string","null"]},"maxExecutors":{"type":"integer"},"minExecutors":{"type":"integer"}}},"SparkResourceConfig":{"type":"object","title":"io.ad.catalog.api.model.profile.SparkResourceConfig","required":["invalidFields"],"properties":{"additionalConfiguration":{"type":["object","null"],"additionalProperties":{"type":"string"}},"databricks":{"oneOf":[{"$ref":"#/components/schemas/DataBricksSparkResourceConfig"},{"type":"null"}]},"dataproc":{"oneOf":[{"$ref":"#/components/schemas/DataprocSparkResourceConfig"},{"type":"null"}]},"invalidFields":{"type":"array","items":{"type":"string"}},"livy":{"oneOf":[{"$ref":"#/components/schemas/LivySparkResourceConfig"},{"type":"null"}]},"yunikorn":{"oneOf":[{"$ref":"#/components/schemas/YunikornSparkResourceConfig"},{"type":"null"}]}}},"AssetReferenceDataplaneJob":{"type":"object","title":"io.ad.catalog.api.model.analysisservice.AssetReferenceDataplaneJob","required":["autoRetries","autoRetryEnabled","executionStatus","jobType","startedAt"],"properties":{"analysisJobContext":{"oneOf":[{"$ref":"#/components/schemas/AnalysisJobContext"},{"type":"null"}]},"analysisServiceJobId":{"type":"integer"},"analyticsPipelineId":{"type":"integer"},"assetId":{"type":"integer"},"assetUid":{"type":["string","null"]},"autoRetries":{"type":"integer"},"autoRetryEnabled":{"type":"boolean"},"createdAt":{"oneOf":[{"$ref":"#/components/schemas/DateTime"},{"type":"null"}]},"dataSourceId":{"type":["string","null"]},"dataSourceType":{"type":["string","null"]},"engineType":{"type":["string","null"],"enum":["SPARK","JDBC_SQL","POD"]},"errorMessage":{"type":["string","null"]},"executionId":{"type":"integer"},"executionStatus":{"type":"string","enum":["WAITING","SKIPPED","SUBMITTED","QUEUED","IN_PROGRESS","ABORTED","FAILED","POSTPROCESSING","ANOMALY_DETECTION","EXECUTION_RESULT","SUCCESSFUL"]},"finishedAt":{"oneOf":[{"$ref":"#/components/schemas/DateTime"},{"type":"null"}]},"jobSpec":{"oneOf":[{"$ref":"#/components/schemas/JobSpec"},{"type":"null"}]},"jobState":{"type":["string","null"],"enum":["ACKNOWLEDGED","SUBMITTED","QUEUED","SKIPPED","RUNNING","READ_DATA","REFERENCE_DATA","PROFILE_STAGE_1","PROFILE_STAGE_2","PROFILE_STAGE_3","PROFILE_STAGE_4","DQ_BATCH_RULES","DQ_ROW_RULES","DQ_CUSTOM_RULES","DQ_SEGMENT","DQ_GOOD_RESULT_STORE","DQ_BAD_RESULT_STORE","VALIDATE","PROCESSING","PREPARE_RESULT","SEND_RESULT","SEND_RESULT_FAILED","SUCCESSFUL","FAILED","ABORTED","WAITING","METRICS_REQUEST_SENT","PARTIAL_RESPONSE_PUBLISHED","COMPLETE_RESPONSE_PUBLISHED","METRICS_RESPONSE_RECEIVED","ANOMALY_DETECTION_INITIATED","PARTIAL_ANOMALY_RESULT_RECEIVED","COMPLETE_ANOMALY_RESULT_RECEIVED","POLICY_EXECUTION_SUCCESSFUL","POLICY_EXECUTION_FAILURE","EXECUTION_RESULT"]},"jobType":{"type":"string","enum":["SAMPLE_DATA","FILE_INFO_CRAWLER","SAMPLE_DATA_CRAWLER","UDF_VALIDATION","SQL_VIEW_SAMPLE_DATA","VISUAL_VIEW_SAMPLE_DATA","DATA_VIOLATIONS_SAMPLE_DATA","DATA_VIOLATIONS_SAMPLE_DATA_S3","DATA_VIOLATIONS_SAMPLE_DATA_ADLS","DATA_VIOLATIONS_SAMPLE_DATA_GCS","DATA_VIOLATIONS_SAMPLE_DATA_HDFS","DATA_VIOLATIONS_SAMPLE_DATA_LOCAL","PROFILE","DATA_QUALITY","RECONCILIATION","ROW_COUNT_EQUALITY","FILE_CRAWLER","KAFKA_CRAWLER","PUBSUB_CRAWLER","CRAWLER","ASSET_FILE_MONITORING","ASSET_MONITORING","ASSET_REFERENCE_VALIDATION","AUTO_TAG","EXECUTION_RESULT","CONNECTION_VALIDATION","PARENT_LIST","CADENCE","AUTO_ANOMALY","SQL_VALIDATION","RESULT","DATA_VIOLATIONS","DOWNLOAD_DATA_VIOLATIONS","FRESHNESS","DATA_SOURCE_QUERY"]},"lastHealthUpdateAt":{"oneOf":[{"$ref":"#/components/schemas/DateTime"},{"type":"null"}]},"request":{"oneOf":[{"$ref":"#/components/schemas/DataplaneRequest"},{"type":"null"}]},"requestId":{"type":["string","null"]},"resourceStrategyType":{"type":["string","null"],"enum":["INVENTORY","CUSTOM"]},"selectedResourceInventory":{"type":["string","null"]},"sparkClusterContext":{"type":["string","null"],"enum":["LOCAL","LIVY","DATABRICKS","KUBERNETES","DATAPROC"]},"sparkResourceConfig":{"oneOf":[{"$ref":"#/components/schemas/SparkResourceConfig"},{"type":"null"}]},"startedAt":{"$ref":"#/components/schemas/DateTime"},"startedRunningAt":{"oneOf":[{"$ref":"#/components/schemas/DateTime"},{"type":"null"}]},"tenantId":{"type":["string","null"]},"updatedAt":{"oneOf":[{"$ref":"#/components/schemas/DateTime"},{"type":"null"}]}}},"ColumnSchema":{"type":"object","title":"io.ad.catalog.api.model.ColumnSchema","required":["dataType","name","nullable"],"properties":{"dataType":{"type":"string"},"name":{"type":"string"},"nullable":{"type":"boolean"}}},"AssetReferenceValidatorResult":{"type":"object","title":"io.ad.catalog.api.model.AssetReferenceValidatorResult","required":["count","status"],"properties":{"count":{"type":"integer"},"inferredSchema":{"type":["array","null"],"items":{"$ref":"#/components/schemas/ColumnSchema"}},"message":{"type":["string","null"]},"status":{"type":"string"}}},"AssetReferenceCheckConfiguration":{"type":"object","title":"io.ad.catalog.api.model.AssetReferenceCheckConfiguration","required":["maxRowCount","timeOutMilliseconds"],"properties":{"maxRowCount":{"type":"integer"},"timeOutMilliseconds":{"type":"integer"}}},"AssetReferenceValidationJob":{"type":"object","title":"io.ad.catalog.api.model.AssetReferenceValidationJob","required":["assetId","assetName","assetUid","createdAt","executionMode","executionStatus","id","referenceCheckConfiguration","updatedAt"],"properties":{"analysisServiceJob":{"oneOf":[{"$ref":"#/components/schemas/AssetReferenceDataplaneJob"},{"type":"null"}]},"assetId":{"type":"integer"},"assetName":{"type":"string"},"assetSourceType":{"type":["string","null"]},"assetUid":{"type":"string"},"autoReferenceValidationExecutionId":{"type":["string","null"]},"autoReferenceValidationId":{"type":"integer"},"createdAt":{"$ref":"#/components/schemas/DateTime"},"errorMessage":{"type":["string","null"]},"executionMode":{"type":"string","enum":["MANUAL","AUTOMATED","SCHEDULED","IMPORTED"]},"executionStatus":{"type":"string","enum":["WAITING","SKIPPED","SUBMITTED","QUEUED","IN_PROGRESS","ABORTED","FAILED","POSTPROCESSING","ANOMALY_DETECTION","EXECUTION_RESULT","SUCCESSFUL"]},"finishedAt":{"oneOf":[{"$ref":"#/components/schemas/DateTime"},{"type":"null"}]},"id":{"type":"integer"},"jobResult":{"oneOf":[{"$ref":"#/components/schemas/AssetReferenceValidatorResult"},{"type":"null"}]},"jobState":{"type":["string","null"],"enum":["ACKNOWLEDGED","SUBMITTED","QUEUED","SKIPPED","RUNNING","READ_DATA","REFERENCE_DATA","PROFILE_STAGE_1","PROFILE_STAGE_2","PROFILE_STAGE_3","PROFILE_STAGE_4","DQ_BATCH_RULES","DQ_ROW_RULES","DQ_CUSTOM_RULES","DQ_SEGMENT","DQ_GOOD_RESULT_STORE","DQ_BAD_RESULT_STORE","VALIDATE","PROCESSING","PREPARE_RESULT","SEND_RESULT","SEND_RESULT_FAILED","SUCCESSFUL","FAILED","ABORTED","WAITING","METRICS_REQUEST_SENT","PARTIAL_RESPONSE_PUBLISHED","COMPLETE_RESPONSE_PUBLISHED","METRICS_RESPONSE_RECEIVED","ANOMALY_DETECTION_INITIATED","PARTIAL_ANOMALY_RESULT_RECEIVED","COMPLETE_ANOMALY_RESULT_RECEIVED","POLICY_EXECUTION_SUCCESSFUL","POLICY_EXECUTION_FAILURE","EXECUTION_RESULT"]},"lastHealthUpdateAt":{"oneOf":[{"$ref":"#/components/schemas/DateTime"},{"type":"null"}]},"referenceCheckConfiguration":{"$ref":"#/components/schemas/AssetReferenceCheckConfiguration"},"requestId":{"type":["string","null"]},"startedAt":{"oneOf":[{"$ref":"#/components/schemas/DateTime"},{"type":"null"}]},"updatedAt":{"$ref":"#/components/schemas/DateTime"}}},"FreshnessColumnInfo":{"type":"object","title":"io.ad.catalog.api.model.FreshnessColumnInfo","required":["assetId","userProvided"],"properties":{"assetId":{"type":"integer"},"name":{"type":["string","null"]},"userProvided":{"type":"boolean"}}},"MarkerConfig":{"type":"object","title":"io.ad.catalog.api.model.profile.incrementalstrategies.MarkerConfig","required":["type"],"properties":{"type":{"type":"string"}}},"NotificationPayload":{"type":"object","title":"io.ad.catalog.api.model.NotificationPayload","required":["alertsEnabled","configuredNotificationGroupIds","notifyOn","notifyOnSuccess","notifyOnWarning","reNotifyMode"],"properties":{"alertsEnabled":{"type":"boolean"},"configuredNotificationGroupIds":{"type":"array","items":{"type":"integer"}},"notifyOn":{"type":"array","items":{"type":"string","enum":["ERROR","WARNING","SUCCESS","ALL"]}},"notifyOnSuccess":{"type":"boolean"},"notifyOnWarning":{"type":"boolean"},"reNotifyFactor":{"type":"integer"},"reNotifyMode":{"type":"string","enum":["INTERVAL","RULE_CHANGE"]},"severity":{"type":["string","null"],"enum":["LOW","MEDIUM","HIGH","CRITICAL"]},"tags":{"type":["array","null"],"items":{"type":"string"}}}},"PartitionConfiguration":{"type":"object","title":"io.ad.catalog.api.model.PartitionConfiguration","required":["column"],"properties":{"column":{"type":"string"},"numPartitions":{"type":"integer"}}},"PatternConfiguration":{"type":"object","title":"io.ad.catalog.api.model.PatternConfiguration","required":["frequencyType","maxPatterns"],"properties":{"frequencyType":{"type":"string"},"maxPatterns":{"type":"integer"}}},"AssetConfiguration":{"type":"object","title":"io.ad.catalog.api.model.AssetConfiguration","required":["assetId","columnLevel","createdAt","isPatternProfile","isReferenceCheckValid","isUserMarkedReference","scheduled","timeZone","updatedAt"],"properties":{"assetId":{"type":"integer"},"assetReferenceValidationJob":{"oneOf":[{"$ref":"#/components/schemas/AssetReferenceValidationJob"},{"type":"null"}]},"autoRetryEnabled":{"type":"boolean"},"cadenceAnomalyModelSensitivity":{"type":["string","null"],"enum":["HIGH","MEDIUM","LOW"]},"cadenceAnomalyTrainingWindowMinimumInDays":{"type":"integer"},"columnLevel":{"type":"integer"},"createdAt":{"$ref":"#/components/schemas/DateTime"},"freshnessColumnInfo":{"oneOf":[{"$ref":"#/components/schemas/FreshnessColumnInfo"},{"type":"null"}]},"id":{"type":"integer"},"inferredSchema":{"type":["array","null"],"items":{"$ref":"#/components/schemas/ColumnSchema"}},"isPatternProfile":{"type":"boolean"},"isReferenceCheckValid":{"type":"boolean"},"isUserMarkedReference":{"type":"boolean"},"markerConfiguration":{"oneOf":[{"$ref":"#/components/schemas/MarkerConfig"},{"type":"null"}]},"notificationChannels":{"oneOf":[{"$ref":"#/components/schemas/NotificationPayload"},{"type":"null"}]},"owner":{"type":["array","null"],"items":{"type":"string"}},"partitionConfiguration":{"oneOf":[{"$ref":"#/components/schemas/PartitionConfiguration"},{"type":"null"}]},"patternConfiguration":{"oneOf":[{"$ref":"#/components/schemas/PatternConfiguration"},{"type":"null"}]},"profileAnomalyModelSensitivity":{"type":["string","null"],"enum":["HIGH","MEDIUM","LOW"]},"profileAnomalyTrainingWindowMinimumInDays":{"type":"integer"},"profilingType":{"type":["string","null"],"enum":["SELECTIVE","FULL","INCREMENTAL"]},"referenceCheckConfiguration":{"oneOf":[{"$ref":"#/components/schemas/AssetReferenceCheckConfiguration"},{"type":"null"}]},"resourceStrategyType":{"type":["string","null"],"enum":["INVENTORY","CUSTOM"]},"schedule":{"type":["string","null"]},"scheduled":{"type":"boolean"},"selectedResourceInventory":{"type":["string","null"]},"sparkResourceConfig":{"oneOf":[{"$ref":"#/components/schemas/SparkResourceConfig"},{"type":"null"}]},"team":{"type":["array","null"],"items":{"type":"string"}},"timeZone":{"type":"string"},"updatedAt":{"$ref":"#/components/schemas/DateTime"}}},"AssetConfigurationRequest":{"type":"object","title":"io.ad.openapi.torch.catalog.AssetConfigurationRequest","required":["assetConfiguration"],"properties":{"assetConfiguration":{"$ref":"#/components/schemas/AssetConfiguration"}}},"AssetPartitionConfigurationDetails":{"type":"object","title":"io.ad.catalog.api.model.AssetPartitionConfigurationDetails","required":["enabled","supportedColumns"],"properties":{"enabled":{"type":"boolean"},"supportedColumns":{"type":"array","items":{"type":"string"}}}},"ManualProfilingTrigger":{"type":"object","title":"io.ad.catalog.api.model.ManualProfilingTrigger","required":["canTrigger","reason","type"],"properties":{"canTrigger":{"type":"boolean"},"reason":{"type":"string"},"type":{"type":"string","enum":["SELECTIVE","FULL","INCREMENTAL"]}}},"AssetConfigurationResponse":{"type":"object","title":"io.ad.catalog.api.model.AssetConfigurationResponse","required":["manualProfilingTriggers"],"properties":{"assetConfiguration":{"oneOf":[{"$ref":"#/components/schemas/AssetConfiguration"},{"type":"null"}]},"assetJDBCPartitioningEnabled":{"oneOf":[{"$ref":"#/components/schemas/AssetPartitionConfigurationDetails"},{"type":"null"}]},"manualProfilingTriggers":{"type":"array","items":{"$ref":"#/components/schemas/ManualProfilingTrigger"}}}},"FeatureInfo":{"type":"object","title":"io.ad.catalog.api.model.FeatureInfo","required":["enabled"],"properties":{"enabled":{"type":"boolean"}}},"DataplaneJob":{"type":"object","title":"io.ad.catalog.api.model.analysisservice.DataplaneJob","required":["executionStatus","jobType","startedAt"],"properties":{"analysisJobContext":{"oneOf":[{"$ref":"#/components/schemas/AnalysisJobContext"},{"type":"null"}]},"analysisServiceJobId":{"type":"integer"},"analyticsPipelineId":{"type":"integer"},"assetId":{"type":"integer"},"assetUid":{"type":["string","null"]},"autoRetries":{"type":"integer"},"autoRetryEnabled":{"type":"boolean"},"createdAt":{"oneOf":[{"$ref":"#/components/schemas/DateTime"},{"type":"null"}]},"dataSourceId":{"type":["string","null"]},"dataSourceType":{"type":["string","null"]},"engineType":{"type":["string","null"],"enum":["SPARK","JDBC_SQL","POD"]},"errorMessage":{"type":["string","null"]},"executionId":{"type":"integer"},"executionStatus":{"type":"string","enum":["WAITING","SKIPPED","SUBMITTED","QUEUED","IN_PROGRESS","ABORTED","FAILED","POSTPROCESSING","ANOMALY_DETECTION","EXECUTION_RESULT","SUCCESSFUL"]},"finishedAt":{"oneOf":[{"$ref":"#/components/schemas/DateTime"},{"type":"null"}]},"jobSpec":{"oneOf":[{"$ref":"#/components/schemas/JobSpec"},{"type":"null"}]},"jobState":{"type":["string","null"],"enum":["ACKNOWLEDGED","SUBMITTED","QUEUED","SKIPPED","RUNNING","READ_DATA","REFERENCE_DATA","PROFILE_STAGE_1","PROFILE_STAGE_2","PROFILE_STAGE_3","PROFILE_STAGE_4","DQ_BATCH_RULES","DQ_ROW_RULES","DQ_CUSTOM_RULES","DQ_SEGMENT","DQ_GOOD_RESULT_STORE","DQ_BAD_RESULT_STORE","VALIDATE","PROCESSING","PREPARE_RESULT","SEND_RESULT","SEND_RESULT_FAILED","SUCCESSFUL","FAILED","ABORTED","WAITING","METRICS_REQUEST_SENT","PARTIAL_RESPONSE_PUBLISHED","COMPLETE_RESPONSE_PUBLISHED","METRICS_RESPONSE_RECEIVED","ANOMALY_DETECTION_INITIATED","PARTIAL_ANOMALY_RESULT_RECEIVED","COMPLETE_ANOMALY_RESULT_RECEIVED","POLICY_EXECUTION_SUCCESSFUL","POLICY_EXECUTION_FAILURE","EXECUTION_RESULT"]},"jobType":{"type":"string","enum":["SAMPLE_DATA","FILE_INFO_CRAWLER","SAMPLE_DATA_CRAWLER","UDF_VALIDATION","SQL_VIEW_SAMPLE_DATA","VISUAL_VIEW_SAMPLE_DATA","DATA_VIOLATIONS_SAMPLE_DATA","DATA_VIOLATIONS_SAMPLE_DATA_S3","DATA_VIOLATIONS_SAMPLE_DATA_ADLS","DATA_VIOLATIONS_SAMPLE_DATA_GCS","DATA_VIOLATIONS_SAMPLE_DATA_HDFS","DATA_VIOLATIONS_SAMPLE_DATA_LOCAL","PROFILE","DATA_QUALITY","RECONCILIATION","ROW_COUNT_EQUALITY","FILE_CRAWLER","KAFKA_CRAWLER","PUBSUB_CRAWLER","CRAWLER","ASSET_FILE_MONITORING","ASSET_MONITORING","ASSET_REFERENCE_VALIDATION","AUTO_TAG","EXECUTION_RESULT","CONNECTION_VALIDATION","PARENT_LIST","CADENCE","AUTO_ANOMALY","SQL_VALIDATION","RESULT","DATA_VIOLATIONS","DOWNLOAD_DATA_VIOLATIONS","FRESHNESS","DATA_SOURCE_QUERY"]},"lastHealthUpdateAt":{"oneOf":[{"$ref":"#/components/schemas/DateTime"},{"type":"null"}]},"request":{"oneOf":[{"$ref":"#/components/schemas/DataplaneRequest"},{"type":"null"}]},"requestId":{"type":["string","null"]},"resourceStrategyType":{"type":["string","null"],"enum":["INVENTORY","CUSTOM"]},"selectedResourceInventory":{"type":["string","null"]},"sparkClusterContext":{"type":["string","null"],"enum":["LOCAL","LIVY","DATABRICKS","KUBERNETES","DATAPROC"]},"sparkResourceConfig":{"oneOf":[{"$ref":"#/components/schemas/SparkResourceConfig"},{"type":"null"}]},"startedAt":{"$ref":"#/components/schemas/DateTime"},"startedRunningAt":{"oneOf":[{"$ref":"#/components/schemas/DateTime"},{"type":"null"}]},"tenantId":{"type":["string","null"]},"updatedAt":{"oneOf":[{"$ref":"#/components/schemas/DateTime"},{"type":"null"}]}}},"Marker":{"type":"object","title":"io.ad.catalog.api.model.profile.incrementalstrategies.Marker","required":["type"],"properties":{"type":{"type":"string"}}},"Mapping":{"type":"object","title":"io.ad.catalog.api.model.quality.Mapping","required":["key"],"properties":{"isColumnVariable":{"type":"boolean"},"key":{"type":"string"},"value":{"type":["string","null"]}}},"RuleSparkSQLDynamicFilterVariableMapping":{"type":"object","title":"io.ad.catalog.api.model.quality.RuleSparkSQLDynamicFilterVariableMapping","required":["mapping","ruleName"],"properties":{"mapping":{"type":"array","items":{"$ref":"#/components/schemas/Mapping"}},"ruleId":{"type":"integer"},"ruleName":{"type":"string"}}},"AboveConfigs":{"type":"object","title":"io.ad.catalog.api.model.quality.AboveConfigs","required":["direction","success"],"properties":{"direction":{"type":"string","enum":["ABOVE","BELOW","RANGE","CHANGES_BY","DECREASED_BY","INCREASED_BY"]},"success":{"type":"number"},"warning":{"type":"number"}}},"BelowConfigs":{"type":"object","title":"io.ad.catalog.api.model.quality.BelowConfigs","required":["direction","success"],"properties":{"direction":{"type":"string","enum":["ABOVE","BELOW","RANGE","CHANGES_BY","DECREASED_BY","INCREASED_BY"]},"success":{"type":"number"},"warning":{"type":"number"}}},"RangeConfigs":{"type":"object","title":"io.ad.catalog.api.model.quality.RangeConfigs","required":["direction","lowerSuccess","upperSuccess"],"properties":{"direction":{"type":"string","enum":["ABOVE","BELOW","RANGE","CHANGES_BY","DECREASED_BY","INCREASED_BY"]},"lowerSuccess":{"type":"number"},"lowerWarning":{"type":"number"},"upperSuccess":{"type":"number"},"upperWarning":{"type":"number"}}},"AbsoluteConfigs":{"type":"object","title":"io.ad.catalog.api.model.quality.AbsoluteConfigs","oneOf":[{"$ref":"#/components/schemas/AboveConfigs"},{"$ref":"#/components/schemas/BelowConfigs"},{"$ref":"#/components/schemas/RangeConfigs"}],"discriminator":{"propertyName":"type","mapping":{"io.ad.catalog.api.model.quality.AboveConfigs":"#/components/schemas/AboveConfigs","io.ad.catalog.api.model.quality.BelowConfigs":"#/components/schemas/BelowConfigs","io.ad.catalog.api.model.quality.RangeConfigs":"#/components/schemas/RangeConfigs"}}},"AbsoluteThresholdConfig":{"type":"object","title":"io.ad.catalog.api.model.quality.AbsoluteThresholdConfig","required":["config","type"],"properties":{"config":{"$ref":"#/components/schemas/AbsoluteConfigs"},"success":{"type":"number"},"type":{"type":"string","enum":["ANOMALY","RELATIVE","TIME_BASED","ABSOLUTE"]},"warning":{"type":"number"}}},"AnomalyConfig":{"type":"object","title":"io.ad.catalog.api.model.quality.AnomalyConfig","required":["successSensitivityLevel"],"properties":{"successSensitivityLevel":{"type":"string","enum":["HIGH","MEDIUM","LOW"]},"warningSensitivityLevel":{"type":["string","null"],"enum":["HIGH","MEDIUM","LOW"]}}},"AnomalyThresholdConfig":{"type":"object","title":"io.ad.catalog.api.model.quality.AnomalyThresholdConfig","required":["config","type"],"properties":{"config":{"$ref":"#/components/schemas/AnomalyConfig"},"success":{"type":"number"},"type":{"type":"string","enum":["ANOMALY","RELATIVE","TIME_BASED","ABSOLUTE"]},"warning":{"type":"number"}}},"ChangesByConfig":{"type":"object","title":"io.ad.catalog.api.model.quality.ChangesByConfig","required":["direction","operator","success","unit","isDirectional"],"properties":{"direction":{"type":"string","enum":["ABOVE","BELOW","RANGE","CHANGES_BY","DECREASED_BY","INCREASED_BY"]},"operator":{"type":"string","enum":["LEGACY","EQ","NEQ","GT","GTE","LT","LTE"]},"success":{"type":"number"},"unit":{"type":"string","enum":["PERCENTAGE","ABSOLUTE"]},"warning":{"type":"number"},"isDirectional":{"type":"boolean"}}},"DecreasedByConfig":{"type":"object","title":"io.ad.catalog.api.model.quality.DecreasedByConfig","required":["direction","operator","success","unit","isDirectional"],"properties":{"direction":{"type":"string","enum":["ABOVE","BELOW","RANGE","CHANGES_BY","DECREASED_BY","INCREASED_BY"]},"operator":{"type":"string","enum":["LEGACY","EQ","NEQ","GT","GTE","LT","LTE"]},"success":{"type":"number"},"unit":{"type":"string","enum":["PERCENTAGE","ABSOLUTE"]},"warning":{"type":"number"},"isDirectional":{"type":"boolean"}}},"IncreasedByConfig":{"type":"object","title":"io.ad.catalog.api.model.quality.IncreasedByConfig","required":["direction","operator","success","unit","isDirectional"],"properties":{"direction":{"type":"string","enum":["ABOVE","BELOW","RANGE","CHANGES_BY","DECREASED_BY","INCREASED_BY"]},"operator":{"type":"string","enum":["LEGACY","EQ","NEQ","GT","GTE","LT","LTE"]},"success":{"type":"number"},"unit":{"type":"string","enum":["PERCENTAGE","ABSOLUTE"]},"warning":{"type":"number"},"isDirectional":{"type":"boolean"}}},"RelativeConfig":{"type":"object","title":"io.ad.catalog.api.model.quality.RelativeConfig","oneOf":[{"$ref":"#/components/schemas/ChangesByConfig"},{"$ref":"#/components/schemas/DecreasedByConfig"},{"$ref":"#/components/schemas/IncreasedByConfig"}],"discriminator":{"propertyName":"type","mapping":{"io.ad.catalog.api.model.quality.ChangesByConfig":"#/components/schemas/ChangesByConfig","io.ad.catalog.api.model.quality.DecreasedByConfig":"#/components/schemas/DecreasedByConfig","io.ad.catalog.api.model.quality.IncreasedByConfig":"#/components/schemas/IncreasedByConfig"}}},"LookBackConfig":{"type":"object","title":"io.ad.catalog.api.model.quality.LookBackConfig","required":["window","windowType"],"properties":{"window":{"type":"integer"},"windowType":{"type":"string","enum":["RUNS","DAYS","HOURS","MINUTES"]}}},"OperationalConfig":{"type":"object","title":"io.ad.catalog.api.model.quality.OperationalConfig","required":["lookBack"],"properties":{"lookBack":{"$ref":"#/components/schemas/LookBackConfig"}}},"RelativeThresholdConfig":{"type":"object","title":"io.ad.catalog.api.model.quality.RelativeThresholdConfig","required":["config","operationalConfig","type"],"properties":{"config":{"$ref":"#/components/schemas/RelativeConfig"},"operationalConfig":{"$ref":"#/components/schemas/OperationalConfig"},"success":{"type":"number"},"type":{"type":"string","enum":["ANOMALY","RELATIVE","TIME_BASED","ABSOLUTE"]},"warning":{"type":"number"}}},"TimeBasedConfig":{"type":"object","title":"io.ad.catalog.api.model.quality.TimeBasedConfig","required":["lookBackWindowType","successLookBackWindow"],"properties":{"lookBackWindowType":{"type":"string","enum":["RUNS","DAYS","HOURS","MINUTES"]},"successLookBackWindow":{"type":"integer"},"warningLookBackWindow":{"type":"integer"}}},"TimeBasedThresholdConfig":{"type":"object","title":"io.ad.catalog.api.model.quality.TimeBasedThresholdConfig","required":["config","type"],"properties":{"config":{"$ref":"#/components/schemas/TimeBasedConfig"},"success":{"type":"number"},"type":{"type":"string","enum":["ANOMALY","RELATIVE","TIME_BASED","ABSOLUTE"]},"warning":{"type":"number"}}},"RuleThresholdConfiguration":{"type":"object","title":"io.ad.catalog.api.model.quality.RuleThresholdConfiguration","oneOf":[{"$ref":"#/components/schemas/AbsoluteThresholdConfig"},{"$ref":"#/components/schemas/AnomalyThresholdConfig"},{"$ref":"#/components/schemas/RelativeThresholdConfig"},{"$ref":"#/components/schemas/TimeBasedThresholdConfig"}],"discriminator":{"propertyName":"type","mapping":{"io.ad.catalog.api.model.quality.AbsoluteThresholdConfig":"#/components/schemas/AbsoluteThresholdConfig","io.ad.catalog.api.model.quality.AnomalyThresholdConfig":"#/components/schemas/AnomalyThresholdConfig","io.ad.catalog.api.model.quality.RelativeThresholdConfig":"#/components/schemas/RelativeThresholdConfig","io.ad.catalog.api.model.quality.TimeBasedThresholdConfig":"#/components/schemas/TimeBasedThresholdConfig"}}},"RuleExecution":{"type":"object","title":"io.ad.catalog.api.model.quality.RuleExecution","required":["allowRerun","autoRetryEnabled","dataPersistenceEnabled","executionMode","executionStatus","executionType","includeInQualityScore","isProtectedResource","isResourceRequestedAtRunTime","participatingColumns","policyResultStatusStrategy","resultStatus","rightSparkSQLFilterType","ruleId","ruleSelectionEnabled","ruleVersion","sparkSQLFilterType","startedAt","thresholdLevel"],"properties":{"allowRerun":{"type":"boolean"},"analysisJob":{"oneOf":[{"$ref":"#/components/schemas/DataplaneJob"},{"type":"null"}]},"analyticsPipelineId":{"type":"integer"},"autoRetries":{"type":"integer"},"autoRetryEnabled":{"type":"boolean"},"dataPersistenceEnabled":{"type":"boolean"},"driverPodName":{"type":["string","null"]},"engineType":{"type":["string","null"],"enum":["SPARK","JDBC_SQL","POD"]},"executedBy":{"type":["string","null"]},"executionError":{"type":["string","null"]},"executionMode":{"type":"string","enum":["SCHEDULED","MANUAL","WEBHOOK","API"]},"executionRank":{"type":"integer"},"executionStatus":{"type":"string","enum":["STARTED","RUNNING","ERRORED","WARNING","SUCCESSFUL","ABORTED","SKIPPED","WAITING","ANOMALY_DETECTION","EXECUTION_RESULT"]},"executionType":{"type":"string","enum":["SELECTIVE","FULL","INCREMENTAL"]},"filter":{"type":["string","null"]},"finishedAt":{"oneOf":[{"$ref":"#/components/schemas/DateTime"},{"type":"null"}]},"id":{"type":"integer"},"includeInQualityScore":{"type":"boolean"},"isProtectedResource":{"type":"boolean"},"isResourceRequestedAtRunTime":{"type":"boolean"},"jobState":{"type":["string","null"],"enum":["ACKNOWLEDGED","SUBMITTED","QUEUED","SKIPPED","RUNNING","READ_DATA","REFERENCE_DATA","PROFILE_STAGE_1","PROFILE_STAGE_2","PROFILE_STAGE_3","PROFILE_STAGE_4","DQ_BATCH_RULES","DQ_ROW_RULES","DQ_CUSTOM_RULES","DQ_SEGMENT","DQ_GOOD_RESULT_STORE","DQ_BAD_RESULT_STORE","VALIDATE","PROCESSING","PREPARE_RESULT","SEND_RESULT","SEND_RESULT_FAILED","SUCCESSFUL","FAILED","ABORTED","WAITING","METRICS_REQUEST_SENT","PARTIAL_RESPONSE_PUBLISHED","COMPLETE_RESPONSE_PUBLISHED","METRICS_RESPONSE_RECEIVED","ANOMALY_DETECTION_INITIATED","PARTIAL_ANOMALY_RESULT_RECEIVED","COMPLETE_ANOMALY_RESULT_RECEIVED","POLICY_EXECUTION_SUCCESSFUL","POLICY_EXECUTION_FAILURE","EXECUTION_RESULT"]},"lastHealthUpdateAt":{"oneOf":[{"$ref":"#/components/schemas/DateTime"},{"type":"null"}]},"lastMarker":{"oneOf":[{"$ref":"#/components/schemas/Marker"},{"type":"null"}]},"leftLastMarker":{"oneOf":[{"$ref":"#/components/schemas/Marker"},{"type":"null"}]},"leftMarkerConfig":{"oneOf":[{"$ref":"#/components/schemas/MarkerConfig"},{"type":"null"}]},"markerConfig":{"oneOf":[{"$ref":"#/components/schemas/MarkerConfig"},{"type":"null"}]},"parentId":{"type":"integer"},"participatingColumns":{"type":"array","items":{"type":"string"}},"persistencePath":{"type":["string","null"]},"pipelineAdditionalConfiguration":{"type":["object","null"],"additionalProperties":{"type":"string"}},"policyResultStatusStrategy":{"type":"string","enum":["CUSTOM","WEIGHTAGE","RULES"]},"requestId":{"type":["string","null"]},"resetPoint":{"type":"integer"},"resourceStrategyType":{"type":["string","null"],"enum":["INVENTORY","CUSTOM"]},"resultPersistencePath":{"type":["object","null"],"additionalProperties":{"type":"string"}},"resultStatus":{"type":"string","enum":["STARTED","RUNNING","ERRORED","WARNING","SUCCESSFUL","ABORTED","SKIPPED","WAITING","ANOMALY_DETECTION","EXECUTION_RESULT"]},"rightEngineType":{"type":["string","null"],"enum":["SPARK","JDBC_SQL","POD"]},"rightFilter":{"type":["string","null"]},"rightLastMarker":{"oneOf":[{"$ref":"#/components/schemas/Marker"},{"type":"null"}]},"rightMarkerConfig":{"oneOf":[{"$ref":"#/components/schemas/MarkerConfig"},{"type":"null"}]},"rightSparkFilterSelectedColumns":{"type":["array","null"],"items":{"type":"string"}},"rightSparkSQLDynamicFilterVariableMapping":{"oneOf":[{"$ref":"#/components/schemas/RuleSparkSQLDynamicFilterVariableMapping"},{"type":"null"}]},"rightSparkSQLFilterType":{"type":"string","enum":["STATIC","DYNAMIC"]},"ruleId":{"type":"integer"},"ruleName":{"type":["string","null"]},"ruleSelectionEnabled":{"type":"boolean"},"ruleType":{"type":["string","null"],"enum":["DATA_QUALITY","RECONCILIATION","EQUALITY","DATA_DRIFT","SCHEMA_DRIFT","DATA_CADENCE","PROFILE_ANOMALY","AUTO_ANOMALY"]},"ruleVersion":{"type":"integer"},"scheduleInstanceId":{"type":["string","null"]},"selectedResourceInventory":{"type":["string","null"]},"sourceExecutionId":{"type":"integer"},"sparkFilterSelectedColumns":{"type":["array","null"],"items":{"type":"string"}},"sparkResourceConfig":{"oneOf":[{"$ref":"#/components/schemas/SparkResourceConfig"},{"type":"null"}]},"sparkSQLDynamicFilterVariableMapping":{"oneOf":[{"$ref":"#/components/schemas/RuleSparkSQLDynamicFilterVariableMapping"},{"type":"null"}]},"sparkSQLFilterType":{"type":"string","enum":["STATIC","DYNAMIC"]},"startedAt":{"$ref":"#/components/schemas/DateTime"},"thresholdLevel":{"$ref":"#/components/schemas/RuleThresholdConfiguration"},"treatZeroRowsAsSuccess":{"type":"boolean"}}},"RuleExecutionResult":{"type":"object","title":"io.ad.catalog.api.model.quality.RuleExecutionResult","required":["ruleExecutionType","status"],"properties":{"ruleExecutionType":{"type":"string","enum":["RECONCILIATION_RULE_TYPE_EXECUTION","DQ_RULE_TYPE_EXECUTION","DATA_DRIFT_EXECUTION","SCHEMA_DRIFT_EXECUTION","DATA_CADENCE_TYPE_EXECUTION","PROFILE_ANOMALY_TYPE_EXECUTION","AUTO_ANOMALY_TYPE_EXECUTION"]},"status":{"type":"string","enum":["STARTED","RUNNING","ERRORED","WARNING","SUCCESSFUL","ABORTED","SKIPPED","WAITING","ANOMALY_DETECTION","EXECUTION_RESULT"]}}},"BackingAsset":{"type":"object","title":"io.ad.catalog.api.model.quality.BackingAsset","properties":{"customQuery":{"type":["string","null"]},"customTableAssetIds":{"type":["array","null"],"items":{"type":"integer"}},"id":{"type":"integer"},"marker":{"oneOf":[{"$ref":"#/components/schemas/MarkerConfig"},{"type":"null"}]},"ruleId":{"type":"integer"},"tableAlias":{"type":["string","null"]},"tableAssetId":{"type":"integer"},"tableAssetUid":{"type":["string","null"]}}},"JobSchedule":{"type":"object","title":"io.ad.catalog.api.model.quality.JobSchedule","required":["cronExpression","enabled","scheduleType","timeZone"],"properties":{"backingAssetId":{"type":"integer"},"cronExpression":{"type":"string"},"enabled":{"type":"boolean"},"id":{"type":"integer"},"marker":{"oneOf":[{"$ref":"#/components/schemas/MarkerConfig"},{"type":"null"}]},"name":{"type":["string","null"]},"scheduleType":{"type":"string"},"tenantId":{"type":["string","null"]},"timeZone":{"type":"string"}}},"ColumnMetadata":{"type":"object","title":"io.ad.catalog.api.model.quality.ColumnMetadata","required":["name","type"],"properties":{"name":{"type":"string"},"type":{"type":"string"}}},"ColumnVariable":{"type":"object","title":"io.ad.catalog.api.model.quality.ColumnVariable","required":["getOnlyWithVariableName","isNumber","name"],"properties":{"format":{"type":["string","null"]},"getOnlyWithVariableName":{"$ref":"#/components/schemas/ColumnVariable"},"isNumber":{"type":"boolean"},"name":{"type":"string"},"value":{"type":["string","null"]}}},"CustomSqlConfig":{"type":"object","title":"io.ad.catalog.api.model.quality.CustomSqlConfig","required":["columnMetadataList","columnVariables","queryType","ruleVersion","sanitizedQuery","sqlExpression"],"properties":{"columnMetadataList":{"type":"array","items":{"$ref":"#/components/schemas/ColumnMetadata"}},"columnVariables":{"type":"array","items":{"$ref":"#/components/schemas/ColumnVariable"}},"queryType":{"type":"string"},"ruleVersion":{"type":"integer"},"sanitizedQuery":{"type":"string"},"sqlExpression":{"type":"string"},"tableAlias":{"type":["string","null"]}}},"PolicyGroup":{"type":"object","title":"io.ad.catalog.api.model.PolicyGroup","properties":{"createdAt":{"oneOf":[{"$ref":"#/components/schemas/DateTime"},{"type":"null"}]},"description":{"type":["string","null"]},"id":{"type":"integer"},"name":{"type":["string","null"]},"tenantId":{"type":["string","null"]},"updatedAt":{"oneOf":[{"$ref":"#/components/schemas/DateTime"},{"type":"null"}]}}},"ShortSegment":{"type":"object","title":"io.ad.catalog.api.model.ShortSegment","required":["type"],"properties":{"id":{"type":"integer"},"name":{"type":["string","null"]},"type":{"type":"string"}}},"RuleTag":{"type":"object","title":"io.ad.catalog.api.model.quality.RuleTag","required":["name"],"properties":{"id":{"type":"integer"},"name":{"type":"string"},"ruleId":{"type":"integer"},"tagId":{"type":"integer"},"tenantId":{"type":["string","null"]}}},"QualityRule":{"type":"object","title":"io.ad.catalog.api.model.quality.QualityRule","required":["additionalPersistedColumns","archived","backingAssets","continueExecutionOnFailure","createdAt","enabled","executionSequence","includeInQualityScore","isCompositeRule","isProtectedResource","markedForDeletion","name","policyScoreStrategy","policyTransformUDFS","rightSparkSQLFilterType","scheduled","sparkSQLFilterType","thresholdLevel","timeZone","treatZeroRowsAsSuccess","type","updatedAt","version"],"properties":{"additionalPersistedColumns":{"type":"array","items":{"type":"string"}},"analyticsPipelineId":{"type":"integer"},"anomalyStrengthThreshold":{"type":["string","null"],"enum":["HIGH","MEDIUM","LOW"]},"archivalReason":{"type":["string","null"]},"archived":{"type":"boolean"},"autoCreated":{"type":"boolean"},"autoRetries":{"type":"integer"},"autoRetryEnabled":{"type":"boolean"},"backingAssets":{"type":"array","items":{"$ref":"#/components/schemas/BackingAsset"}},"continueExecutionOnFailure":{"type":"boolean"},"createdAt":{"$ref":"#/components/schemas/DateTime"},"createdBy":{"type":["string","null"]},"deletionReason":{"type":["string","null"]},"description":{"type":["string","null"]},"enabled":{"type":"boolean"},"engineType":{"type":["string","null"],"enum":["SPARK","JDBC_SQL","POD"]},"executionSequence":{"type":"integer"},"executionTimeoutInMinutes":{"type":"integer"},"filter":{"type":["string","null"]},"id":{"type":"integer"},"includeInQualityScore":{"type":"boolean"},"isCompositeRule":{"type":"boolean"},"isProtectedResource":{"type":"boolean"},"jobSchedule":{"oneOf":[{"$ref":"#/components/schemas/JobSchedule"},{"type":"null"}]},"labels":{"type":["array","null"],"items":{"$ref":"#/components/schemas/Label"}},"lastUpdatedBy":{"type":["string","null"]},"leftCustomSqlConfig":{"oneOf":[{"$ref":"#/components/schemas/CustomSqlConfig"},{"type":"null"}]},"markedForDeletion":{"type":"boolean"},"markedForDeletionAt":{"type":"integer"},"name":{"type":"string"},"notificationChannels":{"oneOf":[{"$ref":"#/components/schemas/NotificationPayload"},{"type":"null"}]},"parentId":{"type":"integer"},"policyGroups":{"type":["array","null"],"items":{"$ref":"#/components/schemas/PolicyGroup"}},"policyScoreStrategy":{"type":"string","enum":["CUSTOM","WEIGHTAGE","RULES"]},"policyTransformUDFS":{"type":"array","items":{"$ref":"#/components/schemas/PolicyTransformUDF"}},"resourceStrategyType":{"type":["string","null"],"enum":["INVENTORY","CUSTOM"]},"rightCustomSqlConfig":{"oneOf":[{"$ref":"#/components/schemas/CustomSqlConfig"},{"type":"null"}]},"rightEngineType":{"type":["string","null"],"enum":["SPARK","JDBC_SQL","POD"]},"rightFilter":{"type":["string","null"]},"rightSparkFilterSelectedColumns":{"type":["array","null"],"items":{"type":"string"}},"rightSparkSQLDynamicFilterVariableMapping":{"oneOf":[{"$ref":"#/components/schemas/RuleSparkSQLDynamicFilterVariableMapping"},{"type":"null"}]},"rightSparkSQLFilterType":{"type":"string","enum":["STATIC","DYNAMIC"]},"ruleSetId":{"type":"integer"},"schedule":{"type":["string","null"]},"scheduled":{"type":"boolean"},"segments":{"type":["array","null"],"items":{"$ref":"#/components/schemas/ShortSegment"}},"selectedResourceInventory":{"type":["string","null"]},"sparkFilterSelectedColumns":{"type":["array","null"],"items":{"type":"string"}},"sparkResourceConfig":{"oneOf":[{"$ref":"#/components/schemas/SparkResourceConfig"},{"type":"null"}]},"sparkSQLDynamicFilterVariableMapping":{"oneOf":[{"$ref":"#/components/schemas/RuleSparkSQLDynamicFilterVariableMapping"},{"type":"null"}]},"sparkSQLFilterType":{"type":"string","enum":["STATIC","DYNAMIC"]},"subType":{"type":["string","null"],"enum":["ASSET","SQL"]},"tags":{"type":["array","null"],"items":{"$ref":"#/components/schemas/RuleTag"}},"tenantId":{"type":["string","null"]},"thresholdLevel":{"$ref":"#/components/schemas/RuleThresholdConfiguration"},"timeZone":{"type":"string"},"totalExecutionTimeoutInMinutes":{"type":"integer"},"treatZeroRowsAsSuccess":{"type":"boolean"},"type":{"type":"string","enum":["DATA_QUALITY","RECONCILIATION","EQUALITY","DATA_DRIFT","SCHEMA_DRIFT","DATA_CADENCE","PROFILE_ANOMALY","AUTO_ANOMALY"]},"updatedAt":{"$ref":"#/components/schemas/DateTime"},"version":{"type":"integer"}}},"RuleExecutionResponse":{"type":"object","title":"io.ad.catalog.api.model.quality.RuleExecutionResponse","required":["rule"],"properties":{"childExecutions":{"type":["array","null"],"items":{"$ref":"#/components/schemas/RuleExecutionResponse"}},"execution":{"oneOf":[{"$ref":"#/components/schemas/RuleExecution"},{"type":"null"}]},"result":{"oneOf":[{"$ref":"#/components/schemas/RuleExecutionResult"},{"type":"null"}]},"rule":{"$ref":"#/components/schemas/QualityRule"}}},"MetaData":{"type":"object","title":"io.ad.catalog.api.model.quality.MetaData","required":["count","page","size"],"properties":{"count":{"type":"integer"},"page":{"type":"integer"},"size":{"type":"integer"}}},"RulesExecutionResponse":{"type":"object","title":"io.ad.catalog.api.model.quality.RulesExecutionResponse","required":["executions","meta"],"properties":{"executions":{"type":"array","items":{"$ref":"#/components/schemas/RuleExecutionResponse"}},"meta":{"$ref":"#/components/schemas/MetaData"}}},"AssetUDFVariableChild":{"type":"object","title":"io.ad.catalog.api.model.AssetUDFVariableChild","required":["id","key","value"],"properties":{"id":{"type":"integer"},"key":{"type":"string"},"value":{"type":"string"}}},"AssetUDFVariableResponse":{"type":"object","title":"io.ad.catalog.api.model.AssetUDFVariableResponse","required":["assetId","variables"],"properties":{"assetId":{"type":"integer"},"variables":{"type":"array","items":{"$ref":"#/components/schemas/AssetUDFVariableChild"}}}},"AssetUDFVariableRequest":{"type":"object","title":"io.ad.catalog.api.model.AssetUDFVariableRequest","required":["key","value"],"properties":{"assetId":{"type":"integer"},"key":{"type":"string"},"uid":{"type":["string","null"]},"value":{"type":"string"}}},"AssetUDFVariable":{"type":"object","title":"io.ad.catalog.api.model.AssetUDFVariable","required":["assetId","createdAt","id","key","updatedAt","value"],"properties":{"assetId":{"type":"integer"},"createdAt":{"$ref":"#/components/schemas/DateTime"},"id":{"type":"integer"},"key":{"type":"string"},"updatedAt":{"$ref":"#/components/schemas/DateTime"},"value":{"type":"string"}}},"HostedDPDeploymentResponse":{"type":"object","title":"io.ad.catalog.api.model.HostedDPDeploymentResponse","required":["dataplaneName","deploymentName","message","namespace","status","uid"],"properties":{"dataplaneName":{"type":"string"},"deploymentName":{"type":"string"},"message":{"type":"string"},"namespace":{"type":"string"},"status":{"type":"string"},"uid":{"type":"string"}}},"AnalyticsPipelineEndpoint":{"type":"object","title":"io.ad.catalog.api.model.AnalyticsPipelineEndpoint","required":["type","useCertificate"],"properties":{"analyticsPipelineId":{"type":"integer"},"caRoot":{"type":["string","null"]},"certificate":{"type":["string","null"]},"createdAt":{"oneOf":[{"$ref":"#/components/schemas/DateTime"},{"type":"null"}]},"expiresAt":{"oneOf":[{"$ref":"#/components/schemas/DateTime"},{"type":"null"}]},"id":{"type":"integer"},"key":{"type":["string","null"]},"tenantId":{"type":["string","null"]},"type":{"type":"string","enum":["EXTERNAL","TUNNEL_V1","TUNNEL_V2"]},"updatedAt":{"oneOf":[{"$ref":"#/components/schemas/DateTime"},{"type":"null"}]},"url":{"type":["string","null"]},"useCertificate":{"type":"boolean"}}},"GlobalStorageConfigDTO":{"type":"object","title":"io.ad.catalog.api.model.GlobalStorageConfigDTO","required":["measureResultFsType"],"properties":{"adlsGeneration":{"type":["string","null"]},"adlsStorageAccountName":{"type":["string","null"]},"adlsStorageContainerName":{"type":["string","null"]},"gcsBucketName":{"type":["string","null"]},"gcsProjectId":{"type":["string","null"]},"hdfsDirectory":{"type":["string","null"]},"measureResultADLSAccessMode":{"type":["string","null"]},"measureResultFsType":{"type":"string"},"measureResultGCSAccessMode":{"type":["string","null"]},"measureResultS3AAccessInstanceProfileARN":{"type":["string","null"]},"measureResultS3AAccessMode":{"type":["string","null"]},"s3BucketName":{"type":["string","null"]},"s3Region":{"type":["string","null"]}}},"KubernetesMetrics":{"type":"object","title":"io.ad.catalog.api.model.KubernetesMetrics","required":["reportingTime","status"],"properties":{"reportingTime":{"$ref":"#/components/schemas/DateTime"},"status":{"type":"string"}}},"ProcessMetrics":{"type":"object","title":"io.ad.catalog.api.model.ProcessMetrics","required":["reportingTime","status"],"properties":{"reportingTime":{"$ref":"#/components/schemas/DateTime"},"status":{"type":"string"}}},"DataplaneHealthMetrics":{"type":"object","title":"io.ad.catalog.api.model.DataplaneHealthMetrics","required":["process","reportingTime"],"properties":{"kubernetes":{"oneOf":[{"$ref":"#/components/schemas/KubernetesMetrics"},{"type":"null"}]},"process":{"$ref":"#/components/schemas/ProcessMetrics"},"reportingTime":{"$ref":"#/components/schemas/DateTime"}}},"DatabricksComputeConfig":{"type":"object","title":"io.ad.catalog.api.model.DatabricksComputeConfig","properties":{"clusterDriverType":{"type":["string","null"]},"clusterWorkerType":{"type":["string","null"]},"isEnabled":{"type":"boolean"},"jobClusterType":{"type":["string","null"]},"maxWorkers":{"type":"integer"},"minWorkers":{"type":"integer"}}},"DataprocComputeConfig":{"type":"object","title":"io.ad.catalog.api.model.DataprocComputeConfig","properties":{"clusterMasterType":{"type":["string","null"]},"clusterWorkerType":{"type":["string","null"]},"isEnabled":{"type":"boolean"},"numMasterNodes":{"type":"integer"},"numWorkerNodes":{"type":"integer"}}},"LivyComputeConfig":{"type":"object","title":"io.ad.catalog.api.model.LivyComputeConfig","required":["driverCores","driverMemory"],"properties":{"driverCores":{"type":"integer"},"driverMemory":{"type":"string"},"executorCores":{"type":"integer"},"executorMemory":{"type":["string","null"]},"isEnabled":{"type":"boolean"},"numExecutors":{"type":"integer"}}},"YunikornComputeConfig":{"type":"object","title":"io.ad.catalog.api.model.YunikornComputeConfig","required":["driverCores","driverMemory"],"properties":{"driverCoreLimit":{"type":["string","null"]},"driverCoreRequest":{"type":["string","null"]},"driverCores":{"type":"integer"},"driverMemory":{"type":"string"},"executorCoreLimit":{"type":["string","null"]},"executorCoreRequest":{"type":["string","null"]},"executorCores":{"type":"integer"},"executorMemory":{"type":["string","null"]},"isEnabled":{"type":"boolean"},"maxExecutors":{"type":"integer"},"minExecutors":{"type":"integer"}}},"PipelineComputeConfig":{"type":"object","title":"io.ad.catalog.api.model.PipelineComputeConfig","properties":{"databricks":{"oneOf":[{"$ref":"#/components/schemas/DatabricksComputeConfig"},{"type":"null"}]},"dataproc":{"oneOf":[{"$ref":"#/components/schemas/DataprocComputeConfig"},{"type":"null"}]},"livy":{"oneOf":[{"$ref":"#/components/schemas/LivyComputeConfig"},{"type":"null"}]},"yunikorn":{"oneOf":[{"$ref":"#/components/schemas/YunikornComputeConfig"},{"type":"null"}]}}},"SecretManagerConfiguration":{"type":"object","title":"io.ad.catalog.api.model.SecretManagerConfiguration","required":["name","type"],"properties":{"name":{"type":"string"},"type":{"type":"string"}}},"SecretManagerConfigurationWithOption":{"type":"object","title":"io.ad.catalog.api.model.SecretManagerConfigurationWithOption","required":["defaultOption","secretManagerConfig"],"properties":{"defaultOption":{"type":"boolean"},"secretManagerConfig":{"type":"array","items":{"$ref":"#/components/schemas/SecretManagerConfiguration"}}}},"AnalyticsPipeline":{"type":"object","title":"io.ad.catalog.api.model.AnalyticsPipeline","required":["dataplaneType","isHosted","isInternalCall","isPaused","isRequestSentByDataplane","isRotationInProgress","name","statusReportInterval","tenantId","version"],"properties":{"accessKey":{"type":["string","null"]},"accessKeyExpiry":{"type":"integer"},"additionalConfiguration":{"type":["object","null"],"additionalProperties":{"type":"string"}},"autoRetryEnabled":{"type":"boolean"},"cloudProvider":{"type":["string","null"]},"connectionCount":{"type":"integer"},"createdAt":{"oneOf":[{"$ref":"#/components/schemas/DateTime"},{"type":"null"}]},"dataplaneAccessKey":{"type":["string","null"]},"dataplaneSecretKey":{"type":["string","null"]},"dataplaneType":{"type":"string"},"dataplaneVersion":{"type":["string","null"]},"deploymentDetails":{"oneOf":[{"$ref":"#/components/schemas/HostedDPDeploymentResponse"},{"type":"null"}]},"deploymentStackId":{"type":["string","null"]},"deploymentStackRegion":{"type":["string","null"]},"deploymentStatus":{"type":["string","null"]},"description":{"type":["string","null"]},"endpoint":{"oneOf":[{"$ref":"#/components/schemas/AnalyticsPipelineEndpoint"},{"type":"null"}]},"externalUrl":{"type":["string","null"]},"globalStorageBasePath":{"type":["string","null"]},"globalStorageConfig":{"oneOf":[{"$ref":"#/components/schemas/GlobalStorageConfigDTO"},{"type":"null"}]},"hbaseEnabled":{"type":"boolean"},"hdfsEnabled":{"type":"boolean"},"healthReport":{"oneOf":[{"$ref":"#/components/schemas/DataplaneHealthMetrics"},{"type":"null"}]},"helmTemplateValues":{"type":["object","null"],"additionalProperties":{"type":"string"}},"hiveEnabled":{"type":"boolean"},"id":{"type":"integer"},"ingestKey":{"type":["string","null"]},"installationType":{"type":["string","null"]},"isHosted":{"type":"boolean"},"isInternalCall":{"type":"boolean"},"isPaused":{"type":"boolean"},"isRequestSentByDataplane":{"type":"boolean"},"isRotationInProgress":{"type":"boolean"},"kerberosEnabled":{"type":"boolean"},"lastStatusReportTime":{"oneOf":[{"$ref":"#/components/schemas/DateTime"},{"type":"null"}]},"measureResultFsType":{"type":["string","null"]},"name":{"type":"string"},"namespace":{"type":["string","null"]},"parentPipelineId":{"type":"integer"},"pausedAt":{"oneOf":[{"$ref":"#/components/schemas/DateTime"},{"type":"null"}]},"pausedBy":{"type":["string","null"]},"pipelineComputeConfig":{"oneOf":[{"$ref":"#/components/schemas/PipelineComputeConfig"},{"type":"null"}]},"pipelineType":{"type":["string","null"],"enum":["ANALYSIS","MONITOR","QUERY_ANALYSIS"]},"registryPrefix":{"type":["string","null"]},"registryUrl":{"type":["string","null"]},"resourceStrategyType":{"type":["string","null"],"enum":["INVENTORY","CUSTOM"]},"rotationAccessKey":{"type":["string","null"]},"rotationIngestKey":{"type":["string","null"]},"rotationSecretKey":{"type":["string","null"]},"secretKey":{"type":["string","null"]},"secretsManagerConfiguration":{"oneOf":[{"$ref":"#/components/schemas/SecretManagerConfigurationWithOption"},{"type":"null"}]},"selectedResourceInventory":{"type":["string","null"]},"serviceUserId":{"type":["string","null"]},"sparkMajorVersion":{"type":["string","null"]},"sparkRuntime":{"type":["string","null"]},"status":{"type":["string","null"]},"statusReportInterval":{"type":"integer"},"tenantId":{"type":"string"},"updatedAt":{"oneOf":[{"$ref":"#/components/schemas/DateTime"},{"type":"null"}]},"upgradeAvailable":{"type":"boolean"},"url":{"type":["string","null"]},"version":{"type":"string"}}},"ConnectionType":{"type":"object","title":"io.ad.catalog.api.model.ConnectionType","required":["id","type"],"properties":{"id":{"type":"integer"},"type":{"type":"string"}}},"ConfigProperty":{"type":"object","title":"io.ad.catalog.api.model.ConfigProperty","required":["key","value"],"properties":{"id":{"type":"integer"},"key":{"type":"string"},"value":{"type":"string"}}},"Connection":{"type":"object","title":"io.ad.catalog.api.model.Connection","required":["analyticsPipeline","assembliesCount","connectionType","createdAt","name","properties","updatedAt"],"properties":{"analyticsPipeline":{"$ref":"#/components/schemas/AnalyticsPipeline"},"assembliesCount":{"type":"integer"},"configuration":{"type":["object","null"],"additionalProperties":{"type":"string"}},"connectionType":{"$ref":"#/components/schemas/ConnectionType"},"createdAt":{"$ref":"#/components/schemas/DateTime"},"description":{"type":["string","null"]},"id":{"type":"integer"},"name":{"type":"string"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/ConfigProperty"}},"updatedAt":{"$ref":"#/components/schemas/DateTime"}}},"None":{"type":"object","title":"arrow.core.None"},"Crawler":{"type":"object","title":"io.ad.catalog.api.model.Crawler","required":["name"],"properties":{"name":{"type":"string"}}},"SecurityConfig":{"type":"object","title":"io.ad.catalog.api.model.SecurityConfig","required":["config","type"],"properties":{"config":{"type":"object","additionalProperties":{"type":"string"}},"type":{"type":"string"}}},"SourceModel":{"type":"object","title":"io.ad.catalog.api.model.SourceModel","required":["name"],"properties":{"id":{"type":"integer"},"name":{"type":"string"}}},"SourceType":{"type":"object","title":"io.ad.catalog.api.model.SourceType","required":["miniProfiling","name"],"properties":{"connectionTypeId":{"type":"integer"},"id":{"type":"integer"},"miniProfiling":{"type":"boolean"},"name":{"type":"string"},"sourceModel":{"oneOf":[{"$ref":"#/components/schemas/SourceModel"},{"type":"null"}]}}},"Assembly":{"type":"object","title":"io.ad.catalog.api.model.Assembly","required":["autoProfile","crawler","createdAt","description","isSecured","isVirtual","name","sourceType","status","tenantId","timeZone","updatedAt"],"properties":{"analyticsPipelineId":{"type":"integer"},"assemblyProperties":{"type":["object","null"],"additionalProperties":{"oneOf":[{"$ref":"#/components/schemas/Any"},{"type":"null"}]}},"autoProfile":{"type":"boolean"},"configuration":{"type":["object","null"],"additionalProperties":{"oneOf":[{"$ref":"#/components/schemas/Any"},{"type":"null"}]}},"conn":{"oneOf":[{"$ref":"#/components/schemas/Connection"},{"type":"null"}]},"connectionId":{"type":"integer"},"crawler":{"$ref":"#/components/schemas/Crawler"},"createdAt":{"$ref":"#/components/schemas/DateTime"},"createdBy":{"type":["string","null"]},"currentSnapshot":{"type":["string","null"]},"description":{"type":"string"},"id":{"type":"integer"},"integrationId":{"type":["string","null"]},"isProtectedResource":{"type":"boolean"},"isSecured":{"type":"boolean"},"isVirtual":{"type":"boolean"},"name":{"type":"string"},"schedule":{"type":["string","null"]},"securityConfig":{"oneOf":[{"$ref":"#/components/schemas/SecurityConfig"},{"type":"null"}]},"sourceType":{"$ref":"#/components/schemas/SourceType"},"status":{"type":"string","enum":["ACTIVE","MARKED_FOR_DELETED"]},"tenantId":{"type":"string"},"timeZone":{"type":"string"},"updatedAt":{"$ref":"#/components/schemas/DateTime"}}},"ScheduleRequest":{"type":"object","title":"io.ad.catalog.api.model.quality.ScheduleRequest","required":["scheduled"],"properties":{"cronExpression":{"type":["string","null"]},"scheduled":{"type":"boolean"},"timeZone":{"type":["string","null"]}}},"PolicyScheduleResponse":{"type":"object","title":"io.ad.catalog.api.model.quality.PolicyScheduleResponse","required":["policyId","policyType","scheduled","version"],"properties":{"cronExpression":{"type":["string","null"]},"policyId":{"type":"integer"},"policyType":{"type":"string","enum":["DATA_QUALITY","RECONCILIATION","EQUALITY","DATA_DRIFT","SCHEMA_DRIFT","DATA_CADENCE","PROFILE_ANOMALY","AUTO_ANOMALY"]},"scheduled":{"type":"boolean"},"timeZone":{"type":["string","null"]},"version":{"type":"integer"}}},"RuleTagRequest":{"type":"object","title":"io.ad.catalog.api.model.quality.RuleTagRequest","required":["ruleTag"],"properties":{"ruleTag":{"$ref":"#/components/schemas/RuleTag"}}},"SingleCategoryPersistenceConfig":{"type":"object","title":"io.ad.catalog.api.model.SingleCategoryPersistenceConfig","required":["format","suffixTemplate"],"properties":{"format":{"type":"string","enum":["PARQUET","ORC","CSV","JSON"]},"suffixTemplate":{"type":"string"}}},"MetadataPersistenceConfig":{"type":"object","title":"io.ad.catalog.api.model.MetadataPersistenceConfig","required":["suffixTemplate"],"properties":{"suffixTemplate":{"type":"string"}}},"CategoriesPersistenceConfig":{"type":"object","title":"io.ad.catalog.api.model.CategoriesPersistenceConfig","required":["bad","good"],"properties":{"bad":{"$ref":"#/components/schemas/SingleCategoryPersistenceConfig"},"good":{"$ref":"#/components/schemas/SingleCategoryPersistenceConfig"},"metadata":{"oneOf":[{"$ref":"#/components/schemas/MetadataPersistenceConfig"},{"type":"null"}]}}},"CustomPolicyPersistencePathConfig":{"type":"object","title":"io.ad.catalog.api.model.CustomPolicyPersistencePathConfig","required":["categoriesConfig"],"properties":{"categoriesConfig":{"$ref":"#/components/schemas/CategoriesPersistenceConfig"}}},"DefaultPolicyPersistencePathConfig":{"type":"object","title":"io.ad.catalog.api.model.DefaultPolicyPersistencePathConfig"},"SavedPolicyPersistencePathConfig":{"type":"object","title":"io.ad.catalog.api.model.SavedPolicyPersistencePathConfig","required":["configId"],"properties":{"configId":{"type":"integer"}}},"PolicyPersistencePathConfig":{"type":["object","null"],"title":"io.ad.catalog.api.model.PolicyPersistencePathConfig","oneOf":[{"$ref":"#/components/schemas/CustomPolicyPersistencePathConfig"},{"$ref":"#/components/schemas/DefaultPolicyPersistencePathConfig"},{"$ref":"#/components/schemas/SavedPolicyPersistencePathConfig"}],"discriminator":{"propertyName":"type","mapping":{"io.ad.catalog.api.model.CustomPolicyPersistencePathConfig":"#/components/schemas/CustomPolicyPersistencePathConfig","io.ad.catalog.api.model.DefaultPolicyPersistencePathConfig":"#/components/schemas/DefaultPolicyPersistencePathConfig","io.ad.catalog.api.model.SavedPolicyPersistencePathConfig":"#/components/schemas/SavedPolicyPersistencePathConfig"}}},"SingleCategoryResultHandlingConfig":{"type":"object","title":"io.ad.catalog.api.model.SingleCategoryResultHandlingConfig","required":["sampleOnly","storeResult"],"properties":{"sampleOnly":{"type":"boolean"},"storeResult":{"type":"boolean"}}},"CategoriesResultHandlingConfig":{"type":"object","title":"io.ad.catalog.api.model.CategoriesResultHandlingConfig","required":["bad","good"],"properties":{"bad":{"$ref":"#/components/schemas/SingleCategoryResultHandlingConfig"},"good":{"$ref":"#/components/schemas/SingleCategoryResultHandlingConfig"}}},"RuleConfig":{"type":"object","title":"io.ad.catalog.api.model.quality.RuleConfig","required":["ruleId"],"properties":{"categoriesPersistenceConfig":{"$ref":"#/components/schemas/PolicyPersistencePathConfig"},"categoriesResultHandlingConfig":{"oneOf":[{"$ref":"#/components/schemas/CategoriesResultHandlingConfig"},{"type":"null"}]},"id":{"type":"integer"},"persistenceFolderPrefix":{"type":["string","null"]},"ruleId":{"type":"integer"}}},"ExecutionResponse":{"type":"object","title":"io.ad.catalog.api.model.quality.ExecutionResponse","required":["execution"],"properties":{"execution":{"$ref":"#/components/schemas/RuleExecution"},"leftBackingAssetId":{"type":"integer"},"leftBackingAssetUid":{"type":["string","null"]},"leftDataSource":{"type":["string","null"]},"leftDataSourceType":{"type":["string","null"]},"result":{"oneOf":[{"$ref":"#/components/schemas/RuleExecutionResult"},{"type":"null"}]},"rightBackingAssetId":{"type":"integer"},"rightBackingAssetUid":{"type":["string","null"]},"rightDataSource":{"type":["string","null"]},"rightDataSourceType":{"type":["string","null"]}}},"ExecutionsResponse":{"type":"object","title":"io.ad.catalog.api.model.quality.ExecutionsResponse","required":["executions","meta"],"properties":{"executions":{"type":"array","items":{"$ref":"#/components/schemas/ExecutionResponse"}},"meta":{"$ref":"#/components/schemas/MetaData"}}},"Item":{"type":"object","title":"io.ad.catalog.api.model.quality.DataQuality.Item","required":["aggregateType","executionOrder","isArchived","isDimension","isWarning","measurementType","name","resultThreshold","ruleVersion","weightage"],"properties":{"aggregateType":{"type":"string","enum":["SUM","AVG","MIN","MAX","RULE","CUSTOM","COUNT"]},"associatedDQRecommendationId":{"type":"integer"},"bulkPolicyDqRuleId":{"type":"integer"},"businessExplanation":{"type":["string","null"]},"columnName":{"type":["string","null"]},"executionInputs":{"type":["object","null"],"additionalProperties":{"oneOf":[{"$ref":"#/components/schemas/Any"},{"type":"null"}]}},"executionOrder":{"type":"integer"},"id":{"type":"integer"},"isArchived":{"type":"boolean"},"isDimension":{"type":"boolean"},"isWarning":{"type":"boolean"},"labels":{"type":["array","null"],"items":{"$ref":"#/components/schemas/Label"}},"measurementType":{"type":"string","enum":["MISSING_VALUES","FRESHNESS_CHECK","DATATYPE_MATCH","REGEX_MATCH","VALUES_IN_LIST","VALUES_IN_LOOKUP","DISTINCTNESS_CHECK","DUPLICATE_ROWS_CHECK","PRECISION_SCALE_CHECK","BUSINESS_MEASURE","TAG_MATCH","RANGE_MATCH","SIZE_CHECK","CUSTOM","UDF_PREDICATE","SQL_METRIC","AGGREGATES","DATA_FRESHNESS","RECORD_COUNT_TOTAL","RECORD_COUNT_DRIFT","DATA_VOLUME_TOTAL","DATA_VOLUME_DRIFT","FILE_COUNT_TOTAL","FILE_COUNT_DRIFT","CHANGE_IN_FILE_SIZE","ABSOLUTE_FILE_SIZE","RAW_ABSOLUTE_SIZE","RAW_DATA_FRESHNESS","MESSAGES_COUNT_TOTAL","MESSAGES_COUNT_DRIFT","CHANGE_IN_TOPIC_SIZE","ABSOLUTE_TOPIC_SIZE"]},"name":{"type":"string"},"resultThreshold":{"type":"number"},"ruleExpression":{"type":["string","null"]},"ruleId":{"type":"integer"},"ruleVersion":{"type":"integer"},"thresholdConfig":{"$ref":"#/components/schemas/RuleThresholdConfiguration"},"value":{"type":["object","null"],"additionalProperties":{"oneOf":[{"$ref":"#/components/schemas/Any"},{"type":"null"}]}},"weightage":{"type":"number"}}},"Rule":{"type":"object","title":"io.ad.catalog.api.model.quality.DataQuality.Rule","required":["backingAssetId","continueExecutionOnFailure","executionSequence","isCompositeRule","isSegmented","items","policyScoreStrategy","ruleId","treatZeroRowsAsSuccess"],"properties":{"backingAssetId":{"type":"integer"},"continueExecutionOnFailure":{"type":"boolean"},"customSqlConfig":{"oneOf":[{"$ref":"#/components/schemas/CustomSqlConfig"},{"type":"null"}]},"engineType":{"type":["string","null"],"enum":["SPARK","JDBC_SQL","POD"]},"executionSequence":{"type":"integer"},"filter":{"type":["string","null"]},"id":{"type":"integer"},"isCompositeRule":{"type":"boolean"},"isSegmented":{"type":"boolean"},"items":{"type":"array","items":{"$ref":"#/components/schemas/Item"}},"jobSchedule":{"oneOf":[{"$ref":"#/components/schemas/JobSchedule"},{"type":"null"}]},"parentId":{"type":"integer"},"policyScoreStrategy":{"type":"string","enum":["CUSTOM","WEIGHTAGE","RULES"]},"ruleId":{"type":"integer"},"segments":{"type":["array","null"],"items":{"$ref":"#/components/schemas/ShortSegment"}},"subType":{"type":["string","null"],"enum":["ASSET","SQL"]},"tenantId":{"type":["string","null"]},"transformUDFs":{"type":["array","null"],"items":{"$ref":"#/components/schemas/PolicyTransformUDF"}},"treatZeroRowsAsSuccess":{"type":"boolean"}}},"DataQuality.Engine":{"type":"object","title":"DataQuality.Engine","required":["displayName","name"],"properties":{"displayName":{"type":"string"},"name":{"type":"string","enum":["SPARK","JDBC_SQL","POD"]}}},"DataplaneEngine":{"type":"object","title":"io.ad.catalog.api.model.quality.DataQuality.DataplaneEngine","required":["current","displayName"],"properties":{"current":{"type":"string","enum":["SPARK","JDBC_SQL","POD"]},"displayName":{"type":"string"},"supported":{"type":["array","null"],"items":{"$ref":"#/components/schemas/DataQuality.Engine"}}}},"DataQualityRule":{"type":"object","title":"io.ad.catalog.api.model.quality.DataQuality.DataQualityRule","required":["additionalPersistedColumns","archived","backingAsset","continueExecutionOnFailure","createdAt","enabled","executionSequence","includeInQualityScore","isCompositeRule","isProtectedResource","name","policyScoreStrategy","scheduled","sparkSQLFilterType","thresholdLevel","timeZone","treatZeroRowsAsSuccess","type","updatedAt","version"],"properties":{"additionalPersistedColumns":{"type":"array","items":{"type":"string"}},"archivalReason":{"type":["string","null"]},"archived":{"type":"boolean"},"autoCreated":{"type":"boolean"},"autoRetryEnabled":{"type":"boolean"},"backingAsset":{"$ref":"#/components/schemas/BackingAsset"},"continueExecutionOnFailure":{"type":"boolean"},"createdAt":{"$ref":"#/components/schemas/DateTime"},"createdBy":{"type":["string","null"]},"customSqlConfig":{"oneOf":[{"$ref":"#/components/schemas/CustomSqlConfig"},{"type":"null"}]},"description":{"type":["string","null"]},"enabled":{"type":"boolean"},"engineType":{"type":["string","null"],"enum":["SPARK","JDBC_SQL","POD"]},"executionSequence":{"type":"integer"},"executionTimeoutInMinutes":{"type":"integer"},"filter":{"type":["string","null"]},"id":{"type":"integer"},"includeInQualityScore":{"type":"boolean"},"isCompositeRule":{"type":"boolean"},"isProtectedResource":{"type":"boolean"},"jobSchedule":{"oneOf":[{"$ref":"#/components/schemas/JobSchedule"},{"type":"null"}]},"labels":{"type":["array","null"],"items":{"$ref":"#/components/schemas/Label"}},"lastUpdatedBy":{"type":["string","null"]},"name":{"type":"string"},"notificationChannels":{"oneOf":[{"$ref":"#/components/schemas/NotificationPayload"},{"type":"null"}]},"parentId":{"type":"integer"},"policyGroups":{"type":["array","null"],"items":{"$ref":"#/components/schemas/PolicyGroup"}},"policyScoreStrategy":{"type":"string","enum":["CUSTOM","WEIGHTAGE","RULES"]},"resourceStrategyType":{"type":["string","null"],"enum":["INVENTORY","CUSTOM"]},"ruleSetId":{"type":"integer"},"schedule":{"type":["string","null"]},"scheduled":{"type":"boolean"},"segments":{"type":["array","null"],"items":{"$ref":"#/components/schemas/ShortSegment"}},"selectedResourceInventory":{"type":["string","null"]},"sparkFilterSelectedColumns":{"type":["array","null"],"items":{"type":"string"}},"sparkResourceConfig":{"oneOf":[{"$ref":"#/components/schemas/SparkResourceConfig"},{"type":"null"}]},"sparkSQLDynamicFilterVariableMapping":{"oneOf":[{"$ref":"#/components/schemas/RuleSparkSQLDynamicFilterVariableMapping"},{"type":"null"}]},"sparkSQLFilterType":{"type":"string","enum":["STATIC","DYNAMIC"]},"subType":{"type":["string","null"],"enum":["ASSET","SQL"]},"tags":{"type":["array","null"],"items":{"$ref":"#/components/schemas/RuleTag"}},"tenantId":{"type":["string","null"]},"thresholdLevel":{"$ref":"#/components/schemas/RuleThresholdConfiguration"},"timeZone":{"type":"string"},"totalExecutionTimeoutInMinutes":{"type":"integer"},"treatZeroRowsAsSuccess":{"type":"boolean"},"type":{"type":"string","enum":["DATA_QUALITY","RECONCILIATION","EQUALITY","DATA_DRIFT","SCHEMA_DRIFT","DATA_CADENCE","PROFILE_ANOMALY","AUTO_ANOMALY"]},"updatedAt":{"$ref":"#/components/schemas/DateTime"},"version":{"type":"integer"}}},"RuleResponse":{"type":"object","title":"io.ad.catalog.api.model.quality.DataQuality.RuleResponse","required":["rule"],"properties":{"details":{"oneOf":[{"$ref":"#/components/schemas/Rule"},{"type":"null"}]},"engine":{"oneOf":[{"$ref":"#/components/schemas/DataplaneEngine"},{"type":"null"}]},"rule":{"$ref":"#/components/schemas/DataQualityRule"}}},"GenericRuleExecution":{"type":"object","title":"io.ad.catalog.api.model.quality.GenericRuleExecution","required":["dataPersistenceEnabled","executionMode","executionStatus","executionType","includeInQualityScore","resultStatus","ruleId","ruleSelectionEnabled","ruleVersion","startedAt"],"properties":{"analysisJob":{"oneOf":[{"$ref":"#/components/schemas/DataplaneJob"},{"type":"null"}]},"autoRetries":{"type":"integer"},"autoRetryEnabled":{"type":"boolean"},"dataPersistenceEnabled":{"type":"boolean"},"engineType":{"type":["string","null"],"enum":["SPARK","JDBC_SQL","POD"]},"executionError":{"type":["string","null"]},"executionMode":{"type":"string","enum":["SCHEDULED","MANUAL","WEBHOOK","API"]},"executionStatus":{"type":"string","enum":["STARTED","RUNNING","ERRORED","WARNING","SUCCESSFUL","ABORTED","SKIPPED","WAITING","ANOMALY_DETECTION","EXECUTION_RESULT"]},"executionType":{"type":"string","enum":["SELECTIVE","FULL","INCREMENTAL"]},"finishedAt":{"oneOf":[{"$ref":"#/components/schemas/DateTime"},{"type":"null"}]},"id":{"type":"integer"},"includeInQualityScore":{"type":"boolean"},"lastMarker":{"oneOf":[{"$ref":"#/components/schemas/Marker"},{"type":"null"}]},"leftLastMarker":{"oneOf":[{"$ref":"#/components/schemas/Marker"},{"type":"null"}]},"leftMarkerConfig":{"oneOf":[{"$ref":"#/components/schemas/MarkerConfig"},{"type":"null"}]},"markerConfig":{"oneOf":[{"$ref":"#/components/schemas/MarkerConfig"},{"type":"null"}]},"parentId":{"type":"integer"},"persistencePath":{"type":["string","null"]},"resetPoint":{"type":"integer"},"resourceStrategyType":{"type":["string","null"],"enum":["INVENTORY","CUSTOM"]},"resultPersistencePath":{"type":["object","null"],"additionalProperties":{"type":"string"}},"resultStatus":{"type":"string","enum":["STARTED","RUNNING","ERRORED","WARNING","SUCCESSFUL","ABORTED","SKIPPED","WAITING","ANOMALY_DETECTION","EXECUTION_RESULT"]},"rightLastMarker":{"oneOf":[{"$ref":"#/components/schemas/Marker"},{"type":"null"}]},"rightMarkerConfig":{"oneOf":[{"$ref":"#/components/schemas/MarkerConfig"},{"type":"null"}]},"ruleId":{"type":"integer"},"ruleName":{"type":["string","null"]},"ruleSelectionEnabled":{"type":"boolean"},"ruleType":{"type":["string","null"],"enum":["DATA_QUALITY","RECONCILIATION","EQUALITY","DATA_DRIFT","SCHEMA_DRIFT","DATA_CADENCE","PROFILE_ANOMALY","AUTO_ANOMALY"]},"ruleVersion":{"type":"integer"},"selectedResourceInventory":{"type":["string","null"]},"sparkResourceConfig":{"oneOf":[{"$ref":"#/components/schemas/SparkResourceConfig"},{"type":"null"}]},"startedAt":{"$ref":"#/components/schemas/DateTime"},"thresholdLevel":{"$ref":"#/components/schemas/RuleThresholdConfiguration"}}},"RootCauseAnalysis":{"type":"object","title":"io.ad.dataplane.model.response.spark.dq.RootCauseAnalysis","required":["bad","badFraction","good","goodFraction","key","totalFraction"],"properties":{"bad":{"type":"integer"},"badFraction":{"type":"number"},"good":{"type":"integer"},"goodFraction":{"type":"number"},"key":{"type":"string"},"totalFraction":{"type":"number"}}},"ItemSegment":{"type":"object","title":"io.ad.catalog.api.model.quality.ItemSegment","required":["executionId","itemExecutionId","rowsScanned","ruleItemId","segmentHash"],"properties":{"error":{"type":["string","null"]},"executionId":{"type":"integer"},"executionInputs":{"type":["object","null"],"additionalProperties":{"oneOf":[{"$ref":"#/components/schemas/Any"},{"type":"null"}]}},"id":{"type":"integer"},"itemExecutionId":{"type":"integer"},"result":{"type":"number"},"rowsFailed":{"type":"integer"},"rowsScanned":{"type":"integer"},"ruleItemId":{"type":"integer"},"segmentHash":{"type":"string"},"status":{"type":["string","null"]},"thresholdConfig":{"$ref":"#/components/schemas/RuleThresholdConfiguration"},"value":{"type":["string","null"]}}},"ItemExecution":{"type":"object","title":"io.ad.catalog.api.model.quality.DataQuality.ItemExecution","required":["executionId","isWarning","ruleItemId","startedAt","threshold","weightage"],"properties":{"businessItemId":{"type":"integer"},"error":{"type":["string","null"]},"executionId":{"type":"integer"},"executionInputs":{"type":["object","null"],"additionalProperties":{"oneOf":[{"$ref":"#/components/schemas/Any"},{"type":"null"}]}},"finishedAt":{"oneOf":[{"$ref":"#/components/schemas/DateTime"},{"type":"null"}]},"id":{"type":"integer"},"isWarning":{"type":"boolean"},"item":{"oneOf":[{"$ref":"#/components/schemas/Item"},{"type":"null"}]},"rca":{"type":["array","null"],"items":{"$ref":"#/components/schemas/RootCauseAnalysis"}},"result":{"type":["string","null"]},"resultPercentage":{"type":"number"},"rowsFailed":{"type":"integer"},"rowsScanned":{"type":"integer"},"rowsWarning":{"type":"integer"},"ruleItemId":{"type":"integer"},"segmentHash":{"type":["string","null"]},"segments":{"type":["array","null"],"items":{"$ref":"#/components/schemas/ItemSegment"}},"startedAt":{"$ref":"#/components/schemas/DateTime"},"status":{"type":["string","null"]},"threshold":{"type":"number"},"thresholdConfig":{"$ref":"#/components/schemas/RuleThresholdConfiguration"},"value":{"type":["string","null"]},"weightage":{"type":"number"}}},"Execution":{"type":"object","title":"io.ad.catalog.api.model.quality.DataQuality.Execution","required":["execution","items","policyScoreStrategy","treatZeroRowsAsSuccess"],"properties":{"execution":{"$ref":"#/components/schemas/GenericRuleExecution"},"items":{"type":"array","items":{"$ref":"#/components/schemas/ItemExecution"}},"policyScoreStrategy":{"type":"string","enum":["CUSTOM","WEIGHTAGE","RULES"]},"treatZeroRowsAsSuccess":{"type":"boolean"}}},"DataQuality.ExecutionsResponse":{"type":"object","title":"DataQuality.ExecutionsResponse","required":["executions","meta"],"properties":{"executions":{"type":"array","items":{"$ref":"#/components/schemas/Execution"}},"meta":{"$ref":"#/components/schemas/MetaData"}}},"PolicyExecutionMarkerConfig":{"type":"object","title":"io.ad.catalog.api.model.quality.PolicyExecutionMarkerConfig","required":["assetId","markerConfig"],"properties":{"assetId":{"type":"integer"},"markerConfig":{"$ref":"#/components/schemas/MarkerConfig"}}},"PolicyExecutionRequest":{"type":"object","title":"io.ad.catalog.api.model.quality.PolicyExecutionRequest","required":["columnVariables","executionType","includeInQualityScore","resourceStrategyType"],"properties":{"analysisJobRequestId":{"type":["string","null"]},"analyticsPipelineId":{"type":"integer"},"assetDirection":{"type":["string","null"]},"autoRetryEnabled":{"type":"boolean"},"columnVariables":{"type":"array","items":{"$ref":"#/components/schemas/ColumnVariable"}},"engineType":{"type":["string","null"],"enum":["SPARK","JDBC_SQL","POD"]},"executionType":{"type":"string","enum":["SELECTIVE","FULL","INCREMENTAL"]},"includeInQualityScore":{"type":"boolean"},"markerConfigs":{"type":["array","null"],"items":{"$ref":"#/components/schemas/PolicyExecutionMarkerConfig"}},"monitorExecutionId":{"type":"integer"},"pipelineAutomationExecutionId":{"type":"integer"},"pipelineRunId":{"type":"integer"},"profileId":{"type":"integer"},"resourceStrategyType":{"type":"string","enum":["INVENTORY","CUSTOM"]},"rightEngineType":{"type":["string","null"],"enum":["SPARK","JDBC_SQL","POD"]},"rightSparkFilterSelectedColumns":{"type":["array","null"],"items":{"type":"string"}},"rightSparkSQLDynamicFilterVariableMapping":{"type":["array","null"],"items":{"$ref":"#/components/schemas/RuleSparkSQLDynamicFilterVariableMapping"}},"ruleItemSelections":{"type":["array","null"],"items":{"type":"integer"}},"selectedResourceInventory":{"type":["string","null"]},"sourceExecutionId":{"type":"integer"},"sparkAppName":{"type":["string","null"]},"sparkFilterSelectedColumns":{"type":["array","null"],"items":{"type":"string"}},"sparkResourceConfig":{"oneOf":[{"$ref":"#/components/schemas/SparkResourceConfig"},{"type":"null"}]},"sparkSQLDynamicFilterVariableMapping":{"type":["array","null"],"items":{"$ref":"#/components/schemas/RuleSparkSQLDynamicFilterVariableMapping"}}}},"CloningDetails":{"type":"object","title":"io.ad.catalog.api.model.quality.CloningDetails","required":["ruleId","version"],"properties":{"ruleId":{"type":"integer"},"version":{"type":"integer"}}},"RuleRequest":{"type":"object","title":"io.ad.catalog.api.model.quality.DataQuality.RuleRequest","required":["items","rule"],"properties":{"cloningDetails":{"oneOf":[{"$ref":"#/components/schemas/CloningDetails"},{"type":"null"}]},"engineType":{"type":["string","null"],"enum":["SPARK","JDBC_SQL","POD"]},"items":{"type":"array","items":{"$ref":"#/components/schemas/Item"}},"rule":{"$ref":"#/components/schemas/DataQualityRule"},"transformUDFs":{"type":["array","null"],"items":{"$ref":"#/components/schemas/PolicyTransformUDF"}}}},"UnarchiveResponse":{"type":"object","title":"io.ad.catalog.api.model.quality.DataQuality.UnarchiveResponse","required":["status"],"properties":{"status":{"type":"string","enum":["SUCCESS","FAILED_ON_BACKING_ASSET","FAILED_ON_RULE_ITEMS"]}}},"ItemsResponse":{"type":"object","title":"io.ad.catalog.api.model.quality.DataQuality.ItemsResponse","required":["items"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/Item"}}}},"RuleItemResult":{"type":"object","title":"io.ad.catalog.api.model.quality.RuleItemResult","required":["dimension","id","includeInQualityScore","ruleItemId","threshold","weightage"],"properties":{"dimension":{"type":"string","enum":["UNIQUENESS","VALIDITY","ACCURACY","CONSISTENCY","COMPLETENESS","TIMELINESS","OTHERS"]},"error":{"type":["string","null"]},"id":{"type":"integer"},"includeInQualityScore":{"type":"boolean"},"isWarning":{"type":"boolean"},"name":{"type":["string","null"]},"resultPercent":{"type":"number"},"ruleItemId":{"type":"integer"},"status":{"type":["string","null"],"enum":["STARTED","RUNNING","ERRORED","WARNING","SUCCESSFUL","ABORTED","SKIPPED","WAITING","ANOMALY_DETECTION","EXECUTION_RESULT"]},"success":{"type":"boolean"},"threshold":{"type":"number"},"weightage":{"type":"number"}}},"ExecutionResult":{"type":"object","title":"io.ad.catalog.api.model.quality.ExecutionResult","required":["execution","items","meta","result"],"properties":{"childExecutions":{"type":["array","null"],"items":{"$ref":"#/components/schemas/ExecutionResult"}},"execution":{"$ref":"#/components/schemas/GenericRuleExecution"},"items":{"type":"array","items":{"$ref":"#/components/schemas/RuleItemResult"}},"meta":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/Any"}},"result":{"$ref":"#/components/schemas/RuleExecutionResult"}}},"RulesResponse":{"type":"object","title":"io.ad.catalog.api.model.quality.DataQuality.RulesResponse","required":["meta","rules"],"properties":{"meta":{"$ref":"#/components/schemas/MetaData"},"rules":{"type":"array","items":{"$ref":"#/components/schemas/RuleResponse"}}}},"ColumnMapping":{"type":"object","title":"io.ad.catalog.api.model.quality.Reconciliation.ColumnMapping","required":["ignoreNullValues","isArchived","isJoinColumnUsedForMeasure","isWarning","leftColumnName","mappingType","name","operation","rightColumnName","ruleVersion","useForJoining","weightage"],"properties":{"businessExplanation":{"type":["string","null"]},"deletedAt":{"oneOf":[{"$ref":"#/components/schemas/DateTime"},{"type":"null"}]},"id":{"type":"integer"},"ignoreNullValues":{"type":"boolean"},"isArchived":{"type":"boolean"},"isJoinColumnUsedForMeasure":{"type":"boolean"},"isWarning":{"type":"boolean"},"labels":{"type":["array","null"],"items":{"$ref":"#/components/schemas/Label"}},"leftColumnName":{"type":"string"},"mappingType":{"type":"string","enum":["AUTO","MANUAL"]},"name":{"type":"string"},"operation":{"type":"string","enum":["EQ","NOT_EQ","GTE","GT","LTE","LT"]},"reconciliationRuleId":{"type":"integer"},"rightColumnName":{"type":"string"},"ruleVersion":{"type":"integer"},"useForJoining":{"type":"boolean"},"weightage":{"type":"number"}}},"Reconciliation.Item":{"type":"object","title":"Reconciliation.Item","required":["executionOrder","measurementType","version"],"properties":{"executionOrder":{"type":"integer"},"id":{"type":"integer"},"measurementType":{"type":"string","enum":["EQUALITY","COUNT","PROFILE_EQUALITY","HASHED_EQUALITY","TIMELINESS","CUSTOM","ROW_COUNT_EQUALITY"]},"ruleId":{"type":"integer"},"thresholdConfig":{"$ref":"#/components/schemas/RuleThresholdConfiguration"},"version":{"type":"integer"}}},"Reconciliation.Rule":{"type":"object","title":"Reconciliation.Rule","required":["columnMappings","continueExecutionOnFailure","isCompositeRule","isSegmented","items","leftBackingAssetId","leftSparkSQLFilterType","rightBackingAssetId","rightSparkSQLFilterType","ruleId","ruleVersion","timeSecondsOffset","treatZeroRowsAsSuccess"],"properties":{"columnMappings":{"type":"array","items":{"$ref":"#/components/schemas/ColumnMapping"}},"continueExecutionOnFailure":{"type":"boolean"},"delayInMinutes":{"type":"integer"},"id":{"type":"integer"},"isCompositeRule":{"type":"boolean"},"isSegmented":{"type":"boolean"},"items":{"type":"array","items":{"$ref":"#/components/schemas/Reconciliation.Item"}},"joinType":{"type":["string","null"],"enum":["INNER","LEFT","RIGHT","FULL","CROSS"]},"leftBackingAssetId":{"type":"integer"},"leftCustomSqlConfig":{"oneOf":[{"$ref":"#/components/schemas/CustomSqlConfig"},{"type":"null"}]},"leftEngineType":{"type":["string","null"],"enum":["SPARK","JDBC_SQL","POD"]},"leftFilter":{"type":["string","null"]},"leftSparkFilterSelectedColumns":{"type":["array","null"],"items":{"type":"string"}},"leftSparkSQLDynamicFilterVariableMapping":{"oneOf":[{"$ref":"#/components/schemas/RuleSparkSQLDynamicFilterVariableMapping"},{"type":"null"}]},"leftSparkSQLFilterType":{"type":"string","enum":["STATIC","DYNAMIC"]},"rightBackingAssetId":{"type":"integer"},"rightCustomSqlConfig":{"oneOf":[{"$ref":"#/components/schemas/CustomSqlConfig"},{"type":"null"}]},"rightEngineType":{"type":["string","null"],"enum":["SPARK","JDBC_SQL","POD"]},"rightFilter":{"type":["string","null"]},"rightSparkFilterSelectedColumns":{"type":["array","null"],"items":{"type":"string"}},"rightSparkSQLDynamicFilterVariableMapping":{"oneOf":[{"$ref":"#/components/schemas/RuleSparkSQLDynamicFilterVariableMapping"},{"type":"null"}]},"rightSparkSQLFilterType":{"type":"string","enum":["STATIC","DYNAMIC"]},"ruleId":{"type":"integer"},"ruleVersion":{"type":"integer"},"segments":{"type":["array","null"],"items":{"$ref":"#/components/schemas/ShortSegment"}},"subType":{"type":["string","null"],"enum":["ASSET","SQL"]},"timeSecondsOffset":{"type":"integer"},"treatZeroRowsAsSuccess":{"type":"boolean"}}},"ReconciliationRule":{"type":"object","title":"io.ad.catalog.api.model.quality.Reconciliation.ReconciliationRule","required":["archived","createdAt","enabled","includeInQualityScore","isProtectedResource","leftBackingAsset","leftSparkSQLFilterType","name","rightBackingAsset","rightSparkSQLFilterType","scheduled","thresholdLevel","timeSecondsOffset","timeZone","treatZeroRowsAsSuccess","type","updatedAt","version"],"properties":{"analyticsPipelineId":{"type":"integer"},"archivalReason":{"type":["string","null"]},"archived":{"type":"boolean"},"autoCreated":{"type":"boolean"},"autoRetryEnabled":{"type":"boolean"},"createdAt":{"$ref":"#/components/schemas/DateTime"},"createdBy":{"type":["string","null"]},"delayInMinutes":{"type":"integer"},"description":{"type":["string","null"]},"enabled":{"type":"boolean"},"engineType":{"type":["string","null"],"enum":["SPARK","JDBC_SQL","POD"]},"executionTimeoutInMinutes":{"type":"integer"},"id":{"type":"integer"},"includeInQualityScore":{"type":"boolean"},"isProtectedResource":{"type":"boolean"},"joinType":{"type":["string","null"],"enum":["INNER","LEFT","RIGHT","FULL","CROSS"]},"labels":{"type":["array","null"],"items":{"$ref":"#/components/schemas/Label"}},"lastUpdatedBy":{"type":["string","null"]},"leftBackingAsset":{"$ref":"#/components/schemas/BackingAsset"},"leftCustomSqlConfig":{"oneOf":[{"$ref":"#/components/schemas/CustomSqlConfig"},{"type":"null"}]},"leftFilter":{"type":["string","null"]},"leftSparkFilterSelectedColumns":{"type":["array","null"],"items":{"type":"string"}},"leftSparkSQLDynamicFilterVariableMapping":{"oneOf":[{"$ref":"#/components/schemas/RuleSparkSQLDynamicFilterVariableMapping"},{"type":"null"}]},"leftSparkSQLFilterType":{"type":"string","enum":["STATIC","DYNAMIC"]},"name":{"type":"string"},"notificationChannels":{"oneOf":[{"$ref":"#/components/schemas/NotificationPayload"},{"type":"null"}]},"policyGroups":{"type":["array","null"],"items":{"$ref":"#/components/schemas/PolicyGroup"}},"resourceStrategyType":{"type":["string","null"],"enum":["INVENTORY","CUSTOM"]},"rightBackingAsset":{"$ref":"#/components/schemas/BackingAsset"},"rightCustomSqlConfig":{"oneOf":[{"$ref":"#/components/schemas/CustomSqlConfig"},{"type":"null"}]},"rightEngineType":{"type":["string","null"],"enum":["SPARK","JDBC_SQL","POD"]},"rightFilter":{"type":["string","null"]},"rightSparkFilterSelectedColumns":{"type":["array","null"],"items":{"type":"string"}},"rightSparkSQLDynamicFilterVariableMapping":{"oneOf":[{"$ref":"#/components/schemas/RuleSparkSQLDynamicFilterVariableMapping"},{"type":"null"}]},"rightSparkSQLFilterType":{"type":"string","enum":["STATIC","DYNAMIC"]},"schedule":{"type":["string","null"]},"scheduled":{"type":"boolean"},"selectedResourceInventory":{"type":["string","null"]},"sparkResourceConfig":{"oneOf":[{"$ref":"#/components/schemas/SparkResourceConfig"},{"type":"null"}]},"subType":{"type":["string","null"],"enum":["ASSET","SQL"]},"tags":{"type":["array","null"],"items":{"$ref":"#/components/schemas/RuleTag"}},"tenantId":{"type":["string","null"]},"thresholdLevel":{"$ref":"#/components/schemas/RuleThresholdConfiguration"},"timeSecondsOffset":{"type":"integer"},"timeZone":{"type":"string"},"totalExecutionTimeoutInMinutes":{"type":"integer"},"treatZeroRowsAsSuccess":{"type":"boolean"},"type":{"type":"string","enum":["DATA_QUALITY","RECONCILIATION","EQUALITY","DATA_DRIFT","SCHEMA_DRIFT","DATA_CADENCE","PROFILE_ANOMALY","AUTO_ANOMALY"]},"updatedAt":{"$ref":"#/components/schemas/DateTime"},"version":{"type":"integer"}}},"Reconciliation.RuleResponse":{"type":"object","title":"Reconciliation.RuleResponse","required":["rule"],"properties":{"details":{"oneOf":[{"$ref":"#/components/schemas/Reconciliation.Rule"},{"type":"null"}]},"rule":{"$ref":"#/components/schemas/ReconciliationRule"}}},"Reconciliation.ItemExecution":{"type":"object","title":"Reconciliation.ItemExecution","required":["executionId","isError","leftAnalyticsPipelineName","rightAnalyticsPipelineName","ruleItemId","startedAt"],"properties":{"delayedLeftAnalysisJobId":{"type":"integer"},"delayedRightAnalysisJobId":{"type":"integer"},"executionId":{"type":"integer"},"finishedAt":{"oneOf":[{"$ref":"#/components/schemas/DateTime"},{"type":"null"}]},"id":{"type":"integer"},"isError":{"type":"boolean"},"leftAnalyticsPipelineName":{"type":"string"},"leftError":{"type":["string","null"]},"leftResult":{"type":["string","null"]},"leftRowsFailed":{"type":"integer"},"leftRowsScanned":{"type":"integer"},"matchResult":{"type":["string","null"]},"measuresSelection":{"type":["array","null"],"items":{"type":"integer"}},"rightAnalyticsPipelineName":{"type":"string"},"rightError":{"type":["string","null"]},"rightResult":{"type":["string","null"]},"rightRowsFailed":{"type":"integer"},"rightRowsScanned":{"type":"integer"},"ruleItemId":{"type":"integer"},"startedAt":{"$ref":"#/components/schemas/DateTime"}}},"Reconciliation.Execution":{"type":"object","title":"Reconciliation.Execution","required":["execution","items"],"properties":{"execution":{"$ref":"#/components/schemas/RuleExecution"},"items":{"type":"array","items":{"$ref":"#/components/schemas/Reconciliation.ItemExecution"}}}},"Reconciliation.ExecutionsResponse":{"type":"object","title":"Reconciliation.ExecutionsResponse","required":["executions","meta"],"properties":{"executions":{"type":"array","items":{"$ref":"#/components/schemas/Reconciliation.Execution"}},"meta":{"$ref":"#/components/schemas/MetaData"}}},"Reconciliation.RuleRequest":{"type":"object","title":"Reconciliation.RuleRequest","required":["items","mappings","rule"],"properties":{"analyticsPipelineId":{"type":"integer"},"cloningDetails":{"oneOf":[{"$ref":"#/components/schemas/CloningDetails"},{"type":"null"}]},"items":{"type":"array","items":{"$ref":"#/components/schemas/Reconciliation.Item"}},"mappings":{"type":"array","items":{"$ref":"#/components/schemas/ColumnMapping"}},"rule":{"$ref":"#/components/schemas/ReconciliationRule"}}},"Reconciliation.RulesResponse":{"type":"object","title":"Reconciliation.RulesResponse","required":["meta","rules"],"properties":{"meta":{"$ref":"#/components/schemas/MetaData"},"rules":{"type":"array","items":{"$ref":"#/components/schemas/Reconciliation.RuleResponse"}}}},"DataCadenceRule.Item":{"type":"object","title":"DataCadenceRule.Item","required":["displayName","executionOrder","measurementType","ruleVersion"],"properties":{"displayName":{"type":"string"},"executionOrder":{"type":"integer"},"id":{"type":"integer"},"measurementType":{"type":"string","enum":["DATA_FRESHNESS","RECORD_COUNT_TOTAL","RECORD_COUNT_DRIFT","DATA_VOLUME_TOTAL","DATA_VOLUME_DRIFT","FILE_COUNT_TOTAL","FILE_COUNT_DRIFT","CHANGE_IN_FILE_SIZE","ABSOLUTE_FILE_SIZE","RAW_ABSOLUTE_SIZE","RAW_DATA_FRESHNESS","MESSAGES_COUNT_TOTAL","MESSAGES_COUNT_DRIFT","CHANGE_IN_TOPIC_SIZE","ABSOLUTE_TOPIC_SIZE"]},"ruleId":{"type":"integer"},"ruleVersion":{"type":"integer"},"thresholdConfig":{"$ref":"#/components/schemas/RuleThresholdConfiguration"}}},"DataCadenceRule.Rule":{"type":"object","title":"DataCadenceRule.Rule","required":["backingAssetId","continueExecutionOnFailure","isCompositeRule","isSegmented","items","ruleId","version"],"properties":{"backingAssetId":{"type":"integer"},"continueExecutionOnFailure":{"type":"boolean"},"id":{"type":"integer"},"isCompositeRule":{"type":"boolean"},"isSegmented":{"type":"boolean"},"items":{"type":"array","items":{"$ref":"#/components/schemas/DataCadenceRule.Item"}},"ruleId":{"type":"integer"},"segments":{"type":["array","null"],"items":{"$ref":"#/components/schemas/ShortSegment"}},"version":{"type":"integer"}}},"DataCadenceRule":{"type":"object","title":"io.ad.catalog.api.model.quality.DataCadenceRule.DataCadenceRule","required":["archived","backingAsset","createdAt","enabled","includeInQualityScore","name","scheduled","thresholdLevel","timeZone","type","updatedAt","version"],"properties":{"anomalyStrengthThreshold":{"type":["string","null"],"enum":["HIGH","MEDIUM","LOW"]},"archivalReason":{"type":["string","null"]},"archived":{"type":"boolean"},"autoCreated":{"type":"boolean"},"autoRetryEnabled":{"type":"boolean"},"backingAsset":{"$ref":"#/components/schemas/BackingAsset"},"createdAt":{"$ref":"#/components/schemas/DateTime"},"createdBy":{"type":["string","null"]},"description":{"type":["string","null"]},"enabled":{"type":"boolean"},"id":{"type":"integer"},"includeInQualityScore":{"type":"boolean"},"jobSchedule":{"oneOf":[{"$ref":"#/components/schemas/JobSchedule"},{"type":"null"}]},"lastUpdatedBy":{"type":["string","null"]},"name":{"type":"string"},"notificationChannels":{"oneOf":[{"$ref":"#/components/schemas/NotificationPayload"},{"type":"null"}]},"policyGroups":{"type":["array","null"],"items":{"$ref":"#/components/schemas/PolicyGroup"}},"resourceStrategyType":{"type":["string","null"],"enum":["INVENTORY","CUSTOM"]},"schedule":{"type":["string","null"]},"scheduled":{"type":"boolean"},"selectedResourceInventory":{"type":["string","null"]},"sparkResourceConfig":{"oneOf":[{"$ref":"#/components/schemas/SparkResourceConfig"},{"type":"null"}]},"tags":{"type":["array","null"],"items":{"$ref":"#/components/schemas/RuleTag"}},"tenantId":{"type":["string","null"]},"thresholdLevel":{"$ref":"#/components/schemas/RuleThresholdConfiguration"},"timeZone":{"type":"string"},"type":{"type":"string","enum":["DATA_QUALITY","RECONCILIATION","EQUALITY","DATA_DRIFT","SCHEMA_DRIFT","DATA_CADENCE","PROFILE_ANOMALY","AUTO_ANOMALY"]},"updatedAt":{"$ref":"#/components/schemas/DateTime"},"version":{"type":"integer"}}},"DataCadenceRule.RuleResponse":{"type":"object","title":"DataCadenceRule.RuleResponse","required":["rule"],"properties":{"details":{"oneOf":[{"$ref":"#/components/schemas/DataCadenceRule.Rule"},{"type":"null"}]},"rule":{"$ref":"#/components/schemas/DataCadenceRule"}}},"ProfileAnomalyRule.Item":{"type":"object","title":"ProfileAnomalyRule.Item","required":["executionOrder","name","ruleVersion"],"properties":{"executionOrder":{"type":"integer"},"id":{"type":"integer"},"monitorColumns":{"type":["array","null"],"items":{"type":"string"}},"name":{"type":"string"},"ruleId":{"type":"integer"},"ruleVersion":{"type":"integer"},"thresholdConfig":{"$ref":"#/components/schemas/RuleThresholdConfiguration"}}},"ProfileAnomalyRule.Rule":{"type":"object","title":"ProfileAnomalyRule.Rule","required":["assetId","continueExecutionOnFailure","isCompositeRule","isSegmented","items","ruleId","version"],"properties":{"assetId":{"type":"integer"},"continueExecutionOnFailure":{"type":"boolean"},"id":{"type":"integer"},"isCompositeRule":{"type":"boolean"},"isSegmented":{"type":"boolean"},"items":{"type":"array","items":{"$ref":"#/components/schemas/ProfileAnomalyRule.Item"}},"ruleId":{"type":"integer"},"segments":{"type":["array","null"],"items":{"$ref":"#/components/schemas/ShortSegment"}},"version":{"type":"integer"}}},"ProfileAnomalyRule":{"type":"object","title":"io.ad.catalog.api.model.quality.ProfileAnomalyRule.ProfileAnomalyRule","required":["archived","backingAsset","createdAt","enabled","includeInQualityScore","name","scheduled","thresholdLevel","type","updatedAt","version"],"properties":{"anomalyStrengthThreshold":{"type":["string","null"],"enum":["HIGH","MEDIUM","LOW"]},"archivalReason":{"type":["string","null"]},"archived":{"type":"boolean"},"autoCreated":{"type":"boolean"},"backingAsset":{"$ref":"#/components/schemas/BackingAsset"},"createdAt":{"$ref":"#/components/schemas/DateTime"},"createdBy":{"type":["string","null"]},"description":{"type":["string","null"]},"enabled":{"type":"boolean"},"engineType":{"type":["string","null"],"enum":["SPARK","JDBC_SQL","POD"]},"id":{"type":"integer"},"includeInQualityScore":{"type":"boolean"},"jobSchedule":{"oneOf":[{"$ref":"#/components/schemas/JobSchedule"},{"type":"null"}]},"lastUpdatedBy":{"type":["string","null"]},"name":{"type":"string"},"notificationChannels":{"oneOf":[{"$ref":"#/components/schemas/NotificationPayload"},{"type":"null"}]},"policyGroups":{"type":["array","null"],"items":{"$ref":"#/components/schemas/PolicyGroup"}},"schedule":{"type":["string","null"]},"scheduled":{"type":"boolean"},"sparkResourceConfig":{"oneOf":[{"$ref":"#/components/schemas/SparkResourceConfig"},{"type":"null"}]},"tags":{"type":["array","null"],"items":{"$ref":"#/components/schemas/RuleTag"}},"tenantId":{"type":["string","null"]},"thresholdLevel":{"$ref":"#/components/schemas/RuleThresholdConfiguration"},"timeZone":{"type":["string","null"]},"type":{"type":"string","enum":["DATA_QUALITY","RECONCILIATION","EQUALITY","DATA_DRIFT","SCHEMA_DRIFT","DATA_CADENCE","PROFILE_ANOMALY","AUTO_ANOMALY"]},"updatedAt":{"$ref":"#/components/schemas/DateTime"},"version":{"type":"integer"}}},"ProfileAnomalyRule.RuleResponse":{"type":"object","title":"ProfileAnomalyRule.RuleResponse","required":["rule"],"properties":{"details":{"oneOf":[{"$ref":"#/components/schemas/ProfileAnomalyRule.Rule"},{"type":"null"}]},"rule":{"$ref":"#/components/schemas/ProfileAnomalyRule"}}},"ProfileAnomalyRule.RuleRequest":{"type":"object","title":"ProfileAnomalyRule.RuleRequest","required":["items","rule"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ProfileAnomalyRule.Item"}},"rule":{"$ref":"#/components/schemas/ProfileAnomalyRule"}}},"DataDrift.Item":{"type":"object","title":"DataDrift.Item","required":["driftThreshold","executionOrder","isArchived","metricType","name","ruleVersion","weightage"],"properties":{"columnName":{"type":["string","null"]},"driftThreshold":{"type":"number"},"executionOrder":{"type":"integer"},"id":{"type":"integer"},"isArchived":{"type":"boolean"},"metricType":{"type":"string","enum":["COMPLETENESS","APPROXIMATE_DISTINCT_VALUES","DATA_TYPE","MEAN","MAXIMUM","MINIMUM","SUM","STANDARD_DEVIATION","LENGTH","CASE_COUNTS"]},"name":{"type":"string"},"ruleId":{"type":"integer"},"ruleVersion":{"type":"integer"},"thresholdConfig":{"$ref":"#/components/schemas/RuleThresholdConfiguration"},"value":{"type":["object","null"],"additionalProperties":{"oneOf":[{"$ref":"#/components/schemas/Any"},{"type":"null"}]}},"weightage":{"type":"number"}}},"DataDriftRule":{"type":"object","title":"io.ad.catalog.api.model.quality.DataDrift.DataDriftRule","required":["archived","backingAsset","createdAt","enabled","includeInQualityScore","interval","name","scheduled","thresholdLevel","timeZone","type","updatedAt","version"],"properties":{"archivalReason":{"type":["string","null"]},"archived":{"type":"boolean"},"autoCreated":{"type":"boolean"},"autoRetryEnabled":{"type":"boolean"},"backingAsset":{"$ref":"#/components/schemas/BackingAsset"},"createdAt":{"$ref":"#/components/schemas/DateTime"},"createdBy":{"type":["string","null"]},"description":{"type":["string","null"]},"enabled":{"type":"boolean"},"id":{"type":"integer"},"includeInQualityScore":{"type":"boolean"},"interval":{"type":"string"},"lastUpdatedBy":{"type":["string","null"]},"name":{"type":"string"},"notificationChannels":{"oneOf":[{"$ref":"#/components/schemas/NotificationPayload"},{"type":"null"}]},"policyGroups":{"type":["array","null"],"items":{"$ref":"#/components/schemas/PolicyGroup"}},"resourceStrategyType":{"type":["string","null"],"enum":["INVENTORY","CUSTOM"]},"schedule":{"type":["string","null"]},"scheduled":{"type":"boolean"},"selectedResourceInventory":{"type":["string","null"]},"sparkResourceConfig":{"oneOf":[{"$ref":"#/components/schemas/SparkResourceConfig"},{"type":"null"}]},"tags":{"type":["array","null"],"items":{"$ref":"#/components/schemas/RuleTag"}},"tenantId":{"type":["string","null"]},"thresholdLevel":{"$ref":"#/components/schemas/RuleThresholdConfiguration"},"timeZone":{"type":"string"},"type":{"type":"string","enum":["DATA_QUALITY","RECONCILIATION","EQUALITY","DATA_DRIFT","SCHEMA_DRIFT","DATA_CADENCE","PROFILE_ANOMALY","AUTO_ANOMALY"]},"updatedAt":{"$ref":"#/components/schemas/DateTime"},"version":{"type":"integer"}}},"DataDrift.RuleRequest":{"type":"object","title":"DataDrift.RuleRequest","required":["items","rule"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/DataDrift.Item"}},"rule":{"$ref":"#/components/schemas/DataDriftRule"}}},"DataDrift.Rule":{"type":"object","title":"DataDrift.Rule","required":["backingAssetId","continueExecutionOnFailure","interval","isCompositeRule","isSegmented","items","ruleId"],"properties":{"backingAssetId":{"type":"integer"},"continueExecutionOnFailure":{"type":"boolean"},"id":{"type":"integer"},"interval":{"type":"string"},"isCompositeRule":{"type":"boolean"},"isSegmented":{"type":"boolean"},"items":{"type":"array","items":{"$ref":"#/components/schemas/DataDrift.Item"}},"ruleId":{"type":"integer"},"segments":{"type":["array","null"],"items":{"$ref":"#/components/schemas/ShortSegment"}}}},"DataDrift.RuleResponse":{"type":"object","title":"DataDrift.RuleResponse","required":["rule"],"properties":{"details":{"oneOf":[{"$ref":"#/components/schemas/DataDrift.Rule"},{"type":"null"}]},"rule":{"$ref":"#/components/schemas/DataDriftRule"}}},"DataDrift.ItemExecution":{"type":"object","title":"DataDrift.ItemExecution","required":["executionId","requestId","ruleItemId","startedAt","weightage"],"properties":{"driftPercent":{"type":"number"},"error":{"type":["string","null"]},"executionId":{"type":"integer"},"finishedAt":{"oneOf":[{"$ref":"#/components/schemas/DateTime"},{"type":"null"}]},"id":{"type":"integer"},"referenceProfileFrom":{"type":"integer"},"referenceProfileTo":{"type":"integer"},"requestId":{"type":"string"},"result":{"type":["string","null"]},"ruleItemId":{"type":"integer"},"startedAt":{"$ref":"#/components/schemas/DateTime"},"weightage":{"type":"number"}}},"DataDrift.Execution":{"type":"object","title":"DataDrift.Execution","required":["execution","items"],"properties":{"execution":{"$ref":"#/components/schemas/RuleExecution"},"items":{"type":"array","items":{"$ref":"#/components/schemas/DataDrift.ItemExecution"}}}},"DataDrift.ExecutionsResponse":{"type":"object","title":"DataDrift.ExecutionsResponse","required":["executions","meta"],"properties":{"executions":{"type":"array","items":{"$ref":"#/components/schemas/DataDrift.Execution"}},"meta":{"$ref":"#/components/schemas/MetaData"}}},"SchemaDriftRuleConfig":{"type":"object","title":"io.ad.catalog.api.model.quality.SchemaDriftRule.SchemaDriftRuleConfig","required":["assetAddition","assetDeletion","assetMetaData","metaDataConfigs"],"properties":{"assetAddition":{"type":"boolean"},"assetDeletion":{"type":"boolean"},"assetMetaData":{"type":"boolean"},"assetRelationChange":{"type":"boolean"},"dataType":{"type":"boolean"},"metaDataConfigs":{"type":"array","items":{"type":"string"}}}},"SchemaDriftRule.Item":{"type":"object","title":"SchemaDriftRule.Item","required":["assetId","executionOrder","ruleVersion"],"properties":{"assetId":{"type":"integer"},"executionOrder":{"type":"integer"},"id":{"type":"integer"},"ruleId":{"type":"integer"},"ruleVersion":{"type":"integer"},"schemaDriftRuleConfig":{"oneOf":[{"$ref":"#/components/schemas/SchemaDriftRuleConfig"},{"type":"null"}]},"thresholdConfig":{"$ref":"#/components/schemas/RuleThresholdConfiguration"}}},"SchemaDriftRule":{"type":"object","title":"io.ad.catalog.api.model.quality.SchemaDriftRule.SchemaDriftRule","required":["archived","backingAsset","createdAt","enabled","includeInQualityScore","name","scheduled","thresholdLevel","type","updatedAt","version"],"properties":{"archivalReason":{"type":["string","null"]},"archived":{"type":"boolean"},"assemblyId":{"type":"integer"},"autoCreated":{"type":"boolean"},"autoRetryEnabled":{"type":"boolean"},"backingAsset":{"$ref":"#/components/schemas/BackingAsset"},"createdAt":{"$ref":"#/components/schemas/DateTime"},"createdBy":{"type":["string","null"]},"description":{"type":["string","null"]},"enabled":{"type":"boolean"},"id":{"type":"integer"},"includeInQualityScore":{"type":"boolean"},"jobSchedule":{"oneOf":[{"$ref":"#/components/schemas/JobSchedule"},{"type":"null"}]},"lastUpdatedBy":{"type":["string","null"]},"name":{"type":"string"},"notificationChannels":{"oneOf":[{"$ref":"#/components/schemas/NotificationPayload"},{"type":"null"}]},"policyGroups":{"type":["array","null"],"items":{"$ref":"#/components/schemas/PolicyGroup"}},"resourceStrategyType":{"type":["string","null"],"enum":["INVENTORY","CUSTOM"]},"schedule":{"type":["string","null"]},"scheduled":{"type":"boolean"},"selectedResourceInventory":{"type":["string","null"]},"sparkResourceConfig":{"oneOf":[{"$ref":"#/components/schemas/SparkResourceConfig"},{"type":"null"}]},"tags":{"type":["array","null"],"items":{"$ref":"#/components/schemas/RuleTag"}},"tenantId":{"type":["string","null"]},"thresholdLevel":{"$ref":"#/components/schemas/RuleThresholdConfiguration"},"timeZone":{"type":["string","null"]},"type":{"type":"string","enum":["DATA_QUALITY","RECONCILIATION","EQUALITY","DATA_DRIFT","SCHEMA_DRIFT","DATA_CADENCE","PROFILE_ANOMALY","AUTO_ANOMALY"]},"updatedAt":{"$ref":"#/components/schemas/DateTime"},"version":{"type":"integer"}}},"SchemaDriftRule.RuleRequest":{"type":"object","title":"SchemaDriftRule.RuleRequest","required":["items","rule"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/SchemaDriftRule.Item"}},"rule":{"$ref":"#/components/schemas/SchemaDriftRule"}}},"SchemaDriftRule.Rule":{"type":"object","title":"SchemaDriftRule.Rule","required":["backingAssetId","continueExecutionOnFailure","isCompositeRule","isSegmented","items","ruleId"],"properties":{"backingAssetId":{"type":"integer"},"continueExecutionOnFailure":{"type":"boolean"},"id":{"type":"integer"},"isCompositeRule":{"type":"boolean"},"isSegmented":{"type":"boolean"},"items":{"type":"array","items":{"$ref":"#/components/schemas/SchemaDriftRule.Item"}},"ruleId":{"type":"integer"},"segments":{"type":["array","null"],"items":{"$ref":"#/components/schemas/ShortSegment"}}}},"SchemaDriftRule.RuleResponse":{"type":"object","title":"SchemaDriftRule.RuleResponse","required":["rule"],"properties":{"details":{"oneOf":[{"$ref":"#/components/schemas/SchemaDriftRule.Rule"},{"type":"null"}]},"rule":{"$ref":"#/components/schemas/SchemaDriftRule"}}},"SnapshotData":{"type":"object","title":"io.ad.catalog.api.model.SnapshotData","required":["associatedItemId","associatedItemType","crawlingType","createdAt","selectedAssets","uuid"],"properties":{"associatedItemId":{"type":"integer"},"associatedItemType":{"type":"string","enum":["ASSEMBLY","PIPELINE"]},"crawlingType":{"type":"string","enum":["SELECTIVE","FULL"]},"createdAt":{"$ref":"#/components/schemas/DateTime"},"id":{"type":"integer"},"selectedAssets":{"type":"array","items":{"type":"string"}},"status":{"type":["string","null"],"enum":["INITIALISED","FINALISING","FINALISED","DISMISSED"]},"tenantId":{"type":["string","null"]},"updatedAt":{"oneOf":[{"$ref":"#/components/schemas/DateTime"},{"type":"null"}]},"uuid":{"type":"string"}}},"Drift":{"type":"object","title":"io.ad.catalog.api.model.quality.SchemaDriftRule.Drift","required":["addedNames","childAssetTypes","deletedNames","modifiedNames"],"properties":{"addedCount":{"type":"integer"},"addedNames":{"type":"array","items":{"type":"string"}},"backingAssetId":{"type":"integer"},"childAssetTypes":{"type":"array","items":{"$ref":"#/components/schemas/AssetType"}},"deletedCount":{"type":"integer"},"deletedNames":{"type":"array","items":{"type":"string"}},"leftSnapshotData":{"oneOf":[{"$ref":"#/components/schemas/SnapshotData"},{"type":"null"}]},"modifiedCount":{"type":"integer"},"modifiedNames":{"type":"array","items":{"type":"string"}},"rightSnapshotData":{"oneOf":[{"$ref":"#/components/schemas/SnapshotData"},{"type":"null"}]}}},"SchemaDriftRule.ItemExecution":{"type":"object","title":"SchemaDriftRule.ItemExecution","required":["executionId","ruleItemId","startedAt"],"properties":{"drift":{"oneOf":[{"$ref":"#/components/schemas/Drift"},{"type":"null"}]},"error":{"type":["string","null"]},"executionId":{"type":"integer"},"finishedAt":{"oneOf":[{"$ref":"#/components/schemas/DateTime"},{"type":"null"}]},"id":{"type":"integer"},"leftSnapshot":{"type":["string","null"]},"result":{"type":["string","null"]},"rightSnapshot":{"type":["string","null"]},"ruleItemId":{"type":"integer"},"startedAt":{"$ref":"#/components/schemas/DateTime"}}},"SchemaDriftRule.Execution":{"type":"object","title":"SchemaDriftRule.Execution","required":["execution","items"],"properties":{"execution":{"$ref":"#/components/schemas/RuleExecution"},"items":{"type":"array","items":{"$ref":"#/components/schemas/SchemaDriftRule.ItemExecution"}}}},"SchemaDriftRule.ExecutionsResponse":{"type":"object","title":"SchemaDriftRule.ExecutionsResponse","required":["executions","meta"],"properties":{"executions":{"type":"array","items":{"$ref":"#/components/schemas/SchemaDriftRule.Execution"}},"meta":{"$ref":"#/components/schemas/MetaData"}}},"Tag":{"type":"object","title":"io.ad.catalog.api.model.tags.Tag","required":["autoGenerated","createdAt","name","protectedData"],"properties":{"associatedItemId":{"type":"integer"},"associatedItemType":{"type":["string","null"]},"autoGenerated":{"type":"boolean"},"createdAt":{"$ref":"#/components/schemas/DateTime"},"createdBy":{"type":["string","null"]},"id":{"type":"integer"},"lastUpdatedBy":{"type":["string","null"]},"name":{"type":"string"},"protectedData":{"type":"boolean"},"tagType":{"type":["string","null"],"enum":["ASSET","POLICY","RULE"]},"updatedAt":{"oneOf":[{"$ref":"#/components/schemas/DateTime"},{"type":"null"}]}}},"TagsResponse":{"type":"object","title":"io.ad.catalog.api.model.tags.TagsResponse","required":["metadata","tags"],"properties":{"metadata":{"$ref":"#/components/schemas/MetaData"},"tags":{"type":"array","items":{"$ref":"#/components/schemas/Tag"}}}},"MetaDataItemRequest":{"type":"object","title":"io.ad.catalog.api.model.MetaDataItemRequest","required":["dataType","key","source","value"],"properties":{"dataType":{"type":"string"},"key":{"type":"string"},"source":{"type":"string"},"value":{"type":"string"}}},"CreateAsset":{"type":"object","title":"io.ad.catalog.api.model.CreateAsset","required":["assemblyId","derivedFromImprintList","description","isCustom","isDeleted","name","uid"],"properties":{"assemblyId":{"type":"integer"},"assetType":{"type":["string","null"],"enum":["HBASE_NAMESPACE","DATABASE","SCHEMA","TABLE","COLUMN","COLUMN_FAMILY","BUCKET","OBJECT","DIRECTORY","ARCHIVE","FILE","FILE_COLUMN","BIG_QUERY_DATASET","BIG_QUERY_FIELD","KAFKA_TOPIC","KAFKA_TOPIC_COLUMN","PUBSUB_TOPIC","PUBSUB_TOPIC_COLUMN","CATALOG","PROJECT","WORKBOOK","SHEET","DASHBOARD","DATASOURCE","FIELD","VIEW","MATERIALIZED_VIEW","COLLECTION","DOCUMENT_KEY","ML_MODEL","ML_FEATURE","ML_FEATURE_SET","DICTIONARY","VIRTUAL_VIEW","KEY_SPACE","POWERBI_WORKSPACE","POWERBI_DATAFLOW","POWERBI_DATAFLOW_ENTITY","POWERBI_DATAFLOW_ATTRIBUTE","POWERBI_SEMANTIC_MODEL","POWERBI_SEMANTIC_MODEL_TABLE","POWERBI_SEMANTIC_MODEL_COLUMN","POWERBI_DATASOURCE","POWERBI_REPORT","POWERBI_DASHBOARD","POWERBI_TILE","POWERBI_PAGE","TABLEAU_PROJECT","TABLEAU_FLOW","TABLEAU_WORKBOOK","TABLEAU_SHEET","TABLEAU_DASHBOARD","TABLEAU_DATASOURCE","TABLEAU_FIELD","TABLEAU_DATABASE","TABLEAU_TABLE","TABLEAU_COLUMN","ADF_FACTORY","ADF_PIPELINE","ADF_LINKEDSERVICE","ADF_DATASET","ADF_DATAFLOW","SQL_VIEW","SQL_VIEW_COLUMN","VISUAL_VIEW","VISUAL_VIEW_COLUMN","CUSTOM_SQL","AUTOSYS_JOB","ICEBERG_NAMESPACE"]},"assetTypeId":{"type":"integer"},"backingAssetUID":{"type":["string","null"]},"currentSnapshot":{"type":["string","null"]},"derivedFromImprintList":{"type":"array","items":{"type":"string"}},"description":{"type":"string"},"id":{"type":"integer"},"imprint":{"type":["string","null"]},"isCustom":{"type":"boolean"},"isDeleted":{"type":"boolean"},"metadata":{"type":["array","null"],"items":{"$ref":"#/components/schemas/MetaDataItemRequest"}},"metadataHash":{"type":["string","null"]},"name":{"type":"string"},"parentId":{"type":"integer"},"parentUid":{"type":["string","null"]},"snapshots":{"type":["array","null"],"items":{"type":"string"}},"sourceType":{"type":["string","null"],"enum":["BIGQUERY","AZURE_COSMOSDB_CASSANDRA","CASSANDRA","REDSHIFT","SNOWFLAKE","TERADATA","HIVE","HBASE","ADF","AZURE_MSSQL","AZURE_BLOB","AZURE_COSMOSDB_NOSQL","AZURE_COSMOSDB_POSTGRESQL","AMAZON_RDS_POSTGRESQL","AMAZON_AURORA_POSTGRESQL","AZURE_DATALAKE","AWS_GLUE","AWS_S3","HDFS","GCS","ICEBERG","KAFKA","PUBSUB","MYSQL","MARIADB","MEMSQL","POSTGRESQL","POWERBI","TABLEAU","ORACLE","AWS_ATHENA","DATABRICKS","MONGO","MODEL_BAG","FEATURE_BAG","PRESTO","TRINO","DB2","CLICKHOUSE","SFTP","SAP_HANA","AMAZON_RDS_MYSQL","AMAZON_AURORA_MYSQL","AMAZON_RDS_MARIADB","AZURE_SYNAPSE_ANALYTICS","VIRTUAL_DATASOURCE","AUTOSYS","DBT_CLOUD","FIVETRAN","SNAPLOGIC","SALESFORCE"]},"sourceTypeId":{"type":"integer"},"uid":{"type":"string"}}},"SqlViewDetails":{"type":"object","title":"io.ad.catalog.api.model.SqlViewDetails","required":["description","query","queryType"],"properties":{"description":{"type":"string"},"query":{"type":"string"},"queryType":{"type":"string","enum":["SQL_QUERY","FILTER","AGGREGATION_PIPELINE"]},"tableAlias":{"type":["string","null"]}}},"SqlViewColumn":{"type":"object","title":"io.ad.catalog.api.model.SqlViewColumn","required":["name","nullable","type"],"properties":{"name":{"type":"string"},"nullable":{"type":"boolean"},"type":{"type":"string"}}},"CreateSqlView":{"type":"object","title":"io.ad.catalog.api.model.CreateSqlView","required":["asset","details","schema"],"properties":{"asset":{"$ref":"#/components/schemas/CreateAsset"},"details":{"$ref":"#/components/schemas/SqlViewDetails"},"schema":{"type":"array","items":{"$ref":"#/components/schemas/SqlViewColumn"}}}},"CreateSqlViewRequest":{"type":"object","title":"io.ad.catalog.api.model.CreateSqlViewRequest","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/CreateSqlView"}}},"Asset":{"type":"object","title":"io.ad.catalog.api.model.Asset","required":["assembly","assetType","createdAt","description","isActive","isCustom","isDeleted","isSegmented","name","sourceType","uid","updatedAt"],"properties":{"alias":{"type":["string","null"]},"assembly":{"$ref":"#/components/schemas/Assembly"},"assetType":{"$ref":"#/components/schemas/AssetType"},"createdAt":{"$ref":"#/components/schemas/DateTime"},"currentSnapshot":{"type":["string","null"]},"customAssetType":{"type":["string","null"],"enum":["SQL_VIEW","SQL_VIEW_COLUMN","VISUAL_VIEW","VISUAL_VIEW_COLUMN"]},"description":{"type":"string"},"id":{"type":"integer"},"imprint":{"type":["string","null"]},"isActive":{"type":"boolean"},"isCustom":{"type":"boolean"},"isDeleted":{"type":"boolean"},"isSegmented":{"type":"boolean"},"name":{"type":"string"},"parentId":{"type":"integer"},"snapshots":{"type":["array","null"],"items":{"type":"string"}},"sourceType":{"$ref":"#/components/schemas/SourceType"},"uid":{"type":"string"},"updatedAt":{"$ref":"#/components/schemas/DateTime"}}},"SqlView":{"type":"object","title":"io.ad.catalog.api.model.SqlView","required":["asset","createdAt","query","queryType","updatedAt"],"properties":{"asset":{"$ref":"#/components/schemas/Asset"},"backingAssetId":{"type":"integer"},"createdAt":{"$ref":"#/components/schemas/DateTime"},"description":{"type":["string","null"]},"id":{"type":"integer"},"query":{"type":"string"},"queryType":{"type":"string","enum":["SQL_QUERY","FILTER","AGGREGATION_PIPELINE"]},"tableAlias":{"type":["string","null"]},"updatedAt":{"$ref":"#/components/schemas/DateTime"}}},"CustomAssetResponse":{"type":"object","title":"io.ad.catalog.api.model.CustomAssetResponse","required":["customAsset"],"properties":{"customAsset":{"$ref":"#/components/schemas/SqlView"}}},"UpdateSqlView":{"type":"object","title":"io.ad.catalog.api.model.UpdateSqlView","required":["details","schema"],"properties":{"details":{"$ref":"#/components/schemas/SqlViewDetails"},"name":{"type":["string","null"]},"schema":{"type":"array","items":{"$ref":"#/components/schemas/SqlViewColumn"}}}},"UpdateSqlViewRequest":{"type":"object","title":"io.ad.catalog.api.model.UpdateSqlViewRequest","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/UpdateSqlView"}}},"PersistenceStorageConfig":{"type":"object","title":"io.ad.catalog.api.model.PersistenceStorageConfig","required":["categoriesConfig","createdAt","createdBy","isDefault","lastUpdatedBy","name","tenantId","updatedAt"],"properties":{"categoriesConfig":{"$ref":"#/components/schemas/CategoriesPersistenceConfig"},"createdAt":{"$ref":"#/components/schemas/DateTime"},"createdBy":{"type":"string"},"description":{"type":["string","null"]},"id":{"type":"integer"},"isDefault":{"type":"boolean"},"lastUpdatedBy":{"type":"string"},"name":{"type":"string"},"policyCount":{"type":"integer"},"tenantId":{"type":"string"},"updatedAt":{"$ref":"#/components/schemas/DateTime"}}},"PolicyReference":{"type":"object","title":"io.ad.catalog.api.model.PolicyReference","required":["id","name","ruleType","version"],"properties":{"id":{"type":"integer"},"name":{"type":"string"},"ruleType":{"type":"string","enum":["DATA_QUALITY","RECONCILIATION","EQUALITY","DATA_DRIFT","SCHEMA_DRIFT","DATA_CADENCE","PROFILE_ANOMALY","AUTO_ANOMALY"]},"version":{"type":"integer"}}},"ReferencingPoliciesResponse":{"type":"object","title":"io.ad.catalog.api.model.ReferencingPoliciesResponse","required":["policies"],"properties":{"policies":{"type":"array","items":{"$ref":"#/components/schemas/PolicyReference"}}}},"CreatePersistenceStorageConfigRequest":{"type":"object","title":"io.ad.catalog.api.model.CreatePersistenceStorageConfigRequest","required":["categoriesConfig","name"],"properties":{"categoriesConfig":{"$ref":"#/components/schemas/CategoriesPersistenceConfig"},"description":{"type":["string","null"]},"name":{"type":"string"}}},"TemplateVariableInfo":{"type":"object","title":"io.ad.catalog.api.model.TemplateVariableInfo","required":["description","name","syntax"],"properties":{"description":{"type":"string"},"name":{"type":"string"},"syntax":{"type":"string"}}},"TemplateVariablesResponse":{"type":"object","title":"io.ad.catalog.api.model.TemplateVariablesResponse","required":["variables"],"properties":{"variables":{"type":"array","items":{"$ref":"#/components/schemas/TemplateVariableInfo"}}}},"TemplateContext":{"type":"object","title":"io.ad.catalog.api.model.TemplateContext","required":["assetName","datasourceName","executionDateTime","executionId","policyId","policyName","policyType","recordType","requestId"],"properties":{"assetName":{"type":"string"},"datasourceName":{"type":"string"},"executionDateTime":{"$ref":"#/components/schemas/DateTime"},"executionId":{"type":"integer"},"policyId":{"type":"integer"},"policyName":{"type":"string"},"policyType":{"type":"string"},"recordType":{"type":"string","enum":["GOOD","BAD","SUMMARY","TOP"]},"requestId":{"type":"string"}}},"TemplatePreviewRequest":{"type":"object","title":"io.ad.catalog.api.model.TemplatePreviewRequest","required":["suffixTemplate"],"properties":{"sampleContext":{"oneOf":[{"$ref":"#/components/schemas/TemplateContext"},{"type":"null"}]},"suffixTemplate":{"type":"string"}}},"TemplatePreviewResponse":{"type":"object","title":"io.ad.catalog.api.model.TemplatePreviewResponse","required":["contextUsed","resolvedSuffix"],"properties":{"contextUsed":{"$ref":"#/components/schemas/TemplateContext"},"resolvedSuffix":{"type":"string"}}},"ValidatePersistenceConfigRequest":{"type":"object","title":"io.ad.catalog.api.model.ValidatePersistenceConfigRequest","required":["categoriesConfig","requireMetadata"],"properties":{"categoriesConfig":{"$ref":"#/components/schemas/CategoriesPersistenceConfig"},"requireMetadata":{"type":"boolean"}}},"CategoryValidationErrors":{"type":"object","title":"io.ad.catalog.api.model.CategoryValidationErrors","properties":{"bad":{"type":["string","null"]},"good":{"type":["string","null"]},"metadata":{"type":["string","null"]}}},"ValidatePersistenceConfigResponse":{"type":"object","title":"io.ad.catalog.api.model.ValidatePersistenceConfigResponse","required":["valid"],"properties":{"categoryErrors":{"oneOf":[{"$ref":"#/components/schemas/CategoryValidationErrors"},{"type":"null"}]},"error":{"type":["string","null"]},"valid":{"type":"boolean"}}},"PackageUdfDetail":{"type":"object","title":"io.ad.catalog.api.model.quality.PackageUdfDetail","required":["createdAt","createdBy","id","language","name","packagePath","storageType","tenantId","updatedAt","version"],"properties":{"createdAt":{"$ref":"#/components/schemas/DateTime"},"createdBy":{"type":"string"},"description":{"type":["string","null"]},"id":{"type":"integer"},"language":{"type":"string","enum":["SCALA","JAVA","PYTHON","JAVASCRIPT","EXPRESSION"]},"lastUpdatedBy":{"type":["string","null"]},"name":{"type":"string"},"packageDetail":{"type":["object","null"],"additionalProperties":{"$ref":"#/components/schemas/Any"}},"packagePath":{"type":"string"},"storageType":{"type":"string"},"tenantId":{"type":"string"},"udtTemplates":{"type":["array","null"],"items":{"$ref":"#/components/schemas/UDFTemplate"}},"updatedAt":{"$ref":"#/components/schemas/DateTime"},"version":{"type":"string"}}},"ReferenceAssetUDFRequest":{"type":"object","title":"io.ad.dataplane.model.spec.processor.reference.ReferenceAssetUDFRequest","required":["referenceAssetAlias","referenceAssetColumns","referenceAssetUid"],"properties":{"referenceAssetAlias":{"type":"string"},"referenceAssetColumns":{"type":"array","items":{"type":"string"}},"referenceAssetSqlFilter":{"type":["string","null"]},"referenceAssetUid":{"type":"string"}}},"RulesWithUDF":{"type":"object","title":"io.ad.catalog.api.model.quality.RulesWithUDF","required":["ruleId","ruleName"],"properties":{"ruleId":{"type":"integer"},"ruleName":{"type":"string"}}},"UDFTemplate":{"type":"object","title":"io.ad.catalog.api.model.quality.UDFTemplate","required":["code","createdAt","description","id","isLookup","isMetadata","isPackage","isTemplate","language","name","udfDataType","udfType","updatedAt","usedInPolices","variables"],"properties":{"className":{"type":["string","null"]},"code":{"type":"string"},"createdAt":{"$ref":"#/components/schemas/DateTime"},"createdBy":{"type":["string","null"]},"description":{"type":"string"},"id":{"type":"integer"},"isLookup":{"type":"boolean"},"isMetadata":{"type":"boolean"},"isPackage":{"type":"boolean"},"isTemplate":{"type":"boolean"},"labels":{"type":["array","null"],"items":{"$ref":"#/components/schemas/Label"}},"language":{"type":"string","enum":["SCALA","JAVA","PYTHON","JAVASCRIPT","EXPRESSION"]},"lastUpdatedBy":{"type":["string","null"]},"name":{"type":"string"},"packageId":{"type":"integer"},"packageUdfDetail":{"oneOf":[{"$ref":"#/components/schemas/PackageUdfDetail"},{"type":"null"}]},"referenceAssets":{"type":["array","null"],"items":{"$ref":"#/components/schemas/ReferenceAssetUDFRequest"}},"udfDataType":{"type":"string","enum":["BOOLEAN","STRING","SHORT","INTEGER","LONG","FLOAT","DOUBLE","BIGDECIMAL","DATE","TIMESTAMP"]},"udfType":{"type":"string","enum":["FILTER","TRANSFORM","NUMBER"]},"updatedAt":{"$ref":"#/components/schemas/DateTime"},"usedInPolices":{"type":"array","items":{"$ref":"#/components/schemas/RulesWithUDF"}},"variables":{"type":"array","items":{"type":"string"}}}},"UdfTemplateRequestWithValidation":{"type":"object","title":"io.ad.catalog.api.model.quality.UdfTemplateRequestWithValidation","required":["code","description","isLookup","isMetadata","isPackage","isTemplate","language","name","override","udfDataType","udfType","useTestData","variables"],"properties":{"analyticsPipelineId":{"type":"integer"},"assetId":{"type":"integer"},"className":{"type":["string","null"]},"code":{"type":"string"},"description":{"type":"string"},"enableValidation":{"type":"boolean"},"isLookup":{"type":"boolean"},"isMetadata":{"type":"boolean"},"isPackage":{"type":"boolean"},"isTemplate":{"type":"boolean"},"labels":{"type":["array","null"],"items":{"$ref":"#/components/schemas/Label"}},"language":{"type":"string"},"name":{"type":"string"},"override":{"type":"boolean"},"packageId":{"type":"integer"},"referenceAssets":{"type":["array","null"],"items":{"$ref":"#/components/schemas/ReferenceAssetUDFRequest"}},"testData":{"type":["string","null"]},"transformUDFs":{"type":["array","null"],"items":{"$ref":"#/components/schemas/PolicyTransformUDF"}},"udfDataType":{"type":"string"},"udfType":{"type":"string"},"useTestData":{"type":"boolean"},"variables":{"type":"array","items":{"$ref":"#/components/schemas/UdfVariable"}}}},"UdfTemplateValidationRequest":{"type":"object","title":"io.ad.catalog.api.model.quality.UdfTemplateValidationRequest","required":["isCustomSql","selectedColumns","transformUDFs","useTestData","variables"],"properties":{"analyticsPipelineId":{"type":"integer"},"assetId":{"type":"integer"},"customSqlConfig":{"oneOf":[{"$ref":"#/components/schemas/CustomSqlConfig"},{"type":"null"}]},"isCustomSql":{"type":"boolean"},"referenceAssets":{"type":["array","null"],"items":{"$ref":"#/components/schemas/ReferenceAssetUDFRequest"}},"selectedColumns":{"type":"array","items":{"type":"string"}},"testData":{"type":["string","null"]},"transformUDFs":{"type":"array","items":{"$ref":"#/components/schemas/PolicyTransformUDF"}},"useTestData":{"type":"boolean"},"variables":{"type":"array","items":{"$ref":"#/components/schemas/UdfVariable"}}}},"UdfValidationResult":{"type":"object","title":"io.ad.catalog.api.model.quality.UdfValidationResult","required":["jobExecutionStatus","requestId"],"properties":{"errorMsg":{"type":["string","null"]},"jobExecutionStatus":{"type":"string","enum":["WAITING","SKIPPED","SUBMITTED","QUEUED","IN_PROGRESS","ABORTED","FAILED","POSTPROCESSING","ANOMALY_DETECTION","EXECUTION_RESULT","SUCCESSFUL"]},"requestId":{"type":"string"},"result":{"oneOf":[{"$ref":"#/components/schemas/Any"},{"type":"null"}]}}},"UdfTemplateBulkRequestsWithValidation":{"type":"object","title":"io.ad.catalog.api.model.quality.UdfTemplateBulkRequestsWithValidation","required":["override","requests"],"properties":{"override":{"type":"boolean"},"requests":{"type":"array","items":{"$ref":"#/components/schemas/UdfTemplateRequestWithValidation"}}}},"UDFTemplateResponseWithStatus":{"type":"object","title":"io.ad.catalog.api.model.quality.UDFTemplateResponseWithStatus","required":["name","status"],"properties":{"errorMessage":{"type":["string","null"]},"name":{"type":"string"},"status":{"type":"string"},"udfTemplate":{"oneOf":[{"$ref":"#/components/schemas/UDFTemplate"},{"type":"null"}]}}},"UdfVariablesCancellationValidationRequest":{"type":"object","title":"io.ad.catalog.api.model.quality.UdfVariablesCancellationValidationRequest","properties":{"analyticsPipelineId":{"type":"integer"},"assetId":{"type":"integer"}}},"UDFResponse":{"type":"object","title":"io.ad.catalog.api.model.UDFResponse","required":["status"],"properties":{"message":{"type":["string","null"]},"status":{"type":"string"}}}}}}