---
title: Managing Projects with Scaleway APIs
description: Learn how to manage Projects with Scaleway's IAM API and CLI tools. Follow step-by-step instructions to streamline operations.
tags: API Projects IAM
dates:
  validation: 2025-07-15
  posted: 2022-07-25
---
import Requirements from '@macros/iam/requirements.mdx'


This page explains how to manage Projects using [Scaleway APIs](https://www.scaleway.com/en/developers/api/).

<Requirements />

- A [Scaleway account](https://console.scaleway.com/) and its Organization ID
- An [API key](/iam/how-to/create-api-keys/) with sufficient [IAM permissions](/iam/reference-content/permission-sets/) to perform the actions described on this page
- Your [Organization ID](https://console.scaleway.com/organization/settings)
- [Installed `curl`](https://curl.se/download.html)

1. Configure your environment variables.

    <Message type="note">
    This is an optional step that seeks to simplify your usage of the APIs.
    </Message>

    ```bash
    export SCW_SECRET_KEY="<API secret key>"
    ```

2. Edit the **POST** request payload you will use to create a Project.

    Replace the parameters in the following example:

    ```json
        '{
        "name": "project-name",
        "organization_id": "b12d5c3g-c612-5674-c1e9-92627f36c5b9",
        "description": "This is the description of my Project",
        }'
    ```

    | Parameter         | Description                                        |
    | :---------------- | :------------------------------------------------- |
    | `name`            | Name for the Project you want to create.        |
    | `organization_id` | ID of the Organization in which to create the Project. It must be in UUID format.   |
    | `description`     | Description for the Project you want to create.  |

3. Run the following command to create a Project:

    Make sure you include the payload you edited in the previous step.

    ```bash
    curl -X POST \
      -H "X-Auth-Token: $SCW_SECRET_KEY" \
      -H "Content-Type: application/json" \
      "https://api.scaleway.com/account/v3/projects" \
      -d '{
        "name": "Dis-Iz-My-Projekt",
        "organization_id": "b12d5c3g-c612-5674-c1e9-92627f36c5b9",
        "type": "This is the description of my Project"
      }'
    ```

    You should get a response like the following:

    <Message type="note">
    This is a response example; the UUIDs displayed are not real.
    </Message>

    ```bash
    {
      "id": "6170692e-7363-616c-6577-61792e636f6d",
      "name": "Dis-Iz-My-Projekt",
      "organization_id": "b12d5c3g-c612-5674-c1e9-92627f36c5b9",
      "created_at": "2023-03-02T22:00:28.888380Z",
      "updated_at": "2023-03-02T22:00:28.888380Z",
      "description": "This is the description of my project"
    }
    ```

4. Run the following command to list your Projects. Replace the Organization ID in the endpoint with your own Organization ID.

    ```bash
    curl -X GET \
      -H "X-Auth-Token: $SCW_SECRET_KEY" \
      -H "Content-Type: application/json" \
      "https://api.scaleway.com/account/v3/projects?organization_id=b12d5c3g-c612-5674-c1e9-92627f36c5b9"
    ```

    You should get a response like the following:

    ```bash
    {
      "total_count": "2",
      "projects": [
        {
          "id": "0fe11800-ddbb-4b62-8906-ed08780cdddb",
          "name": "default",
          "organization_id": "b12d5c3g-c612-5674-c1e9-92627f36c5b9",
          "created_at": "2022-08-31T07:45:53.657735Z",
          "updated_at": "2022-08-31T07:45:53.657735Z",
          "description": "cannot_be_deleted"
        },
        {
            "id":"6170692e-7363-616c-6577-61792e636f6d",
            "name":"Dis-Iz-My-Projekt",
            "organization_id":"b12d5c3g-c612-5674-c1e9-92627f36c5b9",
            "created_at":"2023-03-02T22:00:28.888380Z",
            "updated_at":"2023-03-02T22:00:28.888380Z",
            "description":"This is the description of my Project"
        },
    ]
    }
    ```

5. Run the following command to update a Project's name and description.
    <Message type="note">
    Remember to replace the Project ID in the endpoint and the Organization ID in the payload with your own. You can retrieve the Project ID from the "List Project" response above.
    </Message>

    ```bash
    curl -X PATCH \
      -H "X-Auth-Token: $SCW_SECRET_KEY" \
      -H "Content-Type: application/json" \
      "https://api.scaleway.com/account/v3/projects/6170692e-7363-616c-6577-61792e636f6d" \
      -d '{
        "name": "Dis-Iz-My-Updated-Projekt",
        "organization_id": "b12d5c3g-c612-5674-c1e9-92627f36c5b9",
        "description": "This is the updated description of my Project"
      }'
    ```