---
title: "Editar um projeto"
method: PUT
path: "/api/management/projects/{id}"
tags: ["projects", "Projetos"]
---

# Editar um projeto

`PUT /api/management/projects/{id}`

Atualiza os dados de um projeto existente. Todos os campos são opcionais — envie apenas o que deve mudar. Vínculos (funis, etiquetas, grupos, filhos) são alterados pelas listas `to_add` e `to_rem`; o que não é citado permanece como está.

## Request body

- object — Campos a alterar. Todos são opcionais; o que não for enviado permanece como está.
  - `name` string — Nome do projeto. Até 191 caracteres.
  - `description` string — Descrição do projeto.
  - `impact` integer — Grau de impacto, de 1 a 10.
  - `contact_id` string, uuid, nullable — ID do contato a vincular. `null` remove o vínculo.
  - `customer_id` string, uuid, nullable — ID do cliente a vincular. `null` remove o vínculo.
  - `status` 1 | 2 | 3 | 4 — Situação: 1 em andamento, 2 concluído, 3 arquivado, 4 parado.
  - `budget` number, nullable — Orçamento do projeto.
  - `is_template` boolean — `true` transforma o projeto em modelo.
  - `parent_id` string, uuid, nullable — ID do projeto pai. `null` deixa o projeto na raiz.
  - `funnels` object — Funis em que o projeto entra ou de que sai.
    - `to_add` integer[] — IDs a vincular.
    - `to_rem` integer[] — IDs a desvincular.
  - `groups` object — Grupos de projeto a vincular ou desvincular.
    - `to_add` string[] — IDs a vincular.
    - `to_rem` string[] — IDs a desvincular.
  - `tags` object — Etiquetas de funil a aplicar ou remover.
    - `to_add` integer[] — IDs a vincular.
    - `to_rem` integer[] — IDs a desvincular.
  - `childrens` object — Projetos filhos a vincular ou desvincular.
    - `to_add` string[] — IDs a vincular.
    - `to_rem` string[] — IDs a desvincular.
  - `users` object[] — Pessoas a incluir ou retirar do projeto.
    - `user_id` string, uuid — ID (UUID) do usuário.
    - `role` string — Papel no projeto: `assignee` (responsável) ou `follower` (seguidor).
    - `action` string — `add` inclui o usuário; `remove` o retira.
  - `forecast_dates` object[] — Datas de previsão por funil.
    - `date` string, date — Data prevista no formato AAAA-MM-DD.
    - `project_funnel_id` integer — ID do funil a que a previsão se refere.
  - `funnel_status` object — Status do projeto dentro de um funil.
    - `project_funnel_id` integer — ID do funil.
    - `funnel_status_id` integer — ID do status a aplicar.
  - `form_answers` object[] — Respostas de formulário do projeto.
    - `id` integer — ID do campo do formulário.
    - `answer` string — Resposta do campo.

## Response `200`

Editado com sucesso

- object — Projeto retornado pela operação.
  - `response` boolean, required — Sempre true quando a operação é concluída.
  - `project` object, required — Projeto.
    - `id` string, uuid — ID (UUID) do projeto.
    - `frame_id` string, uuid — ID (UUID) da conta dona do projeto.
    - `code` string — Código do projeto, formado pelo prefixo e por um número sequencial.
    - `name` string — Nome do projeto.
    - `description` string, nullable — Descrição do projeto.
    - `status` integer — Situação: 1 em andamento, 2 concluído, 3 arquivado, 4 parado.
    - `impact` integer, nullable — Grau de impacto, de 1 a 10.
    - `budget` number, nullable — Orçamento do projeto.
    - `is_template` boolean — Indica se o projeto é um modelo.
    - `parent_id` string, uuid, nullable — ID do projeto pai, quando este é um subprojeto.
    - `customer_id` string, uuid, nullable — ID do cliente vinculado.
    - `contact_id` string, uuid, nullable — ID do contato vinculado.
    - `created_by` string, uuid, nullable — ID do usuário que criou o projeto.
    - `created_at` string, date-time — Data de criação.
    - `updated_at` string, date-time — Data da última alteração.
    - `deleted_at` string, date-time, nullable — Data em que foi enviado para a lixeira.

## Other responses

- `401` — Não autorizado
- `404` — Model não encontrada
- `422` — Erro de validação

## Changes

- **2026-08-24** `3c590152d5b5` — 9 breaking, 5 warning, 31 info
  - the request's body type changed from no type to `object`
  - the response property `project/budget` became nullable for the status `200`
  - the response property `project/contact_id` became nullable for the status `200`
  - the response property `project/created_by` became nullable for the status `200`
  - …41 more
- **2026-08-19** `3d619d9db20d` — 2 info
  - api tag `Projetos` added
  - api tag `{id}` removed
- **2026-08-19** `a36725399466` — 1 breaking
  - the request property `allOf[subschema #1: Projeto]/parent_id` became not nullable
- **2026-07-29** `50a2c039af35` — 1 info
  - added the new optional request property `allOf[subschema #1: Projeto]/parent_id`

[Change history](https://skmtc.dev/olie-ai/apis/olie-api/changes/api/management/projects/:id/put.md)

---

[API](https://skmtc.dev/olie-ai/apis/olie-api.md) · [All operations](https://skmtc.dev/olie-ai/apis/olie-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/olie-ai/olie-api/revisions/8c9bac94e5ad/schema)
