> 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/project/nodes.md).

# Node Types

{% hint style="info" %}
A node is an element of the project or scratches tree.
{% endhint %}

### Node Types

* [**Project**](/node-types/project.md)**.** This is a root node, that is created automatically when you start a new project. It is functionally identical to a Folder node.
* [**Folder**](/node-types/folder.md)**.** It allows to group Folder and RequestStep nodes under it.
* [**RequestStep**](/node-types/request-step.md). This is a node that you can use to send a request. It can have only one Assertion node as a child element.
* [**Assertion**](/node-types/assertion-node.md). This one is used for writing tests. It can be a child node only for a RequestStep node.
* [**Script**](/node-types/script.md). It allows to run a JavaScript script and access the app's API.
* [**Link**](/node-types/link.md). Allows to access an existing node.
* [**Api description**](/node-types/api-description.md)
  * [**ApiRootFolder**](/node-types/api-description/apirootfolder.md)**.** A root element (folder) for API description.
  * [**ApiFolder**](/node-types/api-description/apifolder.md)**.** Groups logically close API description endpoints (e.g. two endpoints with the same urls but different methods).
  * [**ApiRoute**](/node-types/api-description/apiroute.md)**.** A specific endpoint description.
* [**Broken**](/node-types/broken.md)**.**  It is used for descripting nodes that were loaded unsuccessfully. Can't be created manually and is not stored in the file system.
