# Node Types

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

### Node Types

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