---
title: "Mesclar projetos"
method: POST
path: "/api/management/projects/merge"
tags: ["projects", "Cópia e compartilhamento"]
---

# Mesclar projetos

`POST /api/management/projects/merge`

Une dois ou mais projetos em um só. O resultado é um **projeto novo**, criado a partir do projeto principal (`majority`), que recebe os funis, conteúdos, fórum e tarefas de todos os demais.

Os projetos de origem — inclusive o principal — são arquivados e removidos das listagens ao final, com o histórico registrando a mesclagem. Projetos já mesclados anteriormente não podem ser mesclados de novo.

## Request body

- object — Projetos que serão unidos.
  - `projects` string[], required — Projetos a mesclar. Pelo menos dois, incluindo o principal.
  - `majority` string, uuid, required — ID (UUID) do projeto principal, que serve de base para o resultado.

## Response `200`

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

- `422` — Projetos insuficientes

## Changes

- **2026-08-24** `3c590152d5b5` — 10 breaking, 2 warning, 11 info
  - the request property `majority` became not nullable
  - the request property `majority` became required
  - the request property `projects` became required
  - the `majority` request property type changed from no type to `string`, and format from no format to `uuid`
  - …19 more
- **2026-08-19** `3d619d9db20d` — 2 info
  - api tag `Cópia e compartilhamento` added
  - api tag `merge` removed
- **2026-08-19** `5501d8ecc8a0` — 2 info
  - added the media type `application/json` for the response with the status `200`
  - added the non-success response with the status `422`
- **2026-08-19** `142cd6598699` — 1 info
  - added optional request body

[Change history](https://skmtc.dev/olie-ai/apis/olie-api/changes/api/management/projects/merge/post.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)
