> For the complete documentation index, see [llms.txt](https://docs.testmace.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.testmace.com/node-types/folder.md).

# Folder

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

![A Folder node in the project tree](/files/-LgWyItsMGOzq1NvoQl7)

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

![A Folder node context menu](/files/-LgWyvYOvLbHw3fujBhs)

* **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**](/other-features/import/shared.md)**.** 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](/files/-LhpB8XEmTJvBFFyGPNx)

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**](/variables/user-variables.md)**.**
5. **Child nodes** area
6. Checks if the node has a valid SSL certificate.  It is used as an inherited parameter in [RequestStep](/node-types/request-step.md) 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](/files/-LgXJs1-z6f1cboc500J)

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

The **Headers** button allows to specify [inheritable HTTP headers](/other-features/default-http-headers.md).

Variables editing is shown in the [Custom variables](/variables/user-variables.md) 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#"
}
```
