---
title: "PUT /api/projects/{pid}"
method: PUT
path: "/api/projects/{pid}"
tags: ["api"]
---

# PUT /api/projects/{pid}

`PUT /api/projects/{pid}`

## Request body

- ProjectUpdate
  - `pid` string, uuid — A UUID identifying this project.
  - `name` string — Project name.
  - `users` UserDetail[] — Affected users.
    - `username` string, required — Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only.
    - `email` string, email
  - `email` string, email — Email address.
  - `action` 'remove' | 'add' | 'update' — Performed action.
  - `framework` 'SCRAPY' | 'REQUESTS' — Set project framework.
  - `env_vars` SpiderJobEnvVar[] — Project env variables.
    - `evid` integer, nullable — A unique integer value identifying this job env variable.
    - `name` string, required — Env variable name.
    - `value` string, required — Env variable value.
    - `masked` boolean — Whether the env variable value is masked.
  - `permission` 'ADMIN' | 'DEVELOPER' | 'VIEWER' | 'OWNER' — New permission.
  - `data_status` 'PERSISTENT' | 'PENDING' — New data status.
  - `data_expiry_days` integer — New data expiry days.
  - `apply_to_existing_spiders` boolean — Apply data persistence settings to all existing spiders.

## Response `200`

OK

- ProjectUpdate
  - `pid` string, uuid — A UUID identifying this project.
  - `name` string — Project name.
  - `users` UserDetail[] — Affected users.
    - `username` string, required — Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only.
    - `email` string, email
  - `email` string, email — Email address.
  - `action` 'remove' | 'add' | 'update' — Performed action.
  - `framework` 'SCRAPY' | 'REQUESTS' — Set project framework.
  - `env_vars` SpiderJobEnvVar[] — Project env variables.
    - `evid` integer, nullable — A unique integer value identifying this job env variable.
    - `name` string, required — Env variable name.
    - `value` string, required — Env variable value.
    - `masked` boolean — Whether the env variable value is masked.
  - `permission` 'ADMIN' | 'DEVELOPER' | 'VIEWER' | 'OWNER' — New permission.
  - `data_status` 'PERSISTENT' | 'PENDING' — New data status.
  - `data_expiry_days` integer — New data expiry days.
  - `apply_to_existing_spiders` boolean — Apply data persistence settings to all existing spiders.

---

[API](https://skmtc.net/bitmakerla/apis/estela-api-v1-0-documentation.md) · [All operations](https://skmtc.net/bitmakerla/apis/estela-api-v1-0-documentation/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/bitmakerla/estela-api-v1-0-documentation/versions/ec53774a2b78/schema)
