# Folder

It is used to group other nodes and can be a child of [Project](https://docs.testmace.com/node-types/project) and **Folder** nodes. This is how it looks like in the project tree:

![A Folder node in the project tree](https://1550208191-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LYfhIaTTw23Sf3L5jfe%2F-LgWwgka3rZBZgHDvNjd%2F-LgWyItsMGOzq1NvoQl7%2F1.png?alt=media\&token=c7712323-de2a-4872-b743-811ee97d469b)

Here are the actions available for this node type in the project tree:

![A Folder node context menu](https://1550208191-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LYfhIaTTw23Sf3L5jfe%2F-LgWwgka3rZBZgHDvNjd%2F-LgWyvYOvLbHw3fujBhs%2F2.png?alt=media\&token=eeae0e6b-a4fc-4a11-a47b-330c92754426)

* **Add node.** Ckick on it to add a child node. You can choose a node type in the submenu.
* **Rename.** Change the node name.
* **Duplicate.** Make a copy of the node.  The new node will be named **NodeName \[Copy \[number]]**.
* **Remove node.** Use it to delete the node.
* **Run.** Run the node.
* [**Share**](https://docs.testmace.com/other-features/import/shared)**.** Share the node. Note that the link with information about the node will be created in the clipboard.
* **Show in explorer.** Open the folder with the node in the file manager.

You can open the node with a double-click on it in the project tree. A **Folder** node tab looks like this:

![A Folder node tab](https://1550208191-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LYfhIaTTw23Sf3L5jfe%2F-LhpB3Wy9BwwfjEcUimT%2F-LhpB8XEmTJvBFFyGPNx%2F8.png?alt=media\&token=9a2b5343-a1d1-4f37-9738-87d51a2d7f00)

In the screenshot you can see the following parts of the tab:

1. The **Run** button to run the nodes under the Folder node.
2. The control panel
3. The **Headers** button to specify inheritable HTTP headers.
4. The button to open the [**variables dialog**](https://docs.testmace.com/variables/user-variables)**.**
5. **Child nodes** area
6. Checks if the node has a valid SSL certificate.  It is used as an inherited parameter in [RequestStep](https://docs.testmace.com/node-types/request-step) nodes.
7. **Authorization**.

Let's describe these parts in detail.

### Control Panel

The **Run** button function is described above. It's worth mentioning that when running a node the button looks different:

![The Run button after running a node](https://1550208191-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LYfhIaTTw23Sf3L5jfe%2F-LgXGmrChTZiPq8y7nxp%2F-LgXJs1-z6f1cboc500J%2F4.png?alt=media\&token=f5679900-3e5e-4317-9f48-e6315c4f4dea)

You can stop the node by clicking **Abort**.

The **Headers** button allows to specify [inheritable HTTP headers](https://docs.testmace.com/other-features/default-http-headers).

Variables editing is shown in the [Custom variables](https://docs.testmace.com/variables/user-variables) section.

### File Representation

A **Folder** node is a folder with the node name, containing the index.yml file with the following format:

```javascript
{
  "type": "object",
  "properties": {
    "type": {
      "description": "Type of Folder node",
      "const": "Folder",
      "type": "string"
    },
    "authData": {
      "$ref": "#/definitions/IAuthorizationData",
      "description": "Authorization parameters"
    },
    "requestData": {
      "$ref": "#/definitions/IRequestParametersData",
      "description": "Request parameters"
    },
    "children": {
      "description": "List of children names",
      "type": "array",
      "items": {
        "type": "string"
      },
      "default": []
    },
    "variables": {
      "$ref": "#/definitions/NodeVariables",
      "description": "Node variables dictionary"
    },
    "name": {
      "description": "Node name",
      "type": "string"
    }
  },
  "required": [
    "authData",
    "children",
    "name",
    "requestData",
    "type",
    "variables"
  ],
  "definitions": {
    "IAuthorizationData": {
      "type": "object",
      "properties": {
        "type": {
          "type": "string"
        }
      },
      "required": [
        "type"
      ]
    },
    "IRequestParametersData": {
      "type": "object",
      "properties": {
        "headers": {
          "description": "Headers",
          "type": "array",
          "items": {
            "$ref": "#/definitions/NameValueParam"
          }
        },
        "disabledInheritedHeaders": {
          "description": "Names of disabled headers",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "strictSSL": {
          "$ref": "#/definitions/StrictSSLOptions",
          "description": "Requires SSL certificates be valid"
        }
      },
      "required": [
        "disabledInheritedHeaders",
        "headers",
        "strictSSL"
      ]
    },
    "NameValueParam": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        },
        "value": {
          "type": "string"
        },
        "isChecked": {
          "type": "boolean"
        }
      },
      "required": [
        "name",
        "value"
      ]
    },
    "StrictSSLOptions": {
      "enum": [
        "Inherit",
        "No",
        "Yes"
      ],
      "type": "string"
    },
    "NodeVariables": {
      "type": "object",
      "additionalProperties": {
        "type": "string"
      }
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
```


---

# 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://docs.testmace.com/node-types/folder.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.
