--- title: "Import System Metadata Components via the Syniti Knowledge Platform REST API" slug: "import-system-metadata-components-via-the-rest-api" updated: 2024-03-27T12:38:33Z published: 2024-03-27T12:38:33Z canonical: "skthelp.syniti.com/import-system-metadata-components-via-the-rest-api" --- > ## Documentation Index > Fetch the complete documentation index at: https://skthelp.syniti.com/llms.txt > Use this file to discover all available pages before exploring further. # Import System Metadata Components via the REST API You can upload files to the Knowledge Platform via our REST API using the [POST System Scan](https://app.swaggerhub.com/apis/Syniti2/syniti-knowledge_tier_api/3.0#/Components/post_v3_systems__id__scans) endpoint. Refer to [Knowledge Platform API](/v1/docs/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 ```plaintext              { "$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" ] } } ``` ```plaintext ```