---
title: "Modify a Project"
method: PUT
path: "/projects/{project_id}"
tags: ["Projects"]
---

# Modify a Project

`PUT /projects/{project_id}`

## Request

- Base URL: `https://dataops.nexla.io/nexla-api`
- URL: `https://dataops.nexla.io/nexla-api/projects/{project_id}`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/nexla/apis/nexla-rest-api/docs/projects/:project_id/put.ts> (a function with typed inputs; its response is checked against the schema)

Modifies a project's information and settings if a valid ID and body are provided.

## Path parameters

- `project_id` integer, required

## Request body

- ProjectMutable
  - `name` string
  - `description` string
  - `data_flows` ProjectFlowIdentifier[]
    - union
      - object
        - `data_source_id` integer: The ID of the data source which is the root node of this flow chain. Unless the flow chain has been created from a shared Nexset, flow definitions start from the source as the root node. This property reflects the source that is the root node of this flow.
      - object
        - `data_set_id` integer: The ID of the Nexset which is the root node of this flow chain. This property is not null only if the flow was created from a shared Nexset. In that case, this value reflects the ID of the derived dataset created from the shared Nexset.

## Response `200`

Success

- Project
  - `id` integer: Unique identifier of this project.
  - `owner` object
    - `id` integer
    - `full_name` string
    - `email` string
  - `org` object
    - `id` integer
    - `name` string
    - `email_domain` string
    - `client_identifier` string, nullable
  - `name` string
  - `description` string
  - `data_flows` ProjectDataFlow[]: List of all flows that are part of this project. > Note: This is a deprecated format of representing flows. We recommend using the `flows` entry in this object.
    - `id` integer: Unique identifier of this flow.
    - `project_id` integer: Unique identifier of the project this flow belongs to.
    - `data_source_id` integer: The ID of the data source which is the root node of this flow chain. Unless the flow chain has been created from a shared Nexset, flow definitions start from the source as the root node. This property reflects the source that is the root node of this flow.
    - `data_set_id` integer: The ID of the Nexset which is the root node of this flow chain. This property is not null only if the flow was created from a shared Nexset. In that case, this value reflects the ID of the derived dataset created from the shared Nexset.
    - `updated_at` string
    - `created_at` string
  - `flows` ProjectDataFlow[]: List of all flows that are part of this project. > Note: This is a new recommended format of representing flows. We recommend using this format which uses unique flow ids instead of the `data_flows` object.
    - `id` integer: Unique identifier of this flow.
    - `project_id` integer: Unique identifier of the project this flow belongs to.
    - `data_source_id` integer: The ID of the data source which is the root node of this flow chain. Unless the flow chain has been created from a shared Nexset, flow definitions start from the source as the root node. This property reflects the source that is the root node of this flow.
    - `data_set_id` integer: The ID of the Nexset which is the root node of this flow chain. This property is not null only if the flow was created from a shared Nexset. In that case, this value reflects the ID of the derived dataset created from the shared Nexset.
    - `updated_at` string
    - `created_at` string
  - `access_roles` string[]: This property reflects all the permissions the user/team/organization has to this resource. 1. `collaborator`: The user/team/organization can view the resource but not make any modifications to it. 2. `operator`: The user/team/organization can view the resource and can activate/pause it, but not make any other modifications to it. 3. `administrator`: The user/team/organization has complete administrative rights to this resource. 4. `owner`: This user created the resource and so has complete administrative rights to it.
  - `tags` string[]
  - `copied_from_id` string, nullable
  - `updated_at` string, date-time
  - `created_at` string, date-time

## Other responses

- `401`: Unauthorized
- `403`: Forbidden
- `404`: Not Found

---

[API](https://skmtc.dev/nexla/apis/nexla-rest-api.md) - [All operations](https://skmtc.dev/nexla/apis/nexla-rest-api/llms.txt) - [OpenAPI document](https://skmtc.dev/nexla/apis/nexla-rest-api/revisions/ef02be92fe7b?raw)
