REST API
Last updated
Last updated
The identifier of the plugin to get the payload json schema for
OK
The payload json schema for the plugin
const response = await fetch('/v1alpha/plugins/{pluginId}/actions/{action.type}/payload-json-schema', {
method: 'GET',
headers: {},
});
const data = await response.json();
{
"schema": "text"
}
Lists all DataPolicies for all platforms.
OK
const response = await fetch('/data-policies', {
method: 'GET',
headers: {},
});
const data = await response.json();
{
"dataPolicies": [
{
"metadata": {
"createTime": "2024-12-21T11:52:01.905Z",
"description": "text",
"lastApplyTime": "2024-12-21T11:52:01.905Z",
"tags": [
"text"
],
"title": "text",
"updateTime": "2024-12-21T11:52:01.905Z",
"version": 0
},
"ruleSets": [
{
"fieldTransforms": [
{
"field": {
"nameParts": [
"text"
],
"required": false,
"tags": [
"text"
],
"type": "text"
},
"transforms": [
{
"aggregation": {
"avg": {
"castTo": "text",
"precision": 0
},
"max": {},
"min": {},
"partitionBy": [
{
"nameParts": [
"text"
],
"required": false,
"tags": [
"text"
],
"type": "text"
}
],
"sum": {}
},
"detokenize": {
"tokenField": {
"nameParts": [
"text"
],
"required": false,
"tags": [
"text"
],
"type": "text"
},
"tokenSourceRef": "text",
"valueField": {
"nameParts": [
"text"
],
"required": false,
"tags": [
"text"
],
"type": "text"
}
},
"fixed": {
"value": "text"
},
"hash": {
"seed": "text"
},
"identity": {},
"nullify": {},
"numericRounding": {
"ceil": {
"divisor": 0
},
"floor": {
"divisor": 0
},
"round": {
"divisor": 0,
"precision": 0
}
},
"principals": [
{
"group": "text",
"permission": "text",
"role": "text"
}
],
"regexp": {
"regexp": "text",
"replacement": "text"
},
"sqlStatement": {
"statement": "text"
}
}
]
}
],
"filters": [
{
"genericFilter": {
"conditions": [
{
"condition": "text",
"principals": [
{
"group": "text",
"permission": "text",
"role": "text"
}
]
}
]
},
"retentionFilter": {
"conditions": [
{
"period": {
"days": "text"
},
"principals": [
{
"group": "text",
"permission": "text",
"role": "text"
}
]
}
],
"field": {
"nameParts": [
"text"
],
"required": false,
"tags": [
"text"
],
"type": "text"
}
}
}
],
"target": {
"ref": {
"catalog": {
"databases": [
{
"displayName": "text",
"id": "text",
"processingPlatform": {
"id": "text",
"platformType": "PLATFORM_TYPE_UNSPECIFIED"
},
"schemas": [
{
"id": "text",
"name": "text",
"tables": [
{
"id": "text",
"name": "text",
"schema": {},
"tags": [
"text"
]
}
],
"tags": [
"text"
]
}
],
"tags": [
"text"
],
"type": "text"
}
],
"id": "text",
"tags": [
"text"
],
"type": "TYPE_UNSPECIFIED"
},
"integrationFqn": "text",
"platform": {
"id": "text",
"platformType": "PLATFORM_TYPE_UNSPECIFIED"
},
"resourcePath": [
{
"displayName": "text",
"isLeaf": false,
"name": "text",
"platformName": "text"
}
]
},
"type": "TARGET_TYPE_UNSPECIFIED"
}
}
],
"source": {
"fields": [
{
"nameParts": [
"text"
],
"required": false,
"tags": [
"text"
],
"type": "text"
}
],
"ref": {
"catalog": {
"databases": [
{
"displayName": "text",
"id": "text",
"processingPlatform": {
"id": "text",
"platformType": "PLATFORM_TYPE_UNSPECIFIED"
},
"schemas": [
{
"id": "text",
"name": "text",
"tables": [
{
"id": "text",
"name": "text",
"schema": {},
"tags": [
"text"
]
}
],
"tags": [
"text"
]
}
],
"tags": [
"text"
],
"type": "text"
}
],
"id": "text",
"tags": [
"text"
],
"type": "TYPE_UNSPECIFIED"
},
"integrationFqn": "text",
"platform": {
"id": "text",
"platformType": "PLATFORM_TYPE_UNSPECIFIED"
},
"resourcePath": [
{
"displayName": "text",
"isLeaf": false,
"name": "text",
"platformName": "text"
}
]
},
"tags": [
"text"
]
}
}
],
"pageInfo": {
"nextPageToken": "text",
"total": 0
}
}
Applies an existing DataPolicy to the processing platform.
OK
const response = await fetch('/v1alpha/data-policies/{dataPolicyId}/{platformId}', {
method: 'POST',
headers: {},
});
const data = await response.json();
{
"dataPolicy": {
"metadata": {
"createTime": "2024-12-21T11:52:01.905Z",
"description": "text",
"lastApplyTime": "2024-12-21T11:52:01.905Z",
"tags": [
"text"
],
"title": "text",
"updateTime": "2024-12-21T11:52:01.905Z",
"version": 0
},
"ruleSets": [
{
"fieldTransforms": [
{
"field": {
"nameParts": [
"text"
],
"required": false,
"tags": [
"text"
],
"type": "text"
},
"transforms": [
{
"aggregation": {
"avg": {
"castTo": "text",
"precision": 0
},
"max": {},
"min": {},
"partitionBy": [
{
"nameParts": [
"text"
],
"required": false,
"tags": [
"text"
],
"type": "text"
}
],
"sum": {}
},
"detokenize": {
"tokenField": {
"nameParts": [
"text"
],
"required": false,
"tags": [
"text"
],
"type": "text"
},
"tokenSourceRef": "text",
"valueField": {
"nameParts": [
"text"
],
"required": false,
"tags": [
"text"
],
"type": "text"
}
},
"fixed": {
"value": "text"
},
"hash": {
"seed": "text"
},
"identity": {},
"nullify": {},
"numericRounding": {
"ceil": {
"divisor": 0
},
"floor": {
"divisor": 0
},
"round": {
"divisor": 0,
"precision": 0
}
},
"principals": [
{
"group": "text",
"permission": "text",
"role": "text"
}
],
"regexp": {
"regexp": "text",
"replacement": "text"
},
"sqlStatement": {
"statement": "text"
}
}
]
}
],
"filters": [
{
"genericFilter": {
"conditions": [
{
"condition": "text",
"principals": [
{
"group": "text",
"permission": "text",
"role": "text"
}
]
}
]
},
"retentionFilter": {
"conditions": [
{
"period": {
"days": "text"
},
"principals": [
{
"group": "text",
"permission": "text",
"role": "text"
}
]
}
],
"field": {
"nameParts": [
"text"
],
"required": false,
"tags": [
"text"
],
"type": "text"
}
}
}
],
"target": {
"ref": {
"catalog": {
"databases": [
{
"displayName": "text",
"id": "text",
"processingPlatform": {
"id": "text",
"platformType": "PLATFORM_TYPE_UNSPECIFIED"
},
"schemas": [
{
"id": "text",
"name": "text",
"tables": [
{
"id": "text",
"name": "text",
"schema": {},
"tags": [
"text"
]
}
],
"tags": [
"text"
]
}
],
"tags": [
"text"
],
"type": "text"
}
],
"id": "text",
"tags": [
"text"
],
"type": "TYPE_UNSPECIFIED"
},
"integrationFqn": "text",
"platform": {
"id": "text",
"platformType": "PLATFORM_TYPE_UNSPECIFIED"
},
"resourcePath": [
{
"displayName": "text",
"isLeaf": false,
"name": "text",
"platformName": "text"
}
]
},
"type": "TARGET_TYPE_UNSPECIFIED"
}
}
],
"source": {
"fields": [
{
"nameParts": [
"text"
],
"required": false,
"tags": [
"text"
],
"type": "text"
}
],
"ref": {
"catalog": {
"databases": [
{
"displayName": "text",
"id": "text",
"processingPlatform": {
"id": "text",
"platformType": "PLATFORM_TYPE_UNSPECIFIED"
},
"schemas": [
{
"id": "text",
"name": "text",
"tables": [
{
"id": "text",
"name": "text",
"schema": {},
"tags": [
"text"
]
}
],
"tags": [
"text"
]
}
],
"tags": [
"text"
],
"type": "text"
}
],
"id": "text",
"tags": [
"text"
],
"type": "TYPE_UNSPECIFIED"
},
"integrationFqn": "text",
"platform": {
"id": "text",
"platformType": "PLATFORM_TYPE_UNSPECIFIED"
},
"resourcePath": [
{
"displayName": "text",
"isLeaf": false,
"name": "text",
"platformName": "text"
}
]
},
"tags": [
"text"
]
}
}
}
OK
const response = await fetch('/v1alpha/global-transforms', {
method: 'GET',
headers: {},
});
const data = await response.json();
{
"globalTransforms": [
{
"description": "text",
"tagTransform": {
"tagContent": "text",
"transforms": [
{
"aggregation": {
"avg": {
"castTo": "text",
"precision": 0
},
"max": {},
"min": {},
"partitionBy": [
{
"nameParts": [
"text"
],
"required": false,
"tags": [
"text"
],
"type": "text"
}
],
"sum": {}
},
"detokenize": {
"tokenField": {
"nameParts": [
"text"
],
"required": false,
"tags": [
"text"
],
"type": "text"
},
"tokenSourceRef": "text",
"valueField": {
"nameParts": [
"text"
],
"required": false,
"tags": [
"text"
],
"type": "text"
}
},
"fixed": {
"value": "text"
},
"hash": {
"seed": "text"
},
"identity": {},
"nullify": {},
"numericRounding": {
"ceil": {
"divisor": 0
},
"floor": {
"divisor": 0
},
"round": {
"divisor": 0,
"precision": 0
}
},
"principals": [
{
"group": "text",
"permission": "text",
"role": "text"
}
],
"regexp": {
"regexp": "text",
"replacement": "text"
},
"sqlStatement": {
"statement": "text"
}
}
]
}
}
]
}
this ref refers to the primary key in the oneof transform, so its use depends on which one it is. TAG_TRANSFORM -> TagTransform.tag_content no others defined (yet).
OK
If the specified transform is incompatible with the field data type to which this global transform is connected with, then the end user will get an invalid argument, and the blueprint policy with the global transforms applied won't be returned.
Global transforms are identified by an identifier of their [transform]. These are by default loose matching, so that 'Email-PII' is matched when 'email pii' is used.
const response = await fetch('/v1alpha/global-transforms/{ref}/{type}', {
method: 'GET',
headers: {},
});
const data = await response.json();
{
"transform": {
"description": "text",
"tagTransform": {
"tagContent": "text",
"transforms": [
{
"aggregation": {
"avg": {
"castTo": "text",
"precision": 0
},
"max": {},
"min": {},
"partitionBy": [
{
"nameParts": [
"text"
],
"required": false,
"tags": [
"text"
],
"type": "text"
}
],
"sum": {}
},
"detokenize": {
"tokenField": {
"nameParts": [
"text"
],
"required": false,
"tags": [
"text"
],
"type": "text"
},
"tokenSourceRef": "text",
"valueField": {
"nameParts": [
"text"
],
"required": false,
"tags": [
"text"
],
"type": "text"
}
},
"fixed": {
"value": "text"
},
"hash": {
"seed": "text"
},
"identity": {},
"nullify": {},
"numericRounding": {
"ceil": {
"divisor": 0
},
"floor": {
"divisor": 0
},
"round": {
"divisor": 0,
"precision": 0
}
},
"principals": [
{
"group": "text",
"permission": "text",
"role": "text"
}
],
"regexp": {
"regexp": "text",
"replacement": "text"
},
"sqlStatement": {
"statement": "text"
}
}
]
}
}
}
Lists all configured processing platforms.
OK
const response = await fetch('/v1alpha/processing-platforms', {
method: 'GET',
headers: {},
});
const data = await response.json();
{
"processingPlatforms": [
{
"id": "text",
"platformType": "PLATFORM_TYPE_UNSPECIFIED"
}
]
}
OK
The SQL DDL of all rule sets in the transpiled data policy
const response = await fetch('/v1alpha/data-policies/transpile', {
method: 'POST',
headers: {
"Content-Type": "application/json"
},
body: JSON.stringify({}),
});
const data = await response.json();
{
"sql": "text"
}
OK
const response = await fetch('/v1alpha/global-transforms/{ref}/{type}', {
method: 'DELETE',
headers: {
"Content-Type": "application/json"
},
body: JSON.stringify({}),
});
const data = await response.json();
{
"deletedCount": 0
}
OK
const response = await fetch('/v1alpha/plugins', {
method: 'GET',
headers: {},
});
const data = await response.json();
{
"plugins": [
{
"actions": [
{
"invokable": false,
"type": "ACTION_UNSPECIFIED"
}
],
"id": "text",
"implementation": "text"
}
]
}
Lists all tables (for a given schema and database, if applicable).
OK
const response = await fetch('/v1alpha/catalogs/{catalogId}/tables', {
method: 'GET',
headers: {},
});
const data = await response.json();
{
"pageInfo": {
"nextPageToken": "text",
"total": 0
},
"tables": [
{
"id": "text",
"name": "text",
"schema": {
"database": {
"catalog": {
"databases": [],
"id": "text",
"tags": [
"text"
],
"type": "TYPE_UNSPECIFIED"
},
"displayName": "text",
"id": "text",
"processingPlatform": {
"id": "text",
"platformType": "PLATFORM_TYPE_UNSPECIFIED"
},
"schemas": [],
"tags": [
"text"
],
"type": "text"
},
"id": "text",
"name": "text",
"tables": [],
"tags": [
"text"
]
},
"tags": [
"text"
]
}
]
}
Lists all databases for the given processing_platform.
OK
const response = await fetch('/v1alpha/processing-platforms/{platformId}/databases', {
method: 'GET',
headers: {},
});
const data = await response.json();
{
"databases": [
{
"catalog": {
"databases": [],
"id": "text",
"tags": [
"text"
],
"type": "TYPE_UNSPECIFIED"
},
"displayName": "text",
"id": "text",
"processingPlatform": {
"id": "text",
"platformType": "PLATFORM_TYPE_UNSPECIFIED"
},
"schemas": [
{
"id": "text",
"name": "text",
"tables": [
{
"id": "text",
"name": "text",
"schema": {},
"tags": [
"text"
]
}
],
"tags": [
"text"
]
}
],
"tags": [
"text"
],
"type": "text"
}
],
"pageInfo": {
"nextPageToken": "text",
"total": 0
}
}
Lists all available user groups for the given platform.
OK
const response = await fetch('/v1alpha/processing-platforms/{platformId}/groups', {
method: 'GET',
headers: {},
});
const data = await response.json();
{
"groups": [
"text"
],
"pageInfo": {
"nextPageToken": "text",
"total": 0
}
}
Lists all schemas (for a given database, if applicable).
OK
const response = await fetch('/v1alpha/processing-platforms/{platformId}/schemas', {
method: 'GET',
headers: {},
});
const data = await response.json();
{
"pageInfo": {
"nextPageToken": "text",
"total": 0
},
"schemas": [
{
"database": {
"catalog": {
"databases": [],
"id": "text",
"tags": [
"text"
],
"type": "TYPE_UNSPECIFIED"
},
"displayName": "text",
"id": "text",
"processingPlatform": {
"id": "text",
"platformType": "PLATFORM_TYPE_UNSPECIFIED"
},
"schemas": [],
"tags": [
"text"
],
"type": "text"
},
"id": "text",
"name": "text",
"tables": [
{
"id": "text",
"name": "text",
"schema": {},
"tags": [
"text"
]
}
],
"tags": [
"text"
]
}
]
}
Returns a data policy without any rule sets, based on the given table's data structure in the platform. Extend this blueprint policy with field transforms and/or rule sets to create a complete data policy. Use the UpsertDataPolicy endpoint to save and enforce the policy.
OK
A message type used to describe a single bad request field.
const response = await fetch('/v1alpha/processing-platforms/{platformId}/tables/{table_id}/blueprint-policy', {
method: 'GET',
headers: {},
});
const data = await response.json();
{
"dataPolicy": {
"metadata": {
"createTime": "2024-12-21T11:52:01.905Z",
"description": "text",
"lastApplyTime": "2024-12-21T11:52:01.905Z",
"tags": [
"text"
],
"title": "text",
"updateTime": "2024-12-21T11:52:01.905Z",
"version": 0
},
"ruleSets": [
{
"fieldTransforms": [
{
"field": {
"nameParts": [
"text"
],
"required": false,
"tags": [
"text"
],
"type": "text"
},
"transforms": [
{
"aggregation": {
"avg": {
"castTo": "text",
"precision": 0
},
"max": {},
"min": {},
"partitionBy": [
{
"nameParts": [
"text"
],
"required": false,
"tags": [
"text"
],
"type": "text"
}
],
"sum": {}
},
"detokenize": {
"tokenField": {
"nameParts": [
"text"
],
"required": false,
"tags": [
"text"
],
"type": "text"
},
"tokenSourceRef": "text",
"valueField": {
"nameParts": [
"text"
],
"required": false,
"tags": [
"text"
],
"type": "text"
}
},
"fixed": {
"value": "text"
},
"hash": {
"seed": "text"
},
"identity": {},
"nullify": {},
"numericRounding": {
"ceil": {
"divisor": 0
},
"floor": {
"divisor": 0
},
"round": {
"divisor": 0,
"precision": 0
}
},
"principals": [
{
"group": "text",
"permission": "text",
"role": "text"
}
],
"regexp": {
"regexp": "text",
"replacement": "text"
},
"sqlStatement": {
"statement": "text"
}
}
]
}
],
"filters": [
{
"genericFilter": {
"conditions": [
{
"condition": "text",
"principals": [
{
"group": "text",
"permission": "text",
"role": "text"
}
]
}
]
},
"retentionFilter": {
"conditions": [
{
"period": {
"days": "text"
},
"principals": [
{
"group": "text",
"permission": "text",
"role": "text"
}
]
}
],
"field": {
"nameParts": [
"text"
],
"required": false,
"tags": [
"text"
],
"type": "text"
}
}
}
],
"target": {
"ref": {
"catalog": {
"databases": [
{
"displayName": "text",
"id": "text",
"processingPlatform": {
"id": "text",
"platformType": "PLATFORM_TYPE_UNSPECIFIED"
},
"schemas": [
{
"id": "text",
"name": "text",
"tables": [
{
"id": "text",
"name": "text",
"schema": {},
"tags": [
"text"
]
}
],
"tags": [
"text"
]
}
],
"tags": [
"text"
],
"type": "text"
}
],
"id": "text",
"tags": [
"text"
],
"type": "TYPE_UNSPECIFIED"
},
"integrationFqn": "text",
"platform": {
"id": "text",
"platformType": "PLATFORM_TYPE_UNSPECIFIED"
},
"resourcePath": [
{
"displayName": "text",
"isLeaf": false,
"name": "text",
"platformName": "text"
}
]
},
"type": "TARGET_TYPE_UNSPECIFIED"
}
}
],
"source": {
"fields": [
{
"nameParts": [
"text"
],
"required": false,
"tags": [
"text"
],
"type": "text"
}
],
"ref": {
"catalog": {
"databases": [
{
"displayName": "text",
"id": "text",
"processingPlatform": {
"id": "text",
"platformType": "PLATFORM_TYPE_UNSPECIFIED"
},
"schemas": [
{
"id": "text",
"name": "text",
"tables": [
{
"id": "text",
"name": "text",
"schema": {},
"tags": [
"text"
]
}
],
"tags": [
"text"
]
}
],
"tags": [
"text"
],
"type": "text"
}
],
"id": "text",
"tags": [
"text"
],
"type": "TYPE_UNSPECIFIED"
},
"integrationFqn": "text",
"platform": {
"id": "text",
"platformType": "PLATFORM_TYPE_UNSPECIFIED"
},
"resourcePath": [
{
"displayName": "text",
"isLeaf": false,
"name": "text",
"platformName": "text"
}
]
},
"tags": [
"text"
]
}
},
"violation": {
"description": "text",
"field": "text"
}
}
OK
const response = await fetch('/v1alpha/resources', {
method: 'GET',
headers: {},
});
const data = await response.json();
{
"pageInfo": {
"nextPageToken": "text",
"total": 0
},
"resources": [
{
"catalog": {
"databases": [
{
"displayName": "text",
"id": "text",
"processingPlatform": {
"id": "text",
"platformType": "PLATFORM_TYPE_UNSPECIFIED"
},
"schemas": [
{
"id": "text",
"name": "text",
"tables": [
{
"id": "text",
"name": "text",
"schema": {},
"tags": [
"text"
]
}
],
"tags": [
"text"
]
}
],
"tags": [
"text"
],
"type": "text"
}
],
"id": "text",
"tags": [
"text"
],
"type": "TYPE_UNSPECIFIED"
},
"integrationFqn": "text",
"platform": {
"id": "text",
"platformType": "PLATFORM_TYPE_UNSPECIFIED"
},
"resourcePath": [
{
"displayName": "text",
"isLeaf": false,
"name": "text",
"platformName": "text"
}
]
}
]
}
Lists all databases for the given catalog.
OK
const response = await fetch('/v1alpha/catalogs/{catalogId}/databases', {
method: 'GET',
headers: {},
});
const data = await response.json();
{
"databases": [
{
"catalog": {
"databases": [],
"id": "text",
"tags": [
"text"
],
"type": "TYPE_UNSPECIFIED"
},
"displayName": "text",
"id": "text",
"processingPlatform": {
"id": "text",
"platformType": "PLATFORM_TYPE_UNSPECIFIED"
},
"schemas": [
{
"id": "text",
"name": "text",
"tables": [
{
"id": "text",
"name": "text",
"schema": {},
"tags": [
"text"
]
}
],
"tags": [
"text"
]
}
],
"tags": [
"text"
],
"type": "text"
}
],
"pageInfo": {
"nextPageToken": "text",
"total": 0
}
}
Creates or updates a DataPolicy in PACE and optionally applies it to the processing platform.
whether to apply the policy directly on the processing platform if omitted, defaults to false
OK
const response = await fetch('/v1alpha/data-policies', {
method: 'POST',
headers: {
"Content-Type": "application/json"
},
body: JSON.stringify({}),
});
const data = await response.json();
{
"dataPolicy": {
"metadata": {
"createTime": "2024-12-21T11:52:01.905Z",
"description": "text",
"lastApplyTime": "2024-12-21T11:52:01.905Z",
"tags": [
"text"
],
"title": "text",
"updateTime": "2024-12-21T11:52:01.905Z",
"version": 0
},
"ruleSets": [
{
"fieldTransforms": [
{
"field": {
"nameParts": [
"text"
],
"required": false,
"tags": [
"text"
],
"type": "text"
},
"transforms": [
{
"aggregation": {
"avg": {
"castTo": "text",
"precision": 0
},
"max": {},
"min": {},
"partitionBy": [
{
"nameParts": [
"text"
],
"required": false,
"tags": [
"text"
],
"type": "text"
}
],
"sum": {}
},
"detokenize": {
"tokenField": {
"nameParts": [
"text"
],
"required": false,
"tags": [
"text"
],
"type": "text"
},
"tokenSourceRef": "text",
"valueField": {
"nameParts": [
"text"
],
"required": false,
"tags": [
"text"
],
"type": "text"
}
},
"fixed": {
"value": "text"
},
"hash": {
"seed": "text"
},
"identity": {},
"nullify": {},
"numericRounding": {
"ceil": {
"divisor": 0
},
"floor": {
"divisor": 0
},
"round": {
"divisor": 0,
"precision": 0
}
},
"principals": [
{
"group": "text",
"permission": "text",
"role": "text"
}
],
"regexp": {
"regexp": "text",
"replacement": "text"
},
"sqlStatement": {
"statement": "text"
}
}
]
}
],
"filters": [
{
"genericFilter": {
"conditions": [
{
"condition": "text",
"principals": [
{
"group": "text",
"permission": "text",
"role": "text"
}
]
}
]
},
"retentionFilter": {
"conditions": [
{
"period": {
"days": "text"
},
"principals": [
{
"group": "text",
"permission": "text",
"role": "text"
}
]
}
],
"field": {
"nameParts": [
"text"
],
"required": false,
"tags": [
"text"
],
"type": "text"
}
}
}
],
"target": {
"ref": {
"catalog": {
"databases": [
{
"displayName": "text",
"id": "text",
"processingPlatform": {
"id": "text",
"platformType": "PLATFORM_TYPE_UNSPECIFIED"
},
"schemas": [
{
"id": "text",
"name": "text",
"tables": [
{
"id": "text",
"name": "text",
"schema": {},
"tags": [
"text"
]
}
],
"tags": [
"text"
]
}
],
"tags": [
"text"
],
"type": "text"
}
],
"id": "text",
"tags": [
"text"
],
"type": "TYPE_UNSPECIFIED"
},
"integrationFqn": "text",
"platform": {
"id": "text",
"platformType": "PLATFORM_TYPE_UNSPECIFIED"
},
"resourcePath": [
{
"displayName": "text",
"isLeaf": false,
"name": "text",
"platformName": "text"
}
]
},
"type": "TARGET_TYPE_UNSPECIFIED"
}
}
],
"source": {
"fields": [
{
"nameParts": [
"text"
],
"required": false,
"tags": [
"text"
],
"type": "text"
}
],
"ref": {
"catalog": {
"databases": [
{
"displayName": "text",
"id": "text",
"processingPlatform": {
"id": "text",
"platformType": "PLATFORM_TYPE_UNSPECIFIED"
},
"schemas": [
{
"id": "text",
"name": "text",
"tables": [
{
"id": "text",
"name": "text",
"schema": {},
"tags": [
"text"
]
}
],
"tags": [
"text"
]
}
],
"tags": [
"text"
],
"type": "text"
}
],
"id": "text",
"tags": [
"text"
],
"type": "TYPE_UNSPECIFIED"
},
"integrationFqn": "text",
"platform": {
"id": "text",
"platformType": "PLATFORM_TYPE_UNSPECIFIED"
},
"resourcePath": [
{
"displayName": "text",
"isLeaf": false,
"name": "text",
"platformName": "text"
}
]
},
"tags": [
"text"
]
}
}
}
Returns the latest policy for a given id and platform.
OK
const response = await fetch('/v1alpha/data-policies/{dataPolicyId}/{platformId}', {
method: 'GET',
headers: {},
});
const data = await response.json();
{
"dataPolicy": {
"metadata": {
"createTime": "2024-12-21T11:52:01.905Z",
"description": "text",
"lastApplyTime": "2024-12-21T11:52:01.905Z",
"tags": [
"text"
],
"title": "text",
"updateTime": "2024-12-21T11:52:01.905Z",
"version": 0
},
"ruleSets": [
{
"fieldTransforms": [
{
"field": {
"nameParts": [
"text"
],
"required": false,
"tags": [
"text"
],
"type": "text"
},
"transforms": [
{
"aggregation": {
"avg": {
"castTo": "text",
"precision": 0
},
"max": {},
"min": {},
"partitionBy": [
{
"nameParts": [
"text"
],
"required": false,
"tags": [
"text"
],
"type": "text"
}
],
"sum": {}
},
"detokenize": {
"tokenField": {
"nameParts": [
"text"
],
"required": false,
"tags": [
"text"
],
"type": "text"
},
"tokenSourceRef": "text",
"valueField": {
"nameParts": [
"text"
],
"required": false,
"tags": [
"text"
],
"type": "text"
}
},
"fixed": {
"value": "text"
},
"hash": {
"seed": "text"
},
"identity": {},
"nullify": {},
"numericRounding": {
"ceil": {
"divisor": 0
},
"floor": {
"divisor": 0
},
"round": {
"divisor": 0,
"precision": 0
}
},
"principals": [
{
"group": "text",
"permission": "text",
"role": "text"
}
],
"regexp": {
"regexp": "text",
"replacement": "text"
},
"sqlStatement": {
"statement": "text"
}
}
]
}
],
"filters": [
{
"genericFilter": {
"conditions": [
{
"condition": "text",
"principals": [
{
"group": "text",
"permission": "text",
"role": "text"
}
]
}
]
},
"retentionFilter": {
"conditions": [
{
"period": {
"days": "text"
},
"principals": [
{
"group": "text",
"permission": "text",
"role": "text"
}
]
}
],
"field": {
"nameParts": [
"text"
],
"required": false,
"tags": [
"text"
],
"type": "text"
}
}
}
],
"target": {
"ref": {
"catalog": {
"databases": [
{
"displayName": "text",
"id": "text",
"processingPlatform": {
"id": "text",
"platformType": "PLATFORM_TYPE_UNSPECIFIED"
},
"schemas": [
{
"id": "text",
"name": "text",
"tables": [
{
"id": "text",
"name": "text",
"schema": {},
"tags": [
"text"
]
}
],
"tags": [
"text"
]
}
],
"tags": [
"text"
],
"type": "text"
}
],
"id": "text",
"tags": [
"text"
],
"type": "TYPE_UNSPECIFIED"
},
"integrationFqn": "text",
"platform": {
"id": "text",
"platformType": "PLATFORM_TYPE_UNSPECIFIED"
},
"resourcePath": [
{
"displayName": "text",
"isLeaf": false,
"name": "text",
"platformName": "text"
}
]
},
"type": "TARGET_TYPE_UNSPECIFIED"
}
}
],
"source": {
"fields": [
{
"nameParts": [
"text"
],
"required": false,
"tags": [
"text"
],
"type": "text"
}
],
"ref": {
"catalog": {
"databases": [
{
"displayName": "text",
"id": "text",
"processingPlatform": {
"id": "text",
"platformType": "PLATFORM_TYPE_UNSPECIFIED"
},
"schemas": [
{
"id": "text",
"name": "text",
"tables": [
{
"id": "text",
"name": "text",
"schema": {},
"tags": [
"text"
]
}
],
"tags": [
"text"
]
}
],
"tags": [
"text"
],
"type": "text"
}
],
"id": "text",
"tags": [
"text"
],
"type": "TYPE_UNSPECIFIED"
},
"integrationFqn": "text",
"platform": {
"id": "text",
"platformType": "PLATFORM_TYPE_UNSPECIFIED"
},
"resourcePath": [
{
"displayName": "text",
"isLeaf": false,
"name": "text",
"platformName": "text"
}
]
},
"tags": [
"text"
]
}
}
}
Lists all configured catalogs.
OK
const response = await fetch('/v1alpha/catalogs', {
method: 'GET',
headers: {},
});
const data = await response.json();
{
"catalogs": [
{
"databases": [
{
"displayName": "text",
"id": "text",
"processingPlatform": {
"id": "text",
"platformType": "PLATFORM_TYPE_UNSPECIFIED"
},
"schemas": [
{
"id": "text",
"name": "text",
"tables": [
{
"id": "text",
"name": "text",
"schema": {},
"tags": [
"text"
]
}
],
"tags": [
"text"
]
}
],
"tags": [
"text"
],
"type": "text"
}
],
"id": "text",
"tags": [
"text"
],
"type": "TYPE_UNSPECIFIED"
}
],
"pageInfo": {
"nextPageToken": "text",
"total": 0
}
}
Lists all available table names for the given platform.
OK
const response = await fetch('/v1alpha/processing-platforms/{platformId}/tables', {
method: 'GET',
headers: {},
});
const data = await response.json();
{
"pageInfo": {
"nextPageToken": "text",
"total": 0
},
"tables": [
{
"id": "text",
"name": "text",
"schema": {
"database": {
"catalog": {
"databases": [],
"id": "text",
"tags": [
"text"
],
"type": "TYPE_UNSPECIFIED"
},
"displayName": "text",
"id": "text",
"processingPlatform": {
"id": "text",
"platformType": "PLATFORM_TYPE_UNSPECIFIED"
},
"schemas": [],
"tags": [
"text"
],
"type": "text"
},
"id": "text",
"name": "text",
"tables": [],
"tags": [
"text"
]
},
"tags": [
"text"
]
}
]
}
Lists all schemas (for a given database, if applicable).
OK
const response = await fetch('/v1alpha/catalogs/{catalogId}/schemas', {
method: 'GET',
headers: {},
});
const data = await response.json();
{
"pageInfo": {
"nextPageToken": "text",
"total": 0
},
"schemas": [
{
"database": {
"catalog": {
"databases": [],
"id": "text",
"tags": [
"text"
],
"type": "TYPE_UNSPECIFIED"
},
"displayName": "text",
"id": "text",
"processingPlatform": {
"id": "text",
"platformType": "PLATFORM_TYPE_UNSPECIFIED"
},
"schemas": [],
"tags": [
"text"
],
"type": "text"
},
"id": "text",
"name": "text",
"tables": [
{
"id": "text",
"name": "text",
"schema": {},
"tags": [
"text"
]
}
],
"tags": [
"text"
]
}
]
}
OK
const response = await fetch('/v1alpha/data-policies/lineage', {
method: 'GET',
headers: {},
});
const data = await response.json();
{
"lineageSummaries": [
{
"downstream": [
{
"fieldRelations": [
{
"sourceAttribute": "text",
"targetAttribute": "text"
}
],
"managedByPace": false,
"relation": "text",
"resourceRef": {
"catalog": {
"databases": [
{
"displayName": "text",
"id": "text",
"processingPlatform": {
"id": "text",
"platformType": "PLATFORM_TYPE_UNSPECIFIED"
},
"schemas": [
{
"id": "text",
"name": "text",
"tables": [
{
"id": "text",
"name": "text",
"schema": {},
"tags": [
"text"
]
}
],
"tags": [
"text"
]
}
],
"tags": [
"text"
],
"type": "text"
}
],
"id": "text",
"tags": [
"text"
],
"type": "TYPE_UNSPECIFIED"
},
"integrationFqn": "text",
"platform": {
"id": "text",
"platformType": "PLATFORM_TYPE_UNSPECIFIED"
},
"resourcePath": [
{
"displayName": "text",
"isLeaf": false,
"name": "text",
"platformName": "text"
}
]
}
}
],
"resourceRef": {
"catalog": {
"databases": [
{
"displayName": "text",
"id": "text",
"processingPlatform": {
"id": "text",
"platformType": "PLATFORM_TYPE_UNSPECIFIED"
},
"schemas": [
{
"id": "text",
"name": "text",
"tables": [
{
"id": "text",
"name": "text",
"schema": {},
"tags": [
"text"
]
}
],
"tags": [
"text"
]
}
],
"tags": [
"text"
],
"type": "text"
}
],
"id": "text",
"tags": [
"text"
],
"type": "TYPE_UNSPECIFIED"
},
"integrationFqn": "text",
"platform": {
"id": "text",
"platformType": "PLATFORM_TYPE_UNSPECIFIED"
},
"resourcePath": [
{
"displayName": "text",
"isLeaf": false,
"name": "text",
"platformName": "text"
}
]
},
"upstream": [
{
"fieldRelations": [
{
"sourceAttribute": "text",
"targetAttribute": "text"
}
],
"managedByPace": false,
"relation": "text",
"resourceRef": {
"catalog": {
"databases": [
{
"displayName": "text",
"id": "text",
"processingPlatform": {
"id": "text",
"platformType": "PLATFORM_TYPE_UNSPECIFIED"
},
"schemas": [
{
"id": "text",
"name": "text",
"tables": [
{
"id": "text",
"name": "text",
"schema": {},
"tags": [
"text"
]
}
],
"tags": [
"text"
]
}
],
"tags": [
"text"
],
"type": "text"
}
],
"id": "text",
"tags": [
"text"
],
"type": "TYPE_UNSPECIFIED"
},
"integrationFqn": "text",
"platform": {
"id": "text",
"platformType": "PLATFORM_TYPE_UNSPECIFIED"
},
"resourcePath": [
{
"displayName": "text",
"isLeaf": false,
"name": "text",
"platformName": "text"
}
]
}
}
]
}
],
"pageInfo": {
"nextPageToken": "text",
"total": 0
}
}
OK
const response = await fetch('/v1alpha/processing-platforms/{platformId}/tables/{fqn}/lineage', {
method: 'GET',
headers: {},
});
const data = await response.json();
{
"lineageSummary": {
"downstream": [
{
"fieldRelations": [
{
"sourceAttribute": "text",
"targetAttribute": "text"
}
],
"managedByPace": false,
"relation": "text",
"resourceRef": {
"catalog": {
"databases": [
{
"displayName": "text",
"id": "text",
"processingPlatform": {
"id": "text",
"platformType": "PLATFORM_TYPE_UNSPECIFIED"
},
"schemas": [
{
"id": "text",
"name": "text",
"tables": [
{
"id": "text",
"name": "text",
"schema": {},
"tags": [
"text"
]
}
],
"tags": [
"text"
]
}
],
"tags": [
"text"
],
"type": "text"
}
],
"id": "text",
"tags": [
"text"
],
"type": "TYPE_UNSPECIFIED"
},
"integrationFqn": "text",
"platform": {
"id": "text",
"platformType": "PLATFORM_TYPE_UNSPECIFIED"
},
"resourcePath": [
{
"displayName": "text",
"isLeaf": false,
"name": "text",
"platformName": "text"
}
]
}
}
],
"resourceRef": {
"catalog": {
"databases": [
{
"displayName": "text",
"id": "text",
"processingPlatform": {
"id": "text",
"platformType": "PLATFORM_TYPE_UNSPECIFIED"
},
"schemas": [
{
"id": "text",
"name": "text",
"tables": [
{
"id": "text",
"name": "text",
"schema": {},
"tags": [
"text"
]
}
],
"tags": [
"text"
]
}
],
"tags": [
"text"
],
"type": "text"
}
],
"id": "text",
"tags": [
"text"
],
"type": "TYPE_UNSPECIFIED"
},
"integrationFqn": "text",
"platform": {
"id": "text",
"platformType": "PLATFORM_TYPE_UNSPECIFIED"
},
"resourcePath": [
{
"displayName": "text",
"isLeaf": false,
"name": "text",
"platformName": "text"
}
]
},
"upstream": [
{
"fieldRelations": [
{
"sourceAttribute": "text",
"targetAttribute": "text"
}
],
"managedByPace": false,
"relation": "text",
"resourceRef": {
"catalog": {
"databases": [
{
"displayName": "text",
"id": "text",
"processingPlatform": {
"id": "text",
"platformType": "PLATFORM_TYPE_UNSPECIFIED"
},
"schemas": [
{
"id": "text",
"name": "text",
"tables": [
{
"id": "text",
"name": "text",
"schema": {},
"tags": [
"text"
]
}
],
"tags": [
"text"
]
}
],
"tags": [
"text"
],
"type": "text"
}
],
"id": "text",
"tags": [
"text"
],
"type": "TYPE_UNSPECIFIED"
},
"integrationFqn": "text",
"platform": {
"id": "text",
"platformType": "PLATFORM_TYPE_UNSPECIFIED"
},
"resourcePath": [
{
"displayName": "text",
"isLeaf": false,
"name": "text",
"platformName": "text"
}
]
}
}
]
}
}
The identifier of the plugin to invoke.
The identifier of the plugin to invoke.
OK
const response = await fetch('/v1alpha/plugins/{pluginId}/actions/{action.type}', {
method: 'POST',
headers: {
"Content-Type": "application/json"
},
body: JSON.stringify({}),
});
const data = await response.json();
{
"dataPolicyGeneratorResult": {
"dataPolicy": {
"metadata": {
"createTime": "2024-12-21T11:52:01.905Z",
"description": "text",
"lastApplyTime": "2024-12-21T11:52:01.905Z",
"tags": [
"text"
],
"title": "text",
"updateTime": "2024-12-21T11:52:01.905Z",
"version": 0
},
"ruleSets": [
{
"fieldTransforms": [
{
"field": {
"nameParts": [
"text"
],
"required": false,
"tags": [
"text"
],
"type": "text"
},
"transforms": [
{
"aggregation": {
"avg": {
"castTo": "text",
"precision": 0
},
"max": {},
"min": {},
"partitionBy": [
{
"nameParts": [
"text"
],
"required": false,
"tags": [
"text"
],
"type": "text"
}
],
"sum": {}
},
"detokenize": {
"tokenField": {
"nameParts": [
"text"
],
"required": false,
"tags": [
"text"
],
"type": "text"
},
"tokenSourceRef": "text",
"valueField": {
"nameParts": [
"text"
],
"required": false,
"tags": [
"text"
],
"type": "text"
}
},
"fixed": {
"value": "text"
},
"hash": {
"seed": "text"
},
"identity": {},
"nullify": {},
"numericRounding": {
"ceil": {
"divisor": 0
},
"floor": {
"divisor": 0
},
"round": {
"divisor": 0,
"precision": 0
}
},
"principals": [
{
"group": "text",
"permission": "text",
"role": "text"
}
],
"regexp": {
"regexp": "text",
"replacement": "text"
},
"sqlStatement": {
"statement": "text"
}
}
]
}
],
"filters": [
{
"genericFilter": {
"conditions": [
{
"condition": "text",
"principals": [
{
"group": "text",
"permission": "text",
"role": "text"
}
]
}
]
},
"retentionFilter": {
"conditions": [
{
"period": {
"days": "text"
},
"principals": [
{
"group": "text",
"permission": "text",
"role": "text"
}
]
}
],
"field": {
"nameParts": [
"text"
],
"required": false,
"tags": [
"text"
],
"type": "text"
}
}
}
],
"target": {
"ref": {
"catalog": {
"databases": [
{
"displayName": "text",
"id": "text",
"processingPlatform": {
"id": "text",
"platformType": "PLATFORM_TYPE_UNSPECIFIED"
},
"schemas": [
{
"id": "text",
"name": "text",
"tables": [
{
"id": "text",
"name": "text",
"schema": {},
"tags": [
"text"
]
}
],
"tags": [
"text"
]
}
],
"tags": [
"text"
],
"type": "text"
}
],
"id": "text",
"tags": [
"text"
],
"type": "TYPE_UNSPECIFIED"
},
"integrationFqn": "text",
"platform": {
"id": "text",
"platformType": "PLATFORM_TYPE_UNSPECIFIED"
},
"resourcePath": [
{
"displayName": "text",
"isLeaf": false,
"name": "text",
"platformName": "text"
}
]
},
"type": "TARGET_TYPE_UNSPECIFIED"
}
}
],
"source": {
"fields": [
{
"nameParts": [
"text"
],
"required": false,
"tags": [
"text"
],
"type": "text"
}
],
"ref": {
"catalog": {
"databases": [
{
"displayName": "text",
"id": "text",
"processingPlatform": {
"id": "text",
"platformType": "PLATFORM_TYPE_UNSPECIFIED"
},
"schemas": [
{
"id": "text",
"name": "text",
"tables": [
{
"id": "text",
"name": "text",
"schema": {},
"tags": [
"text"
]
}
],
"tags": [
"text"
]
}
],
"tags": [
"text"
],
"type": "text"
}
],
"id": "text",
"tags": [
"text"
],
"type": "TYPE_UNSPECIFIED"
},
"integrationFqn": "text",
"platform": {
"id": "text",
"platformType": "PLATFORM_TYPE_UNSPECIFIED"
},
"resourcePath": [
{
"displayName": "text",
"isLeaf": false,
"name": "text",
"platformName": "text"
}
]
},
"tags": [
"text"
]
}
}
},
"sampleDataGeneratorResult": {
"data": "text",
"format": "FORMAT_UNSPECIFIED"
}
}
Evaluates a previously upserted DataPolicy against a provided data sample. Platform-specific data types, transforms and nested fields are not supported.
CSV-formatted sample data to evaluate the policy against. The first row must be a header row.
Evaluate a data policy for these principals against a sample of data.
If left empty, the policy will be evaluated against all principals.
In order to evaluate the policy for a principal that does not occur in the policy, add a
principal message without the principal
field set. This will be treated as the other
principal.
OK
The results of the evaluation, grouped by rule set.
const response = await fetch('/v1alpha/data-policies/{data_policy_id}/{platform_id}/evaluate', {
method: 'POST',
headers: {
"Content-Type": "application/json"
},
body: JSON.stringify({}),
});
const data = await response.json();
{
"ruleSetResults": [
{
"evaluationResults": [
{
"csvEvaluation": {
"csv": "text"
},
"principal": {
"group": "text",
"permission": "text",
"role": "text"
}
}
],
"target": {
"ref": {
"catalog": {
"databases": [
{
"displayName": "text",
"id": "text",
"processingPlatform": {
"id": "text",
"platformType": "PLATFORM_TYPE_UNSPECIFIED"
},
"schemas": [
{
"id": "text",
"name": "text",
"tables": [
{
"id": "text",
"name": "text",
"schema": {},
"tags": [
"text"
]
}
],
"tags": [
"text"
]
}
],
"tags": [
"text"
],
"type": "text"
}
],
"id": "text",
"tags": [
"text"
],
"type": "TYPE_UNSPECIFIED"
},
"integrationFqn": "text",
"platform": {
"id": "text",
"platformType": "PLATFORM_TYPE_UNSPECIFIED"
},
"resourcePath": [
{
"displayName": "text",
"isLeaf": false,
"name": "text",
"platformName": "text"
}
]
},
"type": "TARGET_TYPE_UNSPECIFIED"
}
}
]
}
If the specified transform is incompatible with the field data type to which this global transform is connected with, then the end user will get an invalid argument, and the blueprint policy with the global transforms applied won't be returned.
Global transforms are identified by an identifier of their [transform]. These are by default loose matching, so that 'Email-PII' is matched when 'email pii' is used.
OK
If the specified transform is incompatible with the field data type to which this global transform is connected with, then the end user will get an invalid argument, and the blueprint policy with the global transforms applied won't be returned.
Global transforms are identified by an identifier of their [transform]. These are by default loose matching, so that 'Email-PII' is matched when 'email pii' is used.
const response = await fetch('/v1alpha/global-transforms', {
method: 'POST',
headers: {
"Content-Type": "application/json"
},
body: JSON.stringify({}),
});
const data = await response.json();
{
"transform": {
"description": "text",
"tagTransform": {
"tagContent": "text",
"transforms": [
{
"aggregation": {
"avg": {
"castTo": "text",
"precision": 0
},
"max": {},
"min": {},
"partitionBy": [
{
"nameParts": [
"text"
],
"required": false,
"tags": [
"text"
],
"type": "text"
}
],
"sum": {}
},
"detokenize": {
"tokenField": {
"nameParts": [
"text"
],
"required": false,
"tags": [
"text"
],
"type": "text"
},
"tokenSourceRef": "text",
"valueField": {
"nameParts": [
"text"
],
"required": false,
"tags": [
"text"
],
"type": "text"
}
},
"fixed": {
"value": "text"
},
"hash": {
"seed": "text"
},
"identity": {},
"nullify": {},
"numericRounding": {
"ceil": {
"divisor": 0
},
"floor": {
"divisor": 0
},
"round": {
"divisor": 0,
"precision": 0
}
},
"principals": [
{
"group": "text",
"permission": "text",
"role": "text"
}
],
"regexp": {
"regexp": "text",
"replacement": "text"
},
"sqlStatement": {
"statement": "text"
}
}
]
}
}
}
Returns a data policy without any rule sets, based on the given table's data structure in the catalog. Extend this blueprint policy with field transforms and/or rule sets to create a complete data policy. Use the UpsertDataPolicy endpoint to save and enforce the policy.
OK
A message type used to describe a single bad request field.
const response = await fetch('/v1alpha/catalogs/{catalogId}/blueprint-policy', {
method: 'GET',
headers: {},
});
const data = await response.json();
{
"dataPolicy": {
"metadata": {
"createTime": "2024-12-21T11:52:01.905Z",
"description": "text",
"lastApplyTime": "2024-12-21T11:52:01.905Z",
"tags": [
"text"
],
"title": "text",
"updateTime": "2024-12-21T11:52:01.905Z",
"version": 0
},
"ruleSets": [
{
"fieldTransforms": [
{
"field": {
"nameParts": [
"text"
],
"required": false,
"tags": [
"text"
],
"type": "text"
},
"transforms": [
{
"aggregation": {
"avg": {
"castTo": "text",
"precision": 0
},
"max": {},
"min": {},
"partitionBy": [
{
"nameParts": [
"text"
],
"required": false,
"tags": [
"text"
],
"type": "text"
}
],
"sum": {}
},
"detokenize": {
"tokenField": {
"nameParts": [
"text"
],
"required": false,
"tags": [
"text"
],
"type": "text"
},
"tokenSourceRef": "text",
"valueField": {
"nameParts": [
"text"
],
"required": false,
"tags": [
"text"
],
"type": "text"
}
},
"fixed": {
"value": "text"
},
"hash": {
"seed": "text"
},
"identity": {},
"nullify": {},
"numericRounding": {
"ceil": {
"divisor": 0
},
"floor": {
"divisor": 0
},
"round": {
"divisor": 0,
"precision": 0
}
},
"principals": [
{
"group": "text",
"permission": "text",
"role": "text"
}
],
"regexp": {
"regexp": "text",
"replacement": "text"
},
"sqlStatement": {
"statement": "text"
}
}
]
}
],
"filters": [
{
"genericFilter": {
"conditions": [
{
"condition": "text",
"principals": [
{
"group": "text",
"permission": "text",
"role": "text"
}
]
}
]
},
"retentionFilter": {
"conditions": [
{
"period": {
"days": "text"
},
"principals": [
{
"group": "text",
"permission": "text",
"role": "text"
}
]
}
],
"field": {
"nameParts": [
"text"
],
"required": false,
"tags": [
"text"
],
"type": "text"
}
}
}
],
"target": {
"ref": {
"catalog": {
"databases": [
{
"displayName": "text",
"id": "text",
"processingPlatform": {
"id": "text",
"platformType": "PLATFORM_TYPE_UNSPECIFIED"
},
"schemas": [
{
"id": "text",
"name": "text",
"tables": [
{
"id": "text",
"name": "text",
"schema": {},
"tags": [
"text"
]
}
],
"tags": [
"text"
]
}
],
"tags": [
"text"
],
"type": "text"
}
],
"id": "text",
"tags": [
"text"
],
"type": "TYPE_UNSPECIFIED"
},
"integrationFqn": "text",
"platform": {
"id": "text",
"platformType": "PLATFORM_TYPE_UNSPECIFIED"
},
"resourcePath": [
{
"displayName": "text",
"isLeaf": false,
"name": "text",
"platformName": "text"
}
]
},
"type": "TARGET_TYPE_UNSPECIFIED"
}
}
],
"source": {
"fields": [
{
"nameParts": [
"text"
],
"required": false,
"tags": [
"text"
],
"type": "text"
}
],
"ref": {
"catalog": {
"databases": [
{
"displayName": "text",
"id": "text",
"processingPlatform": {
"id": "text",
"platformType": "PLATFORM_TYPE_UNSPECIFIED"
},
"schemas": [
{
"id": "text",
"name": "text",
"tables": [
{
"id": "text",
"name": "text",
"schema": {},
"tags": [
"text"
]
}
],
"tags": [
"text"
]
}
],
"tags": [
"text"
],
"type": "text"
}
],
"id": "text",
"tags": [
"text"
],
"type": "TYPE_UNSPECIFIED"
},
"integrationFqn": "text",
"platform": {
"id": "text",
"platformType": "PLATFORM_TYPE_UNSPECIFIED"
},
"resourcePath": [
{
"displayName": "text",
"isLeaf": false,
"name": "text",
"platformName": "text"
}
]
},
"tags": [
"text"
]
}
},
"violation": {
"description": "text",
"field": "text"
}
}