# Projects: group your services by client, team or environment

https://www.gyrohosting.com/en/knowledgebase/article/projeler-hizmetleri-gruplama

- **What you will learn**: How to create a project, move services into it, filter lists with the project switcher in the top bar, see this month's spend per project, and do the same with the API, the `gyro` CLI or Terraform.
- **Time**: 5 minutes

## 1. What is a project?

A project is a folder for your services: "Client A", "Web Production", "Staging" and so on. Every service sits in one project. When you pick a project in the **project switcher** in the top bar, **My Services** and **Gyro Console** show only that project's services.

- Every account has a default project called **General**. Any service you have not put into a project is in General, including everything you bought before projects existed. If you do nothing, your client area works exactly as before.
- A service is in exactly one project at a time.
- A project is only a grouping: the service itself, its invoices, renewal date and tags do not change.

## 2. Step by step: create a project and move services

1. Open **Projects** in the left menu (or **New project** in the project switcher).
2. Click **New project**, enter a name (up to 40 characters), optionally a description, colour and icon, then **Create**.
3. Go to **My Services**. Tick the boxes on the left of the services you want to move; a bar opens at the bottom of the screen.
4. Click **Move to project** in the bar, pick the project and click **Move**. **Create a new project and move** does both in one step.

You can also move a single service from its own page: the **Move to project** button next to the project badge in the header.

### Limits

|  | Limit |
| --- | --- |
| Projects | Up to 50 per account (plus General) |
| Name | 1-40 characters, unique in the account (case-insensitive); "Genel", "General" and "Default" are reserved |
| Description | Up to 255 characters |
| Colours | Grey, Blue, Green, Red, Orange, Yellow, Purple, Pink, Teal, Indigo |
| Rate | Up to 60 changes per minute |

## 3. Filtering with the project switcher

- Click the **Project** box in the top bar. You see **All projects**, **General** and your projects with their active service counts.
- Picking a project reloads the page; **My Services** shows only that project and a "Showing project X" note with **Show all projects**.
- In **All projects** view every service has a coloured project badge.
- Your choice is remembered in your browser.
- Invoices are not filtered by project (one invoice can cover several services). Dashboard counters and "needs attention" notices also cover the whole account.

## 4. Spend per project

The **Projects** page shows the number of resources and **this month's spend** for each project, with a total at the top.

- **Prepaid (hourly) services** (Gyro Cloud Istanbul, Gyro Containers and so on): the amount actually deducted from your balance this month.
- **Recurring services** (monthly, yearly): the monthly equivalent of the service price (a 120 € yearly service counts as 10 €).
- Amounts are shown in your account currency with the euro equivalent in brackets.

**Open** on a card selects the project and takes you to **My Services**. Use the card menu to edit or delete a project. **When a project is deleted its services go back to General; no service is deleted.**

## 5. Where do new services go?

- If a project is selected in the client area when you order, the new service is added to **that project**.
- Orders placed while **All projects** or **General** is selected go to General.
- With the API, CLI or Terraform, pass `project_id` in the order. An invalid `project_id` is rejected before the order is created.
- Services our support team creates for you go to General; move them wherever you like.

## 6. API, CLI and Terraform

Create an API key under **API Credentials** in the account menu (full reference: [developer documentation](https://www.gyrohosting.com/developers/)). Reading needs the `services_read` scope, changes need `services_write`.

```
gyro project list                                                   # General is always id 0
gyro project create --name "Client A" --color teal --icon briefcase --service-ids 12345,12346
gyro service project set 12347 --project-id 7                       # 0 = General
gyro service list --project 7
gyro project delete 7 --yes                                         # services go back to General
```

API: `GET/POST /cloud/projects`, `GET/PATCH/DELETE /cloud/projects/{id}`, `POST /cloud/projects/{id}/services` (bulk move, up to 500 services) and `PUT /cloud/services/{id}/project`. Service list and detail responses include a `project` field; filter the list with `?project=<id>`. Server, load balancer and server-from-template orders accept `project_id`.

Terraform (provider 0.18.0 or later):

```
resource "gyro_project" "client_a" {
  name  = "Client A"
  color = "teal"
  icon  = "briefcase"
}

resource "gyro_server" "web" {
  plan          = "standart-2-4"
  region        = "tr-ist-1"
  image         = "ubuntu-24.04"
  confirm_order = true
  project_id    = tonumber(gyro_project.client_a.id)
}

resource "gyro_service_project" "old_site" {
  service_id = 12348
  project_id = tonumber(gyro_project.client_a.id)
}
```

Changing `project_id` later moves the server in place; it is not recreated.

> **Sub-account keys**
> 
> (reseller and end-customer keys) can list projects and move services in their scope; creating, renaming and deleting projects needs the main key.

## 7. Frequently asked questions

**Does moving a service to a project affect it?**

No. The server does not restart; its IP, invoices, renewal date and tags stay the same. Only the group it appears in changes.

**Can a service be in two projects?**

No, one project per service. For extra grouping use service tags as well; a tag can be on services in different projects.

**What happens if I delete a project?**

The project is removed and all its services go back to General. No service, invoice or data is deleted.

**Can my sub-users use projects?**

Sub-users who can view services can use the switcher. Moving services and creating or deleting projects needs the manage services permission.

**What if I transfer a service to another account?**

Projects belong to your account. The transferred service leaves your project and appears in General for the new owner.

**Can I put domains into a project?**

Not yet; projects are for the services in **My Services**.

> **Did you know?**
> 
> [Gyro Console](https://www.gyrohosting.com/en/knowledgebase/article/gyro-konsol) follows your project choice: pick a project and its servers, IP addresses and security groups are listed for that project only.
