# Types of Schemas

There are four types of Schemas:

1. [System Schemas](#system-schemas)
2. [Policy Schemas](#policy-schemas)
3. [Tag Schemas](#tag-schemas)
4. [Module Schemas](#module-schemas)

To display System / Policy Schemas in the GUI, we have added a toggle in the Schemas tab.

<figure><img src="/files/ks50byn0wmmZfGLJ2RV4" alt=""><figcaption></figcaption></figure>

## System Schemas

Whenever an account is created, System Schemas are generated automatically.

<figure><img src="/files/2fO3NClKCw3ze9nbUeFt" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
Note: By default System Schemas cannot be edited/deleted.
{% endhint %}

## Policy Schemas <a href="#policy-schemas" id="policy-schemas"></a>

This is the second option in the Schemas tab. This option displays all the Policy Schemas related to all the created/imported Policies in the Policies tab.

The below screenshot shows the Policy Schemas of an imported Policy (i.e. iRec).

<figure><img src="/files/8nrSt8tUp0qSWlFrUI6r" alt=""><figcaption></figcaption></figure>

We also have a filter, where by default, all the Schemas of Policies are shown. We can also select a particular Policy to show the Schemas of the selected Policy.

<figure><img src="/files/IF2Z8XMEOY3Vs2Y0osDO" alt=""><figcaption></figcaption></figure>

## Tag Schemas

Tags can have attached/linked documents. To add a document to the tag a schema is required. Such documents can be found under the [**Tag Schemas**](/guardian-dev/guardian/standard-registry/schemas/tag-schema.md) section.

## Module Schemas

Module schemas needs to define minimum set of fields in module variable with type “schema”.

### Creation of Schemas

To create module schema, we need to click on Create New button:

<figure><img src="/files/KC2yRI5FJgrvVe6ru35t" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/HaLxe6Elc9oqw8g5iQ1B" alt=""><figcaption></figcaption></figure>

### Using schemas:

Select module schema in “BaseSchema” fileld in module variables section

<figure><img src="/files/fwzlm8KxcBXuTdG1r1MP" alt=""><figcaption></figcaption></figure>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://guardian.hedera.com/guardian-dev/guardian/standard-registry/schemas/system-policy-schemas.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
