Technical Guides

Import System Metadata Components via the Syniti Knowledge Platform REST API

You can upload files to the Knowledge Platform via our REST API using the POST System Scan endpoint. Refer to Knowledge Platform API for more information about our REST API. To ingest the data from your files, the components in the files must conform to this JSON schema:

Schema

             
  {
		"$schema": "https://json-schema.org/draft/2020-12/schema",
		"$id": "https://api.syniti.com/2022-06/catalog.schema.json",
		"title": "Syniti Catalog Scanner Schema",
		"description": "Data catalog scanners are expected to produce JSON files that adhere to this schema for ingestion into Syniti Catalog",
		"type": "array",
		"items": {
			"type": "object",
			"properties": {
				"xid": {
					"type": "string",
					"title": "External ID",
					"description": "A unique identifier for the component within the system that will remain stable over time."
				},
				"name": {
					"type": "string"
				},
				"description": {
					"type": "string"
				},
				"encoding": {
					"type": "string"
				},
				"component_type": {
					"type": "string"
				},
				"consumption_type": {
					"type": "string",
					"enum": [
						"database",
						"schema",
						"table",
						"view",
						"column",
						"constraint",
						"index",
						"key",
						"lookup"
						]
				},
				"components": {
					"type": "array",
					"description": "A list of component XIDs that are children of this component. Each item in this array must be defined elsewhere in a corresponding component object.",
					"uniqueItems": true,
					"items": {
						"type": "string"
						}
					},
					"custom_properties": {
						"type": "object"
						},
					"location_path": {
						"type": "string"
						},
					"action_on_delete": {
						"type": "string"
						},
					"action_on_update": {
						"type": "string"
						},
					"allowable_values": {
						"type": "array",
						"items": {
							"type": "string"
						}
					},
					"allow_null": {
						"type": "boolean"
					},
					"constrained_on": {
						"type": "string",
						"description": "XID of the component being constrained on"
					},
					"data_type": {
						"type": "string
					},
					"default_value": {
						"type": "string"
					},
					"filter_condition": {
						"type": "string"
					},
					"filter_column": {
						"type": "string",
						"description": "XID of the component to which the filter_condition is applied"
						},
					"filters": {
						"type": "array",
						"description": "A list of component XIDs that define filters for this component. Each item in this array must be defined elsewhere in a corresponding component object.",
						"uniqueItems": true,
						"items": {
							"type": "string"
						}
					},
						"included_columns": {
							"type": "array",
							"description": "A list of component XIDs that are included columns of this component. Each item in this array must be defined elsewhere in a corresponding component object.",
							"uniqueItems": true,
							"items": {
								"type": "string"
							}
					},
					"input_output": {
						"type": "string"
					},
					"is_clustered": {
						"type": "boolean"
					},
					"is_descending": {
						"type": "boolean"
					},
					"is_unique": {
						"type": "boolean"
					},
					"key": {
						"type": "boolean"
					},
					"ordinal_position": {
						"type": "integer"
					},
					"precision": {
						"type": "string"
					},
					"reference_data": {
						"type": "array",
						"description": "A list of component XIDs that define reference data for this component. Each item in this array must be defined elsewhere in a corresponding component object.",
						"uniqueItems": true,
						"items": {
							"type": "string"
						}
					},
						"reference_elements": {
							"type": "array",
							"description": "A list of component XIDs that define reference elements for this component. Each item in this array must be defined elsewhere in a corresponding component object.",
							"uniqueItems": true,
							"items": {
								"type": "string"
							}
					},
					"reference_to": {
						"type": "string",
						"description": "XID of the constrained on component's parent"
						},
					"scale": {
						"type": "integer"
						},
					"size": {
						"type": "string"
						},
					"source": {
						"type": "string",
						"description": "XID of the component referencing the target component"
					},
					"target": {
						"type": "string",
						"description": "XID of the component being referenced by the source component"
					},
						"tags": {
							"type": "array",
							"items": {
								"type": "string"
							}
					},
						"usage": {
							"type": "string"
						},
						"validate": {
							"type": "boolean",
							"description": "Validation flag (typically used for foreign keys)"
						},
						"is_field": {
							"type": "boolean"
						},
						"text_column": {
							"type": "string",
							"description": "XID for the component used to define the text value"
						},
						"language_column": {
							"type": "string",
							"description": "XID for the component used to define the language"
							}
					},
						"required": [
							"xid"
					]

			}


}