---
title: "Listar projetos de um grupo"
method: POST
path: "/api/management/project-groups/{project_group}/projects/index"
tags: ["project-groups", "projects", "index"]
---

# Listar projetos de um grupo

`POST /api/management/project-groups/{project_group}/projects/index`

Retorna, de forma paginada, os projetos associados ao grupo, sempre na ordem definida dentro do grupo — este endpoint não aceita ordenação personalizada. Cada projeto vem com as respostas dos formulários dinâmicos já preenchidas.

Os filtros usam o mesmo formato da [busca avançada](https://docs.olie.ai/api-reference/general/advanced-search) e a resposta segue o padrão de [paginação](https://docs.olie.ai/api-reference/general/pagination).

## Request body

- object — Filtros e paginação da listagem de projetos do grupo.
  - `filters` object[] — Filtros aplicados sobre os projetos do grupo. Vazio retorna todos.
    - `field` string, required — Campo a filtrar. Campos não suportados são recusados com erro de validação.
    - `operator` 'equals' | 'not_equals' | 'contains' | 'not_contains' | 'greater_than' | 'greater_than_or_equals' | 'less_than' | 'less_than_or_equals' | 'is_null' | 'is_not_null', required — Operador da comparação.
    - `value` union — Valor comparado. Ignorado nos operadores `is_null` e `is_not_null`.
      - string
      - number
      - boolean
    - `logical_operator` 'and' | 'or' — Como o filtro se junta ao anterior: `and` (padrão) ou `or`.
    - `arguments` object[] — Argumentos extras exigidos por alguns filtros.
      - `argument_key` string — Nome do argumento.
      - `argument_value_id` string — Identificador do valor do argumento.
      - `argument_value_type` string — Tipo do valor do argumento.
  - `page` integer — Página desejada. Padrão 1.
  - `perPage` integer — Itens por página. Padrão 30, máximo 100.
  - `trashed` boolean — `true` retorna apenas os projetos na lixeira. Padrão `false`.
  - `template` boolean — `true` retorna apenas os modelos de projeto. Padrão `false`.
  - `withPercentage` boolean — `true` acrescenta a cada projeto os campos de progresso (`completed_percentage`, `tasks_count`, `completed_count`, `expected_finish` e `branch`). Padrão `false`.

## Response `200`

Sucesso

- object — Página de projetos do grupo, na ordem definida dentro do grupo.
  - `meta` object — Informações de paginação do resultado.
    - `current_page` integer — Página retornada.
    - `from` integer, nullable — Posição do primeiro item da página no total.
    - `last_page` integer — Número da última página disponível.
    - `per_page` integer — Quantidade de itens por página.
    - `to` integer, nullable — Posição do último item da página no total.
    - `total` integer — Total de projetos que atendem aos filtros.
  - `response` boolean — Sempre `true` quando a operação foi concluída.
  - `projects` object[] — Projetos da página.
    - `id` string, uuid — Identificador do projeto.
    - `old_id` integer, nullable — Identificador numérico herdado da base anterior.
    - `code` string, nullable — Código curto do projeto, exibido na interface.
    - `name` string — Nome do projeto.
    - `description` string, nullable — Descrição livre do projeto.
    - `impact` integer, nullable — Grau de impacto do projeto, de 1 a 10.
    - `parent_id` string, uuid, nullable — Identificador do projeto pai, quando o projeto é filho de outro.
    - `frame_id` string, uuid — Identificador do ambiente dono do projeto.
    - `created_at` string, date-time — Data e hora de criação.
    - `updated_at` string, date-time — Data e hora da última alteração.
    - `customer_id` string, uuid, nullable — Identificador do cliente vinculado.
    - `contact_id` integer, nullable — Identificador do contato vinculado.
    - `share_token` string, nullable — Token do link de compartilhamento público, quando ativo.
    - `share_settings` object, nullable — Configurações do compartilhamento público, quando ativo.
    - `merged_id` string, uuid, nullable — Identificador do projeto que absorveu este numa fusão.
    - `status` integer, nullable — Situação do projeto.
    - `budget` number, nullable — Orçamento do projeto.
    - `is_template` boolean — Indica se o registro é um modelo de projeto.
    - `created_by` string, uuid, nullable — Identificador do usuário que criou o projeto.
    - `deleted_at` string, date-time, nullable — Data e hora em que o projeto foi para a lixeira.
    - `headquarter` object, nullable — Cliente matriz do projeto: o cliente vinculado ou, se ele for filial, a matriz dele.
      - `id` string, uuid — Identificador do cliente.
      - `name` string — Nome do cliente.
      - `parent_id` string, uuid, nullable — Identificador do cliente matriz, quando este é uma filial.
      - `parent` object, nullable — Cliente matriz, quando houver.
        - `id` string, uuid — Identificador do cliente matriz.
        - `name` string — Nome do cliente matriz.
        - `parent_id` string, uuid, nullable — Identificador do nível acima, quando houver.
    - `form_answers` object[] — Respostas do formulário dinâmico da etapa atual do projeto.
    - `tasks` object[] — Tarefas do projeto, apenas com identificador e situação.
      - `id` string, uuid — Identificador da tarefa.
      - `project_id` string, uuid — Identificador do projeto dono da tarefa.
      - `status` integer, nullable — Situação da tarefa.
    - `customer` object, nullable — Cliente vinculado ao projeto.
      - `id` string, uuid — Identificador do cliente.
      - `name` string — Nome do cliente.
      - `parent_id` string, uuid, nullable — Identificador do cliente matriz, quando este é uma filial.
      - `parent` object, nullable — Cliente matriz, quando houver.
        - `id` string, uuid — Identificador do cliente matriz.
        - `name` string — Nome do cliente matriz.
        - `parent_id` string, uuid, nullable — Identificador do nível acima, quando houver.
    - `contact` object, nullable — Contato vinculado ao projeto.
      - `id` integer — Identificador do contato.
      - `name` string — Nome do contato.
      - `role` string, nullable — Cargo ou papel do contato.
      - `email` string, nullable — E-mail do contato.
      - `phone` string, nullable — Telefone do contato.
      - `description` string, nullable — Observações sobre o contato.
      - `frame_id` string, uuid — Identificador do ambiente dono do contato.
      - `created_at` string, date-time — Data e hora de criação do contato.
      - `updated_at` string, date-time — Data e hora da última alteração do contato.
      - `deleted_at` string, date-time, nullable — Data e hora em que o contato foi arquivado.
      - `customers` object[] — Clientes aos quais o contato pertence.
        - `id` string, uuid — Identificador do cliente.
        - `name` string — Nome do cliente.
    - `funnels` object[] — Funis em que o projeto está presente.
      - `id` string, uuid — Identificador do funil.
      - `name` string — Nome do funil.
    - `funnel_steps` object[] — Etapas de funil em que o projeto está posicionado.
    - `tags` object[] — Etiquetas aplicadas ao projeto.
    - `groups` object[] — Grupos de projetos aos quais o projeto pertence.
      - `id` string, uuid — Identificador do grupo.
      - `name` string — Nome do grupo.
    - `users` object[] — Usuários vinculados ao projeto.
    - `frame` object — Ambiente dono do projeto.
      - `id` string, uuid — Identificador do ambiente.
      - `name` string — Nome do ambiente.
      - `subdomain` string — Subdomínio do ambiente.
      - `model_forms` object, nullable — Formulários padrão configurados no ambiente.
    - `form` object, nullable — Formulário dinâmico da etapa atual do projeto.
    - `executors` object[] — Responsáveis pela execução do projeto.
    - `costs` object, nullable — Custos consolidados do projeto.
    - `branch` object, nullable — Filial do cliente. Presente apenas quando `withPercentage` é `true`.
    - `expected_finish` string, date-time, nullable — Data prevista de conclusão. Presente apenas quando `withPercentage` é `true`.
    - `tasks_count` integer, nullable — Total de tarefas do projeto. Presente apenas quando `withPercentage` é `true`.
    - `completed_count` integer, nullable — Total de tarefas concluídas. Presente apenas quando `withPercentage` é `true`.
    - `completed_percentage` number, nullable — Percentual de conclusão do projeto. Presente apenas quando `withPercentage` é `true`.

## Other responses

- `422` — Filtro inválido

## Changes

- **2026-09-22** `d71b18b1685d` — 28 breaking, 1 warning, 31 info
  - added the new required request property `filters/items/field`
  - added the new required request property `filters/items/operator`
  - the `filters/items/` request property type changed from no type to `object`
  - the response property `meta/from` became nullable for the status `200`
  - …56 more
- **2026-09-22** `b43a04f35145` — 1 breaking, 16 warning
  - the `projects/items/contact/phone` response's property format changed from `utc-millisec` to no format for status `200`
  - removed the optional property `projects/items/contact/deleted_at` from the response with the `200` status
  - removed the optional property `projects/items/contact/description` from the response with the `200` status
  - removed the optional property `projects/items/costs` from the response with the `200` status
  - …13 more
- **2026-09-22** `711eea31b3dd` — 1 info
  - added the optional property `projects/items/merged_project` to the response with the `200` status
- **2026-09-18** `0abcbb399fb0` — 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-09-18** `626cc36dd5e6` — 1 info
  - added optional request body

[Change history](https://skmtc.dev/olie-ai/apis/olie-api/changes/api/management/project-groups/:project_group/projects/index/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.dev/olie-ai/apis/olie-api/revisions/d71b18b1685d?raw)
