Repository: Sage-Bionetworks/schematic
Pull request #1589: Schematic 253 validation documentation
Author: login: SageGJ
Created: 2025-04-02T22:11:01Z | Merged: 2025-04-04T16:19:15Z

# **Problem:**

Documentation needs to be written for manifest validation

# **Solution:**
The addition of an `.rst` document concerning information about manifest validation

# **Testing:**

https://schematicpy.readthedocs.io/en/schematic-253-validation-documentation/



Diff:
diff --git a/docs/source/configuration.rst b/docs/source/configuration.rst
index 6a9b9d48b..f8d458dbf 100644
--- a/docs/source/configuration.rst
+++ b/docs/source/configuration.rst
@@ -1,4 +1,4 @@
-.. _configure schematic:
+.. _configuration:
 
 Configure Schematic
 ===================
diff --git a/docs/source/index.rst b/docs/source/index.rst
index d98f3ea80..1a555f939 100644
--- a/docs/source/index.rst
+++ b/docs/source/index.rst
@@ -149,6 +149,7 @@ For the entire Python API reference documentation, you can visit the docs here:
    configuration
    manifest_generation
    tutorials
+   manifest_validation
    manifest_submission
    troubleshooting
    cli_reference
diff --git a/docs/source/installation.rst b/docs/source/installation.rst
index cb28ab0f4..37254877b 100644
--- a/docs/source/installation.rst
+++ b/docs/source/installation.rst
@@ -118,6 +118,8 @@ Once you have obtained credentials, be sure that the json file generated is name
 .. note::
    Use the ``schematic_service_account_creds.json`` file for the service account mode of authentication (*for Google services/APIs*). Service accounts are special Google accounts that can be used by applications to access Google APIs programmatically via OAuth2.0, with the advantage being that they do not require human authorization.
 
+.. _Set up configuration files:
+
 6. Set up configuration files
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
diff --git a/docs/source/manifest_generation.rst b/docs/source/manifest_generation.rst
index a7b53ae88..560776d5e 100644
--- a/docs/source/manifest_generation.rst
+++ b/docs/source/manifest_generation.rst
@@ -1,3 +1,5 @@
+.. _manifest_generation:
+
 Generate a manifest
 ===================
 A **manifest** is a structured file containing metadata that adheres to a specific data model. This page covers different ways to generate a manifest.
diff --git a/docs/source/manifest_validation.rst b/docs/source/manifest_validation.rst
new file mode 100644
index 000000000..7c1abc16f
--- /dev/null
+++ b/docs/source/manifest_validation.rst
@@ -0,0 +1,220 @@
+.. _Validating a Metadata Manifest:
+
+Validating a Metadata Manifest
+=================================================
+
+Prerequisites
+-------------
+
+**Obtain Synapse Credentials**:
+Ensure you have a Synapse account and set up Synapse configuration file correctly. See the :ref:`installation` section for more details.
+
+**Before Using the Schematic CLI**
+
+- **Install and Configure Schematic**:
+  Ensure you have installed `schematic` and set up its dependencies.
+  See the :ref:`installation` section for more details.
+
+- **Understand Important Concepts**:
+  Familiarize yourself with key concepts outlined on the :ref:`index` of the documentation.
+
+- **Configuration File**:
+  For more details on configuring Schematic, refer to the documentation on :ref:`creating a configuration file for schematic <configuration>`.
+
+- **Obtain a manifest**:
+  Please obtain a manifest by following the documentation of :ref:`generating a manifest <manifest_generation>`.
+
+
+**Using the Schematic API in Production**
+
+Visit the **Schematic API (Production Environment)**:
+`<https://schematic.api.sagebionetworks.org/v1/ui/#/>`_
+
+This will open the **Swagger UI**, where you can explore all available API endpoints.
+
+
+Requirements
+-------------------------------------------------
+
+Authentication
+~~~~~~~~~~~~~~~~~~~~
+Authentication with Synapse is required for metadata validation that includes Cross Manifest Validation rules or the ``filenameExists`` rule.
+
+File Format
+~~~~~~~~~~~~~~
+In general, metadata manifests must be stored as ``.CSV`` files. When validating through the api, manifests may alternatively be sent as a JSON string.
+
+Required Column Headers
+~~~~~~~~~~~~~~~~~~~~~~~~~
+A ``Component`` column that specifies the data type of the metadata must be present in the manifest. Additionally, columns must be present for each attribute in the component that you wish to validate.
+
+Restricted Column Headers
+~~~~~~~~~~~~~~~~~~~~~~~~~~~
+The columns ``Filename``, ``entityId``, and ``Component`` are reserved for use by schematic and should not be used as other attributes in a data model.
+
+
+Manifest Validation
+-------------------------------------------------
+Overview
+~~~~~~~~~
+Invalidities within a manifest’s metadata are classified as either errors or warnings depending on the rule itself, whether the attribute is required, and what the data modeler has specified.
+Errors are considered serious invalidities that must be corrected before submission. Warnings are considered less serious invalidities that are acceptable.
+A manifest with errors should not be submitted and the presence of errors found during submission will block submission. The presence of warnings will not block submission.
+
+.. note::
+    Validation Can be performed as its own, separate step or during submission, by including the ``-vc`` parameter and the data type of the metadata to validate
+
+
+Separately:
+
+.. code-block:: bash
+
+    schematic model -c /path/to/config.yml validate -dt <your data type> -mp <your csv manifest path>
+
+
+or with the `/model/validate <https://schematic.api.sagebionetworks.org/v1/ui/#/Model%20Operations/schematic_api.api.routes.validate_manifest_route>`_ endpoint.
+
+During submission:
+
+.. code-block:: bash
+
+    schematic model -c /path/to/config.yml submit -mp <your csv manifest path> -d <your synapse top level folder id> -vc <your data type> -mrt file_only
+
+
+or by specifying a value for the ``data_type`` parameter in the `/model/submit <https://schematic.api.sagebionetworks.org/v1/ui/#/Model%20Operations/schematic_api.api.routes.submit_manifest_route>`_ endpoint.
+
+If you need further assistance, help is available by running the following command:
+
+.. code-block:: bash
+
+    schematic model -c /path/to/config.yml validate -h
+
+or by viewing the parameter descriptions under the endpoints linked above.
+
+
+With the CLI
+~~~~~~~~~~~~~~~
+
+Authentication
+^^^^^^^^^^^^^^^^
+To authenticate for use with the CLI, follow the installation guide instructions on how to :ref:`set up configuration files <set up configuration files>`
+
+Parameters
+^^^^^^^^^^^^^^^
+--manifest_path/-mp
+    string
+
+    Specify the path to the metadata manifest file that you want to submit to a dataset on Synapse. This is a required argument.
+
+--data_type/-dt
+    optinal string
+
+    Data type of the metadata to be vaidated
+
+    Specify the component (data type) from the data model that is to be used for validating the metadata manifest file. You can either explicitly pass the data type here or provide it in the ``config.yml`` file as a value for the ``(manifest > data_type)`` key.
+
+--json_schema/-js
+    optional string
+
+    Specify the path to the JSON Validation Schema for this argument. You can either explicitly pass the ``.json`` file here or provide it in the ``config.yml`` file as a value for the ``(model > input > validation_schema)`` key.
+
+--restrict_rules/-rr
+    boolean flag
+
+    If flag is provided when command line utility is executed, validation suite will only run with in-house validation rules, and Great Expectations rules and suite will not be utilized. If not, the Great Expectations suite will be utilized and all rules will be available.
+
+--project_scope/-ps
+    optional string
+
+    Specify a comma-separated list of projects to search through for cross manifest validation. Used to speed up some interactions with synapse.
+
+--dataset_scope/-ds
+    string
+
+    Specify a dataset to validate against for filename validation.
+
+--data_model_labels/-dml
+    string
+
+    one of:
+
+    * class_label - use standard class or property label
+    * display_label - use display names (values given in the CSV data model, or the names designated as the display name field of the JSONLD data model) as label. Requires there to be no blacklisted characters in the label
+
+    default: class_label
+
+    .. warning::
+        Do not change from default unless there is a real need, using 'display_label' can have consequences if not used properly.
+
+The SynId of the fileview containing all relevant project assets should also be specifed in the ``config.yml`` file under ``(asset_store > synapse > master_fileview_id)``
+
+
+With the API
+~~~~~~~~~~~~~~~
+
+Authentication
+^^^^^^^^^^^^^^^^
+Your Synapse token should be included the in the request headers under the ``access_token`` key. In the SwaggerUI this can be added by clicking the padlock icon at the top right or next to the endoints that accept it.
+
+Parameters
+^^^^^^^^^^^^^^^
+schema_url
+    string
+    url to the raw version of the data model in either ``.CSV`` or ``.JSONLD`` formats
+
+data_type
+    string
+    Data type of the metadata to be vaidated
+
+data_model_labels
+    string
+    one of:
+
+    * class_label - use standard class or property label
+    * display_label - use display names (values given in the CSV data model, or the names designated as the display name field of the JSONLD data model) as label. Requires there to be no blacklisted characters in the label
+
+    default: class_label
+
+    .. warning::
+        Do not change from default unless there is a real need, using 'display_label' can have consequences if not used properly.
+
+restrict_rules
+    boolean
+    If True, validation suite will only run with in-house validation rule. If False, the Great Expectations suite will be utilized and all rules will be available.
+
+json_str
+    string
+    optional
+    The metadata manifest in the form of a JSON string.
+
+asset_view
+    string
+    SynId of the fileview containing all project assets
+
+project_scope
+    optional array[string]
+    list of SynIds of projects that are relevant for the current operation. Used to speed up some interactions with Synapse.
+
+dataset_scope
+    string
+    Specify a dataset to validate against for filename validation.
+
+Request Body
+^^^^^^^^^^^^^
+file_name
+    string($binary)
+
+    ``.CSV`` or ``.JSON`` file of the metadata manifest
+
+
+Response
+^^^^^^^^^^^
+If valiation completes successfully, regardless of the presence of validation errors or warnings, you'll recieve a ``200`` response code.
+The body will be a JSON string containing a list of valiation errors and warnings in the format of ``{"errors": [list of errors], "warnings": [warnings]}``
+
+Validating though the CLI will display all the errors and warnings found during validation or a message that no errors or warnings were found and the manifest is considered valid.
+
+
+With the Library
+~~~~~~~~~~~~~~~~~
+TODO


Reviews:
user: login: thomasyu888
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-04-02T23:07:47Z
user: login: thomasyu888
body: 🔥 Great work here, I'll defer to @linglp and @andrewelamb for final review.
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-04-02T23:08:21Z
user: login: thomasyu888
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-04-03T15:24:18Z
user: login: SageGJ
state: COMMENTED
author_association: COLLABORATOR
submitted_at: 2025-04-03T17:24:29Z
user: login: thomasyu888
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-04-03T19:43:42Z
user: login: linglp
body: I left some comments but it looks good to me overall :) 
state: APPROVED
author_association: CONTRIBUTOR
submitted_at: 2025-04-03T21:21:34Z
user: login: SageGJ
state: COMMENTED
author_association: COLLABORATOR
submitted_at: 2025-04-03T21:32:26Z
user: login: SageGJ
state: COMMENTED
author_association: COLLABORATOR
submitted_at: 2025-04-03T21:32:35Z
user: login: SageGJ
state: COMMENTED
author_association: COLLABORATOR
submitted_at: 2025-04-03T21:34:29Z

Review comments:
diff_hunk: @@ -0,0 +1,167 @@
+Validating a Metadata Manifest
+=================================================
+
+Requirements
path: docs/source/manifest_validation.rst
user: login: thomasyu888
body: Please follow a similar style as this PR: https://github.com/Sage-Bionetworks/schematic/pull/1584/files.  And add in links to the installation guide. 
created_at: 2025-04-02T23:07:47Z
author_association: MEMBER
diff_hunk: @@ -0,0 +1,167 @@
+Validating a Metadata Manifest
+=================================================
+
+Requirements
+-------------------------------------------------
+
+Authentication
+~~~~~~~~~~~~~~~~~~~~
+Authentication with Synapse is required for metadata validation that includes Cross Manifest Validation rules or the ``filenameExists`` rule.
+
+File Format
+~~~~~~~~~~~~~~
+In general, metadata manifests must be stored as ``.CSV`` files. When validating through the api, manifests may alternatively be sent as a JSON string.
+
+Required Column Headers
+~~~~~~~~~~~~~~~~~~~~~~~~~
+A ``Component`` column that specifies the data type of the metadata must be present in the manifest. Additionally, columns must be present for each attribute in the component that you wish to validate.
+
+Restricted Column Headers
+~~~~~~~~~~~~~~~~~~~~~~~~~~~
+The columns ``id`` and ``entityId`` are reserved for use by schematic and should not be specified in a data model.
+``id`` is used to store a uuid for each row in the manifest.
+``entityId`` is used to store the synId of each entity in the manifest.
+
+Manifest Validation
+-------------------------------------------------
+Overview
+~~~~~~~~~
+Invalidities within a manifest's metadata is classified as either an error or a warning. Depending on the rule itself, whether or not the attribute is required, and what the data modeler has specified.
+Errors are considered serious invalidities that must be corrected before submission. Warnings are considered less serious invalidities that are acceptable.
+A manifest with errors should not be submitted and the presence of errors found during submission will block submission. The presence of warnings will not block submission.
+
+.. note::
+    Validation Can be performed as its own, separate step or during submission, by including the ``-vc`` parameter and the data type of the metadata to validate
+
+
+Separately:
+
+.. code-block:: bash
+
+    schematic model -c /path/to/config.yml validate -dt <your data type> -mp <your csv manifest path>
+
+
+or with the `/model/validate <https://schematic.api.sagebionetworks.org/v1/ui/#/Model%20Operations/schematic_api.api.routes.validate_manifest_route>`_ endpoint.
+
+During submission:
+
+.. code-block:: bash
+
+    schematic model -c /path/to/config.yml submit -mp <your csv manifest path> -d <your synapse top level folder id> -vc <your data type> -mrt file_only
+
+
+or by specifying a value for the ``data_type`` parameter in the `/model/submit <https://schematic.api.sagebionetworks.org/v1/ui/#/Model%20Operations/schematic_api.api.routes.submit_manifest_route>`_ endpoint.
+
+With the CLI
+~~~~~~~~~~~~~~~
+
+Authentication
+^^^^^^^^^^^^^^^^
+To authenticate for use with the CLI, follow the instructions on how to Set Up Configuration Files in the installation guide.
path: docs/source/manifest_validation.rst
user: login: thomasyu888
body: Provide links out to installation guide
created_at: 2025-04-03T15:22:16Z
author_association: MEMBER
diff_hunk: @@ -148,3 +148,4 @@ For the entire Python API reference documentation, you can visit the docs here:
    tutorials
    troubleshooting
    cli_reference
path: docs/source/index.rst
user: login: thomasyu888
body: Can this be situated above troubleshooting?
created_at: 2025-04-03T15:23:10Z
author_association: MEMBER
diff_hunk: @@ -148,3 +148,4 @@ For the entire Python API reference documentation, you can visit the docs here:
    tutorials
    troubleshooting
    cli_reference
path: docs/source/index.rst
user: login: SageGJ
body: totally
created_at: 2025-04-03T17:24:29Z
author_association: COLLABORATOR
diff_hunk: @@ -149,6 +149,6 @@ For the entire Python API reference documentation, you can visit the docs here:
    configuration
    manifest_generation
    tutorials
-   manifest_submission
-   troubleshooting
    cli_reference
+   manifest_validation
path: docs/source/index.rst
user: login: thomasyu888
body: ```suggestion
   manifest_validation
   manifest_submission
```
created_at: 2025-04-03T19:43:42Z
author_association: MEMBER
diff_hunk: @@ -0,0 +1,211 @@
+.. _Validating a Metadata Manifest:
+
+Validating a Metadata Manifest
+=================================================
+
+Prerequisites
+-------------
+
+**Obtain Synapse Credentials**:
+Ensure you have a Synapse account and set up Synapse configuration file correctly. See the :ref:`installation` section for more details.
+
+**Before Using the Schematic CLI**
+
+- **Install and Configure Schematic**:
+  Ensure you have installed `schematic` and set up its dependencies.
+  See the :ref:`installation` section for more details.
+
+- **Understand Important Concepts**:
+  Familiarize yourself with key concepts outlined on the :ref:`index` of the documentation.
+
+- **Configuration File**:
+  For more details on configuring Schematic, refer to the documentation on :ref:`creating a configuration file for schematic <configuration>`.
+
+- **Obtain a manifest**:
+  Please obtain a manifest by following the documentation of :ref:`generating a manifest <manifest_generation>`.
+
+
+**Using the Schematic API in Production**
+
+Visit the **Schematic API (Production Environment)**:
+`<https://schematic.api.sagebionetworks.org/v1/ui/#/>`_
+
+This will open the **Swagger UI**, where you can explore all available API endpoints.
+
+
+Requirements
+-------------------------------------------------
+
+Authentication
+~~~~~~~~~~~~~~~~~~~~
+Authentication with Synapse is required for metadata validation that includes Cross Manifest Validation rules or the ``filenameExists`` rule.
+
+File Format
+~~~~~~~~~~~~~~
+In general, metadata manifests must be stored as ``.CSV`` files. When validating through the api, manifests may alternatively be sent as a JSON string.
+
+Required Column Headers
+~~~~~~~~~~~~~~~~~~~~~~~~~
+A ``Component`` column that specifies the data type of the metadata must be present in the manifest. Additionally, columns must be present for each attribute in the component that you wish to validate.
+
+Restricted Column Headers
+~~~~~~~~~~~~~~~~~~~~~~~~~~~
+The columns ``id`` and ``entityId`` are reserved for use by schematic and should not be specified in a data model.
path: docs/source/manifest_validation.rst
user: login: linglp
body: oooh interesting. I read our documentation here: https://sagebionetworks.jira.com/wiki/spaces/SCHEM/pages/2473623559/The+Data+Model+Schema#A.-Reserved-use-special-attributes and it seems like only "Component" and "EntityId" are reserved words for schematic. But I didn't know that `id` is also a reserved word. 
created_at: 2025-04-03T20:44:04Z
author_association: CONTRIBUTOR
diff_hunk: @@ -0,0 +1,211 @@
+.. _Validating a Metadata Manifest:
+
+Validating a Metadata Manifest
+=================================================
+
+Prerequisites
+-------------
+
+**Obtain Synapse Credentials**:
+Ensure you have a Synapse account and set up Synapse configuration file correctly. See the :ref:`installation` section for more details.
+
+**Before Using the Schematic CLI**
+
+- **Install and Configure Schematic**:
+  Ensure you have installed `schematic` and set up its dependencies.
+  See the :ref:`installation` section for more details.
+
+- **Understand Important Concepts**:
+  Familiarize yourself with key concepts outlined on the :ref:`index` of the documentation.
+
+- **Configuration File**:
+  For more details on configuring Schematic, refer to the documentation on :ref:`creating a configuration file for schematic <configuration>`.
+
+- **Obtain a manifest**:
+  Please obtain a manifest by following the documentation of :ref:`generating a manifest <manifest_generation>`.
+
+
+**Using the Schematic API in Production**
+
+Visit the **Schematic API (Production Environment)**:
+`<https://schematic.api.sagebionetworks.org/v1/ui/#/>`_
+
+This will open the **Swagger UI**, where you can explore all available API endpoints.
+
+
+Requirements
+-------------------------------------------------
+
+Authentication
+~~~~~~~~~~~~~~~~~~~~
+Authentication with Synapse is required for metadata validation that includes Cross Manifest Validation rules or the ``filenameExists`` rule.
+
+File Format
+~~~~~~~~~~~~~~
+In general, metadata manifests must be stored as ``.CSV`` files. When validating through the api, manifests may alternatively be sent as a JSON string.
+
+Required Column Headers
+~~~~~~~~~~~~~~~~~~~~~~~~~
+A ``Component`` column that specifies the data type of the metadata must be present in the manifest. Additionally, columns must be present for each attribute in the component that you wish to validate.
+
+Restricted Column Headers
+~~~~~~~~~~~~~~~~~~~~~~~~~~~
+The columns ``id`` and ``entityId`` are reserved for use by schematic and should not be specified in a data model.
+``id`` is used to store a uuid for each row in the manifest.
+``entityId`` is used to store the synId of each entity in the manifest.
+
+Manifest Validation
+-------------------------------------------------
+Overview
+~~~~~~~~~
+Invalidities within a manifest's metadata is classified as either an error or a warning. Depending on the rule itself, whether or not the attribute is required, and what the data modeler has specified.
path: docs/source/manifest_validation.rst
user: login: linglp
body: I am a bit confused reading this. How about: Invalidities within a manifest’s metadata are classified as either errors or warnings, depending on the rule itself, whether the attribute is required, and what the data modeler has specified.
created_at: 2025-04-03T21:12:22Z
author_association: CONTRIBUTOR
diff_hunk: @@ -0,0 +1,211 @@
+.. _Validating a Metadata Manifest:
+
+Validating a Metadata Manifest
+=================================================
+
+Prerequisites
+-------------
+
+**Obtain Synapse Credentials**:
+Ensure you have a Synapse account and set up Synapse configuration file correctly. See the :ref:`installation` section for more details.
+
+**Before Using the Schematic CLI**
+
+- **Install and Configure Schematic**:
+  Ensure you have installed `schematic` and set up its dependencies.
+  See the :ref:`installation` section for more details.
+
+- **Understand Important Concepts**:
+  Familiarize yourself with key concepts outlined on the :ref:`index` of the documentation.
+
+- **Configuration File**:
+  For more details on configuring Schematic, refer to the documentation on :ref:`creating a configuration file for schematic <configuration>`.
+
+- **Obtain a manifest**:
+  Please obtain a manifest by following the documentation of :ref:`generating a manifest <manifest_generation>`.
+
+
+**Using the Schematic API in Production**
+
+Visit the **Schematic API (Production Environment)**:
+`<https://schematic.api.sagebionetworks.org/v1/ui/#/>`_
+
+This will open the **Swagger UI**, where you can explore all available API endpoints.
+
+
+Requirements
+-------------------------------------------------
+
+Authentication
+~~~~~~~~~~~~~~~~~~~~
+Authentication with Synapse is required for metadata validation that includes Cross Manifest Validation rules or the ``filenameExists`` rule.
+
+File Format
+~~~~~~~~~~~~~~
+In general, metadata manifests must be stored as ``.CSV`` files. When validating through the api, manifests may alternatively be sent as a JSON string.
+
+Required Column Headers
+~~~~~~~~~~~~~~~~~~~~~~~~~
+A ``Component`` column that specifies the data type of the metadata must be present in the manifest. Additionally, columns must be present for each attribute in the component that you wish to validate.
+
+Restricted Column Headers
+~~~~~~~~~~~~~~~~~~~~~~~~~~~
+The columns ``id`` and ``entityId`` are reserved for use by schematic and should not be specified in a data model.
+``id`` is used to store a uuid for each row in the manifest.
+``entityId`` is used to store the synId of each entity in the manifest.
+
+Manifest Validation
+-------------------------------------------------
+Overview
+~~~~~~~~~
+Invalidities within a manifest's metadata is classified as either an error or a warning. Depending on the rule itself, whether or not the attribute is required, and what the data modeler has specified.
+Errors are considered serious invalidities that must be corrected before submission. Warnings are considered less serious invalidities that are acceptable.
+A manifest with errors should not be submitted and the presence of errors found during submission will block submission. The presence of warnings will not block submission.
+
+.. note::
+    Validation Can be performed as its own, separate step or during submission, by including the ``-vc`` parameter and the data type of the metadata to validate
+
+
+Separately:
+
+.. code-block:: bash
+
+    schematic model -c /path/to/config.yml validate -dt <your data type> -mp <your csv manifest path>
+
+
+or with the `/model/validate <https://schematic.api.sagebionetworks.org/v1/ui/#/Model%20Operations/schematic_api.api.routes.validate_manifest_route>`_ endpoint.
+
+During submission:
+
+.. code-block:: bash
+
+    schematic model -c /path/to/config.yml submit -mp <your csv manifest path> -d <your synapse top level folder id> -vc <your data type> -mrt file_only
+
+
+or by specifying a value for the ``data_type`` parameter in the `/model/submit <https://schematic.api.sagebionetworks.org/v1/ui/#/Model%20Operations/schematic_api.api.routes.submit_manifest_route>`_ endpoint.
+
+If you need further assistance, help is available by running the following command:
+
+.. code-block:: bash
+
+    schematic model -c /path/to/config.yml validate -h
+
+or by viewing the parameter descriptions under the endpoints linked above.
+
+
+With the CLI
+~~~~~~~~~~~~~~~
+
+Authentication
+^^^^^^^^^^^^^^^^
+To authenticate for use with the CLI, follow the installation guide instructions on how to :ref:`set up configuration files <set up configuration files>`
+
+Parameters
+^^^^^^^^^^^^^^^
+--manifest_path/-mp
+    string
+    Specify the path to the metadata manifest file that you want to submit to a dataset on Synapse. This is a required argument.
path: docs/source/manifest_validation.rst
user: login: linglp
body: I think unfortunately, the format in a bit off. I am seeing the following on the web page: string Specify the path to the metadata manifest file that you want to submit to a dataset on Synapse. This is a required argument. 
created_at: 2025-04-03T21:15:30Z
author_association: CONTRIBUTOR
diff_hunk: @@ -0,0 +1,211 @@
+.. _Validating a Metadata Manifest:
+
+Validating a Metadata Manifest
+=================================================
+
+Prerequisites
+-------------
+
+**Obtain Synapse Credentials**:
+Ensure you have a Synapse account and set up Synapse configuration file correctly. See the :ref:`installation` section for more details.
+
+**Before Using the Schematic CLI**
+
+- **Install and Configure Schematic**:
+  Ensure you have installed `schematic` and set up its dependencies.
+  See the :ref:`installation` section for more details.
+
+- **Understand Important Concepts**:
+  Familiarize yourself with key concepts outlined on the :ref:`index` of the documentation.
+
+- **Configuration File**:
+  For more details on configuring Schematic, refer to the documentation on :ref:`creating a configuration file for schematic <configuration>`.
+
+- **Obtain a manifest**:
+  Please obtain a manifest by following the documentation of :ref:`generating a manifest <manifest_generation>`.
+
+
+**Using the Schematic API in Production**
+
+Visit the **Schematic API (Production Environment)**:
+`<https://schematic.api.sagebionetworks.org/v1/ui/#/>`_
+
+This will open the **Swagger UI**, where you can explore all available API endpoints.
+
+
+Requirements
+-------------------------------------------------
+
+Authentication
+~~~~~~~~~~~~~~~~~~~~
+Authentication with Synapse is required for metadata validation that includes Cross Manifest Validation rules or the ``filenameExists`` rule.
+
+File Format
+~~~~~~~~~~~~~~
+In general, metadata manifests must be stored as ``.CSV`` files. When validating through the api, manifests may alternatively be sent as a JSON string.
+
+Required Column Headers
+~~~~~~~~~~~~~~~~~~~~~~~~~
+A ``Component`` column that specifies the data type of the metadata must be present in the manifest. Additionally, columns must be present for each attribute in the component that you wish to validate.
+
+Restricted Column Headers
+~~~~~~~~~~~~~~~~~~~~~~~~~~~
+The columns ``id`` and ``entityId`` are reserved for use by schematic and should not be specified in a data model.
+``id`` is used to store a uuid for each row in the manifest.
+``entityId`` is used to store the synId of each entity in the manifest.
+
+Manifest Validation
+-------------------------------------------------
+Overview
+~~~~~~~~~
+Invalidities within a manifest's metadata is classified as either an error or a warning. Depending on the rule itself, whether or not the attribute is required, and what the data modeler has specified.
+Errors are considered serious invalidities that must be corrected before submission. Warnings are considered less serious invalidities that are acceptable.
+A manifest with errors should not be submitted and the presence of errors found during submission will block submission. The presence of warnings will not block submission.
+
+.. note::
+    Validation Can be performed as its own, separate step or during submission, by including the ``-vc`` parameter and the data type of the metadata to validate
+
+
+Separately:
+
+.. code-block:: bash
+
+    schematic model -c /path/to/config.yml validate -dt <your data type> -mp <your csv manifest path>
+
+
+or with the `/model/validate <https://schematic.api.sagebionetworks.org/v1/ui/#/Model%20Operations/schematic_api.api.routes.validate_manifest_route>`_ endpoint.
+
+During submission:
+
+.. code-block:: bash
+
+    schematic model -c /path/to/config.yml submit -mp <your csv manifest path> -d <your synapse top level folder id> -vc <your data type> -mrt file_only
+
+
+or by specifying a value for the ``data_type`` parameter in the `/model/submit <https://schematic.api.sagebionetworks.org/v1/ui/#/Model%20Operations/schematic_api.api.routes.submit_manifest_route>`_ endpoint.
+
+If you need further assistance, help is available by running the following command:
+
+.. code-block:: bash
+
+    schematic model -c /path/to/config.yml validate -h
+
+or by viewing the parameter descriptions under the endpoints linked above.
+
+
+With the CLI
+~~~~~~~~~~~~~~~
+
+Authentication
+^^^^^^^^^^^^^^^^
+To authenticate for use with the CLI, follow the installation guide instructions on how to :ref:`set up configuration files <set up configuration files>`
+
+Parameters
+^^^^^^^^^^^^^^^
+--manifest_path/-mp
+    string
+    Specify the path to the metadata manifest file that you want to submit to a dataset on Synapse. This is a required argument.
+
+--data_type/-dt
+    optinal string
+    Data type of the metadata to be vaidated
+    Specify the component (data type) from the data model that is to be used for validating the metadata manifest file. You can either explicitly pass the data type here or provide it in the ``config.yml`` file as a value for the ``(manifest > data_type)`` key.
+
+--json_schema/-js
+    optional string
+    Specify the path to the JSON Validation Schema for this argument. You can either explicitly pass the ``.json`` file here or provide it in the ``config.yml`` file as a value for the ``(model > input > validation_schema)`` key.
+
+--restrict_rules/-rr
+    boolean flag
+    If flag is provided when command line utility is executed, validation suite will only run with in-house validation rules, and Great Expectations rules and suite will not be utilized. If not, the Great Expectations suite will be utilized and all rules will be available.
+
+--project_scope/-ps
+    optional string
+    Specify a comma-separated list of projects to search through for cross manifest validation. Used to speed up some interactions with synapse.
+
+--dataset_scope/-ds
+    string
+    Specify a dataset to validate against for filename validation.
+
+--data_model_labels/-dml
+    string
+    one of:
+
+    * class_label - use standard class or property label
+    * display_label - use display names as label. Requires there to be no blacklisted characters in the label
+
+    default: class_label
+
+    Do not change from default unless there is a real need, using 'display_label' can have consequences if not used properly.
path: docs/source/manifest_validation.rst
user: login: linglp
body: i think this part should be highlighted? 
created_at: 2025-04-03T21:19:00Z
author_association: CONTRIBUTOR
diff_hunk: @@ -0,0 +1,211 @@
+.. _Validating a Metadata Manifest:
+
+Validating a Metadata Manifest
+=================================================
+
+Prerequisites
+-------------
+
+**Obtain Synapse Credentials**:
+Ensure you have a Synapse account and set up Synapse configuration file correctly. See the :ref:`installation` section for more details.
+
+**Before Using the Schematic CLI**
+
+- **Install and Configure Schematic**:
+  Ensure you have installed `schematic` and set up its dependencies.
+  See the :ref:`installation` section for more details.
+
+- **Understand Important Concepts**:
+  Familiarize yourself with key concepts outlined on the :ref:`index` of the documentation.
+
+- **Configuration File**:
+  For more details on configuring Schematic, refer to the documentation on :ref:`creating a configuration file for schematic <configuration>`.
+
+- **Obtain a manifest**:
+  Please obtain a manifest by following the documentation of :ref:`generating a manifest <manifest_generation>`.
+
+
+**Using the Schematic API in Production**
+
+Visit the **Schematic API (Production Environment)**:
+`<https://schematic.api.sagebionetworks.org/v1/ui/#/>`_
+
+This will open the **Swagger UI**, where you can explore all available API endpoints.
+
+
+Requirements
+-------------------------------------------------
+
+Authentication
+~~~~~~~~~~~~~~~~~~~~
+Authentication with Synapse is required for metadata validation that includes Cross Manifest Validation rules or the ``filenameExists`` rule.
+
+File Format
+~~~~~~~~~~~~~~
+In general, metadata manifests must be stored as ``.CSV`` files. When validating through the api, manifests may alternatively be sent as a JSON string.
+
+Required Column Headers
+~~~~~~~~~~~~~~~~~~~~~~~~~
+A ``Component`` column that specifies the data type of the metadata must be present in the manifest. Additionally, columns must be present for each attribute in the component that you wish to validate.
+
+Restricted Column Headers
+~~~~~~~~~~~~~~~~~~~~~~~~~~~
+The columns ``id`` and ``entityId`` are reserved for use by schematic and should not be specified in a data model.
+``id`` is used to store a uuid for each row in the manifest.
+``entityId`` is used to store the synId of each entity in the manifest.
+
+Manifest Validation
+-------------------------------------------------
+Overview
+~~~~~~~~~
+Invalidities within a manifest's metadata is classified as either an error or a warning. Depending on the rule itself, whether or not the attribute is required, and what the data modeler has specified.
+Errors are considered serious invalidities that must be corrected before submission. Warnings are considered less serious invalidities that are acceptable.
+A manifest with errors should not be submitted and the presence of errors found during submission will block submission. The presence of warnings will not block submission.
+
+.. note::
+    Validation Can be performed as its own, separate step or during submission, by including the ``-vc`` parameter and the data type of the metadata to validate
+
+
+Separately:
+
+.. code-block:: bash
+
+    schematic model -c /path/to/config.yml validate -dt <your data type> -mp <your csv manifest path>
+
+
+or with the `/model/validate <https://schematic.api.sagebionetworks.org/v1/ui/#/Model%20Operations/schematic_api.api.routes.validate_manifest_route>`_ endpoint.
+
+During submission:
+
+.. code-block:: bash
+
+    schematic model -c /path/to/config.yml submit -mp <your csv manifest path> -d <your synapse top level folder id> -vc <your data type> -mrt file_only
+
+
+or by specifying a value for the ``data_type`` parameter in the `/model/submit <https://schematic.api.sagebionetworks.org/v1/ui/#/Model%20Operations/schematic_api.api.routes.submit_manifest_route>`_ endpoint.
+
+If you need further assistance, help is available by running the following command:
+
+.. code-block:: bash
+
+    schematic model -c /path/to/config.yml validate -h
+
+or by viewing the parameter descriptions under the endpoints linked above.
+
+
+With the CLI
+~~~~~~~~~~~~~~~
+
+Authentication
+^^^^^^^^^^^^^^^^
+To authenticate for use with the CLI, follow the installation guide instructions on how to :ref:`set up configuration files <set up configuration files>`
+
+Parameters
+^^^^^^^^^^^^^^^
+--manifest_path/-mp
+    string
+    Specify the path to the metadata manifest file that you want to submit to a dataset on Synapse. This is a required argument.
+
+--data_type/-dt
+    optinal string
+    Data type of the metadata to be vaidated
+    Specify the component (data type) from the data model that is to be used for validating the metadata manifest file. You can either explicitly pass the data type here or provide it in the ``config.yml`` file as a value for the ``(manifest > data_type)`` key.
+
+--json_schema/-js
+    optional string
+    Specify the path to the JSON Validation Schema for this argument. You can either explicitly pass the ``.json`` file here or provide it in the ``config.yml`` file as a value for the ``(model > input > validation_schema)`` key.
+
+--restrict_rules/-rr
+    boolean flag
+    If flag is provided when command line utility is executed, validation suite will only run with in-house validation rules, and Great Expectations rules and suite will not be utilized. If not, the Great Expectations suite will be utilized and all rules will be available.
+
+--project_scope/-ps
+    optional string
+    Specify a comma-separated list of projects to search through for cross manifest validation. Used to speed up some interactions with synapse.
+
+--dataset_scope/-ds
+    string
+    Specify a dataset to validate against for filename validation.
+
+--data_model_labels/-dml
+    string
+    one of:
+
+    * class_label - use standard class or property label
+    * display_label - use display names as label. Requires there to be no blacklisted characters in the label
+
+    default: class_label
+
+    Do not change from default unless there is a real need, using 'display_label' can have consequences if not used properly.
+
+The SynId of the fileview containing all relevant project assets should also be specifed in the ``config.yml`` file under ``(asset_store > synapse > master_fileview_id)``
+
+
+With the API
+~~~~~~~~~~~~~~~
+
+Authentication
+^^^^^^^^^^^^^^^^
+Your Synapse token should be included the in the request headers under the ``access_token`` key. In the SwaggerUI this can be added by clicking the padlock icon at the top right or next to the endoints that accept it.
+
+Parameters
+^^^^^^^^^^^^^^^
+schema_url
+    string
+    url to the raw version of the data model in either ``.CSV`` or ``.JSONLD`` formats
+
+data_type
+    string
+    Data type of the metadata to be vaidated
+
+data_model_labels
+    string
+    one of:
+
+    * class_label - use standard class or property label
+    * display_label - use display names as label. Requires there to be no blacklisted characters in the label
path: docs/source/manifest_validation.rst
user: login: linglp
body: clarify what is "display names"? 
created_at: 2025-04-03T21:19:28Z
author_association: CONTRIBUTOR
diff_hunk: @@ -0,0 +1,211 @@
+.. _Validating a Metadata Manifest:
+
+Validating a Metadata Manifest
+=================================================
+
+Prerequisites
+-------------
+
+**Obtain Synapse Credentials**:
+Ensure you have a Synapse account and set up Synapse configuration file correctly. See the :ref:`installation` section for more details.
+
+**Before Using the Schematic CLI**
+
+- **Install and Configure Schematic**:
+  Ensure you have installed `schematic` and set up its dependencies.
+  See the :ref:`installation` section for more details.
+
+- **Understand Important Concepts**:
+  Familiarize yourself with key concepts outlined on the :ref:`index` of the documentation.
+
+- **Configuration File**:
+  For more details on configuring Schematic, refer to the documentation on :ref:`creating a configuration file for schematic <configuration>`.
+
+- **Obtain a manifest**:
+  Please obtain a manifest by following the documentation of :ref:`generating a manifest <manifest_generation>`.
+
+
+**Using the Schematic API in Production**
+
+Visit the **Schematic API (Production Environment)**:
+`<https://schematic.api.sagebionetworks.org/v1/ui/#/>`_
+
+This will open the **Swagger UI**, where you can explore all available API endpoints.
+
+
+Requirements
+-------------------------------------------------
+
+Authentication
+~~~~~~~~~~~~~~~~~~~~
+Authentication with Synapse is required for metadata validation that includes Cross Manifest Validation rules or the ``filenameExists`` rule.
+
+File Format
+~~~~~~~~~~~~~~
+In general, metadata manifests must be stored as ``.CSV`` files. When validating through the api, manifests may alternatively be sent as a JSON string.
+
+Required Column Headers
+~~~~~~~~~~~~~~~~~~~~~~~~~
+A ``Component`` column that specifies the data type of the metadata must be present in the manifest. Additionally, columns must be present for each attribute in the component that you wish to validate.
+
+Restricted Column Headers
+~~~~~~~~~~~~~~~~~~~~~~~~~~~
+The columns ``id`` and ``entityId`` are reserved for use by schematic and should not be specified in a data model.
path: docs/source/manifest_validation.rst
user: login: SageGJ
body: Good point, I'll align with the other documentation!
created_at: 2025-04-03T21:32:26Z
author_association: COLLABORATOR
diff_hunk: @@ -0,0 +1,211 @@
+.. _Validating a Metadata Manifest:
+
+Validating a Metadata Manifest
+=================================================
+
+Prerequisites
+-------------
+
+**Obtain Synapse Credentials**:
+Ensure you have a Synapse account and set up Synapse configuration file correctly. See the :ref:`installation` section for more details.
+
+**Before Using the Schematic CLI**
+
+- **Install and Configure Schematic**:
+  Ensure you have installed `schematic` and set up its dependencies.
+  See the :ref:`installation` section for more details.
+
+- **Understand Important Concepts**:
+  Familiarize yourself with key concepts outlined on the :ref:`index` of the documentation.
+
+- **Configuration File**:
+  For more details on configuring Schematic, refer to the documentation on :ref:`creating a configuration file for schematic <configuration>`.
+
+- **Obtain a manifest**:
+  Please obtain a manifest by following the documentation of :ref:`generating a manifest <manifest_generation>`.
+
+
+**Using the Schematic API in Production**
+
+Visit the **Schematic API (Production Environment)**:
+`<https://schematic.api.sagebionetworks.org/v1/ui/#/>`_
+
+This will open the **Swagger UI**, where you can explore all available API endpoints.
+
+
+Requirements
+-------------------------------------------------
+
+Authentication
+~~~~~~~~~~~~~~~~~~~~
+Authentication with Synapse is required for metadata validation that includes Cross Manifest Validation rules or the ``filenameExists`` rule.
+
+File Format
+~~~~~~~~~~~~~~
+In general, metadata manifests must be stored as ``.CSV`` files. When validating through the api, manifests may alternatively be sent as a JSON string.
+
+Required Column Headers
+~~~~~~~~~~~~~~~~~~~~~~~~~
+A ``Component`` column that specifies the data type of the metadata must be present in the manifest. Additionally, columns must be present for each attribute in the component that you wish to validate.
+
+Restricted Column Headers
+~~~~~~~~~~~~~~~~~~~~~~~~~~~
+The columns ``id`` and ``entityId`` are reserved for use by schematic and should not be specified in a data model.
+``id`` is used to store a uuid for each row in the manifest.
+``entityId`` is used to store the synId of each entity in the manifest.
+
+Manifest Validation
+-------------------------------------------------
+Overview
+~~~~~~~~~
+Invalidities within a manifest's metadata is classified as either an error or a warning. Depending on the rule itself, whether or not the attribute is required, and what the data modeler has specified.
+Errors are considered serious invalidities that must be corrected before submission. Warnings are considered less serious invalidities that are acceptable.
+A manifest with errors should not be submitted and the presence of errors found during submission will block submission. The presence of warnings will not block submission.
+
+.. note::
+    Validation Can be performed as its own, separate step or during submission, by including the ``-vc`` parameter and the data type of the metadata to validate
+
+
+Separately:
+
+.. code-block:: bash
+
+    schematic model -c /path/to/config.yml validate -dt <your data type> -mp <your csv manifest path>
+
+
+or with the `/model/validate <https://schematic.api.sagebionetworks.org/v1/ui/#/Model%20Operations/schematic_api.api.routes.validate_manifest_route>`_ endpoint.
+
+During submission:
+
+.. code-block:: bash
+
+    schematic model -c /path/to/config.yml submit -mp <your csv manifest path> -d <your synapse top level folder id> -vc <your data type> -mrt file_only
+
+
+or by specifying a value for the ``data_type`` parameter in the `/model/submit <https://schematic.api.sagebionetworks.org/v1/ui/#/Model%20Operations/schematic_api.api.routes.submit_manifest_route>`_ endpoint.
+
+If you need further assistance, help is available by running the following command:
+
+.. code-block:: bash
+
+    schematic model -c /path/to/config.yml validate -h
+
+or by viewing the parameter descriptions under the endpoints linked above.
+
+
+With the CLI
+~~~~~~~~~~~~~~~
+
+Authentication
+^^^^^^^^^^^^^^^^
+To authenticate for use with the CLI, follow the installation guide instructions on how to :ref:`set up configuration files <set up configuration files>`
+
+Parameters
+^^^^^^^^^^^^^^^
+--manifest_path/-mp
+    string
+    Specify the path to the metadata manifest file that you want to submit to a dataset on Synapse. This is a required argument.
path: docs/source/manifest_validation.rst
user: login: SageGJ
body: Thanks for catching!
created_at: 2025-04-03T21:32:34Z
author_association: COLLABORATOR
diff_hunk: @@ -0,0 +1,211 @@
+.. _Validating a Metadata Manifest:
+
+Validating a Metadata Manifest
+=================================================
+
+Prerequisites
+-------------
+
+**Obtain Synapse Credentials**:
+Ensure you have a Synapse account and set up Synapse configuration file correctly. See the :ref:`installation` section for more details.
+
+**Before Using the Schematic CLI**
+
+- **Install and Configure Schematic**:
+  Ensure you have installed `schematic` and set up its dependencies.
+  See the :ref:`installation` section for more details.
+
+- **Understand Important Concepts**:
+  Familiarize yourself with key concepts outlined on the :ref:`index` of the documentation.
+
+- **Configuration File**:
+  For more details on configuring Schematic, refer to the documentation on :ref:`creating a configuration file for schematic <configuration>`.
+
+- **Obtain a manifest**:
+  Please obtain a manifest by following the documentation of :ref:`generating a manifest <manifest_generation>`.
+
+
+**Using the Schematic API in Production**
+
+Visit the **Schematic API (Production Environment)**:
+`<https://schematic.api.sagebionetworks.org/v1/ui/#/>`_
+
+This will open the **Swagger UI**, where you can explore all available API endpoints.
+
+
+Requirements
+-------------------------------------------------
+
+Authentication
+~~~~~~~~~~~~~~~~~~~~
+Authentication with Synapse is required for metadata validation that includes Cross Manifest Validation rules or the ``filenameExists`` rule.
+
+File Format
+~~~~~~~~~~~~~~
+In general, metadata manifests must be stored as ``.CSV`` files. When validating through the api, manifests may alternatively be sent as a JSON string.
+
+Required Column Headers
+~~~~~~~~~~~~~~~~~~~~~~~~~
+A ``Component`` column that specifies the data type of the metadata must be present in the manifest. Additionally, columns must be present for each attribute in the component that you wish to validate.
+
+Restricted Column Headers
+~~~~~~~~~~~~~~~~~~~~~~~~~~~
+The columns ``id`` and ``entityId`` are reserved for use by schematic and should not be specified in a data model.
+``id`` is used to store a uuid for each row in the manifest.
+``entityId`` is used to store the synId of each entity in the manifest.
+
+Manifest Validation
+-------------------------------------------------
+Overview
+~~~~~~~~~
+Invalidities within a manifest's metadata is classified as either an error or a warning. Depending on the rule itself, whether or not the attribute is required, and what the data modeler has specified.
+Errors are considered serious invalidities that must be corrected before submission. Warnings are considered less serious invalidities that are acceptable.
+A manifest with errors should not be submitted and the presence of errors found during submission will block submission. The presence of warnings will not block submission.
+
+.. note::
+    Validation Can be performed as its own, separate step or during submission, by including the ``-vc`` parameter and the data type of the metadata to validate
+
+
+Separately:
+
+.. code-block:: bash
+
+    schematic model -c /path/to/config.yml validate -dt <your data type> -mp <your csv manifest path>
+
+
+or with the `/model/validate <https://schematic.api.sagebionetworks.org/v1/ui/#/Model%20Operations/schematic_api.api.routes.validate_manifest_route>`_ endpoint.
+
+During submission:
+
+.. code-block:: bash
+
+    schematic model -c /path/to/config.yml submit -mp <your csv manifest path> -d <your synapse top level folder id> -vc <your data type> -mrt file_only
+
+
+or by specifying a value for the ``data_type`` parameter in the `/model/submit <https://schematic.api.sagebionetworks.org/v1/ui/#/Model%20Operations/schematic_api.api.routes.submit_manifest_route>`_ endpoint.
+
+If you need further assistance, help is available by running the following command:
+
+.. code-block:: bash
+
+    schematic model -c /path/to/config.yml validate -h
+
+or by viewing the parameter descriptions under the endpoints linked above.
+
+
+With the CLI
+~~~~~~~~~~~~~~~
+
+Authentication
+^^^^^^^^^^^^^^^^
+To authenticate for use with the CLI, follow the installation guide instructions on how to :ref:`set up configuration files <set up configuration files>`
+
+Parameters
+^^^^^^^^^^^^^^^
+--manifest_path/-mp
+    string
+    Specify the path to the metadata manifest file that you want to submit to a dataset on Synapse. This is a required argument.
+
+--data_type/-dt
+    optinal string
+    Data type of the metadata to be vaidated
+    Specify the component (data type) from the data model that is to be used for validating the metadata manifest file. You can either explicitly pass the data type here or provide it in the ``config.yml`` file as a value for the ``(manifest > data_type)`` key.
+
+--json_schema/-js
+    optional string
+    Specify the path to the JSON Validation Schema for this argument. You can either explicitly pass the ``.json`` file here or provide it in the ``config.yml`` file as a value for the ``(model > input > validation_schema)`` key.
+
+--restrict_rules/-rr
+    boolean flag
+    If flag is provided when command line utility is executed, validation suite will only run with in-house validation rules, and Great Expectations rules and suite will not be utilized. If not, the Great Expectations suite will be utilized and all rules will be available.
+
+--project_scope/-ps
+    optional string
+    Specify a comma-separated list of projects to search through for cross manifest validation. Used to speed up some interactions with synapse.
+
+--dataset_scope/-ds
+    string
+    Specify a dataset to validate against for filename validation.
+
+--data_model_labels/-dml
+    string
+    one of:
+
+    * class_label - use standard class or property label
+    * display_label - use display names as label. Requires there to be no blacklisted characters in the label
+
+    default: class_label
+
+    Do not change from default unless there is a real need, using 'display_label' can have consequences if not used properly.
+
+The SynId of the fileview containing all relevant project assets should also be specifed in the ``config.yml`` file under ``(asset_store > synapse > master_fileview_id)``
+
+
+With the API
+~~~~~~~~~~~~~~~
+
+Authentication
+^^^^^^^^^^^^^^^^
+Your Synapse token should be included the in the request headers under the ``access_token`` key. In the SwaggerUI this can be added by clicking the padlock icon at the top right or next to the endoints that accept it.
+
+Parameters
+^^^^^^^^^^^^^^^
+schema_url
+    string
+    url to the raw version of the data model in either ``.CSV`` or ``.JSONLD`` formats
+
+data_type
+    string
+    Data type of the metadata to be vaidated
+
+data_model_labels
+    string
+    one of:
+
+    * class_label - use standard class or property label
+    * display_label - use display names as label. Requires there to be no blacklisted characters in the label
path: docs/source/manifest_validation.rst
user: login: SageGJ
body: good point, thanks!
created_at: 2025-04-03T21:34:29Z
author_association: COLLABORATOR

PR comments:
user: login: SageGJ
created_at: 2025-04-02T22:22:58Z
body: @andrewelamb @thomasyu888 do you know what could be causing the github actions to not run on this pr? and is the documentation deployment to the read the docs site part of the existing workflows?
author_association: COLLABORATOR
user: login: thomasyu888
created_at: 2025-04-02T22:29:56Z
body: > do you know what could be causing the github actions to not run on this pr? and is the documentation deployment to the read the docs site part of the existing workflows?

@SageGJ It's being ran right now on readthedocs, but you'll have to link in the `index.rst` file for it to show up in the menu.  Edit: I added a link in the PR description.

@linglp deployed her branches manually i think in readthedocs.
author_association: MEMBER
user: login: SageGJ
created_at: 2025-04-02T22:39:25Z
body: @thomasyu888 thanks! I've updated the index.rst so once it runs it should be up to date.
author_association: COLLABORATOR
user: login: sonarqubecloud[bot]
created_at: 2025-04-04T06:44:34Z
body: ## [![Quality Gate Passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-passed-20px.png 'Quality Gate Passed')](https://sonarcloud.io/dashboard?id=Sage-Bionetworks_schematic&pullRequest=1589) **Quality Gate passed**  
Issues  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 New issues](https://sonarcloud.io/project/issues?id=Sage-Bionetworks_schematic&pullRequest=1589&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/accepted-16px.png '') [0 Accepted issues](https://sonarcloud.io/project/issues?id=Sage-Bionetworks_schematic&pullRequest=1589&issueStatuses=ACCEPTED)

Measures  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=Sage-Bionetworks_schematic&pullRequest=1589&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Coverage on New Code](https://sonarcloud.io/component_measures?id=Sage-Bionetworks_schematic&pullRequest=1589&metric=new_coverage&view=list)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Duplication on New Code](https://sonarcloud.io/component_measures?id=Sage-Bionetworks_schematic&pullRequest=1589&metric=new_duplicated_lines_density&view=list)  
  
[See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=Sage-Bionetworks_schematic&pullRequest=1589)


author_association: NONE