# Projects

A project groups monitors, hosts and domains of a team, for example per product, customer or environment. A project can have its own [escalation paths](/alerting/escalation-paths), so alerts of its resources go to the right people. A project can also have [metric conditions](/hosts/metric-conditions) that apply to all its hosts.

## The default project

Every team has a default project, named **Default**. Spectate creates it with the team: the team you get when you sign up, and every team you create later. These resources join the default project when you do not select a project:

- New monitors.
- New hosts. The agent always registers a host in the default project.
- New domains.

You cannot delete the default project. Every plan includes an unlimited number of projects.

## Create a project

Owners, managers and admins can create, change and delete projects.

1. In the dashboard, go to **Projects**.
2. Select **Create project**.
3. Type a **Name**, for example `Production`.
4. Optional: select the escalation paths for alerts of the project.
5. Select **Create project**.

## Move a resource to a project

- **Monitor**: select the **Project** when you create the monitor, or change it in the monitor's settings.
- **Host**: open the host, go to **Settings & alerts** and change **Project** under **General**.
- **Domain**: open the domain, go to **Settings** and change **Project** under **General**.

Select **Save changes** after a change.

## How alerts use a project

The **Alerting** section of a monitor, host or domain has two choices:

- **Default routing**: alerts go to the escalation paths of the resource's project. If the project has no escalation paths, alerts go to the team's default path.
- **Specific paths**: alerts go only to the escalation paths that you select for the resource.

To change the escalation paths of a project:

1. Open the project.
2. Select **Edit**.
3. Select the escalation paths.
4. Select **Save changes**.

The project page shows the paths under **Escalation routing**. If the project has none, the page says "Alerts fall back to the team default path."

## Metric conditions on a project

A metric condition on a project applies to every host in the project, also to hosts that you add later. Add them on the project page under **Metric conditions**. See [add a condition to a project](/hosts/metric-conditions#add-a-condition-to-a-project).

## Delete a project

1. Open the project.
2. Under **Delete this project**, select **Delete project**.
3. Type the project name to confirm, then select **Delete project**.

Spectate does not delete the monitors, hosts and domains of the project. They stay without a project. Their alerts with default routing then go to the team's default escalation path. The metric conditions of the project stop applying to its hosts.

## Filter by project in the API

The [public API](/api-reference/projects) manages projects. These lists accept `filter[project_id]` with the project ID:

- [Monitors](/api-reference/monitors)
- [Hosts](/api-reference/hosts)
- [Domains](/api-reference/domains)
- [Metric conditions](/api-reference/metric-conditions)

```bash
curl "https://api.spectate.net/v1/monitors?filter[project_id]=YOUR_PROJECT_ID" \
  -H "Authorization: Bearer YOUR_API_TOKEN"
```

The dashboard's monitor, host and domain lists have no project filter. The project page shows the number of monitors and the metric conditions of the project.
